torture-krb5: Move checking of server and client names to krb5.kdc.canon
authorAndrew Bartlett <abartlet@samba.org>
Fri, 23 Jan 2015 01:28:56 +0000 (14:28 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 23 Jan 2015 04:42:08 +0000 (05:42 +0100)
This keeps this test in one place, rather than duplicated between krb5.kdc and krb5.kdc.canon

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Pair-programmed-with: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
source4/torture/krb5/kdc-canon.c
source4/torture/krb5/kdc.c

index 018e61d6e971f0b4f99e65f813443cdbf0fe21f4..a12ee865aa206145ae9f14215ea2dce36f43f5ec 100644 (file)
@@ -391,16 +391,40 @@ static bool torture_krb5_as_req_canon(struct torture_context *tctx, const void *
                                                    my_creds.client, expected_principal),
                       assertion_message);
        
+
        torture_assert_int_equal(tctx,
                                 krb5_principal_get_type(smb_krb5_context->krb5_context,
                                                         my_creds.server), KRB5_NT_SRV_INST,
-                                "smb_krb5_init_context gave incorrect client->name.name_type");
+                                "smb_krb5_init_context gave incorrect server->name.name_type");
+       
+       torture_assert_int_equal(tctx,
+                                krb5_principal_get_num_comp(smb_krb5_context->krb5_context,
+                                                            my_creds.server), 2,
+                                "smb_krb5_init_context gave incorrect number of components in my_creds.server->name");
 
        torture_assert_str_equal(tctx, krb5_principal_get_comp_string(smb_krb5_context->krb5_context,
                                                                      my_creds.server, 0),
                                 "krbtgt",
                                 "smb_krb5_init_context gave incorrect my_creds.server->name.name_string[0]");
 
+       if (test_data->canonicalize || test_data->enterprise) {
+               torture_assert_str_equal(tctx, krb5_principal_get_comp_string(smb_krb5_context->krb5_context,
+                                                                             my_creds.server, 1),
+                                        test_data->real_realm,
+                                        
+                                        "smb_krb5_init_context gave incorrect my_creds.server->name.name_string[1]");
+       } else {
+               torture_assert_str_equal(tctx, krb5_principal_get_comp_string(smb_krb5_context->krb5_context,
+                                                                             my_creds.server, 1),
+                                        realm,
+                                        
+                                        "smb_krb5_init_context gave incorrect my_creds.server->name.name_string[1]");
+       }
+       torture_assert_str_equal(tctx, krb5_principal_get_realm(smb_krb5_context->krb5_context,
+                                                               my_creds.server),
+                                test_data->real_realm,
+                                "smb_krb5_init_context gave incorrect my_creds.server->realm");
+
        krb5_free_principal(smb_krb5_context->krb5_context, principal);
        
        k5ret = krb5_free_cred_contents(smb_krb5_context->krb5_context, &my_creds);
index 3eec52809773035bf912c2d2d08de4e684652b6f..a7b6ac83a3a8437ba5a6b682e7c1ae25b3fd2e83 100644 (file)
@@ -386,25 +386,6 @@ static bool torture_krb5_as_req_creds(struct torture_context *tctx,
 
        }
 
-       torture_assert_int_equal(tctx,
-                                krb5_principal_get_type(smb_krb5_context->krb5_context,
-                                                        my_creds.client), KRB5_NT_PRINCIPAL,
-                                "smb_krb5_init_context gave incorrect client->name.name_type");
-
-       torture_assert(tctx, krb5_principal_compare(smb_krb5_context->krb5_context,
-                                                   principal, my_creds.client),
-                      "krb5_get_init_creds_password returned a different principal");
-       
-       torture_assert_int_equal(tctx,
-                                krb5_principal_get_type(smb_krb5_context->krb5_context,
-                                                        my_creds.server), KRB5_NT_SRV_INST,
-                                "smb_krb5_init_context gave incorrect client->name.name_type");
-
-       torture_assert_str_equal(tctx, krb5_principal_get_comp_string(smb_krb5_context->krb5_context,
-                                                                     my_creds.server, 0),
-                                "krbtgt",
-                                "smb_krb5_init_context gave incorrect my_creds.server->name.name_string[0]");
-
        k5ret = krb5_free_cred_contents(smb_krb5_context->krb5_context, &my_creds);
        torture_assert_int_equal(tctx, k5ret, 0, "krb5_free_creds failed");