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 <[EMAIL PROTECTED]> * 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 <[EMAIL PROTECTED]> * 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 <[EMAIL PROTECTED]> * Compiler warning fixes. +o Simo Sorce <[EMAIL PROTECTED]> + * Set the correct sid type when looking up a gid. + + Changes since 3.0.22 -------------------- o Jeremy Allison <[EMAIL PROTECTED]> 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; }