[SCM] Samba Shared Repository - branch v3-2-stable updated - release-3-2-0-107-g90ac4f2

Karolin Seeger kseeger at samba.org
Thu Jul 31 08:00:09 GMT 2008


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 <kseeger at samba.org>
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 <jra at samba.org>
Date:   Wed Jul 30 16:22:16 2008 -0700

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

commit a05edf7ce75435988420dcb4804607626d255eec
Author: Günther Deschner <gd at samba.org>
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 <gd at samba.org>
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 <gd at samba.org>
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 <kseeger at samba.org>
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 <vl at sernet.de>
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 <jra at samba.org>
       '\\' 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 <jim.brown at miami.edu>
@@ -51,7 +52,9 @@ o   Jim Brown <jim.brown at miami.edu>
 
 
 o   Günther Deschner <gd at samba.org>
+    * 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 <Volodymyr.Khomenko at exanet.com>
 
 o   Volker Lendecke <vl at samba.org>
     * 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


More information about the samba-cvs mailing list