Merge commit 'origin/v4-0-test' into 4-0-local
authorAndrew Bartlett <abartlet@samba.org>
Thu, 10 Jan 2008 22:25:14 +0000 (09:25 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 10 Jan 2008 22:25:14 +0000 (09:25 +1100)
source/rpc_server/netlogon/dcerpc_netlogon.c
source/torture/rpc/netlogon.c

index 1ef50cd96faa71233ad0f2b646f2a6725b21e081..3d9262b995ee65bc1d094072c2793c1df7990276 100644 (file)
@@ -669,7 +669,8 @@ static NTSTATUS dcesrv_netr_DatabaseDeltas(struct dcesrv_call_state *dce_call, T
 static NTSTATUS dcesrv_netr_DatabaseSync(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
                       struct netr_DatabaseSync *r)
 {
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+       /* win2k3 native mode returns  "NOT IMPLEMENTED" for this call */
+       return NT_STATUS_NOT_IMPLEMENTED;
 }
 
 
@@ -741,7 +742,8 @@ static WERROR dcesrv_netr_LogonControl2(struct dcesrv_call_state *dce_call, TALL
 static NTSTATUS dcesrv_netr_DatabaseSync2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
                       struct netr_DatabaseSync2 *r)
 {
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+       /* win2k3 native mode returns  "NOT IMPLEMENTED" for this call */
+       return NT_STATUS_NOT_IMPLEMENTED;
 }
 
 
@@ -867,6 +869,9 @@ static NTSTATUS fill_domain_trust_info(TALLOC_CTX *mem_ctx,
 /* 
   netr_LogonGetDomainInfo
   this is called as part of the ADS domain logon procedure.
+
+  It has an important role in convaying details about the client, such
+  as Operating System, Version, Service Pack etc.
 */
 static NTSTATUS dcesrv_netr_LogonGetDomainInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
                                        struct netr_LogonGetDomainInfo *r)
index 74bc3a2bf78f6aaa0eef330a6660cdafe8e8f1a2..a13172b695bc72026fbf51e9a230cf97e12f9c50 100644 (file)
@@ -647,6 +647,10 @@ static bool test_DatabaseSync(struct torture_context *tctx,
                        if (NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES))
                            break;
 
+                       /* Native mode servers don't do this */
+                       if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)) {
+                               return true;
+                       }
                        torture_assert_ntstatus_ok(tctx, status, "DatabaseSync");
 
                        if (!creds_client_check(creds, &r.out.return_authenticator.cred)) {
@@ -968,6 +972,11 @@ static bool test_DatabaseSync2(struct torture_context *tctx,
                        if (NT_STATUS_EQUAL(status, STATUS_MORE_ENTRIES))
                            break;
 
+                       /* Native mode servers don't do this */
+                       if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)) {
+                               return true;
+                       }
+
                        torture_assert_ntstatus_ok(tctx, status, "DatabaseSync2");
 
                        if (!creds_client_check(creds, &r.out.return_authenticator.cred)) {