r3392: fixed schannel over ncalrpc
authorAndrew Tridgell <tridge@samba.org>
Sat, 30 Oct 2004 11:48:08 +0000 (11:48 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:05:05 +0000 (13:05 -0500)
(This used to be commit 0b93be9f5f89ef17f94e8e98c3a405495e04e235)

source4/librpc/idl/netlogon.idl
source4/librpc/rpc/dcerpc_schannel.c
source4/librpc/rpc/dcerpc_util.c

index c981f61db45dfb5b51ecd719bd4ffab37b674c3f..c98fa8f1e6a193d5d3728e9a6ee21695860b6ce3 100644 (file)
@@ -9,7 +9,7 @@
 [
   uuid("12345678-1234-abcd-ef00-01234567cffb"),
   version(1.0),
-  endpoint("ncacn_np:[\\pipe\\netlogon]","ncacn_ip_tcp:"),
+  endpoint("ncacn_np:[\\pipe\\netlogon]","ncacn_ip_tcp:","ncalrpc:"),
   pointer_default(unique)
 ]
 
index f53d77647af5430351d7d4edbc65608221f31cb2..b7eac60dbcdffde58cb2fe29840aee87d8a44966 100644 (file)
@@ -362,6 +362,9 @@ static NTSTATUS dcerpc_schannel_key(struct dcerpc_pipe *p,
                                             DCERPC_NETLOGON_NAME, 
                                             DCERPC_NETLOGON_UUID, 
                                             DCERPC_NETLOGON_VERSION);
+       if (!NT_STATUS_IS_OK(status)) {
+               return status;
+       }
 
 
        /*
index 4c2c107b22b88be20dc77f52c77cc2c3a317d65d..adb39f5dc7d0d7db21e91adc14dcd40f158b1b30 100644 (file)
@@ -1111,6 +1111,16 @@ NTSTATUS dcerpc_secondary_connection(struct dcerpc_pipe *p, struct dcerpc_pipe *
                                                          pipe_version, NULL, 
                                                          NULL, NULL);
                break;
+
+       case NCALRPC:
+               status = dcerpc_parse_binding(p, p->binding_string, &b);
+               if (!NT_STATUS_IS_OK(status)) {
+                       return status;
+               }
+               b.flags &= ~DCERPC_AUTH_OPTIONS;
+               status = dcerpc_pipe_connect_ncalrpc(p2, &b, pipe_uuid, pipe_version, NULL, NULL, NULL);
+               break;
+
        default:
                return NT_STATUS_NOT_SUPPORTED;
        }