smbd crashes when called with "smb ports = 0"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Expired
|
Undecided
|
Unassigned |
Bug Description
The smb.conf generated by qemu-kvm contains a "smb ports = 0" directive. This
causes at least version 3.6.4 of Samba to crash with
[0] vostro:
Unable to setup corepath for smbd: Operation not permitted
smbd version 3.6.4 started.
Copyright Andrew Tridgell and the Samba Team 1992-2011
open_sockets_smbd: No sockets available to bind to.
=======
Abnormal server exit: open_sockets_smbd() failed
=======
BACKTRACE: 6 stack frames:
#0 smbd(log_
#1 smbd(+0x6a0743) [0x7fe50c3bd743]
#2 smbd(+0x6a0a41) [0x7fe50c3bda41]
#3 smbd(main+0xa52) [0x7fe50be26d42]
#4 /lib/x86_
#5 smbd(+0x10a6b9) [0x7fe50be276b9]
Changing "smb ports" to a non-privilileged port works around the issue.
I'd like to help fix this, but I am not sure what qemu-kvm's intention is here.
Zero is not a valid port, and the smb.conf manpage does not describe any
special meaning of zero here. I found that previous versions of samba apparently
did not bind to any port if zero was specified - but in that case, how is
qemu communicating with samba?
It communicates via standard input (just like inetd). Obviously newer versions do not need this anymore, and smbd will detect in which mode it is supposed to run.
That switch was once introduce in 157777ef3e to add "Samba 3 support". Maybe you can check with the samba guys if that switch was actually ever required or since when it became redundant.