Explorar o código

Fix uid and gid determination

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2109 fd59a12c-fef9-0310-b244-a6a79926bd2f
Fabio M. Di Nitto %!s(int64=17) %!d(string=hai) anos
pai
achega
9579fa667f
Modificáronse 1 ficheiros con 10 adicións e 3 borrados
  1. 10 3
      exec/mainconfig.c

+ 10 - 3
exec/mainconfig.c

@@ -689,15 +689,15 @@ int corosync_main_config_read (
 		goto parse_error;
 	}
 
+	ug_config->uid = -1;
+	ug_config->gid = -1;
+
 	objdb->object_find_create (
 		OBJECT_PARENT_HANDLE,
 		"aisexec",
 		strlen ("aisexec"),
 		&object_find_handle);
 
-	ug_config->uid = uid_determine("ais");
-	ug_config->gid = gid_determine("ais");
-
 	if (objdb->object_find_next (
 		object_find_handle,
 		&object_service_handle) == 0) {
@@ -713,6 +713,13 @@ int corosync_main_config_read (
 
 	objdb->object_find_destroy (object_find_handle);
 
+	if (ug_config->uid < 0) {
+		ug_config->uid = uid_determine("ais");
+	}
+	if (ug_config->gid < 0) {
+		ug_config->gid = gid_determine("ais");
+	}
+
 	add_logsys_config_notification(objdb);
 
 	logsys_fork_completed ();