Просмотр исходного кода

fix drop privileges to not attempt during inetd op

Bryan Heden 8 лет назад
Родитель
Сommit
aa0d1e05da
1 измененных файлов с 7 добавлено и 2 удалено
  1. 7 2
      src/nrpe.c

+ 7 - 2
src/nrpe.c

@@ -687,8 +687,10 @@ void set_stdio_sigs(void)
 		exit(STATE_CRITICAL);
 
 	clean_environ(keep_env_vars, nrpe_user);
-	drop_privileges(nrpe_user, nrpe_group, 0);	/* drop privileges */
-	check_privileges();			/* make sure we're not root */
+
+	/* drop and then check privileges */
+	drop_privileges(nrpe_user, nrpe_group, 0);
+	check_privileges();
 }
 
 void cleanup(void)
@@ -2368,6 +2370,9 @@ int drop_privileges(char *user, char *group, int full_drop)
 	struct group *grp;
 	struct passwd *pw;
 
+	if (use_inetd == FALSE)
+		return OK;
+
 	/* set effective group ID */
 	if (group != NULL) {