Commit Graph

49 Commits

Author SHA1 Message Date
hidnplayr
4398dd7c40 Preparing to implement TCP reassembly queue.
Some cleanup of tcp_input and skip checksum recalculation for loopback segments. 

git-svn-id: svn://kolibrios.org@3406 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-23 14:02:38 +00:00
hidnplayr
3717c3370d Run TCP input code in a separate thread.
git-svn-id: svn://kolibrios.org@3389 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-03-18 21:04:15 +00:00
hidnplayr
e2df6e8111 Fixed stack corruption in TCP_input when TCP queue is full
git-svn-id: svn://kolibrios.org@3293 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-28 11:51:11 +00:00
hidnplayr
46d92cd305 Cleanup in TCP, fixed possible deadlock in TCP_input.
git-svn-id: svn://kolibrios.org@3275 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-26 20:17:02 +00:00
hidnplayr
4fe36c5853 Fixed bugs in TCP (crash when closing socket, crash when responding to segment that has no socket)
git-svn-id: svn://kolibrios.org@3270 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-24 17:12:10 +00:00
hidnplayr
89bfe5f5d6 Better blocking sockets, preparing for some API changes.
git-svn-id: svn://kolibrios.org@3257 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-19 16:56:54 +00:00
hidnplayr
629fb2b3e1 Better TCP timestamp, fixed stack corruption if PAWS fails.
git-svn-id: svn://kolibrios.org@3252 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-17 19:43:01 +00:00
hidnplayr
72f758c218 Changed some debug output messages (and their levels) in new stack.
Implemented a queue for incoming TCP segments.

git-svn-id: svn://kolibrios.org@3251 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-02-17 17:58:53 +00:00
hidnplayr
949b920321 Added TCP_mss (max segment size) stub.
Bugfix in FTPD concerning data ports.

git-svn-id: svn://kolibrios.org@3144 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-12-29 22:22:10 +00:00
hidnplayr
14077f9230 Fixed TCP keepalive
git-svn-id: svn://kolibrios.org@3143 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-12-28 19:56:52 +00:00
hidnplayr
151ae82c14 Port numbers for TCP and UDP must be given in Big endian order now.
git-svn-id: svn://kolibrios.org@2995 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-01 12:33:15 +00:00
hidnplayr
85a661d4e9 TCP_input: window is now stored as dword, data is now also received when header prediction failed.
git-svn-id: svn://kolibrios.org@2957 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-30 07:02:10 +00:00
hidnplayr
d3c3f6e418 implemented TCP_rangeset and TCP_set_persist
git-svn-id: svn://kolibrios.org@2955 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 20:48:45 +00:00
hidnplayr
c10e7c783c rewrote TCP option parser, added SACK, moved connection accepter to run before option parser.
git-svn-id: svn://kolibrios.org@2954 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 19:56:28 +00:00
hidnplayr
57c5115037 Fixed bug in RTT measurement
git-svn-id: svn://kolibrios.org@2948 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 10:01:56 +00:00
hidnplayr
a033334ecb Added missing file
git-svn-id: svn://kolibrios.org@2947 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 09:33:50 +00:00
hidnplayr
688b249960 Added Protection Against Wrapped Sequence numbers (PAWS)
git-svn-id: svn://kolibrios.org@2946 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-28 09:29:57 +00:00
hidnplayr
51263819d7 Bugfixes for #2937 (receive window calculation).
Disabled interrupts while in TCP_input or TCP_output to prevent deadlock.

git-svn-id: svn://kolibrios.org@2942 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 22:47:10 +00:00
hidnplayr
ead0b600bf Beginning implementation of timestamps and Round Trip Time in TCP.
git-svn-id: svn://kolibrios.org@2937 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-27 13:55:15 +00:00
hidnplayr
26eb4cbcc9 Removed useless cli before calling mutex
git-svn-id: svn://kolibrios.org@2932 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-20 16:04:05 +00:00
hidnplayr
615e3cc84c Some updates for TCP
git-svn-id: svn://kolibrios.org@2930 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-19 11:21:20 +00:00
hidnplayr
cfa8509ec1 Added crude loopback device.
git-svn-id: svn://kolibrios.org@2914 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-08-08 13:14:32 +00:00
hidnplayr
83c26b2500 Better debug info for network, lots of improvements in TCP code
git-svn-id: svn://kolibrios.org@2891 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-26 23:21:35 +00:00
hidnplayr
0287f5c75b Bugfixes & further development of TCP_output
git-svn-id: svn://kolibrios.org@2890 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-26 14:54:57 +00:00
hidnplayr
e19d06cb9f network code cleanup, implemented TCP_sendalot
git-svn-id: svn://kolibrios.org@2888 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-24 20:29:46 +00:00
hidnplayr
a105ce8fd8 Fixed bug with TCP_close
git-svn-id: svn://kolibrios.org@2882 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-19 13:17:11 +00:00
hidnplayr
96f1dd834c Added CMOVcc replacements to kernel macros (for eBox)
git-svn-id: svn://kolibrios.org@2866 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-07-13 13:29:28 +00:00
hidnplayr
a83978c197 -Bugfix for 2614 (had forgotten read_ip subfunction)
-Bugfix in socket_send_tcp
-IPv4 now simply ignores options, but does not drop the packet
-refactored sys_network api code 

git-svn-id: svn://kolibrios.org@2621 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-04-17 18:41:58 +00:00
hidnplayr
6b6bbac3ce Proper initialization for TCP socket (net branch)
git-svn-id: svn://kolibrios.org@2612 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-04-14 18:20:01 +00:00
hidnplayr
cb6e8e3fb9 Fixed bug in TCP.
Error occured when receiving a TCP segment wich has no local socket. (netbranch)

git-svn-id: svn://kolibrios.org@2600 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-04-11 13:07:45 +00:00
hidnplayr
a1174dce46 Fixed bug in TCP_input.listen, clarified some of the debug output (net branch)
git-svn-id: svn://kolibrios.org@2555 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-04-03 18:26:53 +00:00
hidnplayr
815cb2a26f Usage of new mutexes in net branch.
git-svn-id: svn://kolibrios.org@2402 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-02-25 12:03:22 +00:00
hidnplayr
85c176d7f5 Fixed TCP and UDP checksum in net branch.
git-svn-id: svn://kolibrios.org@2390 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-02-23 22:21:40 +00:00
hidnplayr
f156bb294d Markup changes in net branch + updates in TCP_output
git-svn-id: svn://kolibrios.org@2362 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-02-21 08:44:51 +00:00
hidnplayr
c518777ac6 NET branch: Fixed errors in socket_open and socket_fork
git-svn-id: svn://kolibrios.org@2315 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-13 16:17:05 +00:00
hidnplayr
3ce07b4be0 more small updates and fixes in net branch
git-svn-id: svn://kolibrios.org@2310 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-12 20:05:07 +00:00
hidnplayr
29c0d093db small updates and fixes in TCP for net branch
git-svn-id: svn://kolibrios.org@2309 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-12 19:20:33 +00:00
hidnplayr
63bc53c598 small updates and fixes in net branch
git-svn-id: svn://kolibrios.org@2308 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-12 15:39:15 +00:00
hidnplayr
255c2b5ab3 NET branch: re-organised all structs to use struct.inc from fasm
git-svn-id: svn://kolibrios.org@2305 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-08 23:06:26 +00:00
hidnplayr
8aee69dafb Replaced some of the 'magic numbers' in net branch with constants.
git-svn-id: svn://kolibrios.org@2301 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-07 21:03:20 +00:00
hidnplayr
b7875fe3bf Fixed Unsigned jumps in net branch
git-svn-id: svn://kolibrios.org@2300 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-11-07 20:25:47 +00:00
hidnplayr
08596896d2 Net branch:
-Updates in TCP code: accepting connections now works.
(TCPserv is able to send 'hello world!' to telnet client)

git-svn-id: svn://kolibrios.org@1838 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-02-03 21:35:16 +00:00
hidnplayr
36e43113ac Updates in NET branch:
- Added RST packet handling code
- Added SOCKET_isconnected
- Added ACK handeling in syn rcvd state (for passive open)


git-svn-id: svn://kolibrios.org@1831 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-02-01 17:00:04 +00:00
hidnplayr
0d53bac040 Bugfixes in Net branch:
- Fixed delayed ACK (misimplementation)
- Fixed zero window problem and checksum for TCP_respond_socket

git-svn-id: svn://kolibrios.org@1830 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-02-01 16:14:18 +00:00
hidnplayr
8619f93e83 More TCP and sockets code
git-svn-id: svn://kolibrios.org@1774 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-01-28 23:07:25 +00:00
hidnplayr
2ba52e3e4a More TCP updates + Socket states
git-svn-id: svn://kolibrios.org@1773 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-01-28 16:49:08 +00:00
hidnplayr
2861c164de Small update in TCP_input
git-svn-id: svn://kolibrios.org@1772 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-01-28 16:16:31 +00:00
hidnplayr
db55961834 More updates to TCP code of new stack.
git-svn-id: svn://kolibrios.org@1763 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-01-24 22:01:54 +00:00
hidnplayr
1dd8c78cbd * Updates in TCP code
* Splitted TCP code into multiple files
* cleanup

git-svn-id: svn://kolibrios.org@1733 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-01-08 14:59:21 +00:00