diff options
author | Greg Hudson <ghudson@mit.edu> | 2012-02-11 23:24:58 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2012-02-11 23:24:58 +0000 |
commit | 9f9201c7563be17aeec15a25da8662e1abef2de7 (patch) | |
tree | 1124d4b31ba3cd1201f002f596e00d7aff2ca4b0 /src/tests/asn.1 | |
parent | 36460f0afcaf8d9c56200541ef9c3cca38e87b98 (diff) | |
download | krb5-9f9201c7563be17aeec15a25da8662e1abef2de7.tar.gz krb5-9f9201c7563be17aeec15a25da8662e1abef2de7.tar.xz krb5-9f9201c7563be17aeec15a25da8662e1abef2de7.zip |
Add ASN.1 decoder test for krb5_pa_pac_req
Also, if decode_krb5_ap_rep_enc_part doesn't return the expected error
code in krb5_decode_test, exit with nonzero status.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25685 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/tests/asn.1')
-rw-r--r-- | src/tests/asn.1/krb5_decode_test.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/tests/asn.1/krb5_decode_test.c b/src/tests/asn.1/krb5_decode_test.c index c85c77a8cd..811f230c6a 100644 --- a/src/tests/asn.1/krb5_decode_test.c +++ b/src/tests/asn.1/krb5_decode_test.c @@ -533,6 +533,7 @@ int main(argc, argv) retval = decode_krb5_ap_rep_enc_part(&code, &var); if (retval != ASN1_OVERRUN) { printf("ERROR: "); + error_count++; } else { printf("OK: "); } @@ -901,6 +902,35 @@ int main(argc, argv) } /****************************************************************/ + /* decode_pa_pac_req */ + { + /* This type has no encoder and is very simple. Test two + * hand-generated encodings. */ + krb5_pa_pac_req *req1 = NULL, *req2 = NULL; + code = make_data("\x30\x05\xA0\x03\x01\x01\x00", 7); + retval = decode_krb5_pa_pac_req(&code, &req1); + if (retval) { + com_err(argv[0], retval, "while decoding PA-PAC-REQ"); + exit(1); + } + code = make_data("\x30\x05\xA0\x03\x01\x01\xFF", 7); + retval = decode_krb5_pa_pac_req(&code, &req2); + if (retval) { + com_err(argv[0], retval, "while decoding PA-PAC-REQ"); + exit(1); + } + if (req1->include_pac != 0 || req2->include_pac != 1) { + printf("ERROR: "); + error_count++; + } else { + printf("OK: "); + } + printf("pa_pac_rec\n"); + free(req1); + free(req2); + } + + /****************************************************************/ /* decode_ad_kdcissued */ { setup(krb5_ad_kdcissued,ktest_make_sample_ad_kdcissued); |