s4:librpc/rpc: use dcerpc_binding_get_string_option("target_principal")
authorStefan Metzmacher <metze@samba.org>
Tue, 4 Feb 2014 02:05:37 +0000 (03:05 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 13 Feb 2014 10:54:18 +0000 (11:54 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
source4/librpc/rpc/dcerpc_auth.c

index bace29a9d640b5b047f34937d7df7e29c7f4a3a7..0714c93a61d7262de52591b46650e14500d1dffc 100644 (file)
@@ -271,8 +271,8 @@ struct composite_context *dcerpc_bind_auth_send(TALLOC_CTX *mem_ctx,
        struct bind_auth_state *state;
        struct dcecli_security *sec;
        struct tevent_req *subreq;
-
        struct ndr_syntax_id syntax, transfer_syntax;
+       const char *target_principal = NULL;
 
        /* composite context allocation and setup */
        c = composite_create(mem_ctx, p->conn->event_ctx);
@@ -328,12 +328,16 @@ struct composite_context *dcerpc_bind_auth_send(TALLOC_CTX *mem_ctx,
                }
        }
 
-       if (p->binding && p->binding->target_principal) {
+       if (p->binding != NULL) {
+               target_principal = dcerpc_binding_get_string_option(p->binding,
+                                                       "target_principal");
+       }
+       if (target_principal != NULL) {
                c->status = gensec_set_target_principal(sec->generic_state,
-                                                       p->binding->target_principal);
+                                                       target_principal);
                if (!NT_STATUS_IS_OK(c->status)) {
                        DEBUG(1, ("Failed to set GENSEC target principal to %s: %s\n",
-                                 p->binding->target_principal, nt_errstr(c->status)));
+                                 target_principal, nt_errstr(c->status)));
                        composite_error(c, c->status);
                        return c;
                }