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.
il y a 18 ans
Michael Brown
881b90e82c
Packets without a DHCP_MESSAGE_TYPE option are probably just BOOTP
packets.
il y a 18 ans
Michael Brown
29b358dd39
conn->local_port is now network-endian; do not swap when comparing
against value in header.
Temporarily disable RX checksumming; it's broken and is holding up
work on higher-layer protocols
.
il y a 18 ans
Michael Brown
36c94eae78
Clarify hexiness of header length
il y a 18 ans
Michael Brown
2c0eb6eb1d
Correct TCP/IP checksum generation.
il y a 18 ans
Michael Brown
0768670fd8
udp_open() takes ports in network-endian order.
il y a 18 ans
Nikhil Chandru Rao
13dbf5494d
Minor edits
il y a 18 ans
Michael Brown
224529d8dd
Now capable of sending what, to me, looks like a valid DHCPDISCOVER
(apart from the bad UDP checksum).
il y a 18 ans
Michael Brown
a38010fb0e
Make udp_send() call udp_sendto(), rather than vice-versa.
il y a 18 ans
Michael Brown
7c84b74185
A small but very critical bug.
il y a 18 ans
Michael Brown
82f3295794
Use more standardised format specifiers in debug messages (e.g. %p for
a pointer).
il y a 18 ans
Michael Brown
ab633f6a73
Reserve space for lower-layer headers when allocating packet buffer.
Use pkb_available() rather than pkb_len() (which will always return 0
on a freshly allocated buffer).
udp_send() should assume that the buffer has already been allocated.
il y a 18 ans
Michael Brown
6858b14a34
Add pkb_available()
il y a 18 ans
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.
il y a 18 ans
Michael Brown
3369f93036
Add block identification to debug messages
il y a 18 ans
Michael Brown
6d9d48537e
Added some debug messages and DHCP test code
il y a 18 ans
Michael Brown
317b962b65
Proof of concept: transmit a single DHCPDISCOVER and dump out any
parsed DHCP responses.
il y a 18 ans
Michael Brown
76070cd226
Added missing prototype
il y a 18 ans
Michael Brown
16fc9858db
Beginnings of DHCP protocol implementation
il y a 18 ans
Michael Brown
a7011edfd4
Add net/udp
il y a 18 ans
Michael Brown
bf0cdd42cf
Add some DHCP options that we are likely to use
il y a 18 ans
Michael Brown
e0668ad8df
Correct typo
il y a 18 ans
Nikhil Chandru Rao
bf515d3d65
Minor edit in net/udp.c
il y a 18 ans
Nikhil Chandru Rao
ab577e1a3a
The following edits were made: \
1. Updated UDP send data code\
2. Corrected internet checksum\
3. Moved udp_buffer() and udp_buflen() to udp.c from udp.h
il y a 18 ans
Michael Brown
b8d619e822
Added macros for generating static DHCP options
il y a 18 ans
Michael Brown
254fe6e00e
Split DHCP packet creation into two parts: creating the basic packet
structure, and populating it with options. This should allow us to
use the same basic options list for both DHCPDISCOVER and DHCPREQUEST,
plus making it much easier to set the non-constant parameters
(e.g. requested IP address) in request packets.
il y a 18 ans
Michael Brown
e40ebb67de
Allow for calling find_dhcp_option() with "options" set to NULL, in order
to search through all registered option blocks.
Move some static inlines that are likely to be used frequently into
dhcpopts.c as normal functions, to save space.
il y a 18 ans
Michael Brown
7ab29b0bfe
This file breaks "make blib"; please find a way to avoid doing this.
il y a 18 ans
Derek Pryor
e71098a652
The first packet (ClientHello Handshake) can be constructed and is accepted
by SSL servers. Framework.c allows me to test the library against a given
https server.
il y a 18 ans
Michael Brown
6c01d3bb95
Fix creation of the htype field; the ll_proto field from which it is
derived is a 16-bit big-endian field, but htype is only 8 bits wide.
il y a 18 ans
Michael Brown
35b0233baa
Tidy up hex_dump() output.
il y a 18 ans
Michael Brown
b24947f0c0
Add sketch code to reassemble a DHCP packet from our internal "everything
is a DHCP option" data structures.
We need this code in order to be able to return a DHCP packet to a PXE NBP
which reflects options from our multiple sources (e.g. NVS and DHCP
server). This is expensive, but necessary. Having paid this cost, we may
as well try to use the same code to generate our DHCP request packets,
since the process is similar.
il y a 18 ans
Michael Brown
12da7ea475
Add (untested) code for parsing a received DHCP packet and constructing a
DHCP options block from the contents.
il y a 18 ans
Michael Brown
19e8b41562
Add code to modify DHCP option values within a block.
il y a 18 ans
Michael Brown
3acbff4f00
How did this ever work properly before?
il y a 18 ans
Derek Pryor
47be47bf17
Adding SSL Constructs header file. (First version)
il y a 18 ans
Nikhil Chandru Rao
5f651f8622
Added fragment reassembly code
il y a 18 ans
Marty Connor
eb091f03e3
fix printf format args
il y a 18 ans
Marty Connor
e8cc1c4333
Removed vestigal FILO code
il y a 18 ans
Marty Connor
623f2e7b9d
Added bin/.blib.list to VERYCLEANUP so .bin directory is made empty
il y a 18 ans
Nikhil Chandru Rao
8de630c62b
Removing net/interface.c and include/gpxe/interface.h
il y a 18 ans
Michael Brown
51d62d1a3c
Provide a mechanism for returning the encapsulator as well as the
encapsulated option; this will be needed for modifications to the options
block.
il y a 18 ans
Nikhil Chandru Rao
c9ea710930
Renamed net/interface.c and include/gpxe/interface.h to net/tcpip_if.c and include/gpxe/tcpip_if.h respectively. Made changes in the other files.
il y a 18 ans
Michael Brown
291f072b82
Add priority mechanism
il y a 18 ans
Michael Brown
bd0c8b21ad
Change dhcp_num_option() to return the numerical value directly.
il y a 18 ans
Dan Lynch
d8b51332c6
typo in macro fixed
il y a 18 ans
Dan Lynch
ba2bfd54ed
- modified length of password string to match visible field length
- value of n passed to wgetnstr should now be equivalent to output from strlen (i.e. length excluding NUL-terminating character)
il y a 18 ans
Dan Lynch
f9887c3f0f
started on ANSI sequence processing
il y a 18 ans
Dan Lynch
c29c868475
- implemented cursor retreat function (_wcursback) as a core function
- reimplemented cleaner wgetnstr
- fixed wdelch for use with _wcursback
il y a 18 ans
Nikhil Chandru Rao
6e2c97b0c0
Added ipv4_pseudo_header structure
il y a 18 ans