net/slirp: specify logbase for smbd

It looks like smbd always logs to /var/log/samba/log.$progname
even if config file specifies different logfile -- when it needs
to log something before completing reading the config file.  But
if it can't open it for writing, it fails and exits.  Tell smbd
to use our temp dir as logbase (-l option) to avoid that.

The same option is used by samba3 and samba4, so there should
be no incompatible changes.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
Tested-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
Michael Tokarev 2014-10-25 00:29:50 +04:00
parent 2fd7ae36c5
commit 44d8d2b2dd

View File

@ -549,8 +549,8 @@ static int slirp_smb(SlirpState* s, const char *exported_dir,
); );
fclose(f); fclose(f);
snprintf(smb_cmdline, sizeof(smb_cmdline), "%s -s %s", snprintf(smb_cmdline, sizeof(smb_cmdline), "%s -l %s -s %s",
CONFIG_SMBD_COMMAND, smb_conf); CONFIG_SMBD_COMMAND, s->smb_dir, smb_conf);
if (slirp_add_exec(s->slirp, 0, smb_cmdline, &vserver_addr, 139) < 0 || if (slirp_add_exec(s->slirp, 0, smb_cmdline, &vserver_addr, 139) < 0 ||
slirp_add_exec(s->slirp, 0, smb_cmdline, &vserver_addr, 445) < 0) { slirp_add_exec(s->slirp, 0, smb_cmdline, &vserver_addr, 445) < 0) {