The branch, v3-2-stable has been updated
       via  90ac4f202c5413dbe1353306f3b6a2e555c1b407 (commit)
       via  add7905a66dfee5aebe61aec2999ce8a6064946a (commit)
       via  a05edf7ce75435988420dcb4804607626d255eec (commit)
       via  8905da5c2c0a690ef7055b2f20b79f54ab477be6 (commit)
       via  cfc5e54d5a4a20dc824dd9d7b409fdafd30ec8a4 (commit)
       via  aefd6cc1fc829c8592c79ab61d4ddf47c5ee02c9 (commit)
       via  b9f755c798c8a9835425a0c22816af4440eabef3 (commit)
      from  da771f13af99388005df60e2bec5c5ee5a2f5d95 (commit)

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


- Log -----------------------------------------------------------------
commit 90ac4f202c5413dbe1353306f3b6a2e555c1b407
Author: Karolin Seeger <[EMAIL PROTECTED]>
Date:   Thu Jul 31 09:39:58 2008 +0200

    WHATSNEW: Update changes since 3.2.0.
    
    Karolin
    (cherry picked from commit b562b97872f51abe1bd2fb4d61d91c464d1d0840)

commit add7905a66dfee5aebe61aec2999ce8a6064946a
Author: Jeremy Allison <[EMAIL PROTECTED]>
Date:   Wed Jul 30 16:22:16 2008 -0700

    Fix uninitialized variable.
    Jeremy.
    (cherry picked from commit 5fb17b866642a9f971cce6d9f228b4d52618e42b)

commit a05edf7ce75435988420dcb4804607626d255eec
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Wed Jul 30 19:03:13 2008 +0200

    rpc_client: Bug 5616 - fix session keys also in rpccli_netr_LogonSamLogonEx 
wrapper.
    
    Guenther
    (cherry picked from commit fef58091408cce0d7870c86f28f78cf9400cf2b6)
    (cherry picked from commit 4f62fa50c7d542db4a2b8976d85da590194203f0)

commit 8905da5c2c0a690ef7055b2f20b79f54ab477be6
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Tue Jul 29 12:08:47 2008 +0200

    winbindd: handle trusted domains without sid.
    
    Guenther
    (cherry picked from commit 0c1efc6c89b1a51a94d10971bf0fc515416709b3)
    (cherry picked from commit 4f5255d1e5025c4c9ebb0b1f22d800e26bcdfb7f)

commit cfc5e54d5a4a20dc824dd9d7b409fdafd30ec8a4
Author: Günther Deschner <[EMAIL PROTECTED]>
Date:   Wed Jul 30 16:59:11 2008 +0200

    libwbclient: let wbcStringToSid handle the global NULL sid.
    
    Guenther
    (cherry picked from commit 09fed085bea9dae5bb8aacd986deed3d458e3574)
    (cherry picked from commit fba8506112938bf714c06da08e0e0725a7eecf3a)

commit aefd6cc1fc829c8592c79ab61d4ddf47c5ee02c9
Author: Karolin Seeger <[EMAIL PROTECTED]>
Date:   Tue Jul 29 12:03:08 2008 +0200

    man pages: Fix typos in man smbclient.
    
    Karolin
    (cherry picked from commit db843d2faafb3487e3c7df4a3a52d6c71f369e1d)
    (cherry picked from commit 3a3640a85daa1a85415c949f9c2b804b4f067dd7)

commit b9f755c798c8a9835425a0c22816af4440eabef3
Author: Volker Lendecke <[EMAIL PROTECTED]>
Date:   Mon Jul 28 17:52:35 2008 +0200

    Attempt to fix bug 5616
    
    We were calculating the session key but did not return it to the caller...
    (cherry picked from commit 8ab79b1d009d53e414b90e4a0ab8fc7a4889b6df)

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

Summary of changes:
 WHATSNEW.txt                          |    5 +++++
 docs-xml/manpages-3/smbclient.1.xml   |    3 +--
 source/libads/kerberos_keytab.c       |    1 +
 source/nsswitch/libwbclient/wbc_sid.c |    2 +-
 source/rpc_client/cli_netlogon.c      |   30 ++++++++++++------------------
 source/winbindd/winbindd_ads.c        |   12 ++++++++++--
 source/winbindd/winbindd_cache.c      |    9 +++++++--
 7 files changed, 37 insertions(+), 25 deletions(-)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index c5f8b3c..befa12f 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -44,6 +44,7 @@ o   Jeremy Allison <[EMAIL PROTECTED]>
       '\\' characters.
     * Fix option processing in smbcacls - add POPT_COMMON_CONNECTION.
     * Fix bug creating files using DOS clients with mixed case files.
+    * Fix uninitialized variable.
 
 
 o   Jim Brown <[EMAIL PROTECTED]>
@@ -51,7 +52,9 @@ o   Jim Brown <[EMAIL PROTECTED]>
 
 
 o   Günther Deschner <[EMAIL PROTECTED]>
+    * BUG 5616: Fix session keys also in rpccli_netr_LogonSamLogonEx wrapper.
     * BUG 5570: Fix bogus error message during AD domain join.
+    * Fix trusted domain handling in Winbindd.
     * Fix build warning.
 
 
@@ -68,6 +71,8 @@ o   Volodymyr Khomenko <[EMAIL PROTECTED]>
 
 o   Volker Lendecke <[EMAIL PROTECTED]>
     * BUG 5512: Fix alignment problems on sparc.
+    * BUG 5616: Fix share connections in setups with
+      "server signing = mandatory" or SMB signing set on the client side.
     * Fix a race condition in Winbind leading to a crash.
     * Fix a segfault in base64_encode_data_blob.
     * Fix some uninitialized variable references via ndr_print.
diff --git a/docs-xml/manpages-3/smbclient.1.xml 
b/docs-xml/manpages-3/smbclient.1.xml
index e8e1b21..5096e7d 100644
--- a/docs-xml/manpages-3/smbclient.1.xml
+++ b/docs-xml/manpages-3/smbclient.1.xml
@@ -665,9 +665,8 @@
                </varlistentry>
 
                <varlistentry>
-               <term>hardlink &lt;src&gt; &lt;dest&lt;</term>
+               <term>hardlink &lt;src&gt; &lt;dest&gt;</term>
                <listitem><para>Creates a hardlink on the server using Windows 
CIFS semantics.
-               the POSIX ACL on a file.
                </para></listitem>
                </varlistentry>
 
diff --git a/source/libads/kerberos_keytab.c b/source/libads/kerberos_keytab.c
index d0161ad..ab6d1d3 100644
--- a/source/libads/kerberos_keytab.c
+++ b/source/libads/kerberos_keytab.c
@@ -256,6 +256,7 @@ int ads_keytab_add_entry(ADS_STRUCT *ads, const char 
*srvPrinc)
                ret = -1;
                goto out;
        }
+       ZERO_STRUCT(password);
        password.data = password_s;
        password.length = strlen(password_s);
 
diff --git a/source/nsswitch/libwbclient/wbc_sid.c 
b/source/nsswitch/libwbclient/wbc_sid.c
index 4bfd62c..ca5eab4 100644
--- a/source/nsswitch/libwbclient/wbc_sid.c
+++ b/source/nsswitch/libwbclient/wbc_sid.c
@@ -124,7 +124,7 @@ wbcErr wbcStringToSid(const char *str,
 
        p = q+1;
        x = (uint32_t)strtol(p, &q, 10);
-       if (x==0 || !q || *q!='-') {
+       if (!q || *q!='-') {
                wbc_status = WBC_ERR_INVALID_SID;
                BAIL_ON_WBC_ERROR(wbc_status);
        }
diff --git a/source/rpc_client/cli_netlogon.c b/source/rpc_client/cli_netlogon.c
index 851a4a8..de45e71 100644
--- a/source/rpc_client/cli_netlogon.c
+++ b/source/rpc_client/cli_netlogon.c
@@ -424,8 +424,6 @@ NTSTATUS rpccli_netlogon_sam_network_logon(struct 
rpc_pipe_client *cli,
        union netr_Validation validation;
        struct netr_ChallengeResponse lm;
        struct netr_ChallengeResponse nt;
-       struct netr_UserSessionKey user_session_key;
-       struct netr_LMSessionKey lmsesskey;
 
        *info3 = NULL;
 
@@ -500,15 +498,14 @@ NTSTATUS rpccli_netlogon_sam_network_logon(struct 
rpc_pipe_client *cli,
                return result;
        }
 
-       user_session_key = validation.sam3->base.key;
-       lmsesskey = validation.sam3->base.LMSessKey;
-
-       if (memcmp(zeros, user_session_key.key, 16) != 0) {
-               SamOEMhash(user_session_key.key, cli->dc->sess_key, 16);
+       if (memcmp(zeros, validation.sam3->base.key.key, 16) != 0) {
+               SamOEMhash(validation.sam3->base.key.key,
+                          cli->dc->sess_key, 16);
        }
 
-       if (memcmp(zeros, lmsesskey.key, 8) != 0) {
-               SamOEMhash(lmsesskey.key, cli->dc->sess_key, 8);
+       if (memcmp(zeros, validation.sam3->base.LMSessKey.key, 8) != 0) {
+               SamOEMhash(validation.sam3->base.LMSessKey.key,
+                          cli->dc->sess_key, 8);
        }
 
        if (memcmp(zeros, ret_creds.cred.data, sizeof(ret_creds.cred.data)) != 
0) {
@@ -547,8 +544,6 @@ NTSTATUS rpccli_netlogon_sam_network_logon_ex(struct 
rpc_pipe_client *cli,
        union netr_Validation validation;
        struct netr_ChallengeResponse lm;
        struct netr_ChallengeResponse nt;
-       struct netr_UserSessionKey user_session_key;
-       struct netr_LMSessionKey lmsesskey;
        uint32_t flags = 0;
 
        *info3 = NULL;
@@ -620,15 +615,14 @@ NTSTATUS rpccli_netlogon_sam_network_logon_ex(struct 
rpc_pipe_client *cli,
                return result;
        }
 
-       user_session_key = validation.sam3->base.key;
-       lmsesskey = validation.sam3->base.LMSessKey;
-
-       if (memcmp(zeros, user_session_key.key, 16) != 0) {
-               SamOEMhash(user_session_key.key, cli->dc->sess_key, 16);
+       if (memcmp(zeros, validation.sam3->base.key.key, 16) != 0) {
+               SamOEMhash(validation.sam3->base.key.key,
+                          cli->dc->sess_key, 16);
        }
 
-       if (memcmp(zeros, lmsesskey.key, 8) != 0) {
-               SamOEMhash(lmsesskey.key, cli->dc->sess_key, 8);
+       if (memcmp(zeros, validation.sam3->base.LMSessKey.key, 8) != 0) {
+               SamOEMhash(validation.sam3->base.LMSessKey.key,
+                          cli->dc->sess_key, 8);
        }
 
        *info3 = validation.sam3;
diff --git a/source/winbindd/winbindd_ads.c b/source/winbindd/winbindd_ads.c
index 35ffe70..64b5ce7 100644
--- a/source/winbindd/winbindd_ads.c
+++ b/source/winbindd/winbindd_ads.c
@@ -1241,13 +1241,21 @@ static NTSTATUS trusted_domains(struct winbindd_domain 
*domain,
                        
                        (*names)[ret_count] = CONST_DISCARD(char *, 
trusts.array[i].netbios_name);
                        (*alt_names)[ret_count] = CONST_DISCARD(char *, 
trusts.array[i].dns_name);
-                       sid_copy(&(*dom_sids)[ret_count], trusts.array[i].sid);
+                       if (trusts.array[i].sid) {
+                               sid_copy(&(*dom_sids)[ret_count], 
trusts.array[i].sid);
+                       } else {
+                               sid_copy(&(*dom_sids)[ret_count], 
&global_sid_NULL);
+                       }
 
                        /* add to the trusted domain cache */
 
                        fstrcpy( d.name,  trusts.array[i].netbios_name);
                        fstrcpy( d.alt_name, trusts.array[i].dns_name);
-                       sid_copy( &d.sid, trusts.array[i].sid);
+                       if (trusts.array[i].sid) {
+                               sid_copy( &d.sid, trusts.array[i].sid);
+                       } else {
+                               sid_copy(&(*dom_sids)[ret_count], 
&global_sid_NULL);
+                       }
 
                        if ( domain->primary ) {
                                DEBUG(10,("trusted_domains(ads):  Searching "
diff --git a/source/winbindd/winbindd_cache.c b/source/winbindd/winbindd_cache.c
index dda8b03..3b2b9aa 100644
--- a/source/winbindd/winbindd_cache.c
+++ b/source/winbindd/winbindd_cache.c
@@ -2078,7 +2078,9 @@ static NTSTATUS trusted_domains(struct winbindd_domain 
*domain,
        for (i=0; i<(*num_domains); i++) {
                (*names)[i] = centry_string(centry, mem_ctx);
                (*alt_names)[i] = centry_string(centry, mem_ctx);
-               centry_sid(centry, mem_ctx, &(*dom_sids)[i]);
+               if (!centry_sid(centry, mem_ctx, &(*dom_sids)[i])) {
+                       sid_copy(&(*dom_sids)[i], &global_sid_NULL);
+               }
        }
 
        status = centry->status;
@@ -3549,8 +3551,11 @@ static bool add_wbdomain_to_tdc_array( struct 
winbindd_domain *new_dom,
        list[idx].domain_name = talloc_strdup( list, new_dom->name );
        list[idx].dns_name = talloc_strdup( list, new_dom->alt_name );
 
-       if ( !is_null_sid( &new_dom->sid ) )
+       if ( !is_null_sid( &new_dom->sid ) ) {
                sid_copy( &list[idx].sid, &new_dom->sid );
+       } else {
+               sid_copy(&list[idx].sid, &global_sid_NULL);
+       }
 
        if ( new_dom->domain_flags != 0x0 )
                list[idx].trust_flags = new_dom->domain_flags;  


-- 
Samba Shared Repository

Reply via email to