The branch, v3-4-test has been updated
       via  10c009cec59358ec11a9d25242fe395f31f671a6 (commit)
       via  079c52a2c39ca2723402e7c6e2f8fd5825c2c40f (commit)
       via  14734deb6aacb592af5ddbbc93397ea79fe0d9bc (commit)
       via  d9233f534e9087cf6b35db5b72aefdd396b772e0 (commit)
      from  a79ae4e5364fe8e3ec6b451364dc5d861f202528 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test


- Log -----------------------------------------------------------------
commit 10c009cec59358ec11a9d25242fe395f31f671a6
Author: Günther Deschner <[email protected]>
Date:   Tue May 5 21:12:33 2009 +0200

    s3-ldap: fix more callers of smbldap_dn_talloc() that were passing a NULL 
context.
    
    Guenther
    (cherry picked from commit fee4c99be494b9679c414d6ba1938aa88adeacd3)

commit 079c52a2c39ca2723402e7c6e2f8fd5825c2c40f
Author: Günther Deschner <[email protected]>
Date:   Tue May 5 18:50:48 2009 +0200

    s3-ldapsam: Fix Bug #6313: ldapsam_update_sam_account() crashes while doing 
talloc_free on malloced memory.
    
    Guenther
    (cherry picked from commit 5b37df21f6af52d20ad3a25361b1d7faa51308d1)

commit 14734deb6aacb592af5ddbbc93397ea79fe0d9bc
Author: Günther Deschner <[email protected]>
Date:   Tue May 5 19:38:58 2009 +0200

    error-codes: add some more group specific windows error codes.
    
    Guenther
    (cherry picked from commit e7a8577df1e92982ff717a62280f86e3b0384d54)

commit d9233f534e9087cf6b35db5b72aefdd396b772e0
Author: Günther Deschner <[email protected]>
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.
    
    Guenther
    (cherry picked from commit fe839b65a7b4e8d5e085287b7d33ee1f970fe7c2)

-----------------------------------------------------------------------

Summary of changes:
 libcli/util/doserr.c      |    4 ++++
 libcli/util/werror.h      |    2 ++
 source3/passdb/pdb_ldap.c |    4 ++--
 source3/passdb/pdb_nds.c  |    2 +-
 source3/smbd/msdfs.c      |    2 ++
 5 files changed, 11 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/util/doserr.c b/libcli/util/doserr.c
index 1151d32..a7a132f 100644
--- a/libcli/util/doserr.c
+++ b/libcli/util/doserr.c
@@ -79,6 +79,7 @@ static const struct werror_code_struct dos_errs[] =
        { "WERR_USER_ALREADY_EXISTS", WERR_USER_ALREADY_EXISTS },
        { "WERR_NO_SUCH_USER", WERR_NO_SUCH_USER },
        { "WERR_GROUP_EXISTS", WERR_GROUP_EXISTS },
+       { "WERR_NO_SUCH_GROUP", WERR_NO_SUCH_GROUP },
        { "WERR_MEMBER_IN_GROUP", WERR_MEMBER_IN_GROUP },
        { "WERR_USER_NOT_IN_GROUP", WERR_USER_NOT_IN_GROUP },
        { "WERR_PRINTER_DRIVER_IN_USE", WERR_PRINTER_DRIVER_IN_USE },
@@ -96,6 +97,7 @@ static const struct werror_code_struct dos_errs[] =
        { "WERR_UNKNOWN_REVISION", WERR_UNKNOWN_REVISION },
        { "WERR_REVISION_MISMATCH", WERR_REVISION_MISMATCH },
        { "WERR_INVALID_OWNER", WERR_INVALID_OWNER },
+       { "WERR_INVALID_PRIMARY_GROUP", WERR_INVALID_PRIMARY_GROUP },
        { "WERR_INVALID_COMPUTERNAME", WERR_INVALID_COMPUTERNAME },
        { "WERR_INVALID_DOMAINNAME", WERR_INVALID_DOMAINNAME },
        { "WERR_MACHINE_LOCKED", WERR_MACHINE_LOCKED },
@@ -232,6 +234,8 @@ const struct werror_str_struct dos_err_strs[] = {
        { WERR_NONE_MAPPED, "Could not map names to SIDs" },
        { WERR_NO_SUCH_USER, "No such User" },
        { WERR_GROUP_EXISTS, "Group already exists" },
+       { WERR_NO_SUCH_GROUP, "No such Group" },
+       { WERR_INVALID_PRIMARY_GROUP, "The account's primary group is invalid" 
},
        { WERR_DS_DRA_BAD_DN, "An invalid distinguished name was specified for 
this replication" },
        { WERR_DS_DRA_BAD_NC, "An invalid naming context was specified for this 
replication operation" },
        { WERR_WRONG_PASSWORD, "The current password is incorrect" }
diff --git a/libcli/util/werror.h b/libcli/util/werror.h
index 2e6b696..2976390 100644
--- a/libcli/util/werror.h
+++ b/libcli/util/werror.h
@@ -126,6 +126,7 @@ typedef uint32_t WERROR;
 #define WERR_MACHINE_LOCKED W_ERROR(1271)
 #define WERR_REVISION_MISMATCH W_ERROR(1306)
 #define WERR_INVALID_OWNER W_ERROR(1307)
+#define WERR_INVALID_PRIMARY_GROUP W_ERROR(1308)
 #define WERR_NO_LOGON_SERVERS W_ERROR(1311)
 #define WERR_NO_SUCH_LOGON_SESSION W_ERROR(1312)
 #define WERR_NO_SUCH_PRIVILEGE W_ERROR(1313)
@@ -133,6 +134,7 @@ typedef uint32_t WERROR;
 #define WERR_USER_ALREADY_EXISTS W_ERROR(1316)
 #define WERR_NO_SUCH_USER W_ERROR(1317)
 #define WERR_GROUP_EXISTS W_ERROR(1318)
+#define WERR_NO_SUCH_GROUP W_ERROR(1319)
 #define WERR_MEMBER_IN_GROUP W_ERROR(1320)
 #define WERR_USER_NOT_IN_GROUP W_ERROR(1321)
 #define WERR_WRONG_PASSWORD W_ERROR(1323)
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c
index b706721..6217028 100644
--- a/source3/passdb/pdb_ldap.c
+++ b/source3/passdb/pdb_ldap.c
@@ -1908,7 +1908,7 @@ static NTSTATUS ldapsam_update_sam_account(struct 
pdb_methods *my_methods, struc
        }
 
        entry = ldap_first_entry(ldap_state->smbldap_state->ldap_struct, 
result);
-       dn = smbldap_talloc_dn(NULL, ldap_state->smbldap_state->ldap_struct, 
entry);
+       dn = smbldap_talloc_dn(talloc_tos(), 
ldap_state->smbldap_state->ldap_struct, entry);
        if (!dn) {
                return NT_STATUS_UNSUCCESSFUL;
        }
@@ -3512,7 +3512,7 @@ static NTSTATUS ldapsam_modify_aliasmem(struct 
pdb_methods *methods,
                return NT_STATUS_UNSUCCESSFUL;
        }
 
-       dn = smbldap_talloc_dn(NULL, ldap_state->smbldap_state->ldap_struct, 
entry);
+       dn = smbldap_talloc_dn(talloc_tos(), 
ldap_state->smbldap_state->ldap_struct, entry);
        if (!dn) {
                ldap_msgfree(result);
                return NT_STATUS_UNSUCCESSFUL;
diff --git a/source3/passdb/pdb_nds.c b/source3/passdb/pdb_nds.c
index 08665e4..1545b45 100644
--- a/source3/passdb/pdb_nds.c
+++ b/source3/passdb/pdb_nds.c
@@ -788,7 +788,7 @@ static NTSTATUS pdb_nds_update_login_attempts(struct 
pdb_methods *methods,
                }
 
                entry = 
ldap_first_entry(ldap_state->smbldap_state->ldap_struct, result);
-               dn = smbldap_talloc_dn(NULL, 
ldap_state->smbldap_state->ldap_struct, entry);
+               dn = smbldap_talloc_dn(talloc_tos(), 
ldap_state->smbldap_state->ldap_struct, entry);
                if (!dn) {
                        return NT_STATUS_OBJECT_NAME_NOT_FOUND;
                }
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

Reply via email to