psss / rpms / libsemanage

Forked from rpms/libsemanage 5 years ago
Clone
9eb4289
diff --exclude-from=exclude -N -u -r nsalibsemanage/src/genhomedircon.c libsemanage-2.0.14/src/genhomedircon.c
9eb4289
--- nsalibsemanage/src/genhomedircon.c	2007-10-05 13:09:53.000000000 -0400
9eb4289
+++ libsemanage-2.0.14/src/genhomedircon.c	2007-12-03 15:47:19.000000000 -0500
9eb4289
@@ -130,11 +130,13 @@
9eb4289
 	char *temp = NULL;
9eb4289
 	semanage_list_t *list = NULL;
9eb4289
 	size_t buff_len = 0;
9eb4289
+	int len;
8bb5a23
 
9eb4289
 	shells = fopen(PATH_SHELLS_FILE, "r");
9eb4289
 	if (!shells)
9eb4289
 		return default_shell_list();
9eb4289
-	while (getline(&temp, &buff_len, shells) >= 0) {
9eb4289
+	while ((len = getline(&temp, &buff_len, shells)) > 0) {
9eb4289
+		if (temp[len-1] == '\n') temp[len-1] = 0;
9eb4289
 		if (strcmp(temp, PATH_NOLOGIN_SHELL)) {
9eb4289
 			if (semanage_list_push(&list, temp)) {
9eb4289
 				free(temp);
9eb4289
@@ -790,7 +792,7 @@
9eb4289
 	homedir_context_tpl = make_template(s, &HOME_DIR_PRED);
9eb4289
 	homeroot_context_tpl = make_template(s, &HOME_ROOT_PRED);
9eb4289
 	user_context_tpl = make_template(s, &USER_CONTEXT_PRED);
9eb4289
-	if (!homedir_context_tpl || !homeroot_context_tpl || !user_context_tpl) {
9eb4289
+	if (!homedir_context_tpl || !homeroot_context_tpl) {
9eb4289
 		retval = STATUS_ERR;
9eb4289
 		goto done;
9eb4289
 	}
9eb4289
@@ -828,16 +830,18 @@
8bb5a23
 
9eb4289
 		ustr_sc_free(&temp);
9eb4289
 	}
9eb4289
-	if (write_user_context(s, out, user_context_tpl,
9eb4289
-			       ".*", s->fallback_user,
9eb4289
-			       s->fallback_user_prefix) != STATUS_SUCCESS) {
9eb4289
-		retval = STATUS_ERR;
9eb4289
-		goto done;
9eb4289
-	}
9eb4289
+	if (user_context_tpl) {
9eb4289
+		if (write_user_context(s, out, user_context_tpl,
9eb4289
+				       ".*", s->fallback_user,
9eb4289
+				       s->fallback_user_prefix) != STATUS_SUCCESS) {
9eb4289
+			retval = STATUS_ERR;
9eb4289
+			goto done;
9eb4289
+		}
8bb5a23
 
9eb4289
-	if (write_gen_home_dir_context(s, out, user_context_tpl,
9eb4289
-				       homedir_context_tpl) != STATUS_SUCCESS) {
9eb4289
-		retval = STATUS_ERR;
9eb4289
+		if (write_gen_home_dir_context(s, out, user_context_tpl,
9eb4289
+					       homedir_context_tpl) != STATUS_SUCCESS) {
9eb4289
+			retval = STATUS_ERR;
9eb4289
+		}
9eb4289
 	}
0971186
 
9eb4289
       done:
9eb4289
diff --exclude-from=exclude -N -u -r nsalibsemanage/src/handle.c libsemanage-2.0.14/src/handle.c
9eb4289
--- nsalibsemanage/src/handle.c	2007-08-20 19:15:37.000000000 -0400
9eb4289
+++ libsemanage-2.0.14/src/handle.c	2007-11-10 06:21:33.000000000 -0500
9eb4289
@@ -27,6 +27,7 @@
9eb4289
 #include <assert.h>
9eb4289
 #include <stdlib.h>
9eb4289
 #include <stdio.h>
9eb4289
+#include <string.h>
9eb4289
 #include <sys/time.h>
9eb4289
 
9eb4289
 #include "direct_api.h"
9eb4289
@@ -131,7 +132,7 @@
9eb4289
 
9eb4289
 	/* This just sets the storename to what the user requests, no 
9eb4289
 	   verification of existance will be done until connect */
9eb4289
-	sh->conf->store_path = storename;
9eb4289
+	sh->conf->store_path = strdup(storename);
9eb4289
 	sh->conf->store_type = storetype;
9eb4289
 
9eb4289
 	return;
65f15fe
diff --exclude-from=exclude -N -u -r nsalibsemanage/src/semanage.conf libsemanage-2.0.15/src/semanage.conf
65f15fe
--- nsalibsemanage/src/semanage.conf	2007-07-16 14:20:38.000000000 -0400
65f15fe
+++ libsemanage-2.0.15/src/semanage.conf	2008-01-25 10:28:39.000000000 -0500
65f15fe
@@ -35,4 +35,4 @@
65f15fe
 # given in <sepol/policydb.h>.  Change this setting if a different
65f15fe
 # version is necessary.
65f15fe
 #policy-version = 19
65f15fe
-
65f15fe
+expand-check=0