Skip to content

Fix bug 14939 - smbclient -L doesn't set "client max protocol" to NT1 before calling "Reconnecting with SMB1 for workgroup listing"

Doing "smbclient -L //server_smb1 -U%" against a Samba server that supports both SMB1+SMB2 causes the error message:

smb1cli_req_writev_submit: called for dialect[SMB3_11] server[FILESERVERSMB1]

As we're issuing an SMB1 call on an SMB2-connection (the cli_cm_open("$IPC") call selects SMB2 by default).

We see this a lot in the provisioning code that uses smbclient -L to wait for the FILESERVERSMB1 server to start if you run an individual make test TESTS=.

Adds 2 regression tests showing the problem, then fixes them by setting the protocol to NT1 before calling the SMB1-only: list_servers(lp_workgroup()) code path.

Passes ci.

Merge request reports