diff options
47 files changed, 182 insertions, 119 deletions
diff --git a/contrib/isc-dhcp/COPYRIGHT b/contrib/isc-dhcp/COPYRIGHT index c455564..593f4f9 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 78e6583..4033b8b 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 348964c..3d1552c 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 a1f8a38..d997dcf 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 e59e02f..2ec186e 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 948f963..04a51f1 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 a996a02..6420700 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 595dae6..2cf5fe8 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 afa8e02..542654f 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 5ed0204..051cbab 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 c59c571..fd47735 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 a038903..52476ee 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 34b6ab7..761be26 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 bea933c..6dcddff 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 e87c617..539302b 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 17349e8..5ee09ec 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 bb820a3..8dadde0 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 7c8545b..bd87675 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 4cbc332..eea2f38 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 897d78d..5412f55 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 309084a..92269bc 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 ec4b22e..805e578 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 d73d450..259b934 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 e8f5196..9130c03 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 158440e..f446867 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 da03c31..0c4023d 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 3c6d913..625839a 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 59197f2a4..50833cc 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 37e98eb..6c4562c 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 8fe3894..07d40bb 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 15a661b..84b0691 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 49f1076..691f365 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 c56b681..9ba3cb5 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 396f9ef..7299cf1 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 6b105c6..4742341 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 bfdf0c1..e94c91d 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 3352d0a..bcd095c 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 a9254cc..046e10a 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 a737d57..0fa4f88 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 2bd3369..2c8c104 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 8aeb568..cf85330 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 e815d24..65cc655 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 <sys/types.h> @@ -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 ac17a52..6877058 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 <sys/types.h> @@ -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 6570c66..5cfd8f4 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 fc86900..2e5c594 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 245bdaf..8153a4b 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 a073669..0e97e15 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: |