summaryrefslogtreecommitdiffstats
path: root/src/tests/asn.1
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2012-02-11 23:24:58 +0000
committerGreg Hudson <ghudson@mit.edu>2012-02-11 23:24:58 +0000
commit9f9201c7563be17aeec15a25da8662e1abef2de7 (patch)
tree1124d4b31ba3cd1201f002f596e00d7aff2ca4b0 /src/tests/asn.1
parent36460f0afcaf8d9c56200541ef9c3cca38e87b98 (diff)
downloadkrb5-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.c30
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);