s3-printing: vfs_connect prior to driver/dfs IO
authorDavid Disseldorp <ddiss@suse.de>
Tue, 1 Mar 2011 18:17:49 +0000 (19:17 +0100)
committerJeremy Allison <jra@samba.org>
Wed, 2 Mar 2011 00:16:30 +0000 (01:16 +0100)
commit016a8d214ab23883e9d50c46d3a8cc18f9454368
tree6be73542e65e0e3cc72124dd1123e0aa68aa5eef
parent09b4acfd81669583a38352550dc61107c72a1d42
s3-printing: vfs_connect prior to driver/dfs IO

samba3.posix_s3.rpc.spoolss.driver fails with the xattr_tdb vfs module
loaded as a part of make test. The (now checked) create_directory() call
in move_driver_to_download_area() fails, uncovering another bug in the
printer driver upload code path.

move_driver_to_download_area() creates a new conn_struct for
manipulating files in [print$]. The VFS layer is plumbed through with
the call to create_conn_struct(), however SMB_VFS_CONNECT() is never
called. Many vfs modules expect state stored at connect time with
SMB_VFS_HANDLE_SET_DATA() to be available on any IO operation and fail
if this is not the case.

This fix adds a call to SMB_VFS_CONNECT() in create_conn_struct() prior
to IO.

https://bugzilla.samba.org/show_bug.cgi?id=7976

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Mar  2 01:16:30 CET 2011 on sn-devel-104
source3/printing/nt_printing.c
source3/rpc_server/srvsvc/srv_srvsvc_nt.c
source3/smbd/msdfs.c