The branch, master has been updated
       via  da1970c... s4:lsa open trusted domain also with dns name
       via  c8a3c01... remove trailing tabs and spaces
      from  0055e33... Second part of fix for bug #7159 - client rpc_transport 
doesn't cope with bad server data returns.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit da1970c0ff4cd3556102e9357b2e0cf65728c8d6
Author: Simo Sorce <[email protected]>
Date:   Fri Feb 19 18:09:48 2010 -0500

    s4:lsa open trusted domain also with dns name
    
    When searching for a trusted domain object to open, search also the DNS Name
    attributes for a match. W2K8R2 uses the DNS domain if available.

commit c8a3c015850b91c991da10d388ec33ea02c5e155
Author: Simo Sorce <[email protected]>
Date:   Fri Feb 19 17:46:42 2010 -0500

    remove trailing tabs and spaces

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

Summary of changes:
 source4/rpc_server/lsa/dcesrv_lsa.c |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c 
b/source4/rpc_server/lsa/dcesrv_lsa.c
index 53526ce..45fe08e 100644
--- a/source4/rpc_server/lsa/dcesrv_lsa.c
+++ b/source4/rpc_server/lsa/dcesrv_lsa.c
@@ -1253,7 +1253,7 @@ static NTSTATUS dcesrv_lsa_OpenTrustedDomainByName(struct 
dcesrv_call_state *dce
                                            struct lsa_OpenTrustedDomainByName 
*r)
 {
        struct dcesrv_handle *policy_handle;
-       
+
        struct lsa_policy_state *policy_state;
        struct lsa_trusted_domain_state *trusted_domain_state;
        struct dcesrv_handle *handle;
@@ -1261,7 +1261,7 @@ static NTSTATUS dcesrv_lsa_OpenTrustedDomainByName(struct 
dcesrv_call_state *dce
        const char *attrs[] = {
                NULL
        };
-
+       char *td_name;
        int ret;
 
        DCESRV_PULL_HANDLE(policy_handle, r->in.handle, LSA_HANDLE_POLICY);
@@ -1271,7 +1271,7 @@ static NTSTATUS dcesrv_lsa_OpenTrustedDomainByName(struct 
dcesrv_call_state *dce
        if (!r->in.name.string) {
                return NT_STATUS_INVALID_PARAMETER;
        }
-       
+
        trusted_domain_state = talloc_zero(mem_ctx, struct 
lsa_trusted_domain_state);
        if (!trusted_domain_state) {
                return NT_STATUS_NO_MEMORY;
@@ -1279,34 +1279,38 @@ static NTSTATUS 
dcesrv_lsa_OpenTrustedDomainByName(struct dcesrv_call_state *dce
        trusted_domain_state->policy = policy_state;
 
        /* search for the trusted_domain record */
+       td_name = ldb_binary_encode_string(mem_ctx, r->in.name.string);
        ret = gendb_search(trusted_domain_state->policy->sam_ldb,
                           mem_ctx, policy_state->system_dn, &msgs, attrs,
-                          "(&(flatname=%s)(objectclass=trustedDomain))", 
-                          ldb_binary_encode_string(mem_ctx, 
r->in.name.string));
+                          "(&(|(flatname=%s)(cn=%s)(trustPartner=%s))"
+                            "(objectclass=trustedDomain))",
+                          td_name, td_name, td_name);
        if (ret == 0) {
                return NT_STATUS_OBJECT_NAME_NOT_FOUND;
        }
-       
+
        if (ret != 1) {
                DEBUG(0,("Found %d records matching DN %s\n", ret,
                         ldb_dn_get_linearized(policy_state->system_dn)));
                return NT_STATUS_INTERNAL_DB_CORRUPTION;
        }
 
+        /* TODO: perform access checks */
+
        trusted_domain_state->trusted_domain_dn = 
talloc_reference(trusted_domain_state, msgs[0]->dn);
-       
+
        handle = dcesrv_handle_new(dce_call->context, 
LSA_HANDLE_TRUSTED_DOMAIN);
        if (!handle) {
                return NT_STATUS_NO_MEMORY;
        }
-       
+
        handle->data = talloc_steal(handle, trusted_domain_state);
-       
+
        trusted_domain_state->access_mask = r->in.access_mask;
        trusted_domain_state->policy = talloc_reference(trusted_domain_state, 
policy_state);
-       
+
        *r->out.trustdom_handle = handle->wire_handle;
-       
+
        return NT_STATUS_OK;
 }
 


-- 
Samba Shared Repository

Reply via email to