From 8a71375ab66e9385345261310d853884ee6c34ca Mon Sep 17 00:00:00 2001 From: Murray Stokely Date: Wed, 15 Jan 2003 10:31:26 +0000 Subject: [PATCH] Import ISC DHCP 3.0.1 RC10 client. --- contrib/isc-dhcp/COPYRIGHT | 2 +- contrib/isc-dhcp/Makefile | 2 +- contrib/isc-dhcp/Makefile.conf | 2 +- contrib/isc-dhcp/Makefile.dist | 2 +- contrib/isc-dhcp/README | 16 ++------- contrib/isc-dhcp/RELNOTES | 44 +++++++++++++++++++++-- contrib/isc-dhcp/client/dhclient-script.8 | 3 ++ contrib/isc-dhcp/client/dhclient.8 | 5 ++- contrib/isc-dhcp/client/dhclient.c | 29 +++++++-------- contrib/isc-dhcp/client/dhclient.conf.5 | 13 ++++--- contrib/isc-dhcp/client/dhclient.leases.5 | 3 ++ contrib/isc-dhcp/client/scripts/freebsd | 12 +++++-- contrib/isc-dhcp/common/bpf.c | 6 +++- contrib/isc-dhcp/common/dhcp-options.5 | 15 ++++---- contrib/isc-dhcp/common/discover.c | 8 +++-- contrib/isc-dhcp/common/icmp.c | 3 +- contrib/isc-dhcp/common/parse.c | 4 +-- contrib/isc-dhcp/common/socket.c | 4 +-- contrib/isc-dhcp/dst/dst_api.c | 2 +- contrib/isc-dhcp/dst/dst_support.c | 2 +- contrib/isc-dhcp/dst/hmac_link.c | 2 +- contrib/isc-dhcp/dst/prandom.c | 2 +- contrib/isc-dhcp/includes/dhcpd.h | 6 ++-- contrib/isc-dhcp/includes/osdep.h | 4 +++ contrib/isc-dhcp/includes/version.h | 2 +- contrib/isc-dhcp/minires/res_send.c | 4 +-- contrib/isc-dhcp/omapip/message.c | 3 ++ 27 files changed, 135 insertions(+), 65 deletions(-) diff --git a/contrib/isc-dhcp/COPYRIGHT b/contrib/isc-dhcp/COPYRIGHT index 0e5d81aa663f..c4555647626e 100644 --- a/contrib/isc-dhcp/COPYRIGHT +++ b/contrib/isc-dhcp/COPYRIGHT @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996-1999 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * Use is subject to license terms which appear in the file named * ISC-LICENSE that should have accompanied this file when you * received it. If a file named ISC-LICENSE did not accompany this diff --git a/contrib/isc-dhcp/Makefile b/contrib/isc-dhcp/Makefile index e6c2d1e5e235..b8d711288352 100644 --- a/contrib/isc-dhcp/Makefile +++ b/contrib/isc-dhcp/Makefile @@ -1,6 +1,6 @@ # Makefile # -# Copyright (c) 2000 Internet Software Consortium. +# Copyright (c) 2002 Internet Software Consortium. # All rights reserved. # # Redistribution and use in source and binary forms, with or without diff --git a/contrib/isc-dhcp/Makefile.conf b/contrib/isc-dhcp/Makefile.conf index 0958a9446704..081e9d6dd437 100644 --- a/contrib/isc-dhcp/Makefile.conf +++ b/contrib/isc-dhcp/Makefile.conf @@ -1,6 +1,6 @@ # Makefile.conf # -# Copyright (c) 1996-2000 Internet Software Consortium. +# Copyright (c) 1996-2002 Internet Software Consortium. # Use is subject to license terms which appear in the file named # ISC-LICENSE that should have accompanied this file when you # received it. If a file named ISC-LICENSE did not accompany this diff --git a/contrib/isc-dhcp/Makefile.dist b/contrib/isc-dhcp/Makefile.dist index 7e4a2fc1d10e..9319e8956661 100644 --- a/contrib/isc-dhcp/Makefile.dist +++ b/contrib/isc-dhcp/Makefile.dist @@ -1,6 +1,6 @@ # Makefile.dist # -# Copyright (c) 1996-1999 Internet Software Consortium. +# Copyright (c) 1996-2002 Internet Software Consortium. # Use is subject to license terms which appear in the file named # ISC-LICENSE that should have accompanied this file when you # received it. If a file named ISC-LICENSE did not accompany this diff --git a/contrib/isc-dhcp/README b/contrib/isc-dhcp/README index 3f20a82b942d..78e6583522c9 100644 --- a/contrib/isc-dhcp/README +++ b/contrib/isc-dhcp/README @@ -97,7 +97,7 @@ system. RELEASE STATUS -This is the ninth release candidate of version 3.0.1 of the ISC DHCP +This is the tenth release candidate of version 3.0.1 of the ISC DHCP Distribution. Development of this release is approaching the point at which it will be frozen, and no significant new features will be added. @@ -143,14 +143,14 @@ information. On Digital Unix, type ``man pfilt''. To build the DHCP Distribution, unpack the compressed tar file using the tar utility and the gzip command - type something like: - zcat dhcp-3.0.1rc9.tar.gz |tar xvf - + zcat dhcp-3.0.1rc10.tar.gz |tar xvf - On BSD/OS, you have to type gzcat, not zcat, and you may run into similar problems on other operating systems. CONFIGURING IT -Now, cd to the dhcp-3.0.1rc9 subdirectory that you've just +Now, cd to the dhcp-3.0.1rc10 subdirectory that you've just created and configure the source tree by typing: ./configure @@ -244,16 +244,6 @@ network interface. There are also two potential compilation/runtime problems for Linux 2.1/2.2: the "SO_ATTACH_FILTER undeclared" problem and the "protocol not configured" problem. - LINUX: IF_TR.H NOT FOUND - -When you compile the distribution on Linux, you may get an error -message indicating that the include file if_tr.h could not be found. -If this happens, go into includes/cf/linux.h and delete the line that -defined HAVE_TR_SUPPORT, or look into installing a new version of libc -that includes the if_tr.h file. We will be working on removing this -problem in the future, but for now, if you run into it, this should be -a viable workaround. - LINUX: SO_ATTACH_FILTER UNDECLARED In addition, there is a minor issue that we will mention here because diff --git a/contrib/isc-dhcp/RELNOTES b/contrib/isc-dhcp/RELNOTES index b8e85d5fe212..348964cfd8c7 100644 --- a/contrib/isc-dhcp/RELNOTES +++ b/contrib/isc-dhcp/RELNOTES @@ -1,7 +1,7 @@ Internet Software Consortium DHCP Distribution Version 3.0.1 - Release Candidate 9 - April 30, 2002 + Release Candidate 10 + June, 2002 Release Notes @@ -46,6 +46,46 @@ Murrell at BC Tel Advanced Communications. I'd like to express my thanks to all of these good people here, both for working on the code and for prodding me into improving it. + Changes since 3.0.1rc9 + +- A format string was corrected to fix compiler warnings. + +- A number of spelling corrections were made in the man pages. + +- The dhclient.conf.5 man page was changed to refer to do-forward-updates + rather than a configuration option that doesn't exist. + +- A FreeBSD-specific bug in the interface removal handling was fixed. + +- A Linux-specific Token Ring detection problem was fixed. + +- Hashes removed from as-yet-unknown agent options, having those options + appear in reality before we know about them will no longer produce + self-corrupting lease databases. + +- dhclient will use the proper port numbers now when using the -g option. + +- A order-of-operations bug with 2 match clauses in 1 class statement is + fixed thanks to a patch from Andrew Matheson. + +- Compilation problems on Solaris were fixed. + +- Compilation problems when built with DEBUG or DEBUG_PACKET were repaired. + +- A fix to the dhcp ack process which makes certain group options will be + included in the first DHCPOFFER message was made thanks to a patch from + Ling Gou. + +- A few memory leaks were repaired thanks to patches from Bill Squier at + ReefEdge, Inc. (groo@reefedge.com). + +- A fix for shared-networks that sometimes give clients options for the + wrong subnets (in particular, 'option routers') was applied, thanks to + Ted Lemon for the patch. + +- Omshell's handling of dotted octets as values was changed such that dots + one after the other produce zero values in the integer string. + Changes since 3.0.1rc8 - Fix a format string vulnerability in the server that could lead to a diff --git a/contrib/isc-dhcp/client/dhclient-script.8 b/contrib/isc-dhcp/client/dhclient-script.8 index acf7edcbc4a4..948f96348837 100644 --- a/contrib/isc-dhcp/client/dhclient-script.8 +++ b/contrib/isc-dhcp/client/dhclient-script.8 @@ -34,6 +34,9 @@ .\" ``http://www.isc.org/''. To learn more about Vixie Enterprises, .\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see .\" ``http://www.nominum.com''. +.\" +.\" $Id: dhclient-script.8,v 1.8.2.3 2002/05/27 04:18:41 murray Exp $ +.\" .TH dhclient-script 8 .SH NAME dhclient-script - DHCP client network configuration script diff --git a/contrib/isc-dhcp/client/dhclient.8 b/contrib/isc-dhcp/client/dhclient.8 index 3213b87766db..a996a022de4d 100644 --- a/contrib/isc-dhcp/client/dhclient.8 +++ b/contrib/isc-dhcp/client/dhclient.8 @@ -15,6 +15,9 @@ .\" .\" Support and other services are available for ISC products - see .\" http://www.isc.org for more information. +.\" +.\" $Id: dhclient.8,v 1.12.2.6 2002/06/08 08:23:28 murray Exp $ +.\" .TH dhclient 8 .SH NAME dhclient - Dynamic Host Configuration Protocol Client @@ -135,7 +138,7 @@ than cycling through the list of old leases. The names of the network interfaces that dhclient should attempt to configure may be specified on the command line. If no interface names are specified on the command line dhclient will normally identify all -network interfaces, elimininating non-broadcast interfaces if +network interfaces, eliminating non-broadcast interfaces if possible, and attempt to configure each interface. .PP It is also possible to specify interfaces by name in the diff --git a/contrib/isc-dhcp/client/dhclient.c b/contrib/isc-dhcp/client/dhclient.c index 39edb87b9c46..d2e13424c763 100644 --- a/contrib/isc-dhcp/client/dhclient.c +++ b/contrib/isc-dhcp/client/dhclient.c @@ -41,7 +41,7 @@ #ifndef lint static char ocopyright[] = -"$Id: dhclient.c,v 1.129.2.10 2002/04/26 23:33:05 murray Exp $ Copyright (c) 1995-2001 Internet Software Consortium. All rights reserved.\n"; +"$Id: dhclient.c,v 1.129.2.12 2002/11/07 23:26:38 dhankins Exp $ Copyright (c) 1995-2002 Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -71,19 +71,19 @@ struct in_addr giaddr; assert (state_is == state_shouldbe). */ #define ASSERT_STATE(state_is, state_shouldbe) {} -static char copyright[] = "Copyright 1995-2001 Internet Software Consortium."; +static char copyright[] = "Copyright 1995-2002 Internet Software Consortium."; static char arr [] = "All rights reserved."; static char message [] = "Internet Software Consortium DHCP Client"; static char url [] = "For info, please visit http://www.isc.org/products/DHCP"; -u_int16_t local_port; -u_int16_t remote_port; -int no_daemon; -struct string_list *client_env; -int client_env_count; -int onetry; -int quiet; -int nowait; +u_int16_t local_port=0; +u_int16_t remote_port=0; +int no_daemon=0; +struct string_list *client_env=NULL; +int client_env_count=0; +int onetry=0; +int quiet=0; +int nowait=0; static void usage PROTO ((void)); @@ -289,8 +289,10 @@ int main (argc, argv, envp) /* Default to the DHCP/BOOTP port. */ if (!local_port) { + /* If we're faking a relay agent, and we're not using loopback, + use the server port, not the client port. */ if (relay && giaddr.s_addr != htonl (INADDR_LOOPBACK)) { - local_port = htons (67); + local_port = htons(67); } else { ent = getservbyname ("dhcpc", "udp"); if (!ent) @@ -304,13 +306,12 @@ int main (argc, argv, envp) } /* If we're faking a relay agent, and we're not using loopback, - use the server port, not the client port. */ + we're using the server port, not the client port. */ if (relay && giaddr.s_addr != htonl (INADDR_LOOPBACK)) { - local_port = htons (ntohs (local_port) - 1); remote_port = local_port; } else remote_port = htons (ntohs (local_port) - 1); /* XXX */ - + /* Get the current time... */ GET_TIME (&cur_time); diff --git a/contrib/isc-dhcp/client/dhclient.conf.5 b/contrib/isc-dhcp/client/dhclient.conf.5 index f08b6aed7678..595dae6c035d 100644 --- a/contrib/isc-dhcp/client/dhclient.conf.5 +++ b/contrib/isc-dhcp/client/dhclient.conf.5 @@ -34,6 +34,9 @@ .\" ``http://www.isc.org/''. To learn more about Vixie Enterprises, .\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see .\" ``http://www.nominum.com''. +.\" +.\" $Id: dhclient.conf.5,v 1.12.2.7 2002/11/04 00:41:30 dhankins Exp $ +.\" .TH dhclient.conf 5 .SH NAME dhclient.conf - DHCP client configuration file @@ -249,19 +252,19 @@ updated. The \fIfqdn.encoded\fR option may need to be set to \fIon\fR or \fIoff\fR, depending on the DHCP server you are using. .PP .I The -.B no-client-updates +.B do-forward-updates .I statement .PP - \fBno-client-updates [ \fIflag\fR ] \fB;\fR + \fBdo-forward-updates [ \fIflag\fR ] \fB;\fR .PP If you want to do DNS updates in the DHCP client script (see \fBdhclient-script(8)\fR) rather than having the DHCP client do the update directly (for example, if you want to use SIG(0) authentication, which is not supported directly by the DHCP client, you can instruct the client not to do the update using -the \fBno-client-updates\fR statement. \fIFlag\fR should be \fBtrue\fR -if you don't want the DHCP client to do the update, and \fBfalse\fR if -you want the DHCP client to do the update. By default, the DHCP +the \fBdo-forward-updates\fR statement. \fIFlag\fR should be \fBtrue\fR +if you want the DHCP client to do the update, and \fBfalse\fR if +you don't want the DHCP client to do the update. By default, the DHCP client will do the DNS update. .SH OPTION MODIFIERS In some cases, a client may receive option data from the server which diff --git a/contrib/isc-dhcp/client/dhclient.leases.5 b/contrib/isc-dhcp/client/dhclient.leases.5 index 5f1418e8058f..afa8e0228758 100644 --- a/contrib/isc-dhcp/client/dhclient.leases.5 +++ b/contrib/isc-dhcp/client/dhclient.leases.5 @@ -35,6 +35,9 @@ .\" Enterprises. To learn more about the Internet Software Consortium, .\" see ``http://www.isc.org/isc''. To learn more about Vixie .\" Enterprises, see ``http://www.vix.com''. +.\" +.\" $Id: dhclient.leases.5,v 1.2.4.2 2002/05/27 04:18:44 murray Exp $ +.\" .TH dhclient.leases 5 .SH NAME dhclient.leases - DHCP client lease database diff --git a/contrib/isc-dhcp/client/scripts/freebsd b/contrib/isc-dhcp/client/scripts/freebsd index 23eb30267f30..f9d61b59cf3d 100755 --- a/contrib/isc-dhcp/client/scripts/freebsd +++ b/contrib/isc-dhcp/client/scripts/freebsd @@ -1,5 +1,7 @@ #!/bin/sh - +# +# $Id: freebsd,v 1.13.2.4 2002/06/09 22:37:55 murray Exp $ +# # $FreeBSD$ if [ -x /usr/bin/logger ]; then @@ -9,8 +11,12 @@ else fi make_resolv_conf() { - if [ "x$new_domain_name" != x ] && [ x"$new_domain_name_servers" != x ]; then - echo search $new_domain_name >/etc/resolv.conf + if [ x"$new_domain_name_servers" != x ]; then + if [ "x$new_domain_name" != x ]; then + echo search $new_domain_name >/etc/resolv.conf + else + rm /etc/resolv.conf + fi for nameserver in $new_domain_name_servers; do echo nameserver $nameserver >>/etc/resolv.conf done diff --git a/contrib/isc-dhcp/common/bpf.c b/contrib/isc-dhcp/common/bpf.c index 6ca91bb83bd2..c59c571ae2bd 100644 --- a/contrib/isc-dhcp/common/bpf.c +++ b/contrib/isc-dhcp/common/bpf.c @@ -47,7 +47,7 @@ #ifndef lint static char copyright[] = -"$Id: bpf.c,v 1.48.2.1 2002/04/30 05:12:53 murray Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: bpf.c,v 1.48.2.2 2002/06/08 09:29:16 murray Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -423,7 +423,11 @@ ssize_t receive_packet (interface, buf, len, from, hfrom) interface -> rbuf, (size_t)interface -> rbuf_max); if (length <= 0) { +#ifdef __FreeBSD__ + if (errno == ENXIO) { +#else if (errno == EIO) { +#endif dhcp_interface_remove ((omapi_object_t *)interface, (omapi_object_t *)0); diff --git a/contrib/isc-dhcp/common/dhcp-options.5 b/contrib/isc-dhcp/common/dhcp-options.5 index 33fd1e10c021..17349e81687c 100644 --- a/contrib/isc-dhcp/common/dhcp-options.5 +++ b/contrib/isc-dhcp/common/dhcp-options.5 @@ -34,6 +34,9 @@ .\" ``http://www.isc.org/''. To learn more about Vixie Enterprises, .\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see .\" ``http://www.nominum.com''. +.\" +.\" $Id: dhcp-options.5,v 1.19.2.8 2002/08/26 03:08:39 dhankins Exp $ +.\" .TH dhcpd-options 5 .SH NAME dhcp-options - Dynamic Host Configuration Protocol options @@ -244,7 +247,7 @@ server reply (DHCPOFFER), a DHCP server uses this option to specify the lease time it is willing to offer. .PP This option is not directly user configurable in the server; refer to the -\fImax-lease-time\fR and \fidefault-lease-time\fR server options in +\fImax-lease-time\fR and \fIdefault-lease-time\fR server options in .B dhcpd.conf(5). .RE .PP @@ -513,7 +516,7 @@ respond. .RS 0.25i .PP This option specifies the maximum size datagram that the client -should be prepared to reassemble. The minimum value legal value is +should be prepared to reassemble. The minimum legal value is 576. .RE .PP @@ -551,7 +554,7 @@ The nds-servers option specifies a list of IP addresses of NDS servers. .B option \fBnds-tree-name\fR \fIstring\fR\fB;\fR .RS 0.25i .PP -The nds-context option specifies NDS tree name that the NDS client +The nds-tree-name option specifies NDS tree name that the NDS client should use. .RE .PP @@ -651,7 +654,7 @@ client. Servers should be listed in order of preference. This option specifies whether the client should configure its IP layer to allow forwarding of datagrams with non-local source routes (see Section 3.3.5 of [4] for a discussion of this topic). A value -of 0 means disallow forwarding of such datagrams, and a value of true +of false means disallow forwarding of such datagrams, and a value of true means allow forwarding. .RE .PP @@ -945,7 +948,7 @@ preference. .PP This option specifies whether or not the client should negotiate the use of trailers (RFC 893 [14]) when using the ARP protocol. A value -of 0 indicates that the client should not attempt to use trailers. A +of false indicates that the client should not attempt to use trailers. A value of true means that the client should attempt to use trailers. .RE .PP @@ -1114,7 +1117,7 @@ the format in which the \fIfqdn.fqdn\fR suboption is encoded. .PP .B option fqdn.rcode1 \fIflag\fB; .PP -.B option fqdn.rcode1 \fIflag\fB; +.B option fqdn.rcode2 \fIflag\fB; .RS 0.25i .PP These options specify the result of the updates of the A and PTR records, diff --git a/contrib/isc-dhcp/common/discover.c b/contrib/isc-dhcp/common/discover.c index c52ecdb89303..bb820a38e5b1 100644 --- a/contrib/isc-dhcp/common/discover.c +++ b/contrib/isc-dhcp/common/discover.c @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: discover.c,v 1.42.2.9 2002/03/12 06:46:17 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: discover.c,v 1.42.2.12 2002/11/03 04:31:55 dhankins Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -540,8 +540,12 @@ void discover_interfaces (state) if (tmp -> next) interface_reference (&next, tmp -> next, MDL); /* skip interfaces that are running already */ - if (tmp -> flags & INTERFACE_RUNNING) + if (tmp -> flags & INTERFACE_RUNNING) { + interface_dereference(&tmp, MDL); + if(next) + interface_reference(&tmp, next, MDL); continue; + } if ((tmp -> flags & INTERFACE_AUTOMATIC) && state == DISCOVER_REQUESTED) tmp -> flags &= ~(INTERFACE_AUTOMATIC | diff --git a/contrib/isc-dhcp/common/icmp.c b/contrib/isc-dhcp/common/icmp.c index 299e03079ebb..e8f51961f41f 100644 --- a/contrib/isc-dhcp/common/icmp.c +++ b/contrib/isc-dhcp/common/icmp.c @@ -44,7 +44,7 @@ #ifndef lint static char copyright[] = -"$Id: icmp.c,v 1.30.2.3 2001/10/18 20:11:24 mellon Exp $ Copyright (c) 1996-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: icmp.c,v 1.30.2.4 2002/06/09 22:23:03 murray Exp $ Copyright (c) 1996-2001 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -164,6 +164,7 @@ int icmp_echorequest (addr) if (!icmp_state) log_fatal ("ICMP protocol used before initialization."); + memset (&to, 0, sizeof(to)); #ifdef HAVE_SA_LEN to.sin_len = sizeof to; #endif diff --git a/contrib/isc-dhcp/common/parse.c b/contrib/isc-dhcp/common/parse.c index 5f20dc7b67c6..15a661be30de 100644 --- a/contrib/isc-dhcp/common/parse.c +++ b/contrib/isc-dhcp/common/parse.c @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: parse.c,v 1.104.2.9 2002/04/27 05:30:02 murray Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: parse.c,v 1.104.2.10 2002/11/03 04:31:55 dhankins Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -329,7 +329,7 @@ int parse_ip_addr (cfile, addr) /* * hardware-parameter :== HARDWARE hardware-type colon-seperated-hex-list SEMI - * hardware-type :== ETHERNET | TOKEN_RING + * hardware-type :== ETHERNET | TOKEN_RING | FDDI */ void parse_hardware_param (cfile, hardware) diff --git a/contrib/isc-dhcp/common/socket.c b/contrib/isc-dhcp/common/socket.c index b4ecd142a04f..6b105c642631 100644 --- a/contrib/isc-dhcp/common/socket.c +++ b/contrib/isc-dhcp/common/socket.c @@ -51,7 +51,7 @@ #ifndef lint static char copyright[] = -"$Id: socket.c,v 1.55.2.1 2002/01/17 19:42:55 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; +"$Id: socket.c,v 1.55.2.2 2002/06/09 22:21:20 murray Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -114,11 +114,11 @@ int if_register_socket (info) once = 1; #endif + memset (&name, 0, sizeof (name)); /* Set up the address we're going to bind to. */ name.sin_family = AF_INET; name.sin_port = local_port; name.sin_addr = local_address; - memset (name.sin_zero, 0, sizeof (name.sin_zero)); /* Make a socket... */ if ((sock = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) diff --git a/contrib/isc-dhcp/dst/dst_api.c b/contrib/isc-dhcp/dst/dst_api.c index d98b36a9d9d5..22be12020856 100644 --- a/contrib/isc-dhcp/dst/dst_api.c +++ b/contrib/isc-dhcp/dst/dst_api.c @@ -1,5 +1,5 @@ #ifndef LINT -static const char rcsid[] = "$Header: /proj/cvs/isc/DHCP/dst/dst_api.c,v 1.1 2001/02/22 07:22:08 mellon Exp $"; +static const char rcsid[] = "$Header: /rc0/proj/cvs/isc/DHCP/dst/dst_api.c,v 1.1 2001/02/22 07:22:08 mellon Exp $"; #endif /* diff --git a/contrib/isc-dhcp/dst/dst_support.c b/contrib/isc-dhcp/dst/dst_support.c index a81ed53b6184..4d3692055f7a 100644 --- a/contrib/isc-dhcp/dst/dst_support.c +++ b/contrib/isc-dhcp/dst/dst_support.c @@ -1,4 +1,4 @@ -static const char rcsid[] = "$Header: /proj/cvs/isc/DHCP/dst/dst_support.c,v 1.1 2001/02/22 07:22:08 mellon Exp $"; +static const char rcsid[] = "$Header: /rc0/proj/cvs/isc/DHCP/dst/dst_support.c,v 1.1 2001/02/22 07:22:08 mellon Exp $"; /* diff --git a/contrib/isc-dhcp/dst/hmac_link.c b/contrib/isc-dhcp/dst/hmac_link.c index 5c6763390214..dbb6d861a7b9 100644 --- a/contrib/isc-dhcp/dst/hmac_link.c +++ b/contrib/isc-dhcp/dst/hmac_link.c @@ -1,6 +1,6 @@ #ifdef HMAC_MD5 #ifndef LINT -static const char rcsid[] = "$Header: /proj/cvs/isc/DHCP/dst/hmac_link.c,v 1.1 2001/02/22 07:22:08 mellon Exp $"; +static const char rcsid[] = "$Header: /rc0/proj/cvs/isc/DHCP/dst/hmac_link.c,v 1.1 2001/02/22 07:22:08 mellon Exp $"; #endif /* * Portions Copyright (c) 1995-1998 by Trusted Information Systems, Inc. diff --git a/contrib/isc-dhcp/dst/prandom.c b/contrib/isc-dhcp/dst/prandom.c index eaa1071d233d..53d2b2e2611d 100644 --- a/contrib/isc-dhcp/dst/prandom.c +++ b/contrib/isc-dhcp/dst/prandom.c @@ -1,5 +1,5 @@ #ifndef LINT -static const char rcsid[] = "$Header: /proj/cvs/isc/DHCP/dst/prandom.c,v 1.1 2001/02/22 07:22:09 mellon Exp $"; +static const char rcsid[] = "$Header: /rc0/proj/cvs/isc/DHCP/dst/prandom.c,v 1.1 2001/02/22 07:22:09 mellon Exp $"; #endif /* * Portions Copyright (c) 1995-1998 by Trusted Information Systems, Inc. diff --git a/contrib/isc-dhcp/includes/dhcpd.h b/contrib/isc-dhcp/includes/dhcpd.h index 0db04f7dc1b1..891678c37043 100644 --- a/contrib/isc-dhcp/includes/dhcpd.h +++ b/contrib/isc-dhcp/includes/dhcpd.h @@ -271,7 +271,7 @@ typedef enum { FTS_RELEASED = 4, FTS_ABANDONED = 5, FTS_RESET = 6, - FTS_BACKUP = 7, + FTS_BACKUP = 7 } binding_state_t; /* FTS_LAST is the highest value that is valid for a lease binding state. */ @@ -648,7 +648,7 @@ struct client_lease { struct auth_key *key; /* Key used in basic DHCP authentication. */ unsigned int is_static : 1; /* If set, lease is from config file. */ - unsigned int is_bootp: 1; /* If set, lease was aquired with BOOTP. */ + unsigned int is_bootp: 1; /* If set, lease was acquired with BOOTP. */ struct option_state *options; /* Options supplied with lease. */ }; @@ -903,6 +903,8 @@ typedef unsigned char option_mask [16]; #define _PATH_DHCPD_CONF "dhcpd.conf" #undef _PATH_DHCPD_DB #define _PATH_DHCPD_DB "dhcpd.leases" +#undef _PATH_DHCPD_PID +#define _PATH_DHCPD_PID "dhcpd.pid" #else #ifndef _PATH_DHCPD_CONF #define _PATH_DHCPD_CONF "/etc/dhcpd.conf" diff --git a/contrib/isc-dhcp/includes/osdep.h b/contrib/isc-dhcp/includes/osdep.h index c4486e856dc2..527efd4ca31b 100644 --- a/contrib/isc-dhcp/includes/osdep.h +++ b/contrib/isc-dhcp/includes/osdep.h @@ -276,6 +276,10 @@ # define HAVE_ARPHRD_IEEE802 #endif +#if defined (ARPHRD_IEEE802_TR) && !defined (HAVE_ARPHRD_IEEE802_TR) +# define HAVE_ARPHRD_IEEE802_TR +#endif + #if defined (ARPHRD_FDDI) && !defined (HAVE_ARPHRD_FDDI) # define HAVE_ARPHRD_FDDI #endif diff --git a/contrib/isc-dhcp/includes/version.h b/contrib/isc-dhcp/includes/version.h index 59e9c280e85c..8aeb568b3e99 100644 --- a/contrib/isc-dhcp/includes/version.h +++ b/contrib/isc-dhcp/includes/version.h @@ -1,3 +1,3 @@ /* Current version of ISC DHCP Distribution. */ -#define DHCP_VERSION "V3.0.1rc9" +#define DHCP_VERSION "V3.0.1rc10" diff --git a/contrib/isc-dhcp/minires/res_send.c b/contrib/isc-dhcp/minires/res_send.c index 79946a4fa048..ba549aa2e353 100644 --- a/contrib/isc-dhcp/minires/res_send.c +++ b/contrib/isc-dhcp/minires/res_send.c @@ -70,7 +70,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static const char sccsid[] = "@(#)res_send.c 8.1 (Berkeley) 6/4/93"; -static const char rcsid[] = "$Id: res_send.c,v 1.7 2001/02/22 07:28:25 mellon Exp $"; +static const char rcsid[] = "$Id: res_send.c,v 1.7.2.1 2002/11/03 04:34:24 dhankins Exp $"; #endif /* LIBC_SCCS and not lint */ /* Rename the I/O functions in case we're tracing. */ @@ -600,7 +600,7 @@ res_nsend(res_state statp, (unsigned)len); } Dprint(statp->options & RES_DEBUG, - (stdout, ";; new DG socket\n")) + (stdout, ";; new DG socket\n")); #endif /* CAN_RECONNECT */ statp->_flags &= ~RES_F_CONN; errno = 0; diff --git a/contrib/isc-dhcp/omapip/message.c b/contrib/isc-dhcp/omapip/message.c index ffdae854fee3..a073669947bb 100644 --- a/contrib/isc-dhcp/omapip/message.c +++ b/contrib/isc-dhcp/omapip/message.c @@ -711,6 +711,9 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po) omapi_signal ((omapi_object_t *)m, "status", ISC_R_SUCCESS, (omapi_typed_data_t *)0); + + omapi_object_dereference (&object, MDL); + return status; case OMAPI_OP_NOTIFY: