In handling RemoteFindFirstPrinterChangeNotifyEx requests, the spoolss
server can establish a "backchannel" connection to the print client, as
a mechanism for sending print notifications. This behaviour is governed
by the "print notify backchannel" smb.conf parameter.
This change sets "print notify backchannel" to "no" by default, which
sees Samba respond to RemoteFindFirstPrinterChangeNotifyEx requests with
WERR_SERVER_UNAVAILABLE. In recieving such a response, print clients can
fall back to polling for print queue changes.
Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Mon Oct 14 18:49:41 CEST 2013 on sn-devel-104
the server to open a backchannel SMB connection to them. Due to
client firewall settings this can cause considerable timeouts
and will often fail, as there is no guarantee the client is even
the server to open a backchannel SMB connection to them. Due to
client firewall settings this can cause considerable timeouts
and will often fail, as there is no guarantee the client is even
- running an SMB server. By setting this parameter to <constant>no</constant>
- the Samba print server will not try to connect back to clients
- and treat corresponding requests as if the connection back to
- the client failed. The default setting of <constant>yes</constant>
- causes smbd to attempt this connection.
+ running an SMB server. By default, the Samba print server will
+ not try to connect back to clients, and will treat corresponding
+ requests as if the connection back to the client failed.
-<value type="default">yes</value>
+<value type="default">no</value>
queue pause command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queuepause %p
queue resume command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queueresume %p
lpq cache time = 0
queue pause command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queuepause %p
queue resume command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queueresume %p
lpq cache time = 0
+ print notify backchannel = yes
ncalrpc dir = $prefix_abs/ncalrpc
resolv:host file = $dns_host_file
ncalrpc dir = $prefix_abs/ncalrpc
resolv:host file = $dns_host_file
queue pause command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queuepause %p
queue resume command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queueresume %p
lpq cache time = 0
queue pause command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queuepause %p
queue resume command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queueresume %p
lpq cache time = 0
+ print notify backchannel = yes
.bAdministrative_share = false,
.bGuest_ok = false,
.bPrint_ok = false,
.bAdministrative_share = false,
.bGuest_ok = false,
.bPrint_ok = false,
- .bPrintNotifyBackchannel = true,
+ .bPrintNotifyBackchannel = false,
.bMap_system = false,
.bMap_hidden = false,
.bMap_archive = true,
.bMap_system = false,
.bMap_hidden = false,
.bMap_archive = true,