Michael Brown
718294553b
Fix compiler warning
17 anni fa
Michael Brown
83e1340d88
Use autocolourisation
17 anni fa
Michael Brown
feb4f65d1e
Use auto-colourisation for debug messages.
Truncate TX length to TCP window at time of transmission rather than at
time of adding to TX packet; this is conceptually cleaner and also allows
the application to call tcp_send() multiple times to build up a single
packet.
17 anni fa
Michael Brown
ce9819af27
Redefine TCP state to include "flags that have been sent" rather than
"flags that are currently being sent". This allows at least one special
case (checking that we haven't already sent a FIN in tcp_rx_fin()) to be
collapsed.
17 anni fa
Michael Brown
be31970e36
Don't send a second FIN if we receive a FIN while in FIN_WAIT_2
17 anni fa
Michael Brown
61ed298bc7
Merge changes from mcb-tcp-fixes branch.
17 anni fa
Michael Brown
1a11cc5c5b
Added times to start/stop log messages
17 anni fa
Michael Brown
4cc1c1bd4c
Ensure that old TCP connection state is destroyed before attempting to
reopen connection. (The TCP API will soon change to render this step
unnecessary.)
17 anni fa
Michael Brown
a2e3357825
Cannot immediately overwrite the peer address when we parse
TargetAddress from the login response, because we still need the old
address while we close the connection!
17 anni fa
Michael Brown
66a7ed23cb
Make start_timer() and stop_timer() robust against incorrect usage.
17 anni fa
Michael Brown
d6f9152bfa
Avoid null pointer dereferences when no username/password specified.
17 anni fa
Michael Brown
6ceb55fad0
When login fails, leave the session open but not in full feature
phase. In iscsi_issue(), detect this state and immediately refuse the
operation. This avoids trying multiple logins when scsi.c tries
several times to read the drive capacity.
17 anni fa
Michael Brown
ab242a760d
Add ability to shut down iSCSI connection
17 anni fa
Michael Brown
60a3f77711
Close UDP connection when DHCP completes.
17 anni fa
Michael Brown
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
17 anni fa
Michael Brown
04c09823bd
Request all the options that we're prepared to do anything with.
17 anni fa
Michael Brown
a1af111a87
Also request root-path.
17 anni fa
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.
17 anni fa
Michael Brown
5edb85c8b4
Work around another confused-by-RST bug
17 anni fa
Michael Brown
b9f9230661
Work around another instance of the port re-use bug.
17 anni fa
Michael Brown
8c3d09c564
Tweaked retry messages
17 anni fa
Michael Brown
9600af14a3
Added debug messages
17 anni fa
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.
17 anni fa
Michael Brown
fcc70c9d60
Ensure that tcp_rx() always frees its received packet buffer.
17 anni fa
Michael Brown
28c711b91d
Killed off spurious <stdio.h> inclusion
17 anni fa
Michael Brown
3fbfbad0f7
Avoid calling NULL methods!
17 anni fa
Michael Brown
89bcb57201
Update ftp.c to work with Nikhil's TCP stack.
Remove the now-totally-obsolete sockaddr_in field from tcp.h.
17 anni fa
Michael Brown
6842dd3222
Handle TargetAddress
17 anni fa
Michael Brown
67577556a2
Handle strings as complete units, instead of a byte at a time.
17 anni fa
Michael Brown
3a7d762c1c
Add iscsi_rx_buffered_data() and supporting infrastructure.
17 anni fa
Michael Brown
3f0b4d9ed8
Updated to use asynchronous operation model for iSCSI requests
Added CHAP authentication
17 anni fa
Michael Brown
fedc186fd7
Split login into security negotation and operational parameter
negotiation phases, to allow inclusion of CHAP authentication.
18 anni fa
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.
18 anni fa
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
18 anni fa
Michael Brown
0dca1dc8ce
Made eth_ntoa() public for use in legacy drivers' DBG() statements.
18 anni fa
Michael Brown
095fce14f8
Added extra debugging
18 anni fa
Michael Brown
cab3f4502b
Correct option number for DHCP_DNS_SERVERS, and add it to the request
list.
18 anni fa
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
18 anni fa
Nikhil Chandru Rao
d1d334b8e1
IP6 support
18 anni fa
Michael Brown
f1e1dfae3d
Added RX tracing as well.
18 anni fa
Michael Brown
0743dc5b0d
Added some minimal debugging for transmitted PDUs.
18 anni fa
Derek Pryor
562ab6d65c
Bug fixes to the HTTP protocol code
18 anni fa
Derek Pryor
0f88703019
Bug fixes to the HTTP protocol code
18 anni fa
Michael Brown
db0ff1731f
Fail gracefully when set_dhcp_option() is called with options==NULL.
18 anni fa
Derek Pryor
25ea34a8d7
New HTTP protocol and test code
18 anni fa
Michael Brown
2497270c14
command->data_{in,out} are now userptr_t, so it is invalid to compare
against NULL.
18 anni fa
Michael Brown
ea5fa82b91
Fixed variable name in assertion
18 anni fa
Michael Brown
c3a4f3c5da
Towards an RFC2988-compliant timer.
18 anni fa
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.
18 anni fa
Nikhil Chandru Rao
3aff701001
Changed the TCP state machines behaviour in the ESTABLISHED state
18 anni fa