diff options
Diffstat (limited to 'init/init.c')
| -rwxr-xr-x | init/init.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/init/init.c b/init/init.c index b2c80120..3b01cfa1 100755 --- a/init/init.c +++ b/init/init.c @@ -285,16 +285,12 @@ void service_start(struct service *svc, const char *dynamic_args) for (ei = svc->envvars; ei; ei = ei->next) add_environment(ei->name, ei->value); -#ifdef HAVE_SELINUX - setsockcreatecon(scon); -#endif - for (si = svc->sockets; si; si = si->next) { int socket_type = ( !strcmp(si->type, "stream") ? SOCK_STREAM : (!strcmp(si->type, "dgram") ? SOCK_DGRAM : SOCK_SEQPACKET)); int s = create_socket(si->name, socket_type, - si->perm, si->uid, si->gid); + si->perm, si->uid, si->gid, si->socketcon ?: scon); if (s >= 0) { publish_socket(si->name, s); } @@ -303,7 +299,6 @@ void service_start(struct service *svc, const char *dynamic_args) #ifdef HAVE_SELINUX freecon(scon); scon = NULL; - setsockcreatecon(NULL); #endif if (svc->ioprio_class != IoSchedClass_NONE) { |
