Переглянути джерело

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 17 роки тому
батько
коміт
9579fa667f
1 змінених файлів з 10 додано та 3 видалено
  1. 10 3
      exec/mainconfig.c

+ 10 - 3
exec/mainconfig.c

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