]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: Clean environment after master service has initialized
authorAki Tuomi <aki.tuomi@open-xchange.com>
Tue, 5 Sep 2023 11:16:33 +0000 (14:16 +0300)
committermarkus.valentin <markus.valentin@open-xchange.com>
Thu, 21 Sep 2023 13:58:41 +0000 (13:58 +0000)
src/lib-master/master-service.c

index 9898c3d09ccff18593a3442e52772fe846fa6dce..cecb753780e7796d5b3672250abd211fe1b2a005 100644 (file)
@@ -627,6 +627,18 @@ master_service_init(const char *name, enum master_service_flags flags,
        }
 
        master_service_verify_version_string(service);
+
+       if ((service->flags & MASTER_SERVICE_FLAG_STANDALONE) == 0) {
+               env_remove(MASTER_SERVICE_ENV);
+               env_remove(MASTER_SERVICE_SOCKET_COUNT_ENV);
+               env_remove(MASTER_UID_ENV);
+               env_remove(MASTER_CONFIG_FILE_ENV);
+               T_BEGIN {
+                       for (unsigned int i = 0; i < service->socket_count; i++)
+                               env_remove(t_strdup_printf("SOCKET%u_SETTINGS", i));
+               } T_END;
+       }
+
        return service;
 }