]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Don't use kdc_active_realm in kdc/rtest.c
authorTom Yu <tlyu@mit.edu>
Wed, 18 Jul 2012 18:54:29 +0000 (14:54 -0400)
committerTom Yu <tlyu@mit.edu>
Mon, 15 Oct 2012 23:41:14 +0000 (19:41 -0400)
Too many parts of the KDC rely on the global variable
kdc_active_realm.  rtest.c doesn't actually need any of the
KDC-specific information that's avaiable through kdc_active_realm, so
delete references to it.

src/kdc/rtest.c

index 45dcb638f612a76d573f9ed47a620fed95e3f2c5..446001c0a86ddf33ba9a1a85b8469267c33bf819 100644 (file)
@@ -62,7 +62,7 @@ main(int argc, char **argv)
     krb5_data ntrans;
     krb5_principal tgs, cl, sv;
     krb5_error_code kret;
-    kdc_realm_t     kdc_realm;
+    krb5_context ctx;
 
     if (argc < 4) {
         fprintf(stderr, "not enough args\n");
@@ -71,13 +71,11 @@ main(int argc, char **argv)
 
 
     /* Get a context */
-    kret = krb5int_init_context_kdc(&kdc_realm.realm_context);
+    kret = krb5int_init_context_kdc(&ctx);
     if (kret) {
         com_err(argv[0], kret, "while getting krb5 context");
         exit(2);
     }
-    /* Needed so kdc_context will work */
-    kdc_active_realm = &kdc_realm;
 
     ntrans.length = 0;
     ntrans.data = 0;
@@ -89,9 +87,9 @@ main(int argc, char **argv)
         otrans.data = 0;
     memcpy(otrans.data,argv[1], otrans.length);
 
-    tgs = make_princ(kdc_context, argv[2], argv[0]);
-    cl  = make_princ(kdc_context, argv[3], argv[0]);
-    sv  = make_princ(kdc_context, argv[4], argv[0]);
+    tgs = make_princ(ctx, argv[2], argv[0]);
+    cl  = make_princ(ctx, argv[3], argv[0]);
+    sv  = make_princ(ctx, argv[4], argv[0]);
 
     add_to_transited(&otrans,&ntrans,tgs,cl,sv);
 
@@ -102,10 +100,10 @@ main(int argc, char **argv)
         free(otrans.data);
     free(ntrans.data);
 
-    krb5_free_principal(kdc_realm.realm_context, tgs);
-    krb5_free_principal(kdc_realm.realm_context, cl);
-    krb5_free_principal(kdc_realm.realm_context, sv);
-    krb5_free_context(kdc_realm.realm_context);
+    krb5_free_principal(ctx, tgs);
+    krb5_free_principal(ctx, cl);
+    krb5_free_principal(ctx, sv);
+    krb5_free_context(ctx);
 
     exit(0);
 }