s4/smbd/server.c: create /run if missing
authorWilliam Brown <william@blackhats.net.au>
Wed, 18 Apr 2018 09:44:33 +0000 (19:44 +1000)
committerJeremy Allison <jra@samba.org>
Wed, 25 Apr 2018 17:59:13 +0000 (19:59 +0200)
In some cases (containers mainly) /var/run may not be present. Instead of
erroring, we should create it at startup.

Signed-off-by: William Brown <william@blackhats.net.au>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source4/smbd/server.c

index 431fbad31390cf6693274419cb5f0b0ec1bde3b4..beac4fff0caca6f02294b68d26d04ac5940f8159 100644 (file)
@@ -498,6 +498,10 @@ static int binary_smbd_main(const char *binary_name,
                mkdir(lpcfg_lock_directory(cmdline_lp_ctx), 0755);
        }
 
+       if (!directory_exist(lpcfg_pid_directory(cmdline_lp_ctx))) {
+               mkdir(lpcfg_pid_directory(cmdline_lp_ctx), 0755);
+       }
+
        pidfile_create(lpcfg_pid_directory(cmdline_lp_ctx), binary_name);
 
        if (lpcfg_server_role(cmdline_lp_ctx) == ROLE_ACTIVE_DIRECTORY_DC) {