diff -rNc2 dhcp-2.0b1pl9/README dhcp-2.0b1pl10/README *** dhcp-2.0b1pl9/README Wed Feb 3 11:53:32 1999 --- dhcp-2.0b1pl10/README Fri Feb 5 12:38:54 1999 *************** *** 1,6 **** Internet Software Consortium Dynamic Host Configuration Protocol Distribution ! Version 2, Beta 1, Patchlevel 9 ! February 3, 1998 This is the first Beta release of Version 2 of the Internet Software --- 1,6 ---- Internet Software Consortium Dynamic Host Configuration Protocol Distribution ! Version 2, Beta 1, Patchlevel 10 ! February 5, 1998 This is the first Beta release of Version 2 of the Internet Software *************** *** 13,23 **** In this release, the server and relay agent currently work well on ! Digital Alpha OSF/1, SunOS 4.1.4, NetBSD, FreeBSD, BSD/OS and Ultrix. ! They can also be run usefully on Solaris as long as only one broadcast ! network interface is configured. They also runs on QNX and Linux as long as only one broadcast network interface is configured and a host route is added from that interface to the 255.255.255.255 broadcast ! address. If you are running a Linux 2.0.31 kernel, the DHCP daemons ! may be able to operate on more than one interface. The DHCP client currently only knows how to configure the network on --- 13,24 ---- In this release, the server and relay agent currently work well on ! NetBSD, Linux, FreeBSD, BSD/OS, Ultrix, Digital Alpha OSF/1, and SunOS ! 4.1.4. They can also be run usefully on Solaris as long as only one ! broadcast network interface is configured. They also runs on QNX as long as only one broadcast network interface is configured and a host route is added from that interface to the 255.255.255.255 broadcast ! address. If you are running a Linux 2.0.30 or previous kernel, the ! DHCP daemons will only be able to operate on machines with a single ! network interface. The DHCP client currently only knows how to configure the network on *************** *** 28,32 **** If you wish to run the DHCP Distribution on Linux, please see the ! Linux-specific notes later in this document. If you wish to run on a SCO release, please see the SCO-specific notes later in this document. You particularly need to read these notes if you intend to support --- 29,33 ---- If you wish to run the DHCP Distribution on Linux, please see the ! Linux-specific notes later in this document. If you wish to run on an SCO release, please see the SCO-specific notes later in this document. You particularly need to read these notes if you intend to support *************** *** 47,53 **** the tar utility and the gzip command - type something like: ! zcat dhcp-2.0b1pl9.tar.gz |tar xvf - ! Now, cd to the dhcp-2.0b1pl9 subdirectory that you've just created and configure the source tree by typing: --- 48,54 ---- the tar utility and the gzip command - type something like: ! zcat dhcp-2.0b1pl10.tar.gz |tar xvf - ! Now, cd to the dhcp-2.0b1pl10 subdirectory that you've just created and configure the source tree by typing: *************** *** 79,85 **** There are three big LINUX issues: the all-ones broadcast address, Linux 2.1 ip_bootp_agent enabling, and operations with more than one ! network interface. ! BROADCAST In order for dhcpd to work correctly with picky DHCP clients (e.g., --- 80,119 ---- There are three big LINUX issues: the all-ones broadcast address, Linux 2.1 ip_bootp_agent enabling, and operations with more than one ! 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: SO_ATTACH_FILTER UNDECLARED ! ! In addition, there is a minor issue that we will mention here because ! this release is so close on the heels of the Linux 2.2 release: there ! is a symlink in /usr/include that points at the linux asm headers. It ! appears to be not uncommon that this link won't be updated correctly, ! in which case you'll get the following error when you try to build: ! ! lpf.c: In function `if_register_receive': ! lpf.c:152: `SO_ATTACH_FILTER' undeclared (first use this function) ! lpf.c:152: (Each undeclared identifier is reported only once ! lpf.c:152: for each function it appears in.) ! ! The line numbers may be different, of course. If you see this ! header, your linux asm header link is probably bad, and you should ! make sure it's pointing to correct linux source directory. ! ! LINUX: PROTOCOL NOT CONFIGURED ! ! One additional Linux 2.1/2.2 issue: if you get the following message, ! it's because your kernel doesn't have the linux packetfilter ! configured: ! ! Can't install packet filter program: Protocol not available ! exiting. ! ! If this happens, you need to edit your linux kernel .config file, set ! CONFIG_FILTER=y, and rebuild your kernel. If the preceding sentence ! made no sense to you, ask your Linux vendor/guru for help - please ! don't ask us. ! LINUX: BROADCAST In order for dhcpd to work correctly with picky DHCP clients (e.g., *************** *** 116,120 **** specify the network interface you *are* using in your route command. ! IP BOOTP AGENT Some versions of the Linux 2.1 kernel apparently prevent dhcpd from --- 150,154 ---- specify the network interface you *are* using in your route command. ! LINUX: IP BOOTP AGENT Some versions of the Linux 2.1 kernel apparently prevent dhcpd from *************** *** 124,128 **** ! MULTIPLE INTERFACES Most older versions of the Linux kernel do not provide a networking --- 158,162 ---- ! LINUX: MULTIPLE INTERFACES Most older versions of the Linux kernel do not provide a networking *************** *** 133,150 **** is possible for dhcpd to operate on Linux with more than one network interface. In order to take advantage of this, you must be running a ! 2.0.31 or greater kernel, and you must have 2.0.31 system headers ! installed *before* you build dhcpd. ! ! NOTE: People have been having problems finding the 2.0.31 kernel ! because it was only available as a prerelease patch. As of October ! 17, Linux 2.0.31 is the stable Linux kernel, and is available as a ! kernel distribution rather than as a test patch. With any luck, it ! will be in the latest version of your favourite Linux distribution ! soon. ! ! If you are running a Linux 2.1 kernel, this does not guarantee that you ! have SO_BINDTODEVICE. Linux 2.0.31 was released quite a while after 2.1 ! kernel development began. The earliest Linux kernel in the 2.1 ! development stream with SO_BINDTODEVICE is version 2.1.68. We have heard reports that you must still add routes to 255.255.255.255 --- 167,172 ---- is possible for dhcpd to operate on Linux with more than one network interface. In order to take advantage of this, you must be running a ! 2.0.31 or greater kernel, and you must have 2.0.31 or later system ! headers installed *before* you build the DHCP Distribution. We have heard reports that you must still add routes to 255.255.255.255 diff -rNc2 dhcp-2.0b1pl9/RELNOTES dhcp-2.0b1pl10/RELNOTES *** dhcp-2.0b1pl9/RELNOTES Wed Feb 3 11:53:11 1999 --- dhcp-2.0b1pl10/RELNOTES Fri Feb 5 12:47:36 1999 *************** *** 1,6 **** Internet Software Consortium Dynamic Host Configuration Protocol Distribution ! Version 2, Beta 1, Patchlevel 9 ! February 3, 1998 Release Notes --- 1,6 ---- Internet Software Consortium Dynamic Host Configuration Protocol Distribution ! Version 2, Beta 1, Patchlevel 10 ! February 5, 1998 Release Notes *************** *** 14,19 **** Version 1 of the ISC DHCP Distribution includes just a DHCP Server. Version 1 has been in feature freeze since late 1996, and is quite ! stable. This is the release that we would expect most sites to run in ! production. Version 2 of the ISC DHCP Distribution adds a DHCP Client and a --- 14,19 ---- Version 1 of the ISC DHCP Distribution includes just a DHCP Server. Version 1 has been in feature freeze since late 1996, and is quite ! stable. This is the release that we would expect very conservative ! sites to run in production, but it is no longer recommended. Version 2 of the ISC DHCP Distribution adds a DHCP Client and a *************** *** 34,49 **** using are disciplined quickly. ! This version is now in Beta testing, and is planned for release in ! mid-1999. It has a number of new features, and is the release that we ! would expect sites that want some stability but need the new lease ! testing feature, or need a client or relay agent. Note that it is ! possible to run the Version 1 server with the Version 2 client. ! Version 3 of the ISC DHCP Distribution will add Dynamic DNS Support, asynchronous DNS query resolution, DHCP Authentication, and possibly support for a DHCP Interserver Protocol and live querying of the DHCP ! database. This release is not expected to be stable in the near ! future, and is intended for sites that are in a position to experiment, or for sites that desperately need the new features. CHANGES FROM VERSION 2.0 BETA 1 PATCHLEVEL 8 --- 34,98 ---- using are disciplined quickly. ! This version has been in a near feature freeze since January of 1998, ! has been in Beta test since then, and is planned for final release in ! mid-1999. It has a number of important features, and is the release ! that we would expect most sites to run. It is possible to run the ! Version 1 server with the Version 2 client at sites that want to be ! really conservative. ! Version 3 of the ISC DHCP Distribution will add conditional behaviour, ! client classing, Dynamic DNS Support, DHCPv4 16-bit option codes, asynchronous DNS query resolution, DHCP Authentication, and possibly support for a DHCP Interserver Protocol and live querying of the DHCP ! database. Currently, only client classing and conditional behaviour ! have been implemented - the DNS code is waiting for an enhanced DNS ! resolver. The code has gone through a major internal restructuring ! which will help to support wider option codes, and possibly IPv6, as ! well as a more sensible memory allocation strategy. This release is ! running in producion at the ISC, but is not expected to be stable in ! the near future, and is intended for sites that are in a position to experiment, or for sites that desperately need the new features. + + CHANGES FROM VERSION 2.0 BETA 1 PATCHLEVEL 9 + + - Correct the hopelessly outdated information about Linux at the top + of the README - many apologies to the Linux people who have had to + read that nonsense for the past couple of snapshots and have been + confused or annoyed by it. I simply hadn't read it recently, and + didn't realize how out-of-date it was. + + - Print a message if the client finds no broadcast interfaces to + configure. + + - Add support for use-lease-addr-for-default-route flag in server, so + that Windows machines can be made to ARP for all addresses. + + - Update README file to mention new Linux gotchas. + + - After finally understanding Brian Murrel's code (my fault, not his) + to get interface names from /proc/net/dev on Linux, fix what I broke + of his code and document it. + + - Use sendto rather than send for SOCK_PACKET sockets, because they + can't be connected, only bound. :'( + + - Fix up SOCK_PACKET creation so that the kernel doesn't complain + about it. + + - Fix incorrect tests in linux client script: + [ $relmajor == 2 ] -> [ $relmajor -eq 2 ] + + - Make typedefs for u8, u16 and u32 types. These are Linux kernel + internal data types which are unfortunately exposed in the linux + packetfilter header file. + + - Don't include in lpf.c - it defines things we're + already correctly defining elsewhere, and doesn't define any useful + new stuff. + + - Finally fix client PREINIT bug that causes interfaces not specified + on the command line to be preinitialized. If no interfaces are + specified on the command line, all interfaces are still + preinitialized. CHANGES FROM VERSION 2.0 BETA 1 PATCHLEVEL 8 diff -rNc2 dhcp-2.0b1pl9/client/dhclient.c dhcp-2.0b1pl10/client/dhclient.c *** dhcp-2.0b1pl9/client/dhclient.c Wed Feb 3 11:41:21 1999 --- dhcp-2.0b1pl10/client/dhclient.c Fri Feb 5 12:31:22 1999 *************** *** 57,61 **** #ifndef lint static char ocopyright[] = ! "$Id: dhclient.c,v 1.44.2.10 1999/02/03 19:41:21 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ --- 57,61 ---- #ifndef lint static char ocopyright[] = ! "$Id: dhclient.c,v 1.44.2.13 1999/02/05 20:31:22 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ *************** *** 93,97 **** "Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium."; static char arr [] = "All rights reserved."; ! static char message [] = "Internet Software Consortium DHCP Client V2.0b1pl9"; static char contrib [] = "\nPlease contribute if you find this software useful."; static char url [] = "For info, please visit http://www.isc.org/dhcp-contrib.html\n"; --- 93,97 ---- "Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium."; static char arr [] = "All rights reserved."; ! static char message [] = "Internet Software Consortium DHCP Client V2.0b1pl10"; static char contrib [] = "\nPlease contribute if you find this software useful."; static char url [] = "For info, please visit http://www.isc.org/dhcp-contrib.html\n"; *************** *** 207,210 **** --- 207,211 ---- script_go ((struct interface_info *)0); + note ("No broadcast interfaces found - exiting."); /* Nothing more to do. */ exit (0); *************** *** 216,221 **** if (interfaces_requested && ((ip -> flags & (INTERFACE_REQUESTED | ! INTERFACE_AUTOMATIC)) == ! INTERFACE_AUTOMATIC)) continue; script_init (ip, "PREINIT", (struct string_list *)0); --- 217,222 ---- if (interfaces_requested && ((ip -> flags & (INTERFACE_REQUESTED | ! INTERFACE_AUTOMATIC)) != ! INTERFACE_REQUESTED)) continue; script_init (ip, "PREINIT", (struct string_list *)0); diff -rNc2 dhcp-2.0b1pl9/client/scripts/linux dhcp-2.0b1pl10/client/scripts/linux *** dhcp-2.0b1pl9/client/scripts/linux Wed Feb 3 10:59:47 1999 --- dhcp-2.0b1pl10/client/scripts/linux Fri Feb 5 12:15:48 1999 *************** *** 75,79 **** ifconfig $interface:0- inet 0 fi ! if [ $relmajor -lt 2 ] || ( [ $relmajor == 2 ] && [ $relminor == 0 ] ); then ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \ broadcast 255.255.255.255 up --- 75,80 ---- ifconfig $interface:0- inet 0 fi ! if [ $relmajor -lt 2 ] || ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ) ! then ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \ broadcast 255.255.255.255 up *************** *** 114,118 **** # Add a network route to the computed network address. if [ $relmajor -lt 2 ] || \ ! ( [ $relmajor == 2 ] && [ $relminor == 0 ] ); then route add -net $new_network_number $new_subnet_arg dev $interface fi --- 115,119 ---- # Add a network route to the computed network address. if [ $relmajor -lt 2 ] || \ ! ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then route add -net $new_network_number $new_subnet_arg dev $interface fi *************** *** 165,169 **** fi if [ $relmajor -lt 2 ] || \ ! ( [ $relmajor == 2 ] && [ $relminor == 0 ] ); then route add -net $new_network_number fi --- 166,170 ---- fi if [ $relmajor -lt 2 ] || \ ! ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then route add -net $new_network_number fi diff -rNc2 dhcp-2.0b1pl9/common/bpf.c dhcp-2.0b1pl10/common/bpf.c *** dhcp-2.0b1pl9/common/bpf.c Wed Feb 3 11:46:04 1999 --- dhcp-2.0b1pl10/common/bpf.c Thu Feb 4 14:10:09 1999 *************** *** 43,47 **** #ifndef lint static char copyright[] = ! "$Id: bpf.c,v 1.19.2.4 1999/02/03 19:46:04 mellon Exp $ Copyright (c) 1995, 1996, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ --- 43,47 ---- #ifndef lint static char copyright[] = ! "$Id: bpf.c,v 1.19.2.5 1999/02/04 22:10:09 mellon Exp $ Copyright (c) 1995, 1996, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ *************** *** 52,56 **** # include # include - # include # define bpf_insn sock_filter /* Linux: dare to be gratuitously different. */ # else --- 52,55 ---- diff -rNc2 dhcp-2.0b1pl9/common/conflex.c dhcp-2.0b1pl10/common/conflex.c *** dhcp-2.0b1pl9/common/conflex.c Tue Dec 22 14:39:58 1998 --- dhcp-2.0b1pl10/common/conflex.c Thu Feb 4 14:10:50 1999 *************** *** 43,47 **** #ifndef lint static char copyright[] = ! "$Id: conflex.c,v 1.29.2.1 1998/12/22 22:39:58 mellon Exp $ Copyright (c) 1995, 1996, 1997 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ --- 43,47 ---- #ifndef lint static char copyright[] = ! "$Id: conflex.c,v 1.29.2.2 1999/02/04 22:10:50 mellon Exp $ Copyright (c) 1995, 1996, 1997 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ *************** *** 529,538 **** break; case 'u': if (!strcasecmp (atom + 1, "id")) return UID; - if (!strcasecmp (atom + 1, "ser-class")) - return USER_CLASS; - if (!strcasecmp (atom + 1, "se-host-decl-names")) - return USE_HOST_DECL_NAMES; if (!strcasecmp (atom + 1, "nknown-clients")) return UNKNOWN_CLIENTS; --- 529,544 ---- break; case 'u': + if (!strncasecmp (atom + 1, "se", 2)) { + if (!strcasecmp (atom + 3, "r-class")) + return USER_CLASS; + if (!strcasecmp (atom + 3, "-host-decl-names")) + return USE_HOST_DECL_NAMES; + if (!strcasecmp (atom + 3, + "-lease-addr-for-default-route")) + return USE_LEASE_ADDR_FOR_DEFAULT_ROUTE; + break; + } if (!strcasecmp (atom + 1, "id")) return UID; if (!strcasecmp (atom + 1, "nknown-clients")) return UNKNOWN_CLIENTS; diff -rNc2 dhcp-2.0b1pl9/common/dhcp-options.cat5 dhcp-2.0b1pl10/common/dhcp-options.cat5 *** dhcp-2.0b1pl9/common/dhcp-options.cat5 Fri Nov 21 23:06:23 1997 --- dhcp-2.0b1pl10/common/dhcp-options.cat5 Fri Feb 5 12:55:39 1999 *************** *** 89,128 **** The standard options are: ! ooppttiioonn ssuubbnneett--mmaasskk _i_p_-_a_d_d_r_e_s_s;; ! The subnet mask option specifies the client's subnet mask ! as per RFC 950. If no subnet mask option is provided any­ ! where in scope, as a last resort dhcpd will use the subnet ! mask from the subnet declaration for the network on which ! an address is being assigned. However, _a_n_y subnet-mask ! option declaration that is in scope for the address being ! assigned will override the subnet mask specified in the ! subnet declaration. ! ooppttiioonn ttiimmee--ooffffsseett _i_n_t_3_2;; ! The time-offset option specifies the offset of the ! client's subnet in seconds from Coordinated Universal Time ! (UTC). ! ooppttiioonn rroouutteerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! The routers option specifies a list of IP addresses for ! routers on the client's subnet. Routers should be listed ! in order of preference. ! ooppttiioonn ttiimmee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s _[_, _i_p_-_a_d_d_r_e_s_s ... ];; ! The time-server option specifies a list of RFC 868 time ! servers available to the client. Servers should be listed ! in order of preference. ! ooppttiioonn iieenn111166--nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ! ]; ! The ien116-name-servers option specifies a list of IEN 116 ! name servers available to the client. Servers should be ! listed in order of preference. --- 89,128 ---- The standard options are: ! ooppttiioonn ssuubbnneett--mmaasskk _i_p_-_a_d_d_r_e_s_s;; ! The subnet mask option specifies the client's subnet ! mask as per RFC 950. If no subnet mask option is pro­ ! vided anywhere in scope, as a last resort dhcpd will ! use the subnet mask from the subnet declaration for the ! network on which an address is being assigned. How­ ! ever, _a_n_y subnet-mask option declaration that is in ! scope for the address being assigned will override the ! subnet mask specified in the subnet declaration. ! ooppttiioonn ttiimmee--ooffffsseett _i_n_t_3_2;; ! The time-offset option specifies the offset of the ! client's subnet in seconds from Coordinated Universal ! Time (UTC). ! ooppttiioonn rroouutteerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! The routers option specifies a list of IP addresses for ! routers on the client's subnet. Routers should be ! listed in order of preference. ! ooppttiioonn ttiimmee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s... ];; ! The time-server option specifies a list of RFC 868 time ! servers available to the client. Servers should be ! listed in order of preference. ! ooppttiioonn iieenn111166--nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ]; ! The ien116-name-servers option specifies a list of IEN ! 116 name servers available to the client. Servers ! should be listed in order of preference. + ooppttiioonn ddoommaaiinn--nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; *************** *** 137,194 **** ! ooppttiioonn ddoommaaiinn--nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ! ];; ! ! The domain-name-servers option specifies a list of Domain ! Name System (STD 13, RFC 1035) name servers available to ! the client. Servers should be listed in order of prefer­ ! ence. ! ooppttiioonn lloogg--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! The log-server option specifies a list of MIT-LCS UDP log ! servers available to the client. Servers should be listed ! in order of preference. ! ooppttiioonn ccooookkiiee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! The cookie server option specifies a list of RFC 865 ! cookie servers available to the client. Servers should be ! listed in order of preference. ! ooppttiioonn llpprr--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! The LPR server option specifies a list of RFC 1179 line ! printer servers available to the client. Servers should ! be listed in order of preference. ! ooppttiioonn iimmpprreessss--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! The impress-server option specifies a list of Imagen ! Impress servers available to the client. Servers should ! be listed in order of preference. ! ooppttiioonn rreessoouurrccee--llooccaattiioonn--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ! ... ];; ! This option specifies a list of RFC 887 Resource Location ! servers available to the client. Servers should be listed ! in order of preference. ! ooppttiioonn hhoosstt--nnaammee _s_t_r_i_n_g;; ! This option specifies the name of the client. The name ! may or may not be qualified with the local domain name (it ! is preferable to use the domain-name option to specify the ! domain name). See RFC 1035 for character set restric­ ! tions. ! ooppttiioonn bboooott--ssiizzee _u_i_n_t_1_6;; ! This option specifies the length in 512-octet blocks of ! the default boot image for the client. ! ooppttiioonn mmeerriitt--dduummpp _s_t_r_i_n_g;; --- 137,194 ---- ! The domain-name-servers option specifies a list of ! Domain Name System (STD 13, RFC 1035) name servers ! available to the client. Servers should be listed in ! order of preference. ! ooppttiioonn lloogg--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! The log-server option specifies a list of MIT-LCS UDP ! log servers available to the client. Servers should be ! listed in order of preference. ! ooppttiioonn ccooookkiiee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! The cookie server option specifies a list of RFC 865 ! cookie servers available to the client. Servers should ! be listed in order of preference. ! ooppttiioonn llpprr--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! The LPR server option specifies a list of RFC 1179 line ! printer servers available to the client. Servers ! should be listed in order of preference. ! ooppttiioonn iimmpprreessss--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! The impress-server option specifies a list of Imagen ! Impress servers available to the client. Servers ! should be listed in order of preference. ! ooppttiioonn rreessoouurrccee--llooccaattiioonn--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_- ! _a_d_d_r_e_s_s... ];; ! This option specifies a list of RFC 887 Resource Loca­ ! tion servers available to the client. Servers should ! be listed in order of preference. ! ooppttiioonn hhoosstt--nnaammee _s_t_r_i_n_g;; ! This option specifies the name of the client. The name ! may or may not be qualified with the local domain name ! (it is preferable to use the domain-name option to ! specify the domain name). See RFC 1035 for character ! set restrictions. ! ooppttiioonn bboooott--ssiizzee _u_i_n_t_1_6;; ! This option specifies the length in 512-octet blocks of ! the default boot image for the client. ! ooppttiioonn mmeerriitt--dduummpp _s_t_r_i_n_g;; + This option specifies the path-name of a file to which + the client's core image should be dumped in the event + the client crashes. The path is formatted as a *************** *** 203,260 **** ! This option specifies the path-name of a file to which the ! client's core image should be dumped in the event the ! client crashes. The path is formatted as a character ! string consisting of characters from the NVT ASCII charac­ ! ter set. ! ooppttiioonn ddoommaaiinn--nnaammee _s_t_r_i_n_g;; ! This option specifies the domain name that client should ! use when resolving hostnames via the Domain Name System. ! ooppttiioonn sswwaapp--sseerrvveerr _i_p_-_a_d_d_r_e_s_s;; ! This specifies the IP address of the client's swap server. ! ooppttiioonn rroooott--ppaatthh _s_t_r_i_n_g;; ! This option specifies the path-name that contains the ! client's root disk. The path is formatted as a character ! string consisting of characters from the NVT ASCII charac­ ! ter set. ! ooppttiioonn iipp--ffoorrwwaarrddiinngg _f_l_a_g;; ! This option specifies whether the client should configure ! its IP layer for packet forwarding. A value of 0 means ! disable IP forwarding, and a value of 1 means enable IP ! forwarding. ! ooppttiioonn nnoonn--llooccaall--ssoouurrccee--rroouuttiinngg _f_l_a_g;; ! 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 dis­ ! cussion of this topic). A value of 0 means disallow for­ ! warding of such datagrams, and a value of 1 means allow ! forwarding. ! ooppttiioonn ppoolliiccyy--ffiilltteerr _i_p_-_a_d_d_r_e_s_s _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ! _i_p_-_a_d_d_r_e_s_s ... ];; ! This option specifies policy filters for non-local source ! routing. The filters consist of a list of IP addresses ! and masks which specify destination/mask pairs with which ! to filter incoming source routes. ! Any source routed datagram whose next-hop address does not ! match one of the filters should be discarded by the ! client. ! See STD 3 (RFC1122) for further information. ! ooppttiioonn mmaaxx--ddggrraamm--rreeaasssseemmbbllyy _u_i_n_t_1_6;; --- 203,260 ---- ! character string consisting of characters from the NVT ! ASCII character set. ! ooppttiioonn ddoommaaiinn--nnaammee _s_t_r_i_n_g;; ! This option specifies the domain name that client ! should use when resolving hostnames via the Domain Name ! System. ! ooppttiioonn sswwaapp--sseerrvveerr _i_p_-_a_d_d_r_e_s_s;; ! This specifies the IP address of the client's swap ! server. ! ooppttiioonn rroooott--ppaatthh _s_t_r_i_n_g;; ! This option specifies the path-name that contains the ! client's root disk. The path is formatted as a charac­ ! ter string consisting of characters from the NVT ASCII ! character set. ! ooppttiioonn iipp--ffoorrwwaarrddiinngg _f_l_a_g;; ! This option specifies whether the client should config­ ! ure its IP layer for packet forwarding. A value of 0 ! means disable IP forwarding, and a value of 1 means ! enable IP forwarding. ! ooppttiioonn nnoonn--llooccaall--ssoouurrccee--rroouuttiinngg _f_l_a_g;; ! This option specifies whether the client should config­ ! ure 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 1 means ! allow forwarding. ! ooppttiioonn ppoolliiccyy--ffiilltteerr _i_p_-_a_d_d_r_e_s_s _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ! _i_p_-_a_d_d_r_e_s_s... ];; ! This option specifies policy filters for non-local ! source routing. The filters consist of a list of IP ! addresses and masks which specify destination/mask ! pairs with which to filter incoming source routes. ! Any source routed datagram whose next-hop address does ! not match one of the filters should be discarded by the ! client. ! See STD 3 (RFC1122) for further information. ! ooppttiioonn mmaaxx--ddggrraamm--rreeaasssseemmbbllyy _u_i_n_t_1_6;; + This option specifies the maximum size datagram that *************** *** 269,326 **** ! This option specifies the maximum size datagram that the ! client should be prepared to reassemble. The minimum ! value legal value is 576. ! ! ooppttiioonn ddeeffaauulltt--iipp--ttttll _u_i_n_t_8_; ! This option specifies the default time-to-live that the ! client should use on outgoing datagrams. ! ooppttiioonn ppaatthh--mmttuu--aaggiinngg--ttiimmeeoouutt _u_i_n_t_3_2;; ! This option specifies the timeout (in seconds) to use when ! aging Path MTU values discovered by the mechanism defined ! in RFC 1191. ! ooppttiioonn ppaatthh--mmttuu--ppllaatteeaauu--ttaabbllee _u_i_n_t_1_6 [,, _u_i_n_t_1_6 ... ];; ! This option specifies a table of MTU sizes to use when ! performing Path MTU Discovery as defined in RFC 1191. The ! table is formatted as a list of 16-bit unsigned integers, ! ordered from smallest to largest. The minimum MTU value ! cannot be smaller than 68. ! ooppttiioonn iinntteerrffaaccee--mmttuu _u_i_n_t_1_6;; ! This option specifies the MTU to use on this interface. ! The minimum legal value for the MTU is 68. ! ooppttiioonn aallll--ssuubbnneettss--llooccaall _f_l_a_g;; ! This option specifies whether or not the client may assume ! that all subnets of the IP network to which the client is ! connected use the same MTU as the subnet of that network ! to which the client is directly connected. A value of 1 ! indicates that all subnets share the same MTU. A value of ! 0 means that the client should assume that some subnets of ! the directly connected network may have smaller MTUs. ! ooppttiioonn bbrrooaaddccaasstt--aaddddrreessss _i_p_-_a_d_d_r_e_s_s;; ! This option specifies the broadcast address in use on the ! client's subnet. Legal values for broadcast addresses are ! specified in section 3.2.1.3 of STD 3 (RFC1122). ! ooppttiioonn ppeerrffoorrmm--mmaasskk--ddiissccoovveerryy _f_l_a_g;; ! This option specifies whether or not the client should ! perform subnet mask discovery using ICMP. A value of 0 ! indicates that the client should not perform mask discov­ ! ery. A value of 1 means that the client should perform ! mask discovery. ! ooppttiioonn mmaasskk--ssuupppplliieerr _f_l_a_g;; --- 269,326 ---- ! the client should be prepared to reassemble. The mini­ ! mum value legal value is 576. ! ooppttiioonn ddeeffaauulltt--iipp--ttttll _u_i_n_t_8_; ! This option specifies the default time-to-live that the ! client should use on outgoing datagrams. ! ooppttiioonn ppaatthh--mmttuu--aaggiinngg--ttiimmeeoouutt _u_i_n_t_3_2;; ! This option specifies the timeout (in seconds) to use ! when aging Path MTU values discovered by the mechanism ! defined in RFC 1191. ! ooppttiioonn ppaatthh--mmttuu--ppllaatteeaauu--ttaabbllee _u_i_n_t_1_6 [,, _u_i_n_t_1_6... ];; ! This option specifies a table of MTU sizes to use when ! performing Path MTU Discovery as defined in RFC 1191. ! The table is formatted as a list of 16-bit unsigned ! integers, ordered from smallest to largest. The mini­ ! mum MTU value cannot be smaller than 68. ! ooppttiioonn iinntteerrffaaccee--mmttuu _u_i_n_t_1_6;; ! This option specifies the MTU to use on this interface. ! The minimum legal value for the MTU is 68. ! ooppttiioonn aallll--ssuubbnneettss--llooccaall _f_l_a_g;; ! This option specifies whether or not the client may ! assume that all subnets of the IP network to which the ! client is connected use the same MTU as the subnet of ! that network to which the client is directly connected. ! A value of 1 indicates that all subnets share the same ! MTU. A value of 0 means that the client should assume ! that some subnets of the directly connected network may ! have smaller MTUs. ! ooppttiioonn bbrrooaaddccaasstt--aaddddrreessss _i_p_-_a_d_d_r_e_s_s;; ! This option specifies the broadcast address in use on ! the client's subnet. Legal values for broadcast ! addresses are specified in section 3.2.1.3 of STD 3 ! (RFC1122). ! ooppttiioonn ppeerrffoorrmm--mmaasskk--ddiissccoovveerryy _f_l_a_g;; ! This option specifies whether or not the client should ! perform subnet mask discovery using ICMP. A value of 0 ! indicates that the client should not perform mask dis­ ! covery. A value of 1 means that the client should per­ ! form mask discovery. + ooppttiioonn mmaasskk--ssuupppplliieerr _f_l_a_g;; *************** *** 335,392 **** ! This option specifies whether or not the client should ! respond to subnet mask requests using ICMP. A value of 0 ! indicates that the client should not respond. A value of ! 1 means that the client should respond. ! ooppttiioonn rroouutteerr--ddiissccoovveerryy _f_l_a_g;; ! This option specifies whether or not the client should ! solicit routers using the Router Discovery mechanism ! defined in RFC 1256. A value of 0 indicates that the ! client should not perform router discovery. A value of 1 ! means that the client should perform router discovery. ! ooppttiioonn rroouutteerr--ssoolliicciittaattiioonn--aaddddrreessss _i_p_-_a_d_d_r_e_s_s;; ! This option specifies the address to which the client ! should transmit router solicitation requests. ! ooppttiioonn ssttaattiicc--rroouutteess _i_p_-_a_d_d_r_e_s_s _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ! _i_p_-_a_d_d_r_e_s_s ... ];; ! This option specifies a list of static routes that the ! client should install in its routing cache. If multiple ! routes to the same destination are specified, they are ! listed in descending order of priority. ! The routes consist of a list of IP address pairs. The ! first address is the destination address, and the second ! address is the router for the destination. ! The default route (0.0.0.0) is an illegal destination for ! a static route. To specify the default route, use the ! rroouutteerrss option. ! ooppttiioonn ttrraaiilleerr--eennccaappssuullaattiioonn _f_l_a_g;; ! 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 value of 1 means ! that the client should attempt to use trailers. ! ooppttiioonn aarrpp--ccaacchhee--ttiimmeeoouutt _u_i_n_t_3_2;; ! This option specifies the timeout in seconds for ARP cache ! entries. ! ooppttiioonn iieeeeee880022--33--eennccaappssuullaattiioonn _f_l_a_g;; ! This option specifies whether or not the client should use ! Ethernet Version 2 (RFC 894) or IEEE 802.3 (RFC 1042) ! encapsulation if the interface is an Ethernet. A value of ! 0 indicates that the client should use RFC 894 encapsula­ ! tion. A value of 1 means that the client should use RFC --- 335,392 ---- ! This option specifies whether or not the client should ! respond to subnet mask requests using ICMP. A value of ! 0 indicates that the client should not respond. A ! value of 1 means that the client should respond. ! ooppttiioonn rroouutteerr--ddiissccoovveerryy _f_l_a_g;; ! This option specifies whether or not the client should ! solicit routers using the Router Discovery mechanism ! defined in RFC 1256. A value of 0 indicates that the ! client should not perform router discovery. A value of ! 1 means that the client should perform router discov­ ! ery. ! ooppttiioonn rroouutteerr--ssoolliicciittaattiioonn--aaddddrreessss _i_p_-_a_d_d_r_e_s_s;; ! This option specifies the address to which the client ! should transmit router solicitation requests. ! ooppttiioonn ssttaattiicc--rroouutteess _i_p_-_a_d_d_r_e_s_s _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ! _i_p_-_a_d_d_r_e_s_s... ];; ! This option specifies a list of static routes that the ! client should install in its routing cache. If multi­ ! ple routes to the same destination are specified, they ! are listed in descending order of priority. ! The routes consist of a list of IP address pairs. The ! first address is the destination address, and the sec­ ! ond address is the router for the destination. ! The default route (0.0.0.0) is an illegal destination ! for a static route. To specify the default route, use ! the rroouutteerrss option. ! ooppttiioonn ttrraaiilleerr--eennccaappssuullaattiioonn _f_l_a_g;; ! 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 value of ! 1 means that the client should attempt to use trailers. ! ooppttiioonn aarrpp--ccaacchhee--ttiimmeeoouutt _u_i_n_t_3_2;; ! This option specifies the timeout in seconds for ARP ! cache entries. ! ooppttiioonn iieeeeee880022--33--eennccaappssuullaattiioonn _f_l_a_g;; ! This option specifies whether or not the client should ! use Ethernet Version 2 (RFC 894) or IEEE 802.3 (RFC ! 1042) encapsulation if the interface is an Ethernet. A ! value of 0 indicates that the client should use RFC 894 *************** *** 401,458 **** ! 1042 encapsulation. ! ooppttiioonn ddeeffaauulltt--ttccpp--ttttll _u_i_n_t_8;; ! This option specifies the default TTL that the client ! should use when sending TCP segments. The minimum value ! is 1. ! ooppttiioonn ttccpp--kkeeeeppaalliivvee--iinntteerrvvaall _u_i_n_t_3_2;; ! This option specifies the interval (in seconds) that the ! client TCP should wait before sending a keepalive message ! on a TCP connection. The time is specified as a 32-bit ! unsigned integer. A value of zero indicates that the ! client should not generate keepalive messages on connec­ ! tions unless specifically requested by an application. ! ooppttiioonn ttccpp--kkeeeeppaalliivvee--ggaarrbbaaggee _f_l_a_g;; ! This option specifies the whether or not the client should ! send TCP keepalive messages with a octet of garbage for ! compatibility with older implementations. A value of 0 ! indicates that a garbage octet should not be sent. A value ! of 1 indicates that a garbage octet should be sent. ! ooppttiioonn nniiss--ddoommaaiinn _s_t_r_i_n_g;; ! This option specifies the name of the client's NIS (Sun ! Network Information Services) domain. The domain is for­ ! matted as a character string consisting of characters from ! the NVT ASCII character set. ! ooppttiioonn nniiss--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! This option specifies a list of IP addresses indicating ! NIS servers available to the client. Servers should be ! listed in order of preference. ! ooppttiioonn nnttpp--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! This option specifies a list of IP addresses indicating ! NTP (RFC 1035) servers available to the client. Servers ! should be listed in order of preference. ! ooppttiioonn nneettbbiiooss--nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! The NetBIOS name server (NBNS) option specifies a list of ! RFC 1001/1002 NBNS name servers listed in order of prefer­ ! ence. ! ! ooppttiioonn nneettbbiiooss--dddd--sseerrvveerr _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! ! The NetBIOS datagram distribution server (NBDD) option --- 401,458 ---- ! encapsulation. A value of 1 means that the client ! should use RFC 1042 encapsulation. ! ooppttiioonn ddeeffaauulltt--ttccpp--ttttll _u_i_n_t_8;; ! This option specifies the default TTL that the client ! should use when sending TCP segments. The minimum ! value is 1. ! ooppttiioonn ttccpp--kkeeeeppaalliivvee--iinntteerrvvaall _u_i_n_t_3_2;; ! This option specifies the interval (in seconds) that ! the client TCP should wait before sending a keepalive ! message on a TCP connection. The time is specified as ! a 32-bit unsigned integer. A value of zero indicates ! that the client should not generate keepalive messages ! on connections unless specifically requested by an ! application. ! ooppttiioonn ttccpp--kkeeeeppaalliivvee--ggaarrbbaaggee _f_l_a_g;; ! This option specifies the whether or not the client ! should send TCP keepalive messages with a octet of ! garbage for compatibility with older implementations. ! A value of 0 indicates that a garbage octet should not ! be sent. A value of 1 indicates that a garbage octet ! should be sent. ! ooppttiioonn nniiss--ddoommaaiinn _s_t_r_i_n_g;; ! This option specifies the name of the client's NIS (Sun ! Network Information Services) domain. The domain is ! formatted as a character string consisting of charac­ ! ters from the NVT ASCII character set. ! ooppttiioonn nniiss--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! This option specifies a list of IP addresses indicating ! NIS servers available to the client. Servers should be ! listed in order of preference. ! ooppttiioonn nnttpp--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! This option specifies a list of IP addresses indicating ! NTP (RFC 1035) servers available to the client. ! Servers should be listed in order of preference. ! ooppttiioonn nneettbbiiooss--nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! The NetBIOS name server (NBNS) option specifies a list ! of RFC 1001/1002 NBNS name servers listed in order of ! preference. NetBIOS Name Service is currently more ! commonly referred to as WINS. WINS servers can be *************** *** 467,518 **** ! specifies a list of RFC 1001/1002 NBDD servers listed in ! order of preference. ! ooppttiioonn nneettbbiiooss--nnooddee--ttyyppee _u_i_n_t_8;; ! The NetBIOS node type option allows NetBIOS over TCP/IP ! clients which are configurable to be configured as ! described in RFC 1001/1002. The value is specified as a ! single octet which identifies the client type. A value of ! 1 corresponds to a NetBIOS B-node; a value of 2 corre­ ! sponds to a P-node; a value of 4 corresponds to an M-node; ! a value of 8 corresponds to an H-node. ! ooppttiioonn nneettbbiiooss--ssccooppee _s_t_r_i_n_g;; ! The NetBIOS scope option specifies the NetBIOS over TCP/IP ! scope parameter for the client as specified in RFC ! 1001/1002. See RFC1001, RFC1002, and RFC1035 for charac­ ! ter-set restrictions. ! ooppttiioonn ffoonntt--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; ! This option specifies a list of X Window System Font ! servers available to the client. Servers should be listed ! in order of preference. - ooppttiioonn xx--ddiissppllaayy--mmaannaaggeerr _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s ... ];; - This option specifies a list of systems that are running - the X Window System Display Manager and are available to - the client. Addresses should be listed in order of pref­ - erence. - ooppttiioonn ddhhccpp--cclliieenntt--iiddeennttiiffiieerr _d_a_t_a_-_s_t_r_i_n_g;; ! This option can be used to specify the a DHCP client iden­ ! tifier in a host declaration, so that dhcpd can find the ! host record by matching against the client identifier. SSEEEE AALLSSOO ! dhcpd.conf(5), dhcpd.leases(5), dhclient.conf(5), dhcpd(8), dhclient(8), RFC2132, RFC2131. AAUUTTHHOORR ddhhccppdd((88)) was written by Ted Lemon under a ! contract with Vixie Labs. Funding for this project was ! provided by the Internet Software Corporation. Informa­ ! tion about the Internet Software Consortium can be found at hhttttpp::////wwwwww..iisscc..oorrgg//iisscc.. --- 467,545 ---- ! specified using the netbios-name-servers option. ! ! ooppttiioonn nneettbbiiooss--dddd--sseerrvveerr _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! ! The NetBIOS datagram distribution server (NBDD) option ! specifies a list of RFC 1001/1002 NBDD servers listed ! in order of preference. ! ! ooppttiioonn nneettbbiiooss--nnooddee--ttyyppee _u_i_n_t_8;; ! ! The NetBIOS node type option allows NetBIOS over TCP/IP ! clients which are configurable to be configured as ! described in RFC 1001/1002. The value is specified as ! a single octet which identifies the client type. ! ! Possible node types are: ! ! ! _1 B-node: Broadcast - no WINS ! ! _2 P-node: Peer - WINS only. ! ! _4 M-node: Mixed - broadcast, then WINS ! ! _8 H-node: Hybrid - WINS, then broadcast ! ! ooppttiioonn nneettbbiiooss--ssccooppee _s_t_r_i_n_g;; ! ! The NetBIOS scope option specifies the NetBIOS over ! TCP/IP scope parameter for the client as specified in ! RFC 1001/1002. See RFC1001, RFC1002, and RFC1035 for ! character-set restrictions. ! ooppttiioonn ffoonntt--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! This option specifies a list of X Window System Font ! servers available to the client. Servers should be ! listed in order of preference. ! ooppttiioonn xx--ddiissppllaayy--mmaannaaggeerr _i_p_-_a_d_d_r_e_s_s [,, _i_p_-_a_d_d_r_e_s_s... ];; ! This option specifies a list of systems that are run­ ! ning the X Window System Display Manager and are avail­ ! able to the client. Addresses should be listed in ! order of preference. ! ooppttiioonn ddhhccpp--cclliieenntt--iiddeennttiiffiieerr _d_a_t_a_-_s_t_r_i_n_g;; ! This option can be used to specify the a DHCP client ! identifier in a host declaration, so that dhcpd can ! find the host record by matching against the client ! identifier. ! ! 8 ! ! ! ! ! ! dhcpd-options(5) dhcpd-options(5) ! SSEEEE AALLSSOO ! dhcpd.conf(5), dhcpd.leases(5), dhclient.conf(5), dhcpd(8), dhclient(8), RFC2132, RFC2131. AAUUTTHHOORR ddhhccppdd((88)) was written by Ted Lemon under a ! contract with Vixie Labs. Funding for this project was ! provided by the Internet Software Corporation. Informa­ ! tion about the Internet Software Consortium can be found at hhttttpp::////wwwwww..iisscc..oorrgg//iisscc.. *************** *** 524,528 **** ! 8 --- 551,594 ---- ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 9 diff -rNc2 dhcp-2.0b1pl9/common/dispatch.c dhcp-2.0b1pl10/common/dispatch.c *** dhcp-2.0b1pl9/common/dispatch.c Wed Feb 3 11:46:05 1999 --- dhcp-2.0b1pl10/common/dispatch.c Fri Feb 5 12:23:50 1999 *************** *** 43,47 **** #ifndef lint static char copyright[] = ! "$Id: dispatch.c,v 1.47.2.8 1999/02/03 19:46:05 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ --- 43,47 ---- #ifndef lint static char copyright[] = ! "$Id: dispatch.c,v 1.47.2.9 1999/02/05 20:23:50 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ *************** *** 263,284 **** matters for the DHCP client, of course - the relay agent and server should only care about interfaces that are configured ! with IP addresses anyway. */ if (state == DISCOVER_UNCONFIGURED) { ! int proc_dev; char buffer [256]; struct ifreq *tif; int skip = 2; ! proc_dev = open (PROCDEV_DEVICE, O_RDONLY); ! if (proc_dev < 0) error ("%s: %m", PROCDEV_DEVICE); ! while (read (proc_dev, buffer, 256) == 256) { char *name = buffer; char *sep; ! /* Skip the first two blocks, which are apparently ! some kind of header. */ if (skip) { --skip; --- 263,293 ---- matters for the DHCP client, of course - the relay agent and server should only care about interfaces that are configured ! with IP addresses anyway. ! ! The PROCDEV_DEVICE (/proc/net/dev) is a kernel-supplied file ! that, when read, prints a human readable network status. We ! extract the names of the network devices by skipping the first ! two lines (which are header) and then parsing off everything ! up to the colon in each subsequent line - these lines start ! with the interface name, then a colon, then a bunch of ! statistics. Yes, Virgina, this is a kludge, but you work ! with what you have. */ if (state == DISCOVER_UNCONFIGURED) { ! FILE *proc_dev; char buffer [256]; struct ifreq *tif; int skip = 2; ! proc_dev = fopen (PROCDEV_DEVICE, "r"); ! if (!proc_dev) error ("%s: %m", PROCDEV_DEVICE); ! while (fgets (buffer, sizeof buffer, proc_dev)) { char *name = buffer; char *sep; ! /* Skip the first two blocks, which are header ! lines. */ if (skip) { --skip; *************** *** 286,291 **** } - /* XXX What if there is no ':'? Does the device put - a NUL at the end of the name, I hope? XXX */ sep = strrchr (buffer, ':'); if (sep) --- 295,298 ---- *************** *** 333,337 **** interfaces = tmp; } ! close (proc_dev); } #endif --- 340,344 ---- interfaces = tmp; } ! fclose (proc_dev); } #endif diff -rNc2 dhcp-2.0b1pl9/common/lpf.c dhcp-2.0b1pl10/common/lpf.c *** dhcp-2.0b1pl9/common/lpf.c Wed Feb 3 11:46:04 1999 --- dhcp-2.0b1pl10/common/lpf.c Fri Feb 5 12:20:51 1999 *************** *** 44,48 **** #ifndef lint static char copyright[] = ! "$Id: lpf.c,v 1.1.2.2 1999/02/03 19:46:04 mellon Exp $ Copyright (c) 1995, 1996, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ --- 44,48 ---- #ifndef lint static char copyright[] = ! "$Id: lpf.c,v 1.1.2.3 1999/02/05 20:20:51 mellon Exp $ Copyright (c) 1995, 1996, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ *************** *** 90,99 **** /* Make an LPF socket. */ ! if ((sock = socket(PF_INET, SOCK_PACKET, htons(ETH_P_ALL))) < 0) error("Open a socket for LPF: %m"); /* Bind to the interface name */ memset (&sa, 0, sizeof sa); ! sa.sa_family = AF_INET; strncpy (sa.sa_data, (const char *)info -> ifp, sizeof sa.sa_data); if (bind (sock, &sa, sizeof sa)) --- 90,99 ---- /* Make an LPF socket. */ ! if ((sock = socket(PF_SOCKET, SOCK_PACKET, htons(ETH_P_ALL))) < 0) error("Open a socket for LPF: %m"); /* Bind to the interface name */ memset (&sa, 0, sizeof sa); ! sa.sa_family = AF_PACKET; strncpy (sa.sa_data, (const char *)info -> ifp, sizeof sa.sa_data); if (bind (sock, &sa, sizeof sa)) *************** *** 176,179 **** --- 176,180 ---- int bufp = 0; unsigned char buf [1500]; + struct sockaddr sa; if (!strcmp (interface -> name, "fallback")) *************** *** 187,191 **** (unsigned char *)raw, len); memcpy (buf + bufp, raw, len); ! return send (interface -> wfdesc, buf, bufp + len, 0); } #endif /* USE_LPF_SEND */ --- 188,200 ---- (unsigned char *)raw, len); memcpy (buf + bufp, raw, len); ! ! /* For some reason, SOCK_PACKET sockets can't be connected, ! so we have to do a sentdo every time. */ ! memset (&sa, 0, sizeof sa); ! sa.sa_family = AF_PACKET; ! strncpy (sa.sa_data, (const char *)info -> ifp, sizeof sa.sa_data); ! ! return sendto (interface -> wfdesc, buf, bufp + len, 0, ! &sa, sizeof sa); } #endif /* USE_LPF_SEND */ diff -rNc2 dhcp-2.0b1pl9/includes/cf/linux.h dhcp-2.0b1pl10/includes/cf/linux.h *** dhcp-2.0b1pl9/includes/cf/linux.h Tue Dec 22 14:48:42 1998 --- dhcp-2.0b1pl10/includes/cf/linux.h Thu Feb 4 14:11:30 1999 *************** *** 6,10 **** /* ! * Copyright (c) 1996, 1998 The Internet Software Consortium. * All rights reserved. * --- 6,10 ---- /* ! * Copyright (c) 1996, 1998, 1999 The Internet Software Consortium. * All rights reserved. * *************** *** 48,51 **** --- 48,55 ---- typedef unsigned long u_int32_t; #endif /* __BIT_TYPES_DEFINED__ */ + + typedef u_int8_t u8; + typedef u_int16_t u16; + typedef u_int32_t u32; #include diff -rNc2 dhcp-2.0b1pl9/includes/dhcpd.h dhcp-2.0b1pl10/includes/dhcpd.h *** dhcp-2.0b1pl9/includes/dhcpd.h Tue Dec 22 14:47:07 1998 --- dhcp-2.0b1pl10/includes/dhcpd.h Thu Feb 4 14:11:23 1999 *************** *** 208,211 **** --- 208,212 ---- int get_lease_hostnames; int use_host_decl_names; + int use_lease_addr_for_default_route; struct tree_cache *options [256]; diff -rNc2 dhcp-2.0b1pl9/includes/dhctoken.h dhcp-2.0b1pl10/includes/dhctoken.h *** dhcp-2.0b1pl9/includes/dhctoken.h Tue Dec 22 14:47:18 1998 --- dhcp-2.0b1pl10/includes/dhctoken.h Thu Feb 4 14:11:24 1999 *************** *** 126,129 **** --- 126,130 ---- #define REJECT 330 #define FDDI 331 + #define USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 332 #define is_identifier(x) ((x) >= FIRST_TOKEN && \ diff -rNc2 dhcp-2.0b1pl9/relay/dhcrelay.c dhcp-2.0b1pl10/relay/dhcrelay.c *** dhcp-2.0b1pl9/relay/dhcrelay.c Wed Feb 3 11:39:47 1999 --- dhcp-2.0b1pl10/relay/dhcrelay.c Wed Feb 3 15:29:41 1999 *************** *** 43,47 **** #ifndef lint static char ocopyright [] = ! "$Id: dhcrelay.c,v 1.9.2.9 1999/02/03 19:39:47 mellon Exp $ Copyright (c) 1997 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ --- 43,47 ---- #ifndef lint static char ocopyright [] = ! "$Id: dhcrelay.c,v 1.9.2.10 1999/02/03 23:29:41 mellon Exp $ Copyright (c) 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ *************** *** 77,81 **** "Copyright 1997, 1998, 1999 The Internet Software Consortium."; static char arr [] = "All rights reserved."; ! static char message [] = "Internet Software Consortium DHCP Relay Agent V2.0b1pl9"; static char contrib [] = "\nPlease contribute if you find this software useful."; static char url [] = "For info, please visit http://www.isc.org/dhcp-contrib.html\n"; --- 77,81 ---- "Copyright 1997, 1998, 1999 The Internet Software Consortium."; static char arr [] = "All rights reserved."; ! static char message [] = "Internet Software Consortium DHCP Relay Agent V2.0b1pl10"; static char contrib [] = "\nPlease contribute if you find this software useful."; static char url [] = "For info, please visit http://www.isc.org/dhcp-contrib.html\n"; diff -rNc2 dhcp-2.0b1pl9/server/confpars.c dhcp-2.0b1pl10/server/confpars.c *** dhcp-2.0b1pl9/server/confpars.c Tue Nov 24 15:02:54 1998 --- dhcp-2.0b1pl10/server/confpars.c Thu Feb 4 14:13:02 1999 *************** *** 43,47 **** #ifndef lint static char copyright[] = ! "$Id: confpars.c,v 1.45.2.4 1998/11/24 23:02:54 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ --- 43,47 ---- #ifndef lint static char copyright[] = ! "$Id: confpars.c,v 1.45.2.5 1999/02/04 22:13:02 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ *************** *** 156,159 **** --- 156,160 ---- | ALLOW allow-deny-keyword | DENY allow-deny-keyword + | USE_LEASE_ADDR_FOR_DEFAULT_ROUTE boolean declaration :== host-declaration *************** *** 300,303 **** --- 301,309 ---- parse_warn ("use-host-decl-names not allowed here."); group -> use_host_decl_names = parse_boolean (cfile); + break; + + case USE_LEASE_ADDR_FOR_DEFAULT_ROUTE: + group -> use_lease_addr_for_default_route = + parse_boolean (cfile); break; diff -rNc2 dhcp-2.0b1pl9/server/dhcp.c dhcp-2.0b1pl10/server/dhcp.c *** dhcp-2.0b1pl9/server/dhcp.c Wed Feb 3 11:46:05 1999 --- dhcp-2.0b1pl10/server/dhcp.c Thu Feb 4 14:13:04 1999 *************** *** 43,47 **** #ifndef lint static char copyright[] = ! "$Id: dhcp.c,v 1.57.2.13 1999/02/03 19:46:05 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ --- 43,47 ---- #ifndef lint static char copyright[] = ! "$Id: dhcp.c,v 1.57.2.14 1999/02/04 22:13:04 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ *************** *** 550,553 **** --- 550,554 ---- TIME lease_time; TIME offered_lease_time; + int ulafdr; struct class *vendor_class, *user_class; *************** *** 999,1002 **** --- 1000,1037 ---- state -> options [i] -> buf_size = lease -> subnet -> netmask.len; + state -> options [i] -> timeout = 0xFFFFFFFF; + state -> options [i] -> tree = (struct tree *)0; + } + + /* If so directed, use the leased IP address as the router address. + This supposedly makes Win95 machines ARP for all IP addresses, + so if the local router does proxy arp, you win. */ + + ulafdr = 0; + if (lease -> host) { + if (lease -> host -> group -> use_lease_addr_for_default_route) + ulafdr = 1; + } else if (user_class) { + if (user_class -> group -> use_lease_addr_for_default_route) + ulafdr = 1; + } else if (vendor_class) { + if (vendor_class -> group -> use_lease_addr_for_default_route) + ulafdr = 1; + } else if (lease -> subnet -> group -> + use_lease_addr_for_default_route) + ulafdr = 1; + else + ulafdr = 0; + + i = DHO_ROUTERS; + if (ulafdr && !state -> options [i]) { + state -> options [i] = new_tree_cache ("routers"); + state -> options [i] -> flags = TC_TEMPORARY; + state -> options [i] -> value = + lease -> ip_addr.iabuf; + state -> options [i] -> len = + lease -> ip_addr.len; + state -> options [i] -> buf_size = + lease -> ip_addr.len; state -> options [i] -> timeout = 0xFFFFFFFF; state -> options [i] -> tree = (struct tree *)0; diff -rNc2 dhcp-2.0b1pl9/server/dhcpd.c dhcp-2.0b1pl10/server/dhcpd.c *** dhcp-2.0b1pl9/server/dhcpd.c Wed Feb 3 11:46:06 1999 --- dhcp-2.0b1pl10/server/dhcpd.c Wed Feb 3 15:29:40 1999 *************** *** 43,47 **** #ifndef lint static char ocopyright[] = ! "$Id: dhcpd.c,v 1.45.2.8 1999/02/03 19:46:06 mellon Exp $ Copyright 1995, 1996, 1997, 1998 The Internet Software Consortium."; #endif --- 43,47 ---- #ifndef lint static char ocopyright[] = ! "$Id: dhcpd.c,v 1.45.2.9 1999/02/03 23:29:40 mellon Exp $ Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium."; #endif *************** *** 49,53 **** "Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium."; static char arr [] = "All rights reserved."; ! static char message [] = "Internet Software Consortium DHCP Server V2.0b1pl9 "; static char contrib [] = "\nPlease contribute if you find this software useful."; static char url [] = "For info, please visit http://www.isc.org/dhcp-contrib.html\n"; --- 49,53 ---- "Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium."; static char arr [] = "All rights reserved."; ! static char message [] = "Internet Software Consortium DHCP Server V2.0b1pl10 "; static char contrib [] = "\nPlease contribute if you find this software useful."; static char url [] = "For info, please visit http://www.isc.org/dhcp-contrib.html\n"; diff -rNc2 dhcp-2.0b1pl9/server/dhcpd.conf.5 dhcp-2.0b1pl10/server/dhcpd.conf.5 *** dhcp-2.0b1pl9/server/dhcpd.conf.5 Fri Jun 26 14:07:11 1998 --- dhcp-2.0b1pl10/server/dhcpd.conf.5 Fri Feb 5 12:27:18 1999 *************** *** 664,667 **** --- 664,688 ---- .PP .B The + .I use-lease-addr-for-default-route + .B statement + .PP + \fBuse-lease-addr-for-default-route\fR \fIflag\fR\fB;\fR + .PP + If the \fIuse-lease-addr-for-default-route\fR parameter is true in a + given scope, then instead of sending the value specified in the + routers option (or sending no value at all), the IP address of the + lease being assigned is sent to the client. This supposedly causes + Win95 machines to ARP for all IP addresses, which can be helpful if + your router is configured for proxy ARP. + .PP + If use-lease-addr-for-default-route is enabled and an option routers + statement are both in scope, the routers option will be preferred. + The rationale for this is that in situations where you want to use + this feature, you probably want it enabled for a whole bunch of + Windows 95 machines, and you want to override it for a few other + machines. Unfortunately, if the opposite happens to be true for you + site, you are probably better off not trying to use this flag. + .PP + .B The .I server-identifier .B statement diff -rNc2 dhcp-2.0b1pl9/server/dhcpd.conf.cat5 dhcp-2.0b1pl10/server/dhcpd.conf.cat5 *** dhcp-2.0b1pl9/server/dhcpd.conf.cat5 Fri Nov 21 23:15:53 1997 --- dhcp-2.0b1pl10/server/dhcpd.conf.cat5 Fri Feb 5 12:55:39 1999 *************** *** 517,524 **** in the _h_o_s_t statement. _h_a_r_d_w_a_r_e_-_t_y_p_e must be the name of a physical hardware interface type. Currently, only the ! eetthheerrnneett type is recognized, although support for ttookkeenn-- ! rriinngg and ffddddii hardware types would also be desirable. The ! _h_a_r_d_w_a_r_e_-_a_d_d_r_e_s_s should be a set of hexadecimal octets ! (numbers from 0 through ff) seperated by colons. The --- 517,524 ---- in the _h_o_s_t statement. _h_a_r_d_w_a_r_e_-_t_y_p_e must be the name of a physical hardware interface type. Currently, only the ! eetthheerrnneett and ttookkeenn--rriinngg types are recognized, although ! support for a ffddddii hardware type (and others) would also ! be desirable. The _h_a_r_d_w_a_r_e_-_a_d_d_r_e_s_s should be a set of ! hexadecimal octets (numbers from 0 through ff) seperated *************** *** 533,537 **** ! _h_a_r_d_w_a_r_e_f_R _s_t_a_t_e_m_e_n_t _m_a_y _a_l_s_o _b_e _u_s_e_d _f_o_r _D_H_C_P _c_l_i_e_n_t_s_. TThhee _f_i_l_e_n_a_m_e ssttaatteemmeenntt --- 533,538 ---- ! by colons. The _h_a_r_d_w_a_r_e_f_R _s_t_a_t_e_m_e_n_t _m_a_y _a_l_s_o _b_e _u_s_e_d _f_o_r ! _D_H_C_P _c_l_i_e_n_t_s_. TThhee _f_i_l_e_n_a_m_e ssttaatteemmeenntt *************** *** 539,546 **** ffiilleennaammee ""_f_i_l_e_n_a_m_e"";; ! The _f_i_l_e_n_a_m_e statement can be used to specify the name of ! the initial boot file which is to be loaded by a client. The _f_i_l_e_n_a_m_e should be a filename recognizable to whatever ! file transfer protocol the client can be expected to use to load the file. --- 540,547 ---- ffiilleennaammee ""_f_i_l_e_n_a_m_e"";; ! The _f_i_l_e_n_a_m_e statement can be used to specify the name of ! the initial boot file which is to be loaded by a client. The _f_i_l_e_n_a_m_e should be a filename recognizable to whatever ! file transfer protocol the client can be expected to use to load the file. *************** *** 557,565 **** nneexxtt--sseerrvveerr _s_e_r_v_e_r_-_n_a_m_e;; ! The _n_e_x_t_-_s_e_r_v_e_r statement is used to specify the host ! address of the server from which the initial boot file ! (specified in the _f_i_l_e_n_a_m_e statement) is to be loaded. ! _S_e_r_v_e_r_-_n_a_m_e should be a numeric IP address or a domain ! name. If no _n_e_x_t_-_s_e_r_v_e_r parameter applies to a given client, the DHCP server's IP address is used. --- 558,566 ---- nneexxtt--sseerrvveerr _s_e_r_v_e_r_-_n_a_m_e;; ! The _n_e_x_t_-_s_e_r_v_e_r statement is used to specify the host ! address of the server from which the initial boot file ! (specified in the _f_i_l_e_n_a_m_e statement) is to be loaded. ! _S_e_r_v_e_r_-_n_a_m_e should be a numeric IP address or a domain ! name. If no _n_e_x_t_-_s_e_r_v_e_r parameter applies to a given client, the DHCP server's IP address is used. *************** *** 568,579 **** ffiixxeedd--aaddddrreessss _a_d_d_r_e_s_s [,, _a_d_d_r_e_s_s ... ];; ! The _f_i_x_e_d_-_a_d_d_r_e_s_s statement is used to assign one or more ! fixed IP addresses to a client. It should only appear in a _h_o_s_t declaration. If more than one address is supplied, ! then when the client boots, it will be assigned the ! address which corresponds to the network on which it is ! booting. If none of the addresses in the _f_i_x_e_d_-_a_d_d_r_e_s_s ! statement are on the network on which the client is boot­ ! ing, that client will not match the _h_o_s_t declaration con­ taining that _f_i_x_e_d_-_a_d_d_r_e_s_s statement. Each _a_d_d_r_e_s_s should be either an IP address or a domain name which resolves to --- 569,580 ---- ffiixxeedd--aaddddrreessss _a_d_d_r_e_s_s [,, _a_d_d_r_e_s_s ... ];; ! The _f_i_x_e_d_-_a_d_d_r_e_s_s statement is used to assign one or more ! fixed IP addresses to a client. It should only appear in a _h_o_s_t declaration. If more than one address is supplied, ! then when the client boots, it will be assigned the ! address which corresponds to the network on which it is ! booting. If none of the addresses in the _f_i_x_e_d_-_a_d_d_r_e_s_s ! statement are on the network on which the client is boot­ ! ing, that client will not match the _h_o_s_t declaration con­ taining that _f_i_x_e_d_-_a_d_d_r_e_s_s statement. Each _a_d_d_r_e_s_s should be either an IP address or a domain name which resolves to *************** *** 584,590 **** ddyynnaammiicc--bboooottpp--lleeaassee--ccuuttooffff _d_a_t_e;; ! The _d_y_n_a_m_i_c_-_b_o_o_t_p_-_l_e_a_s_e_-_c_u_t_o_f_f statement sets the ending time for all leases assigned dynamically to BOOTP clients. - Because BOOTP clients do not have any way of renewing --- 585,590 ---- ddyynnaammiicc--bboooottpp--lleeaassee--ccuuttooffff _d_a_t_e;; ! The _d_y_n_a_m_i_c_-_b_o_o_t_p_-_l_e_a_s_e_-_c_u_t_o_f_f statement sets the ending time for all leases assigned dynamically to BOOTP clients. *************** *** 599,606 **** ! leases, and don't know that their leases could expire, by default dhcpd assignes infinite leases to all BOOTP clients. However, it may make sense in some situations to ! set a cutoff date for all BOOTP leases - for example, the end of a school term, or the time at night when a facility is closed and all machines are required to be powered off. --- 599,607 ---- ! Because BOOTP clients do not have any way of renewing ! leases, and don't know that their leases could expire, by default dhcpd assignes infinite leases to all BOOTP clients. However, it may make sense in some situations to ! set a cutoff date for all BOOTP leases - for example, the end of a school term, or the time at night when a facility is closed and all machines are required to be powered off. *************** *** 611,620 **** W YYYY/MM/DD HH:MM:SS ! W is the day of the week expressed as a number from zero ! (Sunday) to six (Saturday). YYYY is the year, including the century. MM is the month expressed as a number from 1 ! to 12. DD is the day of the month, counting from 1. HH ! is the hour, from zero to 23. MM is the minute and SS is ! the second. The time is always in Greenwich Mean Time (GMT), not local time. --- 612,621 ---- W YYYY/MM/DD HH:MM:SS ! W is the day of the week expressed as a number from zero ! (Sunday) to six (Saturday). YYYY is the year, including the century. MM is the month expressed as a number from 1 ! to 12. DD is the day of the month, counting from 1. HH ! is the hour, from zero to 23. MM is the minute and SS is ! the second. The time is always in Greenwich Mean Time (GMT), not local time. *************** *** 623,635 **** ddyynnaammiicc--bboooottpp--lleeaassee--lleennggtthh _l_e_n_g_t_h;; ! The _d_y_n_a_m_i_c_-_b_o_o_t_p_-_l_e_a_s_e_-_l_e_n_g_t_h statement is used to set ! the length of leases dynamically assigned to BOOTP ! clients. At some sites, it may be possible to assume ! that a lease is no longer in use if its holder has not ! used BOOTP or DHCP to get its address within a certain time period. The period is specified in _l_e_n_g_t_h as a num­ ! ber of seconds. If a client reboots using BOOTP during the timeout period, the lease duration is reset to _l_e_n_g_t_h, ! so a BOOTP client that boots frequently enough will never lose its lease. Needless to say, this parameter should be adjusted with extreme caution. --- 624,636 ---- ddyynnaammiicc--bboooottpp--lleeaassee--lleennggtthh _l_e_n_g_t_h;; ! The _d_y_n_a_m_i_c_-_b_o_o_t_p_-_l_e_a_s_e_-_l_e_n_g_t_h statement is used to set ! the length of leases dynamically assigned to BOOTP ! clients. At some sites, it may be possible to assume ! that a lease is no longer in use if its holder has not ! used BOOTP or DHCP to get its address within a certain time period. The period is specified in _l_e_n_g_t_h as a num­ ! ber of seconds. If a client reboots using BOOTP during the timeout period, the lease duration is reset to _l_e_n_g_t_h, ! so a BOOTP client that boots frequently enough will never lose its lease. Needless to say, this parameter should be adjusted with extreme caution. *************** *** 639,648 **** ggeett--lleeaassee--hhoossttnnaammeess _f_l_a_g;; ! The _g_e_t_-_l_e_a_s_e_-_h_o_s_t_n_a_m_e_s statement is used to tell dhcpd whether or not to look up the domain name corresponding to ! the IP address of each address in the lease pool and use ! that address for the DHCP _h_o_s_t_n_a_m_e option. If _f_l_a_g is ! true, then this lookup is done for all addresses in the ! current scope. By default, or if _f_l_a_g is false, no lookups are done. --- 640,649 ---- ggeett--lleeaassee--hhoossttnnaammeess _f_l_a_g;; ! The _g_e_t_-_l_e_a_s_e_-_h_o_s_t_n_a_m_e_s statement is used to tell dhcpd whether or not to look up the domain name corresponding to ! the IP address of each address in the lease pool and use ! that address for the DHCP _h_o_s_t_n_a_m_e option. If _f_l_a_g is ! true, then this lookup is done for all addresses in the ! current scope. By default, or if _f_l_a_g is false, no lookups are done. *************** *** 651,656 **** uussee--hhoosstt--ddeeccll--nnaammeess _f_l_a_g;; ! If the _u_s_e_-_h_o_s_t_-_d_e_c_l_-_n_a_m_e_s parameter is true in a given ! scope, then for every host declaration within that scope, --- 652,656 ---- uussee--hhoosstt--ddeeccll--nnaammeess _f_l_a_g;; ! If the _u_s_e_-_h_o_s_t_-_d_e_c_l_-_n_a_m_e_s parameter is true in a given *************** *** 665,669 **** ! the name provided for the host declaration will be sup­ plied to the client as its hostname. So, for example, --- 665,670 ---- ! scope, then for every host declaration within that scope, ! the name provided for the host declaration will be sup­ plied to the client as its hostname. So, for example, *************** *** 685,700 **** } ! An _o_p_t_i_o_n _h_o_s_t_-_n_a_m_e statement within a host declaration will override the use of the name in the host declaration. TThhee _s_e_r_v_e_r_-_i_d_e_n_t_i_f_i_e_r ssttaatteemmeenntt sseerrvveerr--iiddeennttiiffiieerr _h_o_s_t_n_a_m_e;; ! The server-identifier statement is now obsolete and is ! ignored by the DHCP server. RREEFFEERREENNCCEE:: OOPPTTIIOONN SSTTAATTEEMMEENNTTSS ! DHCP option statements are documented in the ddhhccpp-- ooppttiioonnss((55)) manual page. --- 686,749 ---- } ! An _o_p_t_i_o_n _h_o_s_t_-_n_a_m_e statement within a host declaration will override the use of the name in the host declaration. + TThhee _u_s_e_-_l_e_a_s_e_-_a_d_d_r_-_f_o_r_-_d_e_f_a_u_l_t_-_r_o_u_t_e ssttaatteemmeenntt + + uussee--lleeaassee--aaddddrr--ffoorr--ddeeffaauulltt--rroouuttee _f_l_a_g;; + + If the _u_s_e_-_l_e_a_s_e_-_a_d_d_r_-_f_o_r_-_d_e_f_a_u_l_t_-_r_o_u_t_e parameter is true + in a given scope, then instead of sending the value speci­ + fied in the routers option (or sending no value at all), + the IP address of the lease being assigned is sent to the + client. This supposedly causes Win95 machines to ARP for + all IP addresses, which can be helpful if your router is + configured for proxy ARP. + + If use-lease-addr-for-default-route is enabled and an + option routers statement are both in scope, the routers + option will be preferred. The rationale for this is that + in situations where you want to use this feature, you + probably want it enabled for a whole bunch of Windows 95 + machines, and you want to override it for a few other + machines. Unfortunately, if the opposite happens to be + true for you site, you are probably better off not trying + to use this flag. + TThhee _s_e_r_v_e_r_-_i_d_e_n_t_i_f_i_e_r ssttaatteemmeenntt sseerrvveerr--iiddeennttiiffiieerr _h_o_s_t_n_a_m_e;; ! The server-identifier statement can be used to define the ! value that is sent in the DHCP Server Identifier option ! for a given scope. The value specified mmuusstt be an IP ! address for the DHCP server, and must be reachable by all ! ! ! ! 11 ! ! ! ! ! ! dhcpd.conf(5) dhcpd.conf(5) ! ! ! clients served by a particular scope. ! ! The use of the server-identifier statement is not recom­ ! mended - the only reason to use it is to force a value ! other than the default value to be sent on occasions where ! the default value would be incorrect. The default value ! is the first IP address associated with the physical net­ ! work interface on which the request arrived. The usual ! case where the _s_e_r_v_e_r_-_i_d_e_n_t_i_f_i_e_r statement needs to be ! sent is when a physical interface has more than one IP ! address, and the one being sent by default isn't appropri­ ! ate for some or all clients served by that interface. RREEFFEERREENNCCEE:: OOPPTTIIOONN SSTTAATTEEMMEENNTTSS ! DHCP option statements are documented in the ddhhccpp-- ooppttiioonnss((55)) manual page. *************** *** 704,710 **** AAUUTTHHOORR ddhhccppdd((88)) was written by Ted Lemon under a ! contract with Vixie Labs. Funding for this project was ! provided by the Internet Software Corporation. Informa­ ! tion about the Internet Software Consortium can be found at hhttttpp::////wwwwww..iisscc..oorrgg//iisscc.. --- 753,759 ---- AAUUTTHHOORR ddhhccppdd((88)) was written by Ted Lemon under a ! contract with Vixie Labs. Funding for this project was ! provided by the Internet Software Corporation. Informa­ ! tion about the Internet Software Consortium can be found at hhttttpp::////wwwwww..iisscc..oorrgg//iisscc.. *************** *** 722,726 **** ! 11 --- 771,792 ---- ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 12