diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/internal.h | 5 | ||||
-rw-r--r-- | client/options.c | 11 | ||||
-rw-r--r-- | client/wallet-rekey.c | 8 | ||||
-rw-r--r-- | client/wallet.c | 10 |
4 files changed, 19 insertions, 15 deletions
diff --git a/client/internal.h b/client/internal.h index fc0591f..7f58e33 100644 --- a/client/internal.h +++ b/client/internal.h @@ -2,7 +2,8 @@ * Internal support functions for the wallet client. * * Written by Russ Allbery <eagle@eyrie.org> - * Copyright 2007, 2008, 2010 + * Copyright 2018 Russ Allbery <eagle@eyrie.org> + * Copyright 2007-2008, 2010 * The Board of Trustees of the Leland Stanford Junior University * * See LICENSE for licensing terms. @@ -41,7 +42,7 @@ struct options { char *server; char *principal; char *user; - int port; + unsigned short port; }; BEGIN_DECLS diff --git a/client/options.c b/client/options.c index ae88485..3c68cc7 100644 --- a/client/options.c +++ b/client/options.c @@ -5,7 +5,8 @@ * file for both wallet and wallet-rekey. * * Written by Russ Allbery <eagle@eyrie.org> - * Copyright 2006, 2007, 2008, 2010 + * Copyright 2018 Russ Allbery <eagle@eyrie.org> + * Copyright 2006-2008, 2010 * The Board of Trustees of the Leland Stanford Junior University * * See LICENSE for licensing terms. @@ -63,9 +64,15 @@ default_number(krb5_context ctx, const char *opt, int defval, int *result) void default_options(krb5_context ctx, struct options *options) { + int port; + default_string(ctx, "wallet_type", "wallet", &options->type); default_string(ctx, "wallet_server", WALLET_SERVER, &options->server); default_string(ctx, "wallet_principal", NULL, &options->principal); - default_number(ctx, "wallet_port", WALLET_PORT, &options->port); + default_number(ctx, "wallet_port", WALLET_PORT, &port); + if (port <= 0 || port > 65535) + options->port = WALLET_PORT; + else + options->port = (unsigned short) port; options->user = NULL; } diff --git a/client/wallet-rekey.c b/client/wallet-rekey.c index 95cd328..2809efc 100644 --- a/client/wallet-rekey.c +++ b/client/wallet-rekey.c @@ -3,6 +3,7 @@ * * Written by Russ Allbery <eagle@eyrie.org> * and Jon Robertson <jonrober@stanford.edu> + * Copyright 2018 Russ Allbery <eagle@eyrie.org> * Copyright 2010 * The Board of Trustees of the Leland Stanford Junior University * @@ -40,7 +41,7 @@ Options:\n\ /* * Display the usage message for wallet-rekey. */ -static void +static void __attribute__((__noreturn__)) usage(int status) { fprintf((status == 0) ? stdout : stderr, usage_message, WALLET_PORT, @@ -83,13 +84,12 @@ main(int argc, char *argv[]) break; case 'h': usage(0); - break; case 'p': errno = 0; tmp = strtol(optarg, &end, 10); if (tmp <= 0 || tmp > 65535 || *end != '\0') die("invalid port number %s", optarg); - options.port = tmp; + options.port = (unsigned short) tmp; break; case 's': options.server = optarg; @@ -100,10 +100,8 @@ main(int argc, char *argv[]) case 'v': printf("%s\n", PACKAGE_STRING); exit(0); - break; default: usage(1); - break; } } argc -= optind; diff --git a/client/wallet.c b/client/wallet.c index c3b039f..ed6c9b8 100644 --- a/client/wallet.c +++ b/client/wallet.c @@ -2,7 +2,8 @@ * The client program for the wallet system. * * Written by Russ Allbery <eagle@eyrie.org> - * Copyright 2006, 2007, 2008, 2010, 2014 + * Copyright 2018 Russ Allbery <eagle@eyrie.org> + * Copyright 2006-2008, 2010, 2014 * The Board of Trustees of the Leland Stanford Junior University * * See LICENSE for licensing terms. @@ -44,7 +45,7 @@ Options:\n\ /* * Display the usage message for wallet. */ -static void +static void __attribute__((__noreturn__)) usage(int status) { fprintf((status == 0) ? stdout : stderr, usage_message, WALLET_PORT, @@ -93,13 +94,12 @@ main(int argc, char *argv[]) break; case 'h': usage(0); - break; case 'p': errno = 0; tmp = strtol(optarg, &end, 10); if (tmp <= 0 || tmp > 65535 || *end != '\0') die("invalid port number %s", optarg); - options.port = tmp; + options.port = (unsigned short) tmp; break; case 'S': srvtab = optarg; @@ -113,10 +113,8 @@ main(int argc, char *argv[]) case 'v': printf("%s\n", PACKAGE_STRING); exit(0); - break; default: usage(1); - break; } } argc -= optind; |