Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [dhcp] Work around a bug in Altiris RDP | Michael Brown | 2008-08-01 | 1 | -2/+2 |
| | | | | | | | Altiris erroneously cares about the ordering of DHCP options, and will get confused if we don't construct them in the order it expects. This is observed (so far) only when attempting to deploy 64-bit Win2k3. | ||||
* | [dhcp] Verify DHCP server source port | Michael Brown | 2008-07-10 | 1 | -16/+45 |
| | | | | | | Verifying server ID and DHCP transaction ID is insufficient to differentiate between DHCPACK and ProxyDHCPACK when the DHCP server and Proxy DHCP server are the same machine. | ||||
* | [dhcp] Verify server identifier on ProxyDHCPACKs | Michael Brown | 2008-07-01 | 1 | -7/+25 |
| | | | | | | | | | | Perform the same test for a matching DHCP_SERVER_IDENTIFIER on ProxyDHCPACKs as we do for DHCPACKs. Otherwise, a retransmitted DHCPACK can end up being treated as the ProxyDHCPACK. I have a vague and unsettling memory that this test was deliberately omitted, but I can't remember why, and can't find anything in the VC logs. | ||||
* | [dhcp] Do not transition to DHCPREQUEST without a valid DHCPOFFER | Michael Brown | 2008-06-11 | 1 | -1/+1 |
| | | | | | | A missing test for dhcp->dhcpoffer in dhcp_timer_expired() was causing the client to transition to DHCPREQUEST after timing out on waiting for ProxyDHCP even if no DHCPOFFERs had been received. | ||||
* | [DHCP] Add "dhcp-server" setting to help end-user diagnostics | Michael Brown | 2008-06-05 | 1 | -0/+8 |
| | |||||
* | [Settings] Expose SMBIOS via settings API | Michael Brown | 2008-03-28 | 1 | -2/+3 |
| | | | | In particular, expose the system UUID as a setting ("smbios/uuid"). | ||||
* | [DHCP] Add support for ProxyDHCP requests | Michael Brown | 2008-03-27 | 1 | -345/+546 |
| | | | | | | | | | | | | | | | | The PXE spec is (as usual) unclear on precisely when ProxyDHCPREQUESTs should be issued. We adapt the following, slightly paranoid approach: If an offer contains an IP address, then it is a normal DHCPOFFER. If an offer contains an option #60 "PXEClient", then it is a ProxyDHCPOFFER. Note that the same packet can be both a normal DHCPOFFER and a ProxyDHCPOFFER. After receiving the normal DHCPACK, if we have received a ProxyDHCPOFFER, we unicast a ProxyDHCPREQUEST back to the ProxyDHCP server on port 4011. If we time out waiting for a ProxyDHCPACK, we treat this as a non-fatal error. | ||||
* | [DHCP] Save precious packet-aligned memory by copying DHCP responses | Michael Brown | 2008-03-26 | 1 | -33/+16![]() |
| | | | | | Copy DHCP responses to a standard malloc()ed buffer, rather than retaining the I/O buffer that they arrived in. | ||||
* | [Settings] Remove assumption that all settings have DHCP tag values | Michael Brown | 2008-03-25 | 1 | -181/+122![]() |
| | | | | | | | | | | | | Allow for settings to be described by something other than a DHCP option tag if desirable. Currently used only for the MAC address setting. Separate out fake DHCP packet creation code from dhcp.c to fakedhcp.c. Remove notion of settings from dhcppkt.c. Rationalise dhcp.c to use settings API only for final registration of the DHCP options, rather than using {store,fetch}_setting throughout. | ||||
* | [DHCP] Fix DHCP state confusion. | Michael Brown | 2008-03-25 | 1 | -2/+5 |
| | | | | | DHCP code was using an incorrect check for whether to construct a DHCPDISCOVER or DHCPREQUEST packet. | ||||
* | [Settings] copy_settings() should not fail if some settings are missing! | Michael Brown | 2008-03-24 | 1 | -18/+54 |
| | |||||
* | [DHCP] Fix up fake-packet creation as used by PXENV_GET_CACHED_INFO | Michael Brown | 2008-03-23 | 1 | -37/+107 |
| | | | | | | | | | | | Add dedicated functions create_dhcpdiscover(), create_dhcpack() and create_proxydhcpack() for use by external code such as the PXE preboot code. Register ProxyDHCP options under the global scope "proxydhcp". Unregister previously-acquired DHCP and ProxyDHCP settings when DHCP succeeds. | ||||
* | [DHCP] FIXME: quick temporary settings fix, needs update for new API | Marty Connor | 2008-03-22 | 1 | -0/+4 |
| | |||||
* | [Settings] DHCP is now working using the new settings API. | Michael Brown | 2008-03-21 | 1 | -3/+4 |
| | |||||
* | [Settings] Migrate DHCP and NVO code to the new settings API (untested) | Michael Brown | 2008-03-21 | 1 | -437/+197![]() |
| | |||||
* | [Settings] Use a settings applicator to configure IPv4 routes. | Michael Brown | 2008-03-21 | 1 | -43/+0![]() |
| | |||||
* | Modify gPXE core and drivers to work with the new timer subsystem | Alexey Zaytsev | 2008-03-02 | 1 | -0/+1 |
| | | | | Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com> | ||||
* | [DHCP] Fix RFC4390 client identifier constructions. | Michael Brown | 2008-02-27 | 1 | -1/+1 |
| | | | | | | RFC 4390 provides for the DHCP client identifier to contain the link-layer hardware type and MAC address when the MAC address exceeds 16 bytes. However, the hardware type field is only 8 bits; we were assuming 16 bits. | ||||
* | Make seek information part of the xfer metadata, rather than an entirely | Michael Brown | 2008-01-08 | 1 | -1/+1 |
| | | | | | | | separate xfer method. Add missing .alloc_iob entries to several xfer_interface_operations structures. | ||||
* | When the DHCP file/sname fields are empty, don't allow them to override | Michael Brown | 2008-01-07 | 1 | -6/+8 |
| | | | | their equivalent DHCP-option-specified values. | ||||
* | Various warnings fixups for OpenBSD with gcc-3.3.5. | Michael Brown | 2007-12-07 | 1 | -1/+1 |
| | |||||
* | Allow DHCP server to instruct gPXE to ignore ProxyDHCP (which will | Michael Brown | 2007-11-21 | 1 | -8/+16 |
| | | | | | | also avoid waiting for ProxyDHCP offers). Also reduce the ProxyDHCP timeout, because it's already irritating me. | ||||
* | Add ProxyDHCP support. | Michael Brown | 2007-11-21 | 1 | -25/+54 |
| | |||||
* | Remove some assumptions about DHCP obtaining only a single options block. | Michael Brown | 2007-11-21 | 1 | -3/+7 |
| | |||||
* | Add PXE-required DHCP options to DHCPDISCOVER and DHCPREQUEST packets. | Michael Brown | 2007-11-21 | 1 | -10/+25 |
| | |||||
* | Add UUID to DHCP request as option 97 (if available). | Michael Brown | 2007-11-21 | 1 | -0/+13 |
| | |||||
* | Use RFC4390 whenever hardware address exceeds 16 bytes; this allows us | Michael Brown | 2007-09-21 | 1 | -2/+36 |
| | | | | to construct DHCP packets suitable for Infiniband. | ||||
* | Bugfix: DHCP message type should be a one-byte option... (d'oh) | Michael Brown | 2007-09-13 | 1 | -2/+1![]() |
| | |||||
* | Use start_timer_nodelay() in protocols which rely on the retry timer | Michael Brown | 2007-08-13 | 1 | -1/+1 |
| | | | | | to generate the initial transmission; this cuts off around 0.3s per instantiated connection. | ||||
* | Add FEATURE() macro, plus code to display features at startup time, | Michael Brown | 2007-08-02 | 1 | -0/+15 |
| | | | | | and generate DHCP options to indicate features to DHCP server (and to PXE NBPs). | ||||
* | Add identifier for the network device into the DHCP request. | Michael Brown | 2007-07-31 | 1 | -0/+25 |
| | |||||
* | Centralise construction of the DHCP request and response packets. | Michael Brown | 2007-07-31 | 1 | -37/+104 |
| | |||||
* | Separate the "is data ready" function of xfer_seek() into an | Michael Brown | 2007-07-08 | 1 | -0/+1 |
| | | | | | xfer_window() function, which can return a scalar rather than a boolean. | ||||
* | Kill off unused request() method in data-xfer interface. | Michael Brown | 2007-07-08 | 1 | -1/+0![]() |
| | |||||
* | convert to zalloc | Holger Lubitz | 2007-07-06 | 1 | -2/+1![]() |
| | |||||
* | Apply global DHCP options when register_dhcp_options() is called. Do | Michael Brown | 2007-07-06 | 1 | -7/+0![]() |
| | | | | not apply DHCP options in dhcp_configure_netdev(). | ||||
* | Add concept of DHCP option applicators. | Michael Brown | 2007-07-05 | 1 | -28/+6![]() |
| | |||||
* | Can't use strncpy() to copy strings that aren't NUL-terminated to | Michael Brown | 2007-07-01 | 1 | -2/+8 |
| | | | | begin with. | ||||
* | Don't build option-overloaded packets; they just confuse people (ISC | Michael Brown | 2007-06-30 | 1 | -31/+11![]() |
| | | | | DHCPD and Windows RIS in particular). | ||||
* | Set current working URI based on TFTP server specified by DHCP. | Michael Brown | 2007-06-28 | 1 | -0/+15 |
| | |||||
* | Add dhcp_configure_netdev() | Michael Brown | 2007-06-28 | 1 | -3/+61 |
| | |||||
* | Forgot to set initial session state. Now works! | Michael Brown | 2007-06-28 | 1 | -0/+1 |
| | |||||
* | Kill off job::start() (it was only ever added as part of an aborted | Michael Brown | 2007-06-28 | 1 | -1/+0![]() |
| | | | | attempt at triggering TCP-related protocols to start). | ||||
* | Update DHCP to use data-xfer interface (not yet tested). | Michael Brown | 2007-06-28 | 1 | -97/+187 |
| | |||||
* | Kill off hotplug.h and just make net devices normal reference-counted | Michael Brown | 2007-06-27 | 1 | -20/+5![]() |
| | | | | | | structures. DHCP still broken and #if 0'd out. | ||||
* | hoffmeis: Preparations for syslog support (LOGSERVER in DHCP, linewise | Anselm Martin Hoffmeister | 2007-04-09 | 1 | -1/+1 |
| | | | | output buffering defintions and the like) | ||||
* | Improved debugging | Michael Brown | 2007-01-16 | 1 | -15/+24 |
| | |||||
* | Gave asynchronous operations approximate POSIX signal semantics. This | Michael Brown | 2007-01-15 | 1 | -9/+8![]() |
| | | | | | | | | | | | will enable us to cascade async operations, which is necessary in order to properly support DNS. (For example, an HTTP request may have to redirect to a new location and will have to perform a new DNS lookup, so we can't just rely on doing the name lookup at the time of parsing the initial URL). Anything other than HTTP is probably broken right now; I'll fix the others up asap. | ||||
* | DHCP transmits via specified net device, so no need to create a dummy | Michael Brown | 2007-01-10 | 1 | -2/+2 |
| | | | | routing table entry just to fool ipv4.c any more. | ||||
* | A DHCP session holds a persistent reference to a network device | Michael Brown | 2007-01-04 | 1 | -0/+24 |
| |