summaryrefslogtreecommitdiffstats
path: root/src/tests/asn.1/ktest.c
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1995-08-28 21:03:13 +0000
committerTheodore Tso <tytso@mit.edu>1995-08-28 21:03:13 +0000
commit4d61972fe3ca4d81a4ed067a11ae4253998614c2 (patch)
tree7baf6b17c3cde2a69b053aa2d596384035e584b5 /src/tests/asn.1/ktest.c
parent8a8fd722880a25f7edd37d65d30f15420b0d6da7 (diff)
downloadkrb5-4d61972fe3ca4d81a4ed067a11ae4253998614c2.tar.gz
krb5-4d61972fe3ca4d81a4ed067a11ae4253998614c2.tar.xz
krb5-4d61972fe3ca4d81a4ed067a11ae4253998614c2.zip
krb5_decode_test.c (main): Add tests for decode_krb5_{etype_info,alt_method}
krb5_encode_test.c (main): Add tests for encode_krb5_{etype_info,alt_method} ktest_equal.c (ktest_equal_krb5_alt_method, ktest_equal_krb5_etype_info_entry, ktest_equal_krb5_etype_info) New functions to test {encode,decode}_krb5_{etype_info,alt_method}. ktest.c (ktest_make_sample_etype_info_entry, ktest_make_sample_etype_info, ktest_make_sample_alt_method, ktest_destroy_etype_info_entry, ktest_destroy_etype_info): New functions to test {encode,decode}_krb5_{etype_info,alt_method}. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6607 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/tests/asn.1/ktest.c')
-rw-r--r--src/tests/asn.1/ktest.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/tests/asn.1/ktest.c b/src/tests/asn.1/ktest.c
index 4951e15d3e..2a01cb353a 100644
--- a/src/tests/asn.1/ktest.c
+++ b/src/tests/asn.1/ktest.c
@@ -637,6 +637,58 @@ krb5_error_code ktest_make_sample_krb5_pwd_data(pd)
return 0;
}
+krb5_error_code ktest_make_sample_alt_method(p)
+ krb5_alt_method * p;
+{
+ p->method = 42;
+ p->data = "secret";
+ p->length = strlen(p->data);
+ return 0;
+}
+
+krb5_error_code ktest_make_sample_etype_info_entry(p)
+ krb5_etype_info_entry * p;
+{
+ p->etype = 1;
+ p->salt = "Morton";
+ p->length = strlen(p->salt);
+ return 0;
+}
+
+krb5_error_code ktest_make_sample_etype_info(p)
+ krb5_etype_info_entry *** p;
+{
+ krb5_etype_info_entry **info;
+ int i;
+ char buf[80];
+
+ info = malloc(sizeof(krb5_etype_info_entry *) * 4);
+ if (!info)
+ return ENOMEM;
+ memset(info, 0, sizeof(krb5_etype_info_entry *) * 4);
+
+ for (i=0; i < 3; i++) {
+ info[i] = malloc(sizeof(krb5_etype_info_entry));
+ if (info[i] == 0)
+ goto memfail;
+ info[i]->etype = i;
+ sprintf(buf, "Morton's #%d", i);
+ info[i]->length = strlen(buf);
+ info[i]->salt = malloc(info[i]->length+1);
+ if (info[i]->salt == 0)
+ goto memfail;
+ strcpy(info[i]->salt, buf);
+ info[i]->magic = KV5M_ETYPE_INFO_ENTRY;
+ }
+ free(info[1]->salt);
+ info[1]->length = 0;
+ info[1]->salt = 0;
+ *p = info;
+ return 0;
+memfail:
+ ktest_destroy_etype_info(info);
+ return ENOMEM;
+}
/****************************************************************/
/* destructors */
@@ -814,3 +866,23 @@ void ktest_destroy_enc_data(ed)
ktest_empty_data(&(ed->ciphertext));
ed->kvno = 0;
}
+
+void ktest_destroy_etype_info_entry(i)
+ krb5_etype_info_entry *i;
+{
+ if (i->salt)
+ free(i->salt);
+ free(i);
+}
+
+void ktest_destroy_etype_info(info)
+ krb5_etype_info_entry **info;
+{
+ int i;
+
+ for(i=0; info[i] != NULL; i++)
+ ktest_destroy_etype_info_entry(info[i]);
+ free(info);
+}
+
+