*/
static char objcopyright[] =
-"$Id: dhcpd.c,v 1.28 1996/08/29 09:49:52 mellon Exp $ Copyright 1995, 1996 The Internet Software Consortium.";
+"$Id: dhcpd.c,v 1.29 1996/08/29 09:55:52 mellon Exp $ Copyright 1995, 1996 The Internet Software Consortium.";
static char copyright[] =
"Copyright 1995, 1996 The Internet Software Consortium.";
static char arr [] = "All rights reserved.";
int i, status;
struct servent *ent;
int pidfilewritten = 0;
+ char *s;
#ifndef DEBUG
int pid;
char pbuf [20];
note (copyright);
note (arr);
- log_perror = 0;
-
for (i = 1; i < argc; i++) {
if (!strcmp (argv [i], "-p")) {
if (++i == argc)
usage ();
- server_port = htons (atoi (argv [i]));
+ for (s = argv [i]; *s; s++)
+ if (!isdigit (*s))
+ error ("%s: not a valid UDP port",
+ argv [i]);
+ server_port = atoi (argv [i]);
+ if (server_port < 1 || server_port > 65535)
+ error ("%s: not a valid UDP port",
+ argv [i]);
+ server_port = htons (server_port);
debug ("binding to user-specified port %d",
ntohs (server_port));
} else if (!strcmp (argv [i], "-f")) {
}
}
+ log_perror = 0;
+
#ifndef DEBUG
if (daemon) {
/* Become a daemon... */
static void usage ()
{
- error ("Usage: dhcpd [-p <port>] [-d] [-f] [if0 [...ifN]]");
+ error ("Usage: dhcpd [-p <UDP port #>] [-d] [-f] [if0 [...ifN]]");
}
void cleanup ()
*/
static char objcopyright[] =
-"$Id: dhcpd.c,v 1.28 1996/08/29 09:49:52 mellon Exp $ Copyright 1995, 1996 The Internet Software Consortium.";
+"$Id: dhcpd.c,v 1.29 1996/08/29 09:55:52 mellon Exp $ Copyright 1995, 1996 The Internet Software Consortium.";
static char copyright[] =
"Copyright 1995, 1996 The Internet Software Consortium.";
static char arr [] = "All rights reserved.";
int i, status;
struct servent *ent;
int pidfilewritten = 0;
+ char *s;
#ifndef DEBUG
int pid;
char pbuf [20];
note (copyright);
note (arr);
- log_perror = 0;
-
for (i = 1; i < argc; i++) {
if (!strcmp (argv [i], "-p")) {
if (++i == argc)
usage ();
- server_port = htons (atoi (argv [i]));
+ for (s = argv [i]; *s; s++)
+ if (!isdigit (*s))
+ error ("%s: not a valid UDP port",
+ argv [i]);
+ server_port = atoi (argv [i]);
+ if (server_port < 1 || server_port > 65535)
+ error ("%s: not a valid UDP port",
+ argv [i]);
+ server_port = htons (server_port);
debug ("binding to user-specified port %d",
ntohs (server_port));
} else if (!strcmp (argv [i], "-f")) {
}
}
+ log_perror = 0;
+
#ifndef DEBUG
if (daemon) {
/* Become a daemon... */
static void usage ()
{
- error ("Usage: dhcpd [-p <port>] [-d] [-f] [if0 [...ifN]]");
+ error ("Usage: dhcpd [-p <UDP port #>] [-d] [-f] [if0 [...ifN]]");
}
void cleanup ()