s4:torture/nbt/dgram.c: NBT samlogon requests without _EX return the PDC name as...
authorStefan Metzmacher <metze@samba.org>
Mon, 2 Jan 2012 14:51:35 +0000 (15:51 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 4 Jan 2012 10:56:11 +0000 (11:56 +0100)
metze

source4/torture/nbt/dgram.c

index 7678057f94c658378c6c922ed40a1a26a9c2915b..d25724e17633f4f933755beeb2f80b3b34e18402 100644 (file)
@@ -289,6 +289,10 @@ static bool nbt_test_netlogon2(struct torture_context *tctx)
 
        torture_assert_str_equal(tctx, response->data.samlogon.data.nt5_ex.user_name, TEST_NAME"$", "Got incorrect user in netlogon response");
 
+       torture_assert(tctx,
+                      strstr(response->data.samlogon.data.nt5_ex.pdc_name, "\\\\") != NULL,
+                      "PDC name should be in UNC form");
+
        join_ctx = torture_join_domain(tctx, TEST_NAME, 
                                       ACB_WSTRUST, &machine_credentials);
 
@@ -339,6 +343,10 @@ static bool nbt_test_netlogon2(struct torture_context *tctx)
 
        torture_assert_int_equal(tctx, response->data.samlogon.data.nt5_ex.command, LOGON_SAM_LOGON_USER_UNKNOWN, "Got incorrect netlogon response command");
 
+       torture_assert(tctx,
+                      strstr(response->data.samlogon.data.nt5_ex.pdc_name, "\\\\") != NULL,
+                      "PDC name should be in UNC form");
+
        /* setup (another) temporary mailslot listener for replies */
        dgmslot = dgram_mailslot_temp(dgmsock, NBT_MAILSLOT_GETDC,
                                      netlogon_handler, NULL);
@@ -381,6 +389,10 @@ static bool nbt_test_netlogon2(struct torture_context *tctx)
 
        torture_assert_int_equal(tctx, response->data.samlogon.data.nt5_ex.command, LOGON_SAM_LOGON_RESPONSE, "Got incorrect netlogon response command");
 
+       torture_assert(tctx,
+                      strstr(response->data.samlogon.data.nt5_ex.pdc_name, "\\\\") != NULL,
+                      "PDC name should be in UNC form");
+
        dgmslot->private_data = NULL;
 
        ZERO_STRUCT(logon);
@@ -420,6 +432,10 @@ static bool nbt_test_netlogon2(struct torture_context *tctx)
 
        torture_assert_int_equal(tctx, response->data.samlogon.data.nt5_ex.command, LOGON_SAM_LOGON_USER_UNKNOWN, "Got incorrect netlogon response command");
 
+       torture_assert(tctx,
+                      strstr(response->data.samlogon.data.nt5_ex.pdc_name, "\\\\") != NULL,
+                      "PDC name should be in UNC form");
+
        torture_leave_domain(tctx, join_ctx);
        return true;
 }
@@ -531,6 +547,9 @@ static bool nbt_test_ntlogon(struct torture_context *tctx)
 
        torture_assert_str_equal(tctx, response->data.samlogon.data.nt5_ex.user_name, TEST_NAME"$", "Got incorrect user in netlogon response");
 
+       torture_assert(tctx,
+                      strstr(response->data.samlogon.data.nt5_ex.pdc_name, "\\\\") != NULL,
+                      "PDC name should be in UNC form");
 
        /* setup a temporary mailslot listener for replies */
        dgmslot = dgram_mailslot_temp(dgmsock, NBT_MAILSLOT_GETDC,
@@ -575,6 +594,9 @@ static bool nbt_test_ntlogon(struct torture_context *tctx)
 
        torture_assert_str_equal(tctx, response->data.samlogon.data.nt5_ex.user_name, TEST_NAME"$", "Got incorrect user in netlogon response");
 
+       torture_assert(tctx,
+                      strstr(response->data.samlogon.data.nt5_ex.pdc_name, "\\\\") != NULL,
+                      "PDC name should be in UNC form");
 
        /* setup (another) temporary mailslot listener for replies */
        dgmslot = dgram_mailslot_temp(dgmsock, NBT_MAILSLOT_GETDC,