svn commit: samba r16863 - in branches/SAMBA_3_0_RELEASE: . source/auth source/libads source/nsswitch source/param source/rpc_server

jerry at samba.org jerry at samba.org
Fri Jul 7 12:29:12 GMT 2006


Author: jerry
Date: 2006-07-07 12:29:10 +0000 (Fri, 07 Jul 2006)
New Revision: 16863

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16863

Log:
Pull in a few changes from Guenther, Simo, & Volker
Update the release notes


Modified:
   branches/SAMBA_3_0_RELEASE/WHATSNEW.txt
   branches/SAMBA_3_0_RELEASE/source/auth/auth_util.c
   branches/SAMBA_3_0_RELEASE/source/libads/cldap.c
   branches/SAMBA_3_0_RELEASE/source/libads/ldap.c
   branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_sid.c
   branches/SAMBA_3_0_RELEASE/source/param/loadparm.c
   branches/SAMBA_3_0_RELEASE/source/rpc_server/srv_dfs_nt.c


Changeset:
Modified: branches/SAMBA_3_0_RELEASE/WHATSNEW.txt
===================================================================
--- branches/SAMBA_3_0_RELEASE/WHATSNEW.txt	2006-07-07 11:59:19 UTC (rev 16862)
+++ branches/SAMBA_3_0_RELEASE/WHATSNEW.txt	2006-07-07 12:29:10 UTC (rev 16863)
@@ -184,24 +184,33 @@
       create an NT token for the guest account.
     * BUG 3908: Fix RPC bind authentication failure which broke
       user password changes.
+    * Ensure that "net ads join" reports failure correctly if
+      it cannot set the machine account password.
 
 
 o   Guenther Deschner <gd at samba.org>
     * Fix different extended_dn handling in adssearch.pl
       (Thanks to Frederic Brin at Novell).
     * Fix a memleak in winbindd's credentials cache.
+    * Protect against crashes in CLDAP request processing.
+    * Remove incomplete DfsEnum() info level to avoid an smbd crash.
 
 
 o   Volker Lendecke <vl at samba.org>
     * Fix a memleak in the server registry code for enumeration 
       shares.
     * Fix an invalid munlock() call in winbindd's credentials cache.
+    * Fix compile warnings when passing NULL to snprintf().
 
 
 o   Jason Mader <jason at ncac.gwu.edu>
     * Compiler warning fixes.
 
 
+o   Simo Sorce <idra at samba.org>
+    * Set the correct sid type when looking up a gid.
+
+
 Changes since 3.0.22
 --------------------
 o   Jeremy Allison <jra at samba.org>

Modified: branches/SAMBA_3_0_RELEASE/source/auth/auth_util.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/auth/auth_util.c	2006-07-07 11:59:19 UTC (rev 16862)
+++ branches/SAMBA_3_0_RELEASE/source/auth/auth_util.c	2006-07-07 12:29:10 UTC (rev 16863)
@@ -778,7 +778,7 @@
 	}
 			
 	/* add root */
-	if ( (ctx = talloc_init(NULL)) == NULL ) {
+	if ( (ctx = talloc_init("create_builtin_administrators")) == NULL ) {
 		return NT_STATUS_NO_MEMORY;
 	}
 	fstr_sprintf( root_name, "%s\\root", get_global_sam_name() );

Modified: branches/SAMBA_3_0_RELEASE/source/libads/cldap.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/libads/cldap.c	2006-07-07 11:59:19 UTC (rev 16862)
+++ branches/SAMBA_3_0_RELEASE/source/libads/cldap.c	2006-07-07 12:29:10 UTC (rev 16863)
@@ -115,10 +115,12 @@
 	asn1_write_BOOLEAN2(&data, False);
 	asn1_push_tag(&data, ASN1_CONTEXT(0));
 
-	asn1_push_tag(&data, ASN1_CONTEXT(3));
-	asn1_write_OctetString(&data, "DnsDomain", 9);
-	asn1_write_OctetString(&data, domain, strlen(domain));
-	asn1_pop_tag(&data);
+	if (domain) {
+		asn1_push_tag(&data, ASN1_CONTEXT(3));
+		asn1_write_OctetString(&data, "DnsDomain", 9);
+		asn1_write_OctetString(&data, domain, strlen(domain));
+		asn1_pop_tag(&data);
+	}
 
 	asn1_push_tag(&data, ASN1_CONTEXT(3));
 	asn1_write_OctetString(&data, "Host", 4);

Modified: branches/SAMBA_3_0_RELEASE/source/libads/ldap.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/libads/ldap.c	2006-07-07 11:59:19 UTC (rev 16862)
+++ branches/SAMBA_3_0_RELEASE/source/libads/ldap.c	2006-07-07 12:29:10 UTC (rev 16863)
@@ -122,14 +122,15 @@
 		return False;
 	}
 	
-	DEBUG(5,("ads_try_connect: sending CLDAP request to %s\n", server));
+	DEBUG(5,("ads_try_connect: sending CLDAP request to %s (realm: %s)\n", 
+		server, ads->server.realm));
 
 	/* this copes with inet_ntoa brokenness */
 	
 	srv = SMB_STRDUP(server);
 
 	ZERO_STRUCT( cldap_reply );
-	
+
 	if ( !ads_cldap_netlogon( srv, ads->server.realm, &cldap_reply ) ) {
 		DEBUG(3,("ads_try_connect: CLDAP request %s failed.\n", srv));
 		return False;
@@ -149,18 +150,20 @@
 	SAFE_FREE(ads->config.realm);
 	SAFE_FREE(ads->config.bind_path);
 	SAFE_FREE(ads->config.ldap_server_name);
+	SAFE_FREE(ads->server.workgroup);
 
 	ads->config.ldap_server_name   = SMB_STRDUP(cldap_reply.hostname);
 	strupper_m(cldap_reply.domain);
 	ads->config.realm              = SMB_STRDUP(cldap_reply.domain);
 	ads->config.bind_path          = ads_build_dn(ads->config.realm);
+	ads->server.workgroup          = SMB_STRDUP(cldap_reply.netbios_domain);
 
 	ads->ldap_port = LDAP_PORT;
 	ads->ldap_ip = *interpret_addr2(srv);
 	SAFE_FREE(srv);
 	
 	/* cache the successful connection */
-	
+
 	saf_store( ads->server.workgroup, server );
 
 	return True;

Modified: branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_sid.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_sid.c	2006-07-07 11:59:19 UTC (rev 16862)
+++ branches/SAMBA_3_0_RELEASE/source/nsswitch/winbindd_sid.c	2006-07-07 12:29:10 UTC (rev 16863)
@@ -416,7 +416,7 @@
 
 	if (NT_STATUS_IS_OK(status)) {
 		sid_to_string(state->response.data.sid.sid, &sid);
-		state->response.data.sid.type = SID_NAME_USER;
+		state->response.data.sid.type = SID_NAME_DOM_GRP;
 		request_ok(state);
 		return;
 	}

Modified: branches/SAMBA_3_0_RELEASE/source/param/loadparm.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/param/loadparm.c	2006-07-07 11:59:19 UTC (rev 16862)
+++ branches/SAMBA_3_0_RELEASE/source/param/loadparm.c	2006-07-07 12:29:10 UTC (rev 16863)
@@ -1670,7 +1670,7 @@
 TALLOC_CTX *tmp_talloc_ctx(void)
 {
 	if (lp_talloc == NULL) {
-		lp_talloc = talloc_init(NULL);
+		lp_talloc = talloc_init("tmp_talloc_ctx");
 	}
 
 	if (lp_talloc == NULL) {

Modified: branches/SAMBA_3_0_RELEASE/source/rpc_server/srv_dfs_nt.c
===================================================================
--- branches/SAMBA_3_0_RELEASE/source/rpc_server/srv_dfs_nt.c	2006-07-07 11:59:19 UTC (rev 16862)
+++ branches/SAMBA_3_0_RELEASE/source/rpc_server/srv_dfs_nt.c	2006-07-07 12:29:10 UTC (rev 16863)
@@ -304,14 +304,6 @@
 		r_u->info.e.u.info3.ptr0_s = 1;
 		r_u->info.e.u.info3.size_s = num_jn;
 		break;
-	case 4:
-		if ((r_u->info.e.u.info4.s = TALLOC_ARRAY(p->mem_ctx, NETDFS_DFS_INFO4, num_jn)) == NULL) {
-			return WERR_NOMEM;
-		}
-		r_u->info.e.u.info4.count = num_jn;
-		r_u->info.e.u.info4.ptr0_s = 1;
-		r_u->info.e.u.info4.size_s = num_jn;
-		break;
 	default:
 		return WERR_INVALID_PARAM;
 	}



More information about the samba-cvs mailing list