svn rev #22164: branches/fast/src/lib/krb5/krb/

hartmans@MIT.EDU hartmans at MIT.EDU
Thu Apr 2 23:39:53 EDT 2009


http://src.mit.edu/fisheye/changelog/krb5/?cs=22164
Commit By: hartmans
Log Message:
Implement test forr ad-fx-armor

Implement a test program to replace the TGT in the ccache with a
ticket with the ad-fx-armor authorization data.  This can be used to
confirm that a KDC honors this authorization data.


Changed Files:
U   branches/fast/src/lib/krb5/krb/Makefile.in
A   branches/fast/src/lib/krb5/krb/t_ad_fx_armor.c
Modified: branches/fast/src/lib/krb5/krb/Makefile.in
===================================================================
--- branches/fast/src/lib/krb5/krb/Makefile.in	2009-04-03 03:39:50 UTC (rev 22163)
+++ branches/fast/src/lib/krb5/krb/Makefile.in	2009-04-03 03:39:53 UTC (rev 22164)
@@ -271,6 +271,7 @@
 	$(srcdir)/srv_dec_tkt.c	\
 	$(srcdir)/srv_rcache.c	\
 	$(srcdir)/str_conv.c	\
+	$(srcdir)/t_ad_fx_armor.c \
 	$(srcdir)/tgtname.c	\
 	$(srcdir)/unparse.c	\
 	$(srcdir)/valid_times.c	\
@@ -311,6 +312,9 @@
 
 t_walk_rtree: $(T_WALK_RTREE_OBJS) $(KRB5_BASE_DEPLIBS)
 	$(CC_LINK) -o t_walk_rtree $(T_WALK_RTREE_OBJS) $(KRB5_BASE_LIBS)
+t_ad_fx_armor: t_ad_fx_armor.o
+	$(CC_LINK) -o $@ $< $(KRB5_BASE_LIBS)
+
 t_authdata: t_authdata.o copy_auth.o
 	$(CC_LINK) -o $@ $< copy_auth.o $(KRB5_BASE_LIBS)
 

Added: branches/fast/src/lib/krb5/krb/t_ad_fx_armor.c
===================================================================
--- branches/fast/src/lib/krb5/krb/t_ad_fx_armor.c	2009-04-03 03:39:50 UTC (rev 22163)
+++ branches/fast/src/lib/krb5/krb/t_ad_fx_armor.c	2009-04-03 03:39:53 UTC (rev 22164)
@@ -0,0 +1,36 @@
+#include <memory.h>
+#include <stdio.h>
+#include <krb5/krb5.h>
+
+#define test(x) do {retval = (x); \
+  if(retval != 0) {						\
+  const char *errmsg = krb5_get_error_message(context, retval);	\
+  fprintf(stderr, "Error message: %s\n", errmsg); \
+  abort(); } \
+  } while(0);
+
+krb5_authdata ad_fx_armor = {0, KRB5_AUTHDATA_FX_ARMOR, 1, ""};
+krb5_authdata *array[] = {&ad_fx_armor, NULL};
+
+
+int main( int argc, char **argv)
+{
+    krb5_context context;
+    krb5_ccache ccache = NULL;
+    krb5_creds creds, *out_creds = NULL;
+    krb5_error_code retval = 0;
+    test(krb5_init_context(&context));
+    memset(&creds, 0, sizeof(creds));
+    creds.authdata = array;
+    test(krb5_cc_default(context, &ccache));
+    test(krb5_cc_get_principal(context, ccache, &creds.client));
+    test(krb5_parse_name(context, argv[1], &creds.server));
+    test(krb5_get_credentials(context, 0, ccache, &creds, &out_creds));
+    test(krb5_cc_destroy(context, ccache));
+    test(krb5_cc_default(context, &ccache));
+    test(krb5_cc_initialize(context, ccache, out_creds->client));
+    test(krb5_cc_store_cred(context, ccache, out_creds));
+    test(krb5_cc_close(context,ccache));
+    return 0;
+		 
+} 




More information about the cvs-krb5 mailing list