summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/appl/telnet/telnet/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/heimdal/appl/telnet/telnet/main.c')
-rw-r--r--crypto/heimdal/appl/telnet/telnet/main.c41
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";
OpenPOWER on IntegriCloud