Michael Brown
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
il y a 18 ans
Michael Brown
04c09823bd
Request all the options that we're prepared to do anything with.
il y a 18 ans
Michael Brown
a1af111a87
Also request root-path.
il y a 18 ans
Michael Brown
38ae94f8ce
A cleaner method of handling login redirection; just use the existing
reconnection mechanism. This avoids the problems of trying to reuse
the TCP connection structure before the old connection has cleanly exited.
il y a 18 ans
Michael Brown
5edb85c8b4
Work around another confused-by-RST bug
il y a 18 ans
Michael Brown
b9f9230661
Work around another instance of the port re-use bug.
il y a 18 ans
Michael Brown
8c3d09c564
Tweaked retry messages
il y a 18 ans
Michael Brown
9600af14a3
Added debug messages
il y a 18 ans
Michael Brown
cc0b92652f
Call closed() method only when the connection is genuinely in the
TCP_CLOSED state (i.e. after the final FIN/ACK exchange), and has been
removed from the list of TCP connections.
il y a 18 ans
Michael Brown
fcc70c9d60
Ensure that tcp_rx() always frees its received packet buffer.
il y a 18 ans
Michael Brown
28c711b91d
Killed off spurious <stdio.h> inclusion
il y a 18 ans
Michael Brown
3fbfbad0f7
Avoid calling NULL methods!
il y a 18 ans
Michael Brown
89bcb57201
Update ftp.c to work with Nikhil's TCP stack.
Remove the now-totally-obsolete sockaddr_in field from tcp.h.
il y a 18 ans
Michael Brown
6842dd3222
Handle TargetAddress
il y a 18 ans
Michael Brown
67577556a2
Handle strings as complete units, instead of a byte at a time.
il y a 18 ans
Michael Brown
3a7d762c1c
Add iscsi_rx_buffered_data() and supporting infrastructure.
il y a 18 ans
Michael Brown
3f0b4d9ed8
Updated to use asynchronous operation model for iSCSI requests
Added CHAP authentication
il y a 18 ans
Michael Brown
fedc186fd7
Split login into security negotation and operational parameter
negotiation phases, to allow inclusion of CHAP authentication.
il y a 18 ans
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.
il y a 18 ans
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
il y a 18 ans
Michael Brown
0dca1dc8ce
Made eth_ntoa() public for use in legacy drivers' DBG() statements.
il y a 18 ans
Michael Brown
095fce14f8
Added extra debugging
il y a 18 ans
Michael Brown
cab3f4502b
Correct option number for DHCP_DNS_SERVERS, and add it to the request
list.
il y a 18 ans
Nikhil Chandru Rao
dccb8358bd
Fixed a bug in the TCP state machine. Added a transition from ESTABLISHED to LAST_ACK on receiving a FIN,ACK
il y a 18 ans
Nikhil Chandru Rao
d1d334b8e1
IP6 support
il y a 18 ans
Michael Brown
f1e1dfae3d
Added RX tracing as well.
il y a 18 ans
Michael Brown
0743dc5b0d
Added some minimal debugging for transmitted PDUs.
il y a 18 ans
Derek Pryor
562ab6d65c
Bug fixes to the HTTP protocol code
il y a 18 ans
Derek Pryor
0f88703019
Bug fixes to the HTTP protocol code
il y a 18 ans
Michael Brown
db0ff1731f
Fail gracefully when set_dhcp_option() is called with options==NULL.
il y a 18 ans
Derek Pryor
25ea34a8d7
New HTTP protocol and test code
il y a 18 ans
Michael Brown
2497270c14
command->data_{in,out} are now userptr_t, so it is invalid to compare
against NULL.
il y a 18 ans
Michael Brown
ea5fa82b91
Fixed variable name in assertion
il y a 18 ans
Michael Brown
c3a4f3c5da
Towards an RFC2988-compliant timer.
il y a 18 ans
Michael Brown
f0718d562f
Don't call stop_timer() from within the timer expiry callback; it's
already stopped.
Don't call start_timer() when sending a dataless ACK. This may or may
not be the right thing to do; I can't tell.
Back out broken "send ACK only if required to" logic temporarily.
il y a 18 ans
Nikhil Chandru Rao
3aff701001
Changed the TCP state machines behaviour in the ESTABLISHED state
il y a 18 ans
Michael Brown
dc8b96b446
Temporarily work around the bug when port numbers are reused between
subsequent runs.
il y a 18 ans
Michael Brown
09688cb3b5
Correct some packet ownership and freeing bugs.
il y a 18 ans
Michael Brown
43d601b678
out_flags was being set but never used.
Use just random() to allocate initial sequence numbers; the previous
algorithm ended up with a high probability of zeroing the high word.
il y a 18 ans
Michael Brown
065a2a486d
Port the UDP port allocation code to TCP
il y a 18 ans
Michael Brown
de0c36a98a
Remove some of the confusion surrounding the amount to strip off from
a TCP packet before passing to newdata().
il y a 18 ans
Michael Brown
867c7aef59
iphdr->hlen includes the IP header, so truncate packet *before*
stripping the header. Also fix an htons/ntohs confusion.
il y a 18 ans
Marty Connor
ee9ae8130a
Remove _PROTOCOL macros for gcc 3.2 compatibility
il y a 18 ans
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
il y a 18 ans
Michael Brown
a3d508b648
Clarified packet ownership transfer between a few functions.
Added a large number of missing calls to free_pkb(). In the case of UDP,
no received packets were ever freed, which lead to memory exhaustion
remarkably quickly once pxelinux started up.
In general, any function with _rx() in its name which accepts a pk_buff
*must* either call free_pkb() or pass the pkb to another _rx() function
(e.g. the next layer up the stack). Since the UDP (and TCP) layers don't
pass packet buffers up to the higher-layer protocols (the
"applications"), they must free the packet buffer after calling the
application's newdata() method.
il y a 18 ans
Michael Brown
d1a123b1f4
Added TFTP test code (currently just dumps file to console).
il y a 18 ans
Michael Brown
3611cb17b7
Initial (untested) implementation of TFTP over the new UDP API.
il y a 18 ans
Nikhil Chandru Rao
409f69a08a
Changed ipv4_dump() to consume only one line.
il y a 18 ans
Nikhil Chandru Rao
8bf38fb400
Corrected bugs in the TCP logic. There might be a few more which need to be taken care of.
il y a 18 ans
Michael Brown
68e33224ef
gcc3 compatibility: removed ARP_NET_PROTOCOL().
il y a 18 ans