diff options
Diffstat (limited to 'crypto/heimdal/appl/telnet/telnet/main.c')
-rw-r--r-- | crypto/heimdal/appl/telnet/telnet/main.c | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/crypto/heimdal/appl/telnet/telnet/main.c b/crypto/heimdal/appl/telnet/telnet/main.c index 3da3001..bb358a8 100644 --- a/crypto/heimdal/appl/telnet/telnet/main.c +++ b/crypto/heimdal/appl/telnet/telnet/main.c @@ -38,7 +38,7 @@ static char *copyright[] = { }; #include "telnet_locl.h" -RCSID("$Id: main.c,v 1.38.6.1 2004/03/22 18:16:35 lha Exp $"); +RCSID("$Id: main.c 21731 2007-07-30 20:01:26Z lha $"); #if KRB5 #define FORWARD @@ -59,8 +59,8 @@ tninit(void) init_sys(); } -void -usage(void) +static void +usage(int exit_code) { fprintf(stderr, "Usage: %s %s%s%s%s\n", prompt, #ifdef AUTHENTICATION @@ -77,7 +77,7 @@ usage(void) "[host-name [port]]" #endif ); - exit(1); + exit(exit_code); } /* @@ -112,7 +112,6 @@ set_forward_options(void) } #ifdef KRB5 -/* XXX ugly hack to setup dns-proxy stuff */ #define Authenticator asn1_Authenticator #include <krb5.h> static void @@ -120,24 +119,29 @@ krb5_init(void) { krb5_context context; krb5_error_code ret; + krb5_boolean ret_val; ret = krb5_init_context(&context); if (ret) return; -#if defined(AUTHENTICATION) && defined(KRB5) && defined(FORWARD) - if (krb5_config_get_bool (context, NULL, - "libdefaults", "forward", NULL)) { +#if defined(AUTHENTICATION) && defined(FORWARD) + krb5_appdefault_boolean(context, NULL, + NULL, "forward", + 0, &ret_val); + if (ret_val) kerberos5_set_forward(1); - } - if (krb5_config_get_bool (context, NULL, - "libdefaults", "forwardable", NULL)) { + krb5_appdefault_boolean(context, NULL, + NULL, "forwardable", + 0, &ret_val); + if (ret_val) kerberos5_set_forwardable(1); - } #endif #ifdef ENCRYPTION - if (krb5_config_get_bool (context, NULL, - "libdefaults", "encrypt", NULL)) { + krb5_appdefault_boolean(context, NULL, + NULL, "encrypt", + 0, &ret_val); + if (ret_val) { encrypt_auto(1); decrypt_auto(1); wantencryption = 1; @@ -190,6 +194,9 @@ main(int argc, char **argv) print_version(NULL); exit(0); } + if (argc == 2 && strcmp(argv[1], "--help") == 0) + usage(0); + while((ch = getopt(argc, argv, "78DEKLS:X:abcde:fFk:l:n:rxG")) != -1) { @@ -263,7 +270,7 @@ main(int argc, char **argv) fprintf(stderr, "%s: Only one of -f, -F and -G allowed.\n", prompt); - usage(); + usage(1); } forward_option = ch; #else @@ -312,7 +319,7 @@ main(int argc, char **argv) case '?': default: - usage(); + usage(1); /* NOTREACHED */ } } @@ -338,7 +345,7 @@ main(int argc, char **argv) char *args[7], **argp = args; if (argc > 2) - usage(); + usage(1); *argp++ = prompt; if (user) { *argp++ = "-l"; |