From 5ad7270f30563f9e223343950b9d85f78b3be537 Mon Sep 17 00:00:00 2001 From: "David E. O'Brien" Date: Thu, 16 Jan 2003 07:04:57 +0000 Subject: [PATCH] Import isc-dhcpd-3.0.1rc11. This fixes a security vulnerability in the bundled resolver library. Requested by: scottl(re) --- contrib/isc-dhcp/COPYRIGHT | 2 +- contrib/isc-dhcp/README | 4 +- contrib/isc-dhcp/RELNOTES | 26 ++++++ contrib/isc-dhcp/client/Makefile.dist | 2 +- contrib/isc-dhcp/client/clparse.c | 2 +- contrib/isc-dhcp/client/dhclient-script.8 | 4 +- contrib/isc-dhcp/client/dhclient.8 | 4 +- contrib/isc-dhcp/client/dhclient.conf.5 | 4 +- contrib/isc-dhcp/client/dhclient.leases.5 | 4 +- contrib/isc-dhcp/common/alloc.c | 4 +- contrib/isc-dhcp/common/bpf.c | 4 +- contrib/isc-dhcp/common/comapi.c | 4 +- contrib/isc-dhcp/common/conflex.c | 2 +- contrib/isc-dhcp/common/ctrace.c | 2 +- contrib/isc-dhcp/common/dhcp-eval.5 | 2 +- contrib/isc-dhcp/common/dhcp-options.5 | 4 +- contrib/isc-dhcp/common/discover.c | 4 +- contrib/isc-dhcp/common/dispatch.c | 4 +- contrib/isc-dhcp/common/dlpi.c | 4 +- contrib/isc-dhcp/common/dns.c | 4 +- contrib/isc-dhcp/common/ethernet.c | 4 +- contrib/isc-dhcp/common/execute.c | 4 +- contrib/isc-dhcp/common/fddi.c | 4 +- contrib/isc-dhcp/common/icmp.c | 4 +- contrib/isc-dhcp/common/inet.c | 4 +- contrib/isc-dhcp/common/lpf.c | 4 +- contrib/isc-dhcp/common/memory.c | 4 +- contrib/isc-dhcp/common/nit.c | 4 +- contrib/isc-dhcp/common/options.c | 2 +- contrib/isc-dhcp/common/packet.c | 4 +- contrib/isc-dhcp/common/parse.c | 93 ++++++++++++++-------- contrib/isc-dhcp/common/print.c | 4 +- contrib/isc-dhcp/common/raw.c | 4 +- contrib/isc-dhcp/common/resolv.c | 4 +- contrib/isc-dhcp/common/socket.c | 4 +- contrib/isc-dhcp/common/tables.c | 4 +- contrib/isc-dhcp/common/tr.c | 4 +- contrib/isc-dhcp/common/tree.c | 4 +- contrib/isc-dhcp/common/upf.c | 4 +- contrib/isc-dhcp/dst/Makefile.dist | 2 +- contrib/isc-dhcp/includes/version.h | 2 +- contrib/isc-dhcp/minires/ns_name.c | 8 +- contrib/isc-dhcp/minires/ns_samedomain.c | 6 +- contrib/isc-dhcp/minires/ns_sign.c | 10 +-- contrib/isc-dhcp/minires/res_findzonecut.c | 6 +- contrib/isc-dhcp/omapip/alloc.c | 4 +- contrib/isc-dhcp/omapip/message.c | 10 ++- 47 files changed, 182 insertions(+), 119 deletions(-) diff --git a/contrib/isc-dhcp/COPYRIGHT b/contrib/isc-dhcp/COPYRIGHT index c4555647626..593f4f93717 100644 --- a/contrib/isc-dhcp/COPYRIGHT +++ b/contrib/isc-dhcp/COPYRIGHT @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996-2002 Internet Software Consortium. + * Copyright (c) 1996-2003 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 78e6583522c..4033b8b15de 100644 --- a/contrib/isc-dhcp/README +++ b/contrib/isc-dhcp/README @@ -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.1rc10.tar.gz |tar xvf - + zcat dhcp-3.0.1rc11.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.1rc10 subdirectory that you've just +Now, cd to the dhcp-3.0.1rc11 subdirectory that you've just created and configure the source tree by typing: ./configure diff --git a/contrib/isc-dhcp/RELNOTES b/contrib/isc-dhcp/RELNOTES index 348964cfd8c..3d1552cfe02 100644 --- a/contrib/isc-dhcp/RELNOTES +++ b/contrib/isc-dhcp/RELNOTES @@ -46,6 +46,32 @@ 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.1rc10 + +- Potential buffer overflows in minires repaired. + +- A change to the linux client script to use /bin/bash, since /bin/sh may + not be bash. + +- Some missing va_end cleanups thanks to a patch from Thomas Klausner. + +- A correction of boolean parsing syntax validation - some illegal syntaxes + that worked before are now detected and produce errs, some legal syntaxes + that errored before will now work properly. + +- Some search-and-replace errors that caused some options to change their + names was repaired. + +- Shu-min Chang of the Intel corporation has contributed a perl script and + module that converts the MS NT4 DHCP configuration to a ISC DHCP3 + configuration file. + +- Applied the remainder of the dhcpctl memory leak patch provided by Bill + Squier at ReefEdge, Inc. (groo@reefedge.com). + +- Missing non-optional failover peer configurations will now result in a soft + error rather than a null dereference. + Changes since 3.0.1rc9 - A format string was corrected to fix compiler warnings. diff --git a/contrib/isc-dhcp/client/Makefile.dist b/contrib/isc-dhcp/client/Makefile.dist index a1f8a38aa93..d997dcf6113 100644 --- a/contrib/isc-dhcp/client/Makefile.dist +++ b/contrib/isc-dhcp/client/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/client/clparse.c b/contrib/isc-dhcp/client/clparse.c index e59e02f7b93..2ec186e2e72 100644 --- a/contrib/isc-dhcp/client/clparse.c +++ b/contrib/isc-dhcp/client/clparse.c @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: clparse.c,v 1.62.2.2 2002/02/09 03:13:17 mellon Exp $ Copyright (c) 1996-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: clparse.c,v 1.62.2.3 2002/11/17 02:25:43 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/client/dhclient-script.8 b/contrib/isc-dhcp/client/dhclient-script.8 index 948f9634883..04a51f1281d 100644 --- a/contrib/isc-dhcp/client/dhclient-script.8 +++ b/contrib/isc-dhcp/client/dhclient-script.8 @@ -1,6 +1,6 @@ .\" dhclient-script.8 .\" -.\" Copyright (c) 1996-2001 Internet Software Consortium. +.\" Copyright (c) 1996-2002 Internet Software Consortium. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -35,7 +35,7 @@ .\" 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 $ +.\" $Id: dhclient-script.8,v 1.8.2.4 2002/11/17 02:25:43 dhankins Exp $ .\" .TH dhclient-script 8 .SH NAME diff --git a/contrib/isc-dhcp/client/dhclient.8 b/contrib/isc-dhcp/client/dhclient.8 index a996a022de4..642070008e1 100644 --- a/contrib/isc-dhcp/client/dhclient.8 +++ b/contrib/isc-dhcp/client/dhclient.8 @@ -1,6 +1,6 @@ .\" dhclient.8 .\" -.\" 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 @@ -16,7 +16,7 @@ .\" 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 $ +.\" $Id: dhclient.8,v 1.12.2.7 2002/11/17 02:25:43 dhankins Exp $ .\" .TH dhclient 8 .SH NAME diff --git a/contrib/isc-dhcp/client/dhclient.conf.5 b/contrib/isc-dhcp/client/dhclient.conf.5 index 595dae6c035..2cf5fe83b29 100644 --- a/contrib/isc-dhcp/client/dhclient.conf.5 +++ b/contrib/isc-dhcp/client/dhclient.conf.5 @@ -1,6 +1,6 @@ .\" dhclient.conf.5 .\" -.\" Copyright (c) 1996-2001 Internet Software Consortium. +.\" Copyright (c) 1996-2002 Internet Software Consortium. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -35,7 +35,7 @@ .\" 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 $ +.\" $Id: dhclient.conf.5,v 1.12.2.8 2002/11/17 02:25:43 dhankins Exp $ .\" .TH dhclient.conf 5 .SH NAME diff --git a/contrib/isc-dhcp/client/dhclient.leases.5 b/contrib/isc-dhcp/client/dhclient.leases.5 index afa8e022875..542654f60e4 100644 --- a/contrib/isc-dhcp/client/dhclient.leases.5 +++ b/contrib/isc-dhcp/client/dhclient.leases.5 @@ -1,6 +1,6 @@ .\" dhclient.conf.5 .\" -.\" Copyright (c) 1997 The Internet Software Consortium. +.\" Copyright (c) 1997-2002 The Internet Software Consortium. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -36,7 +36,7 @@ .\" 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 $ +.\" $Id: dhclient.leases.5,v 1.2.4.3 2002/11/17 02:25:44 dhankins Exp $ .\" .TH dhclient.leases 5 .SH NAME diff --git a/contrib/isc-dhcp/common/alloc.c b/contrib/isc-dhcp/common/alloc.c index 5ed0204e596..051cbab2e39 100644 --- a/contrib/isc-dhcp/common/alloc.c +++ b/contrib/isc-dhcp/common/alloc.c @@ -3,7 +3,7 @@ Memory allocation... */ /* - * Copyright (c) 1996-2001 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: alloc.c,v 1.53.2.8 2001/10/18 20:30:02 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: alloc.c,v 1.53.2.9 2002/11/17 02:26:56 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/bpf.c b/contrib/isc-dhcp/common/bpf.c index c59c571ae2b..fd47735d773 100644 --- a/contrib/isc-dhcp/common/bpf.c +++ b/contrib/isc-dhcp/common/bpf.c @@ -3,7 +3,7 @@ BPF socket interface code, originally contributed by Archie Cobbs. */ /* - * Copyright (c) 1996-2000 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -47,7 +47,7 @@ #ifndef lint static char copyright[] = -"$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"; +"$Id: bpf.c,v 1.48.2.3 2002/11/17 02:26:56 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/comapi.c b/contrib/isc-dhcp/common/comapi.c index a038903fb28..52476eea083 100644 --- a/contrib/isc-dhcp/common/comapi.c +++ b/contrib/isc-dhcp/common/comapi.c @@ -3,7 +3,7 @@ OMAPI object interfaces for the DHCP server. */ /* - * Copyright (c) 1999-2001 Internet Software Consortium. + * Copyright (c) 1999-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -50,7 +50,7 @@ #ifndef lint static char copyright[] = -"$Id: comapi.c,v 1.9.2.5 2001/10/18 20:09:59 mellon Exp $ Copyright (c) 1999-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: comapi.c,v 1.9.2.6 2002/11/17 02:26:56 dhankins Exp $ Copyright (c) 1999-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/conflex.c b/contrib/isc-dhcp/common/conflex.c index 34b6ab7c9af..761be268903 100644 --- a/contrib/isc-dhcp/common/conflex.c +++ b/contrib/isc-dhcp/common/conflex.c @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: conflex.c,v 1.92.2.5 2002/02/09 03:15:17 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: conflex.c,v 1.92.2.6 2002/11/17 02:26:56 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/ctrace.c b/contrib/isc-dhcp/common/ctrace.c index bea933cb433..6dcddffd9a9 100644 --- a/contrib/isc-dhcp/common/ctrace.c +++ b/contrib/isc-dhcp/common/ctrace.c @@ -3,7 +3,7 @@ Subroutines that support dhcp tracing... */ /* - * Copyright (c) 2001 Internet Software Consortium. + * Copyright (c) 2001-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/contrib/isc-dhcp/common/dhcp-eval.5 b/contrib/isc-dhcp/common/dhcp-eval.5 index e87c617026e..539302beed1 100644 --- a/contrib/isc-dhcp/common/dhcp-eval.5 +++ b/contrib/isc-dhcp/common/dhcp-eval.5 @@ -1,6 +1,6 @@ .\" dhcp-eval.5 .\" -.\" Copyright (c) 1996-2001 Internet Software Consortium. +.\" Copyright (c) 1996-2002 Internet Software Consortium. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: diff --git a/contrib/isc-dhcp/common/dhcp-options.5 b/contrib/isc-dhcp/common/dhcp-options.5 index 17349e81687..5ee09eccf86 100644 --- a/contrib/isc-dhcp/common/dhcp-options.5 +++ b/contrib/isc-dhcp/common/dhcp-options.5 @@ -1,6 +1,6 @@ .\" dhcp-options.5 .\" -.\" Copyright (c) 1996-2001 Internet Software Consortium. +.\" Copyright (c) 1996-2002 Internet Software Consortium. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -35,7 +35,7 @@ .\" 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 $ +.\" $Id: dhcp-options.5,v 1.19.2.9 2002/11/17 02:26:57 dhankins Exp $ .\" .TH dhcpd-options 5 .SH NAME diff --git a/contrib/isc-dhcp/common/discover.c b/contrib/isc-dhcp/common/discover.c index bb820a38e5b..8dadde07b54 100644 --- a/contrib/isc-dhcp/common/discover.c +++ b/contrib/isc-dhcp/common/discover.c @@ -3,7 +3,7 @@ Network input dispatcher... */ /* - * Copyright (c) 1995-2001 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$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"; +"$Id: discover.c,v 1.42.2.13 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/dispatch.c b/contrib/isc-dhcp/common/dispatch.c index 7c8545be646..bd87675391f 100644 --- a/contrib/isc-dhcp/common/dispatch.c +++ b/contrib/isc-dhcp/common/dispatch.c @@ -3,7 +3,7 @@ Network input dispatcher... */ /* - * Copyright (c) 1995-2001 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: dispatch.c,v 1.63.2.2 2001/06/21 16:47:15 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dispatch.c,v 1.63.2.3 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/dlpi.c b/contrib/isc-dhcp/common/dlpi.c index 4cbc332ac2d..eea2f387a77 100644 --- a/contrib/isc-dhcp/common/dlpi.c +++ b/contrib/isc-dhcp/common/dlpi.c @@ -3,7 +3,7 @@ Data Link Provider Interface (DLPI) network interface code. */ /* - * Copyright (c) 1996-2001 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -88,7 +88,7 @@ #ifndef lint static char copyright[] = -"$Id: dlpi.c,v 1.28 2001/04/05 20:53:01 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dlpi.c,v 1.28.2.1 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/dns.c b/contrib/isc-dhcp/common/dns.c index 897d78dacdc..5412f5558cd 100644 --- a/contrib/isc-dhcp/common/dns.c +++ b/contrib/isc-dhcp/common/dns.c @@ -3,7 +3,7 @@ Domain Name Service subroutines. */ /* - * Copyright (c) 2001 Internet Software Consortium. + * Copyright (c) 2001-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,7 +42,7 @@ #ifndef lint static char copyright[] = -"$Id: dns.c,v 1.35.2.12 2002/02/20 22:28:17 mellon Exp $ Copyright (c) 2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: dns.c,v 1.35.2.13 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 2001-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/ethernet.c b/contrib/isc-dhcp/common/ethernet.c index 309084a8766..92269bc947b 100644 --- a/contrib/isc-dhcp/common/ethernet.c +++ b/contrib/isc-dhcp/common/ethernet.c @@ -3,7 +3,7 @@ Packet assembly code, originally contributed by Archie Cobbs. */ /* - * Copyright (c) 1996-2000 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: ethernet.c,v 1.6.2.1 2001/06/14 19:15:27 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: ethernet.c,v 1.6.2.2 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/execute.c b/contrib/isc-dhcp/common/execute.c index ec4b22ee5a3..805e578d394 100644 --- a/contrib/isc-dhcp/common/execute.c +++ b/contrib/isc-dhcp/common/execute.c @@ -3,7 +3,7 @@ Support for executable statements. */ /* - * Copyright (c) 1998-2001 Internet Software Consortium. + * Copyright (c) 1998-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: execute.c,v 1.44.2.8 2001/10/18 20:10:58 mellon Exp $ Copyright (c) 1998-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: execute.c,v 1.44.2.9 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1998-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/fddi.c b/contrib/isc-dhcp/common/fddi.c index d73d4509f27..259b9344bda 100644 --- a/contrib/isc-dhcp/common/fddi.c +++ b/contrib/isc-dhcp/common/fddi.c @@ -3,7 +3,7 @@ Packet assembly code, originally contributed by Archie Cobbs. */ /* - * Copyright (c) 1996-2000 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: fddi.c,v 1.3 2000/04/18 23:02:09 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: fddi.c,v 1.3.2.1 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/icmp.c b/contrib/isc-dhcp/common/icmp.c index e8f51961f41..9130c0392f9 100644 --- a/contrib/isc-dhcp/common/icmp.c +++ b/contrib/isc-dhcp/common/icmp.c @@ -4,7 +4,7 @@ responses. */ /* - * Copyright (c) 1996-2001 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,7 +44,7 @@ #ifndef lint static char copyright[] = -"$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"; +"$Id: icmp.c,v 1.30.2.5 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/inet.c b/contrib/isc-dhcp/common/inet.c index 158440e35e7..f4468673c5c 100644 --- a/contrib/isc-dhcp/common/inet.c +++ b/contrib/isc-dhcp/common/inet.c @@ -4,7 +4,7 @@ way... */ /* - * Copyright (c) 1995-2001 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,7 +44,7 @@ #ifndef lint static char copyright[] = -"$Id: inet.c,v 1.8.2.3 2001/06/21 16:59:00 mellon Exp $ Copyright (c) 1995-1999 The Internet Software Consortium. All rights reserved.\n"; +"$Id: inet.c,v 1.8.2.4 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/lpf.c b/contrib/isc-dhcp/common/lpf.c index da03c31115b..0c4023d1b07 100644 --- a/contrib/isc-dhcp/common/lpf.c +++ b/contrib/isc-dhcp/common/lpf.c @@ -4,7 +4,7 @@ Support Services in Vancouver, B.C. */ /* - * Copyright (c) 1996-2000 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,7 +37,7 @@ #ifndef lint static char copyright[] = -"$Id: lpf.c,v 1.29 2001/04/24 00:36:00 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: lpf.c,v 1.29.2.1 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/memory.c b/contrib/isc-dhcp/common/memory.c index 3c6d913dcb4..625839a6ff6 100644 --- a/contrib/isc-dhcp/common/memory.c +++ b/contrib/isc-dhcp/common/memory.c @@ -3,7 +3,7 @@ Memory-resident database... */ /* - * Copyright (c) 1995-2001 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: memory.c,v 1.66.2.3 2001/10/17 03:25:10 mellon Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: memory.c,v 1.66.2.4 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/nit.c b/contrib/isc-dhcp/common/nit.c index 59197f2a46f..50833ccd872 100644 --- a/contrib/isc-dhcp/common/nit.c +++ b/contrib/isc-dhcp/common/nit.c @@ -4,7 +4,7 @@ with one crucial tidbit of help from Stu Grossmen. */ /* - * Copyright (c) 1996-2000 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,7 +44,7 @@ #ifndef lint static char copyright[] = -"$Id: nit.c,v 1.34 2001/02/17 21:17:25 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: nit.c,v 1.34.2.1 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/options.c b/contrib/isc-dhcp/common/options.c index 37e98eb5ace..6c4562c1c93 100644 --- a/contrib/isc-dhcp/common/options.c +++ b/contrib/isc-dhcp/common/options.c @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: options.c,v 1.85.2.8 2002/02/19 20:36:52 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: options.c,v 1.85.2.9 2002/11/17 02:26:58 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #define DHCP_OPTION_DATA diff --git a/contrib/isc-dhcp/common/packet.c b/contrib/isc-dhcp/common/packet.c index 8fe38941292..07d40bb5abb 100644 --- a/contrib/isc-dhcp/common/packet.c +++ b/contrib/isc-dhcp/common/packet.c @@ -3,7 +3,7 @@ Packet assembly code, originally contributed by Archie Cobbs. */ /* - * Copyright (c) 1996-2001 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,7 +42,7 @@ #ifndef lint static char copyright[] = -"$Id: packet.c,v 1.40.2.1 2001/05/31 19:28:51 mellon Exp $ Copyright (c) 1996-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: packet.c,v 1.40.2.2 2002/11/17 02:26:59 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/parse.c b/contrib/isc-dhcp/common/parse.c index 15a661be30d..84b0691e893 100644 --- a/contrib/isc-dhcp/common/parse.c +++ b/contrib/isc-dhcp/common/parse.c @@ -3,7 +3,7 @@ Common parser code for dhcpd and dhclient. */ /* - * Copyright (c) 1995-2001 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$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"; +"$Id: parse.c,v 1.104.2.12 2002/11/17 02:58:34 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -3973,83 +3973,51 @@ int parse_expression (expr, cfile, lose, context, plhs, binop) case AND: next_op = expr_and; context = expression_context (rhs); - if (context != context_boolean) { - needbool: - parse_warn (cfile, "expecting boolean expressions"); - skip_to_semi (cfile); - expression_dereference (&rhs, MDL); - *lose = 1; - return 0; - } break; case OR: next_op = expr_or; context = expression_context (rhs); - if (context != context_boolean) - goto needbool; break; case PLUS: next_op = expr_add; context = expression_context (rhs); - if (context != context_numeric) { - neednum: - parse_warn (cfile, "expecting numeric expressions"); - skip_to_semi (cfile); - expression_dereference (&rhs, MDL); - *lose = 1; - return 0; - } break; case MINUS: next_op = expr_subtract; context = expression_context (rhs); - if (context != context_numeric) - goto neednum; break; case SLASH: next_op = expr_divide; context = expression_context (rhs); - if (context != context_numeric) - goto neednum; break; case ASTERISK: next_op = expr_multiply; context = expression_context (rhs); - if (context != context_numeric) - goto neednum; break; case PERCENT: next_op = expr_remainder; context = expression_context (rhs); - if (context != context_numeric) - goto neednum; break; case AMPERSAND: next_op = expr_binary_and; context = expression_context (rhs); - if (context != context_numeric) - goto neednum; break; case PIPE: next_op = expr_binary_or; context = expression_context (rhs); - if (context != context_numeric) - goto neednum; break; case CARET: next_op = expr_binary_xor; context = expression_context (rhs); - if (context != context_numeric) - goto neednum; break; default: @@ -4071,6 +4039,63 @@ int parse_expression (expr, cfile, lose, context, plhs, binop) goto new_rhs; } + if (binop != expr_none) { + if (expression_context (rhs) != expression_context (lhs)) { + parse_warn (cfile, "illegal expression relating different types"); + skip_to_semi (cfile); + expression_dereference (&rhs, MDL); + expression_dereference (&lhs, MDL); + *lose = 1; + return 0; + } + + switch(binop) { + case expr_not_equal: + case expr_equal: + if ((expression_context(rhs) != context_data_or_numeric) && + (expression_context(rhs) != context_data) && + (expression_context(rhs) != context_numeric)) { + parse_warn (cfile, "expecting data/numeric expression"); + skip_to_semi (cfile); + expression_dereference (&rhs, MDL); + *lose = 1; + return 0; + } + break; + + case expr_and: + case expr_or: + if (expression_context(rhs) != context_boolean) { + parse_warn (cfile, "expecting boolean expressions"); + skip_to_semi (cfile); + expression_dereference (&rhs, MDL); + *lose = 1; + return 0; + } + break; + + case expr_add: + case expr_subtract: + case expr_divide: + case expr_multiply: + case expr_remainder: + case expr_binary_and: + case expr_binary_or: + case expr_binary_xor: + if (expression_context(rhs) != context_numeric) { + parse_warn (cfile, "expecting numeric expressions"); + skip_to_semi (cfile); + expression_dereference (&rhs, MDL); + *lose = 1; + return 0; + } + break; + + default: + break; + } + } + /* Now, if we didn't find a binary operator, we're done parsing this subexpression, so combine it with the preceding binary operator and return the result. */ diff --git a/contrib/isc-dhcp/common/print.c b/contrib/isc-dhcp/common/print.c index 49f10762c0d..691f365d5cb 100644 --- a/contrib/isc-dhcp/common/print.c +++ b/contrib/isc-dhcp/common/print.c @@ -3,7 +3,7 @@ Turn data structures into printable text. */ /* - * Copyright (c) 1995-2001 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: print.c,v 1.53.2.6 2002/04/26 20:17:06 murray Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: print.c,v 1.53.2.7 2002/11/17 02:26:59 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/raw.c b/contrib/isc-dhcp/common/raw.c index c56b6816dd3..9ba3cb574cf 100644 --- a/contrib/isc-dhcp/common/raw.c +++ b/contrib/isc-dhcp/common/raw.c @@ -16,7 +16,7 @@ Sigh. */ /* - * Copyright (c) 1995-2000 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -56,7 +56,7 @@ #ifndef lint static char copyright[] = -"$Id: raw.c,v 1.17 2000/03/17 03:59:01 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; +"$Id: raw.c,v 1.17.2.1 2002/11/17 02:26:59 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/resolv.c b/contrib/isc-dhcp/common/resolv.c index 396f9ef747f..7299cf1ee1d 100644 --- a/contrib/isc-dhcp/common/resolv.c +++ b/contrib/isc-dhcp/common/resolv.c @@ -3,7 +3,7 @@ Parser for /etc/resolv.conf file. */ /* - * Copyright (c) 1996-2001 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: resolv.c,v 1.16 2001/05/02 06:39:43 mellon Exp $ Copyright (c) 1996-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: resolv.c,v 1.16.2.1 2002/11/17 02:26:59 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/socket.c b/contrib/isc-dhcp/common/socket.c index 6b105c64263..4742341c8d9 100644 --- a/contrib/isc-dhcp/common/socket.c +++ b/contrib/isc-dhcp/common/socket.c @@ -3,7 +3,7 @@ BSD socket interface code... */ /* - * Copyright (c) 1995-2000 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -51,7 +51,7 @@ #ifndef lint static char copyright[] = -"$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"; +"$Id: socket.c,v 1.55.2.3 2002/11/17 02:26:59 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/tables.c b/contrib/isc-dhcp/common/tables.c index bfdf0c16c8e..e94c91d8108 100644 --- a/contrib/isc-dhcp/common/tables.c +++ b/contrib/isc-dhcp/common/tables.c @@ -3,7 +3,7 @@ Tables of information... */ /* - * Copyright (c) 1995-2001 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: tables.c,v 1.51.2.5 2002/02/09 03:23:54 mellon Exp $ Copyright (c) 1995-2001 The Internet Software Consortium. All rights reserved.\n"; +"$Id: tables.c,v 1.51.2.6 2002/11/17 02:26:59 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/tr.c b/contrib/isc-dhcp/common/tr.c index 3352d0a6853..bcd095c254a 100644 --- a/contrib/isc-dhcp/common/tr.c +++ b/contrib/isc-dhcp/common/tr.c @@ -4,7 +4,7 @@ Contributed in May of 1999 by Andrew Chittenden */ /* - * Copyright (c) 1996-2000 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -37,7 +37,7 @@ #ifndef lint static char copyright[] = -"$Id: tr.c,v 1.7 2001/04/27 22:23:02 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: tr.c,v 1.7.2.1 2002/11/17 02:27:00 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/tree.c b/contrib/isc-dhcp/common/tree.c index a9254cc91a3..046e10a511d 100644 --- a/contrib/isc-dhcp/common/tree.c +++ b/contrib/isc-dhcp/common/tree.c @@ -3,7 +3,7 @@ Routines for manipulating parse trees... */ /* - * Copyright (c) 1995-2001 Internet Software Consortium. + * Copyright (c) 1995-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: tree.c,v 1.101.2.6 2001/10/18 20:12:16 mellon Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: tree.c,v 1.101.2.7 2002/11/17 02:27:00 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/common/upf.c b/contrib/isc-dhcp/common/upf.c index a737d57ab10..0fa4f884b30 100644 --- a/contrib/isc-dhcp/common/upf.c +++ b/contrib/isc-dhcp/common/upf.c @@ -3,7 +3,7 @@ Ultrix PacketFilter interface code. */ /* - * Copyright (c) 1996-2000 Internet Software Consortium. + * Copyright (c) 1996-2002 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,7 @@ #ifndef lint static char copyright[] = -"$Id: upf.c,v 1.21 2000/09/01 23:03:39 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n"; +"$Id: upf.c,v 1.21.2.1 2002/11/17 02:27:00 dhankins Exp $ Copyright (c) 1996-2002 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" diff --git a/contrib/isc-dhcp/dst/Makefile.dist b/contrib/isc-dhcp/dst/Makefile.dist index 2bd3369d7b3..2c8c104f5d2 100644 --- a/contrib/isc-dhcp/dst/Makefile.dist +++ b/contrib/isc-dhcp/dst/Makefile.dist @@ -1,6 +1,6 @@ # Makefile.dist # -# 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/includes/version.h b/contrib/isc-dhcp/includes/version.h index 8aeb568b3e9..cf8533059b4 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.1rc10" +#define DHCP_VERSION "V3.0.1rc11" diff --git a/contrib/isc-dhcp/minires/ns_name.c b/contrib/isc-dhcp/minires/ns_name.c index e815d245544..65cc6559937 100644 --- a/contrib/isc-dhcp/minires/ns_name.c +++ b/contrib/isc-dhcp/minires/ns_name.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996,1999 by Internet Software Consortium. + * Copyright (c) 1996,1999-2003 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -16,7 +16,7 @@ */ #ifndef lint -static const char rcsid[] = "$Id: ns_name.c,v 1.1 2000/02/02 07:28:14 mellon Exp $"; +static const char rcsid[] = "$Id: ns_name.c,v 1.1.2.4 2003/01/14 23:15:06 dhankins Exp $"; #endif #include @@ -255,6 +255,10 @@ ns_name_ntol(const u_char *src, u_char *dst, size_t dstsiz) { dn = dst; eom = dst + dstsiz; + if (dn >= eom) { + errno = EMSGSIZE; + return (-1); + } while ((n = *cp++) != 0) { if ((n & NS_CMPRSFLGS) != 0) { /* Some kind of compression pointer. */ diff --git a/contrib/isc-dhcp/minires/ns_samedomain.c b/contrib/isc-dhcp/minires/ns_samedomain.c index ac17a52378e..68770580eea 100644 --- a/contrib/isc-dhcp/minires/ns_samedomain.c +++ b/contrib/isc-dhcp/minires/ns_samedomain.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995,1999 by Internet Software Consortium. + * Copyright (c) 1995,1999-2003 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -16,7 +16,7 @@ */ #ifndef lint -static const char rcsid[] = "$Id: ns_samedomain.c,v 1.3 2001/01/16 22:33:09 mellon Exp $"; +static const char rcsid[] = "$Id: ns_samedomain.c,v 1.3.2.3 2003/01/14 23:15:06 dhankins Exp $"; #endif #include @@ -168,7 +168,7 @@ ns_makecanon(const char *src, char *dst, size_t dstsize) { size_t n = strlen(src); if (n + sizeof "." > dstsize) { - ISC_R_NOSPACE; + return ISC_R_NOSPACE; } strcpy(dst, src); while (n > 0 && dst[n - 1] == '.') /* Ends in "." */ diff --git a/contrib/isc-dhcp/minires/ns_sign.c b/contrib/isc-dhcp/minires/ns_sign.c index 6570c669ee1..5cfd8f4d1a9 100644 --- a/contrib/isc-dhcp/minires/ns_sign.c +++ b/contrib/isc-dhcp/minires/ns_sign.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999-2001 by Internet Software Consortium, Inc. + * Copyright (c) 1999-2003 by Internet Software Consortium, Inc. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -16,7 +16,7 @@ */ #ifndef lint -static const char rcsid[] = "$Id: ns_sign.c,v 1.4.2.1 2001/05/17 20:47:33 mellon Exp $"; +static const char rcsid[] = "$Id: ns_sign.c,v 1.4.2.3 2003/01/14 23:15:06 dhankins Exp $"; #endif #if defined (TRACING) @@ -87,7 +87,7 @@ ns_sign(u_char *msg, unsigned *msglen, unsigned msgsize, int error, void *k, dst_init(); if (msg == NULL || msglen == NULL || sig == NULL || siglen == NULL) - ISC_R_INVALIDARG; + return ISC_R_INVALIDARG; /* Name. */ if (key != NULL && error != ns_r_badsig && error != ns_r_badkey) @@ -118,7 +118,7 @@ ns_sign(u_char *msg, unsigned *msglen, unsigned msgsize, int error, void *k, else n = dn_comp("", cp, (unsigned)(eob - cp), NULL, NULL); if (n < 0) - ISC_R_NOSPACE; + return ISC_R_NOSPACE; alg = cp; cp += n; @@ -190,7 +190,7 @@ ns_sign(u_char *msg, unsigned *msglen, unsigned msgsize, int error, void *k, n = dst_sign_data(SIG_MODE_FINAL, key, &ctx, NULL, 0, sig, *siglen); if (n < 0) - ISC_R_BADKEY; + return ISC_R_BADKEY; *siglen = n; } else *siglen = 0; diff --git a/contrib/isc-dhcp/minires/res_findzonecut.c b/contrib/isc-dhcp/minires/res_findzonecut.c index fc86900b393..2e5c594ed51 100644 --- a/contrib/isc-dhcp/minires/res_findzonecut.c +++ b/contrib/isc-dhcp/minires/res_findzonecut.c @@ -1,9 +1,9 @@ #if !defined(lint) && !defined(SABER) -static const char rcsid[] = "$Id: res_findzonecut.c,v 1.14.2.1 2001/05/17 20:47:35 mellon Exp $"; +static const char rcsid[] = "$Id: res_findzonecut.c,v 1.14.2.3 2003/01/14 23:15:06 dhankins Exp $"; #endif /* not lint */ /* - * Copyright (c) 1999 by Internet Software Consortium. + * Copyright (c) 1999-2003 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -355,7 +355,7 @@ get_soa(res_state statp, const char *dname, ns_class class, while (*dname != '.') { if (*dname == '\\') if (*++dname == '\0') { - ISC_R_NOSPACE; + return ISC_R_NOSPACE; } dname++; } diff --git a/contrib/isc-dhcp/omapip/alloc.c b/contrib/isc-dhcp/omapip/alloc.c index 245bdaf9bec..8153a4b7d88 100644 --- a/contrib/isc-dhcp/omapip/alloc.c +++ b/contrib/isc-dhcp/omapip/alloc.c @@ -4,7 +4,7 @@ protocol... */ /* - * Copyright (c) 1999-2001 Internet Software Consortium. + * Copyright (c) 1999-2003 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -820,8 +820,10 @@ isc_result_t omapi_typed_data_new (const char *file, int line, obj = va_arg (l, omapi_object_t *); break; default: + va_end (l); return ISC_R_INVALIDARG; } + va_end (l); new = dmalloc (len, file, line); if (!new) diff --git a/contrib/isc-dhcp/omapip/message.c b/contrib/isc-dhcp/omapip/message.c index a073669947b..0e97e15f783 100644 --- a/contrib/isc-dhcp/omapip/message.c +++ b/contrib/isc-dhcp/omapip/message.c @@ -3,7 +3,7 @@ Subroutines for dealing with message objects. */ /* - * Copyright (c) 1999-2000 Internet Software Consortium. + * Copyright (c) 1999-2003 Internet Software Consortium. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -327,6 +327,7 @@ isc_result_t omapi_message_unregister (omapi_object_t *mo) omapi_object_reference ((omapi_object_t **)&n, (omapi_object_t *)m -> next, MDL); omapi_object_dereference ((omapi_object_t **)&m -> next, MDL); + omapi_object_dereference ((omapi_object_t **)&n -> prev, MDL); } if (m -> prev) { omapi_message_object_t *tmp = (omapi_message_object_t *)0; @@ -707,10 +708,12 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po) status = omapi_protocol_send_status (po, message -> id_object, ISC_R_SUCCESS, message -> id, (char *)0); - if (m) + if (m) { omapi_signal ((omapi_object_t *)m, "status", ISC_R_SUCCESS, (omapi_typed_data_t *)0); + omapi_message_unregister ((omapi_object_t *)m); + } omapi_object_dereference (&object, MDL); @@ -743,6 +746,9 @@ omapi_message_process_internal (omapi_object_t *mo, omapi_object_t *po) omapi_signal ((omapi_object_t *)m, "status", waitstatus, tv); if (status == ISC_R_SUCCESS) omapi_value_dereference (&tv, MDL); + + omapi_message_unregister((omapi_object_t *)m); + return ISC_R_SUCCESS; case OMAPI_OP_DELETE: