service-process.c revision 7487ff578435377bbeefffdbfb78ca09ed1292df
145N/A#include "write-full.h"
145N/A#include "env-util.h"
145N/A#include "fd-close-on-exec.h"
145N/A#include "restrict-access.h"
145N/A#include "master-service-settings.h"
145N/A#include "dup2-array.h"
145N/A#include "service-log.h"
5630N/A#include "service-auth-server.h"
145N/A#include "service-auth-source.h"
145N/A#include "service-process.h"
5630N/A n += socket_listener_count;
145N/A MASTER_LISTEN_FD_FIRST + n);
4409N/A n++; socket_listener_count++;
4409N/A ssl_socket_count = 0;
145N/A MASTER_LISTEN_FD_FIRST + n);
145N/A n++; socket_listener_count++;
closelog();
const char *user)
if (uid == 0) {
return FALSE;
return FALSE;
return FALSE;
return TRUE;
const char **home)
const char *const *auth_args)
bool disallow_root;
env_clean();
env_put(*p);
case SERVICE_TYPE_CONFIG:
case SERVICE_TYPE_LOG:
&count);
if (limit == 0) {
struct service_process *
static unsigned int uid_counter = 0;
case SERVICE_TYPE_AUTH_SOURCE:
case SERVICE_TYPE_AUTH_SERVER:
return NULL;
if (pid < 0) {
return NULL;
if (pid == 0) {
if (data_size > 0) {
case SERVICE_TYPE_AUTH_SERVER:
case SERVICE_TYPE_AUTH_SOURCE:
return process;
const char *data;
case SERVICE_TYPE_AUTH_SERVER:
case SERVICE_TYPE_AUTH_SOURCE:
return TRUE;
return FALSE;
switch (status) {
case FATAL_LOGOPEN:
case FATAL_LOGWRITE:
case FATAL_LOGERROR:
case FATAL_OUTOFMEM:
case FATAL_EXEC:
case FATAL_DEFAULT:
return NULL;
#ifdef WCOREDUMP
if (core_dumps_disabled) {
#ifdef HAVE_PR_SET_DUMPABLE
const char *msg;
if (status == 0) {
const char *data;
int status)
T_BEGIN {
bool default_fatal;
} T_END;