[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-1424-gfe839b6

Günther Deschner gd at samba.org
Mon May 4 10:14:18 GMT 2009

The branch, master has been updated
       via  fe839b65a7b4e8d5e085287b7d33ee1f970fe7c2 (commit)
      from  9271dc5f7eb3e18021e27f334837d28b921db8e5 (commit)


- Log -----------------------------------------------------------------
commit fe839b65a7b4e8d5e085287b7d33ee1f970fe7c2
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 1 02:17:23 2009 +0200

    s3-printing: Fix driver upload for Xerox 4110 PS printer driver.
    We need to allow to set filesystem capabilities from the default vfs in
    create_conn_struct() in order to find mixed-case filenames. Thanks Volker!
    This one was hard to find, so a little longer explanation:
    When a Windows client tries to upload e.g. the Xerox 4110 PS driver, the client
    first uploads the driver files to the [print$] share. Some of them (in this case
    the Windows Postscript drivers) are with uppercase filenames while some of them
    (like the PPD file) are in lowercase. After the driver upload the client issues
    the spoolss_AddPrinterDriverEx() call with level 6. There the client tries to
    add the PPD file with an uppercase filename (while having stored it in lowercase
    on the server). The internal spoolss add driver functions then could not find the
    appropriate filename while trying to move them to the version subdirectory (in
    this case W32X86/3) and fails then entire spoolss_AddPrinterDriverEx() call.
    With this fix, the convert_unix_name() name finds the correct file and
    the spoolss_AddPrinterDriverEx() succeeds.


Summary of changes:
 source3/smbd/msdfs.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

Changeset truncated at 500 lines:

diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
index 4d692cd..7bd32e8 100644
--- a/source3/smbd/msdfs.c
+++ b/source3/smbd/msdfs.c
@@ -272,6 +272,8 @@ NTSTATUS create_conn_struct(TALLOC_CTX *ctx,
 		return status;
+	conn->fs_capabilities = SMB_VFS_FS_CAPABILITIES(conn);
 	 * Windows seems to insist on doing trans2getdfsreferral() calls on
 	 * the IPC$ share as the anonymous user. If we try to chdir as that

Samba Shared Repository

More information about the samba-cvs mailing list