TODO...RPC-NETLOGON LogonGetCapabilities
authorStefan Metzmacher <metze@samba.org>
Tue, 24 Feb 2009 08:02:50 +0000 (09:02 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 2 Apr 2009 15:29:45 +0000 (17:29 +0200)
metze

source4/torture/rpc/netlogon.c

index ad94add071bbb945fcc27f9f4cbbed38e8db3d0e..b5a18095cbbf0776f76886935fdf809941ab1757 100644 (file)
@@ -2326,6 +2326,69 @@ static bool test_ManyGetDCName(struct torture_context *tctx,
        return true;
 }
 
+#if 0
+
+       typedef [switch_type(uint32)] union {
+               [case(1)] netr_NegotiateFlags server_capabilities;
+       } netr_Capabilities;
+
+       NTSTATUS netr_LogonGetCapabilities(
+               [in]         [string,charset(UTF16)] uint16 server_name[],
+               [in,unique]  [string,charset(UTF16)] uint16 *computer_name,
+               [in,ref]     netr_Authenticator *credential,
+               [in,out,ref] netr_Authenticator *return_authenticator,
+               [in]         uint32 query_level,
+               [out,ref,switch_is(query_level)] netr_Capabilities *capabilities
+               );
+#endif
+static bool test_LogonGetCapabilities(struct torture_context *tctx,
+                                     struct dcerpc_pipe *p,
+                                     struct cli_credentials *machine_credentials)
+{
+       NTSTATUS status;
+       struct netr_LogonGetCapabilities r;
+       union netr_Capabilities caps;
+       struct netr_Authenticator a;
+       struct creds_CredentialState *creds;
+
+       if (!test_SetupCredentials3(p, tctx, 0,
+                                   machine_credentials, &creds)) {
+               return false;
+       }
+
+       ZERO_STRUCT(r);
+       ZERO_STRUCT(caps);
+
+       creds_client_authenticator(creds, &a);
+
+       r.in.server_name = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p));
+       r.in.computer_name = TEST_MACHINE_NAME;
+       r.in.credential = &a;
+       r.in.return_authenticator = &a;
+       r.out.return_authenticator = &a;
+       r.in.query_level = 1;
+       r.out.capabilities = &caps;
+
+       torture_comment(tctx, "Testing netr_LogonGetCapabilities\n");
+
+       status = dcerpc_netr_LogonGetCapabilities(p, tctx, &r);
+       torture_assert_ntstatus_equal(tctx, status, NT_STATUS_NOT_IMPLEMENTED,
+                                     "netr_LogonGetCapabilities");
+       //torture_assert_ntstatus_ok(tctx, status, "netr_LogonGetCapabilities");
+//     torture_assert(tctx, creds_client_check(creds, &a.cred), "Credential chaining failed");
+
+       torture_comment(tctx, "Testing netr_LogonGetCapabilities 2nd call\n");
+       creds_client_authenticator(creds, &a);
+
+       status = dcerpc_netr_LogonGetCapabilities(p, tctx, &r);
+       torture_assert_ntstatus_equal(tctx, status, NT_STATUS_NOT_IMPLEMENTED,
+                                     "netr_LogonGetCapabilities");
+       //torture_assert_ntstatus_ok(tctx, status, "netr_LogonGetCapabilities");
+//     torture_assert(tctx, creds_client_check(creds, &a.cred), "Credential chaining failed");
+
+       return true;
+}
+
 struct torture_suite *torture_rpc_netlogon(TALLOC_CTX *mem_ctx)
 {
        struct torture_suite *suite = torture_suite_create(mem_ctx, "NETLOGON");
@@ -2334,7 +2397,7 @@ struct torture_suite *torture_rpc_netlogon(TALLOC_CTX *mem_ctx)
 
        tcase = torture_suite_add_machine_rpc_iface_tcase(suite, "netlogon", 
                                                  &ndr_table_netlogon, TEST_MACHINE_NAME);
-
+/*
        torture_rpc_tcase_add_test(tcase, "LogonUasLogon", test_LogonUasLogon);
        torture_rpc_tcase_add_test(tcase, "LogonUasLogoff", test_LogonUasLogoff);
        torture_rpc_tcase_add_test_creds(tcase, "SamLogon", test_SamLogon);
@@ -2367,6 +2430,7 @@ struct torture_suite *torture_rpc_netlogon(TALLOC_CTX *mem_ctx)
        torture_rpc_tcase_add_test(tcase, "DsRAddressToSitenamesW", test_netr_DsRAddressToSitenamesW);
        torture_rpc_tcase_add_test(tcase, "DsRAddressToSitenamesExW", test_netr_DsRAddressToSitenamesExW);
        torture_rpc_tcase_add_test_creds(tcase, "ServerGetTrustInfo", test_netr_ServerGetTrustInfo);
+*/     torture_rpc_tcase_add_test_creds(tcase, "LogonGetCapabilities", test_LogonGetCapabilities);
 
        return suite;
 }