Michael Brown
acd598b4f9
Don't build option-overloaded packets; they just confuse people (ISC
DHCPD and Windows RIS in particular).
před 17 roky
Michael Brown
c73bff7ae5
Set current working URI based on TFTP server specified by DHCP.
před 17 roky
Michael Brown
d465ae9785
Bugfix: iobuf->data always points to the start of the allocated
portion, not to the bit we want to currently write to...
před 17 roky
Michael Brown
1ec7bb789d
Add dhcp_configure_netdev()
před 17 roky
Michael Brown
cf33b568dc
Forgot to set initial session state. Now works!
před 17 roky
Michael Brown
73fe1ba9dd
Kill off job::start() (it was only ever added as part of an aborted
attempt at triggering TCP-related protocols to start).
před 17 roky
Michael Brown
07dc294de8
Update DHCP to use data-xfer interface (not yet tested).
před 17 roky
Michael Brown
f77815f2b1
Kill off hotplug.h and just make net devices normal reference-counted
structures.
DHCP still broken and #if 0'd out.
před 17 roky
Michael Brown
2d4c72b762
Remove unused headers.
před 17 roky
Michael Brown
f87bc837f4
Updated DNS to use not-yet-implemented UDP data-xfer API.
před 17 roky
Michael Brown
01b4bde8a0
Updated TFTP and PXE UDP API code to use not-yet-implemented data-xfer
UDP API.
před 17 roky
Michael Brown
63719deea9
Introduce name resolution interface and named socket opener.
před 17 roky
Anselm Martin Hoffmeister
ed7dc02a95
hoffmeis: Preparations for syslog support (LOGSERVER in DHCP, linewise
output buffering defintions and the like)
před 17 roky
Michael Brown
92a78c8e15
Added SIGKILL handler
před 17 roky
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
před 17 roky
Michael Brown
4e3976711d
A working name resolution framework
před 17 roky
Michael Brown
075f8144ff
Have DHCP set the nameserver, rather than DNS read the DHCP nameserver
value.
před 17 roky
Michael Brown
99e58865c7
Use struct sockaddr rather than struct sockaddr_tcpip
Tidy up code
před 17 roky
Michael Brown
835d35749f
Improved debugging
před 17 roky
Michael Brown
9af12d5fba
A working DNS resolver (not yet tied in to anything)
před 17 roky
Michael Brown
df0397f334
Update TFTP and FTP to take the same temporary URI scheme as HTTP
před 17 roky
Michael Brown
4e20d73bb5
Gave asynchronous operations approximate POSIX signal semantics. This
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.
před 17 roky
Michael Brown
0010e10ef3
Update TFTP to use a struct buffer rather than a callback.
Add debug autocolourisation to TFTP.
před 17 roky
Michael Brown
649b789e93
DHCP transmits via specified net device, so no need to create a dummy
routing table entry just to fool ipv4.c any more.
před 17 roky
Michael Brown
7fafa89258
A DHCP session holds a persistent reference to a network device
před 17 roky
Michael Brown
60a3f77711
Close UDP connection when DHCP completes.
před 18 roky
Michael Brown
04c09823bd
Request all the options that we're prepared to do anything with.
před 18 roky
Michael Brown
a1af111a87
Also request root-path.
před 18 roky
Michael Brown
88e38fa148
We don't actually have a stdio.h header file. Our printf() functions are
defined in vsprintf.h. (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)
There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
před 18 roky
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
před 18 roky
Michael Brown
cab3f4502b
Correct option number for DHCP_DNS_SERVERS, and add it to the request
list.
před 18 roky
Michael Brown
e9561aafc0
Derive xid dynamically from the netdev, so that we can call
create_dhcp_packet() from pxe_preboot.c, after the dhcp_session is long
gone.
Expose the functions required by pxe_preboot.c
před 18 roky
Michael Brown
d1a123b1f4
Added TFTP test code (currently just dumps file to console).
před 18 roky
Michael Brown
3611cb17b7
Initial (untested) implementation of TFTP over the new UDP API.
před 18 roky
Michael Brown
ffe0e24249
Make the UDP senddata() methods return a status code.
udp_connect() now follows the standard BSD sockets semantics and simply
sets the default address for outgoing packets; it doesn't filter incoming
packets.
před 18 roky
Michael Brown
467e9627cc
Added features that will be required for PXE UDP support.
Introduced struct sockaddr_tcpip, to simplify code that deals with
both IPv4 and IPv6 addresses.
Reorganised parts of tcpip.c and udp.c.
před 18 roky
Michael Brown
ae277992c2
Request bootfile name; it doesn't seem to be automatically supplied by
all servers.
před 18 roky
Michael Brown
3085f03ad4
Request Etherboot encapsulated options.
Parameter request list is yet another option that ISC dhcpd ignores
unless it's in the main options block.
Fix logic error in parsing file and sname fields.
před 18 roky
Michael Brown
6a0b4c9772
Free up any allocated options if we fail
před 18 roky
Michael Brown
764cb41456
Document memory ownership.
před 18 roky
Michael Brown
7ca1bb0fbe
Now successfully negotiates the whole DHCPDISCOVER/OFFER/REQUEST/ACK
cycle. :)
před 18 roky
Michael Brown
30d9bcdc6e
Rename unwieldy function
před 18 roky
Michael Brown
9ad5cede96
Set DHCP_MESSAGE_TYPE option within the main options block. This
doesn't seem to be required by the RFCs, but at least ISC dhcpd and
ethereal refuse to recognise it otherwise.
před 18 roky
Michael Brown
881b90e82c
Packets without a DHCP_MESSAGE_TYPE option are probably just BOOTP
packets.
před 18 roky
Michael Brown
0768670fd8
udp_open() takes ports in network-endian order.
před 18 roky
Michael Brown
224529d8dd
Now capable of sending what, to me, looks like a valid DHCPDISCOVER
(apart from the bad UDP checksum).
před 18 roky
Michael Brown
e8daeb62b1
Eliminate confusion between functions that return pointers and
functions that return status codes.
Zero the DHCP packet buffer *before* creating the options structures
inside it.
před 18 roky
Michael Brown
6d9d48537e
Added some debug messages and DHCP test code
před 18 roky
Michael Brown
317b962b65
Proof of concept: transmit a single DHCPDISCOVER and dump out any
parsed DHCP responses.
před 18 roky
Michael Brown
16fc9858db
Beginnings of DHCP protocol implementation
před 18 roky