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 <src> <dest<</term> + <term>hardlink <src> <dest></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