Author: mimir
Date: 2006-07-16 12:29:37 +0000 (Sun, 16 Jul 2006)
New Revision: 17079

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

Log:
Remove an attempt to connect on ncacn_ip_tcp transport after failure
on ncacn_np, as abartlet suggested. Also, named pipe remains the default
transport for all kinds of servers to be contacted.


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/libnet_rpc.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_rpc.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_rpc.c       2006-07-16 06:33:41 UTC 
(rev 17078)
+++ branches/SAMBA_4_0/source/libnet/libnet_rpc.c       2006-07-16 12:29:37 UTC 
(rev 17079)
@@ -32,7 +32,6 @@
        struct libnet_context *ctx;
        struct libnet_RpcConnect r;
        const char *binding;
-       enum dcerpc_transport_t trans;
 };
 
 
@@ -74,14 +73,9 @@
        /* prepare binding string */
        switch (r->level) {
        case LIBNET_RPC_CONNECT_DC:
-               s->binding = talloc_asprintf(s, "ncacn_ip_tcp:%s", r->in.name);
-               s->trans = NCACN_IP_TCP;
-               break;
-
        case LIBNET_RPC_CONNECT_PDC:
        case LIBNET_RPC_CONNECT_SERVER:
                s->binding = talloc_asprintf(s, "ncacn_np:%s", r->in.name);
-               s->trans = NCACN_NP;
                break;
 
        case LIBNET_RPC_CONNECT_BINDING:
@@ -121,38 +115,6 @@
        /* receive result of rpc pipe connection */
        c->status = dcerpc_pipe_connect_recv(ctx, c, &s->r.out.dcerpc_pipe);
 
-       if (NT_STATUS_EQUAL(c->status, NT_STATUS_IO_TIMEOUT)) {
-               switch (s->r.level) {
-               case LIBNET_RPC_CONNECT_DC:
-                       if (s->trans == NCACN_IP_TCP) {
-                               s->binding = talloc_asprintf(s, "ncacn_np:%s", 
s->r.in.name);
-                               s->trans = NCACN_NP;
-                       }
-                       break;
-                       
-               case LIBNET_RPC_CONNECT_SERVER:
-                       if (s->trans == NCACN_NP) {
-                               s->binding = talloc_asprintf(s, 
"ncacn_ip_tcp:%s", s->r.in.name);
-                               s->trans = NCACN_IP_TCP;
-                       }
-                       break;
-
-               default:
-                       if (!composite_is_ok(c)) return;
-                       s->r.out.error_string = NULL;
-                       composite_done(c);
-               }
-
-               /* connect to remote dcerpc pipe */
-               pipe_connect_req = dcerpc_pipe_connect_send(c, 
&s->r.out.dcerpc_pipe,
-                                                           s->binding, 
s->r.in.dcerpc_iface,
-                                                           s->ctx->cred, 
c->event_ctx);
-               if (composite_nomem(pipe_connect_req, c)) return;
-               
-               composite_continue(c, pipe_connect_req, continue_pipe_connect, 
c);
-               return;
-       }
-
        s->r.out.error_string = NULL;
        composite_done(c);
 }

Reply via email to