diff options
Diffstat (limited to 'src/tests/asn.1/ktest_equal.c')
-rw-r--r-- | src/tests/asn.1/ktest_equal.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/tests/asn.1/ktest_equal.c b/src/tests/asn.1/ktest_equal.c index 08dff99ef..af03c84ff 100644 --- a/src/tests/asn.1/ktest_equal.c +++ b/src/tests/asn.1/ktest_equal.c @@ -504,6 +504,44 @@ int ktest_equal_krb5_pa_enc_ts(ref, var) return p; } +#define equal_str(f) struct_equal(f,ktest_equal_data) + +int ktest_equal_sam_challenge(ref, var) + krb5_sam_challenge *ref; + krb5_sam_challenge *var; +{ + int p=TRUE; + if(ref==var) return TRUE; + else if(ref == NULL || var == NULL) return FALSE; + p=p&&scalar_equal(sam_type); + p=p&&scalar_equal(sam_flags); + p=p&&scalar_equal(sam_nonce); + p=p&&ktest_equal_checksum(&ref->sam_cksum,&var->sam_cksum); + p=p&&equal_str(sam_track_id); + p=p&&equal_str(sam_challenge_label); + p=p&&equal_str(sam_challenge); + p=p&&equal_str(sam_response_prompt); + p=p&&equal_str(sam_pk_for_sad); + return p; +} + +int ktest_equal_sam_response(ref, var) + krb5_sam_response *ref; + krb5_sam_response *var; +{ + int p=TRUE; + if(ref==var) return TRUE; + else if(ref == NULL || var == NULL) return FALSE; + p=p&&scalar_equal(sam_type); + p=p&&scalar_equal(sam_flags); + p=p&&equal_str(sam_track_id); + p=p&&struct_equal(sam_enc_key,ktest_equal_enc_data); + p=p&&struct_equal(sam_enc_nonce_or_ts,ktest_equal_enc_data); + p=p&&scalar_equal(sam_nonce); + p=p&&scalar_equal(sam_patimestamp); + return p; +} + /**** arrays ****************************************************************/ int ktest_equal_array_of_data(length, ref, var) |