Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/crypto/dist/heimdal/kuser Apply patch (requested by ass...



details:   https://anonhg.NetBSD.org/src/rev/ddd68cadb594
branches:  netbsd-1-5
changeset: 491166:ddd68cadb594
user:      he <he%NetBSD.org@localhost>
date:      Thu Apr 05 23:25:53 2001 +0000

description:
Apply patch (requested by assar):
  Upgrade Heimdal to version 0.3e.

diffstat:

 crypto/dist/heimdal/kuser/kinit.c |  61 ++++++++++++++++++++++----------------
 1 files changed, 35 insertions(+), 26 deletions(-)

diffs (140 lines):

diff -r 8a3e57417135 -r ddd68cadb594 crypto/dist/heimdal/kuser/kinit.c
--- a/crypto/dist/heimdal/kuser/kinit.c Thu Apr 05 23:25:53 2001 +0000
+++ b/crypto/dist/heimdal/kuser/kinit.c Thu Apr 05 23:25:53 2001 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997-2000 Kungliga Tekniska Högskolan
+ * Copyright (c) 1997-2001 Kungliga Tekniska Högskolan
  * (Royal Institute of Technology, Stockholm, Sweden). 
  * All rights reserved. 
  *
@@ -32,7 +32,7 @@
  */
 
 #include "kuser_locl.h"
-RCSID("$Id: kinit.c,v 1.1.1.1.2.1 2001/02/26 22:10:03 he Exp $");
+RCSID("$Id: kinit.c,v 1.1.1.1.2.2 2001/04/05 23:25:54 he Exp $");
 
 #ifdef KRB4
 /* for when the KDC tells us it's a v4 one, we try to talk that */
@@ -159,9 +159,9 @@
 
 #endif /* !KRB4 */
 
-int forwardable_flag   = 0;
-int proxiable_flag     = 0;
-int renewable_flag     = 0;
+int forwardable_flag   = -1;
+int proxiable_flag     = -1;
+int renewable_flag     = -1;
 int renew_flag         = 0;
 int validate_flag      = 0;
 int version_flag       = 0;
@@ -200,7 +200,7 @@
       "keytab to use", "keytabname" },
 
     { "lifetime",      'l', arg_string, &lifetime,
-      "lifetime of tickets", "seconds"},
+      "lifetime of tickets", "time"},
 
     { "proxiable",     'p', arg_flag, &proxiable_flag,
       "get proxiable tickets" },
@@ -212,13 +212,13 @@
       "get renewable tickets" },
 
     { "renewable-life",        'r', arg_string, &renew_life,
-      "renewable lifetime of tickets", "seconds" },
+      "renewable lifetime of tickets", "time" },
 
     { "server",        'S', arg_string, &server,
       "server to get ticket for", "principal" },
 
     { "start-time",    's', arg_string, &start_str,
-      "when ticket gets valid", "seconds" },
+      "when ticket gets valid", "time" },
 
     { "use-keytab",     'k', arg_flag, &use_keytab,
       "get key from keytab" },
@@ -227,7 +227,7 @@
       "validate TGT" },
 
     { "enctypes",      'e', arg_strings, &etype_str,
-      "encryption type to use", "enctype" },
+      "encryption types to use", "enctypes" },
 
     { "fcache-version", 0,   arg_integer, &fcache_version,
       "file cache version to create" },
@@ -344,8 +344,11 @@
     
     ret = krb5_init_context (&context);
     if (ret)
-       errx(1, "krb5_init_context failed: %u", ret);
+       errx(1, "krb5_init_context failed: %d", ret);
   
+    /* XXX no way to figure out if set without explict test */
+    if(krb5_config_get_string(context, NULL, "libdefaults", 
+                             "forwardable", NULL))
     forwardable_flag = krb5_config_get_bool (context, NULL,
                                             "libdefaults",
                                             "forwardable",
@@ -370,6 +373,22 @@
        exit(0);
     }
 
+    argc -= optind;
+    argv += optind;
+
+    if (argc > 1)
+       usage (1);
+
+    if (argv[0]) {
+       ret = krb5_parse_name (context, argv[0], &principal);
+       if (ret)
+           krb5_err (context, 1, ret, "krb5_parse_name");
+    } else {
+       ret = kinit_get_default_principal (context, &principal);
+       if (ret)
+           krb5_err (context, 1, ret, "krb5_get_default_principal");
+    }
+
     if(fcache_version)
        krb5_set_fcache_version(context, fcache_version);
 
@@ -395,8 +414,14 @@
 
     krb5_get_init_creds_opt_init (&opt);
     
+    krb5_get_init_creds_opt_set_default_flags(context, "kinit", 
+                                             /* XXX */principal->realm, &opt);
+
+    if(forwardable_flag != -1)
     krb5_get_init_creds_opt_set_forwardable (&opt, forwardable_flag);
+    if(proxiable_flag != -1)
     krb5_get_init_creds_opt_set_proxiable (&opt, proxiable_flag);
+    if(anonymous_flag != -1)
     krb5_get_init_creds_opt_set_anonymous (&opt, anonymous_flag);
 
     if (!addrs_flag) {
@@ -443,22 +468,6 @@
                                               etype_str.num_strings);
     }
 
-    argc -= optind;
-    argv += optind;
-
-    if (argc > 1)
-       usage (1);
-
-    if (argv[0]) {
-       ret = krb5_parse_name (context, argv[0], &principal);
-       if (ret)
-           krb5_err (context, 1, ret, "krb5_parse_name");
-    } else {
-       ret = kinit_get_default_principal (context, &principal);
-       if (ret)
-           krb5_err (context, 1, ret, "krb5_get_default_principal");
-    }
-
 #ifdef KRB4
     get_v4_tgt = krb5_config_get_bool_default (context,
                                               NULL,



Home | Main Index | Thread Index | Old Index