OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 19-Feb-2003 14:00:17
Branch: OPENPKG_1_STABLE Handle: 2003021913001600
Added files: (Branch: OPENPKG_1_STABLE)
openpkg-src/dhcpd dhcpd.patch
Modified files: (Branch: OPENPKG_1_STABLE)
openpkg-src/dhcpd dhcpd.spec
Log:
towards SA-2003.012-dhcpd; CAN-2003-0039
Summary:
Revision Changes Path
1.2.4.1 +53 -0 openpkg-src/dhcpd/dhcpd.patch
1.32.2.2 +4 -2 openpkg-src/dhcpd/dhcpd.spec
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/dhcpd/dhcpd.patch
============================================================================
$ cvs diff -u -r0 -r1.2.4.1 dhcpd.patch
--- /dev/null 2003-02-19 14:00:17.000000000 +0100
+++ dhcpd.patch 2003-02-19 14:00:17.000000000 +0100
@@ -0,0 +1,53 @@
+--- relay/dhcrelay.c-orig Sat Apr 27 05:34:20 2002
++++ relay/dhcrelay.c Wed Feb 19 12:44:19 2003
+@@ -88,6 +88,7 @@
+ did not match any known circuit ID. */
+ int missing_circuit_id = 0; /* Circuit ID option in matching RAI option
+ was missing. */
++int max_hop_count = 4; /* Maximum hop count */
+
+ /* Maximum size of a packet with agent options added. */
+ int dhcp_max_agent_option_packet_length = 576;
+@@ -182,6 +183,15 @@
+ quiet_interface_discovery = 1;
+ } else if (!strcmp (argv [i], "-a")) {
+ add_agent_options = 1;
++ } else if (!strcmp (argv [i], "-c")) {
++ int hcount;
++ if (++i == argc)
++ usage ();
++ hcount = atoi(argv[i]);
++ if (hcount <= 16)
++ max_hop_count = hcount;
++ else
++ usage ();
+ } else if (!strcmp (argv [i], "-A")) {
+ if (++i == argc)
+ usage ();
+@@ -425,6 +435,17 @@
+ packet -> giaddr = ip -> primary_address;
+ if (packet -> hops != 255)
+ packet -> hops = packet -> hops + 1;
++
++ /* ftp://ftp.rfc-editor.org/in-notes/rfc1542.txt
++ * 4.1.1 BOOTREQUEST Messages
++ * The relay agent MUST silently discard BOOTREQUEST messages whose
++ * 'hops' field exceeds the value 16. A configuration option SHOULD be
++ * provided to set this threshold to a smaller value if desired by the
++ * network manager. The default setting for a configurable threshold
++ * SHOULD be 4.
++ */
++ if (packet -> hops >= max_hop_count)
++ return;
+
+ /* Otherwise, it's a BOOTREQUEST, so forward it to all the
+ servers. */
+@@ -470,7 +470,7 @@
+ static void usage ()
+ {
+ log_fatal ("Usage: dhcrelay [-p <port>] [-d] [-D] [-i %s%s%s",
+- "interface]\n ",
++ "interface] [-c max_hop_count]\n ",
+ "[-q] [-a] [-A length] [-m append|replace|forward|discard]\n",
+ " [server1 [... serverN]]");
+ }
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/dhcpd/dhcpd.spec
============================================================================
$ cvs diff -u -r1.32.2.1 -r1.32.2.2 dhcpd.spec
--- openpkg-src/dhcpd/dhcpd.spec 18 Jan 2003 14:11:34 -0000 1.32.2.1
+++ openpkg-src/dhcpd/dhcpd.spec 19 Feb 2003 13:00:16 -0000 1.32.2.2
@@ -26,19 +26,20 @@
# package information
Name: dhcpd
Summary: DHCP Daemon
-URL: http://www.isc.org/products/ISC/
+URL: http://www.isc.org/products/DHCP/
Vendor: Internet Software Consortium
Packager: The OpenPKG Project
Distribution: OpenPKG [BASE]
Group: DNS
License: ISC/BSD
Version: 3.0.1rc11
-Release: 1.20030116
+Release: 1.20030219
# list of sources
Source0: ftp://ftp.isc.org/isc/dhcp/dhcp-%{version}.tar.gz
Source1: dhcpd.conf
Source2: rc.dhcpd
+Patch0: dhcpd.patch
# build information
Prefix: %{l_prefix}
@@ -53,6 +54,7 @@
%prep
%setup -q -n dhcp-%{version}
+ %patch
%build
( echo 'CC = %{l_cc}'
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]