aboutsummaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/internal.h5
-rw-r--r--client/options.c11
-rw-r--r--client/wallet-rekey.c8
-rw-r--r--client/wallet.c10
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;