CHANGELOG revision a82212bd36e1074408974b466798b9966bbaf49b
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox UserFUTURE
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User * TODO: The lwIP source code makes some invalid assumptions on processor
8d1b3ceb4d491ce32572f1702f37ed585eede993Evan Hunt word-length, storage sizes and alignment. See the mailing lists for
8d1b3ceb4d491ce32572f1702f37ed585eede993Evan Hunt problems with exoteric (/DSP) architectures showing these problems.
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt We still have to fix some of these issues neatly.
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews * TODO: the ARP layer is not protected against concurrent access. If
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews you run from a multitasking OS, serialize access to ARP (called from
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews your network device driver and from a timeout thread.)
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews * TODO: the PPP code is broken in a few ways. There are namespace
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews collisions on BSD systems and many assumptions on word-length
7ec97ae74e42ec21b354fd2d1366313b41d947d6Evan Hunt (sizeof(int)). In ppp.c an assumption is made on the availability of
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews a thread subsystem. Either PPP needs to be moved to contrib/ports/???
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews or rearranged to be more generic.
002f1373374a0b72fc0329baa682917929bef168Tony Finch
002f1373374a0b72fc0329baa682917929bef168Tony Finch * TODO: review the the sequential netconn and socket API (lwip/src/api)
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews for bugs and performance issues. Frequent system calls (e.g. sys_mbox_fetch)
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews slooow things down considerably.
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark AndrewsHISTORY
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews(CVS HEAD)
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews * [Enter new changes just after this line - do not remove this line]
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews ++ New features:
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan Hunt 2006-12-01 Christiaan Simons
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan Hunt * mem.h, opt.h: Added MEM_LIBC_MALLOC option.
5c78f1f50e53d8e2ed51a187efc2c9a0f43b4b1bMark Andrews Note this is a workaround. Currently I have no other options left.
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews 2006-10-26 Christiaan Simons (accepted patch by Jonathan Larmour)
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews * ipv4/ip_frag.c: rename MAX_MTU to IP_FRAG_MAX_MTU and move define
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews to include/lwip/opt.h.
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews * ipv4/lwip/ip_frag.h: Remove unused IP_REASS_INTERVAL.
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews Move IP_REASS_MAXAGE and IP_REASS_BUFSIZE to include/lwip/opt.h.
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews * opt.h: Add above new options.
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt 2006-08-18 Christiaan Simons
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt * tcp_{in,out}.c: added SNMP counters.
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews * ipv4/ip.c: added SNMP counters.
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews * ipv4/ip_frag.c: added SNMP counters.
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews 2006-08-08 Christiaan Simons
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews * etharp.{c,h}: added etharp_find_addr() to read
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews (stable) ethernet/IP address pair from ARP table
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt 2006-07-14 Christiaan Simons
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt * mib_structs.c: added
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt * include/lwip/snmp_structs.h: added
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt * netif.{c,h}, netif/ethernetif.c: added SNMP statistics to netif struct
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt 2006-07-06 Christiaan Simons
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt * snmp/asn1_{enc,dec}.c added
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt * snmp/mib2.c added
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman * snmp/msg_{in,out}.c added
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman * include/lwip/snmp_asn1.h added
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman * include/lwip/snmp_msg.h added
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman * doc/snmp_agent.txt added
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman 2006-03-29 Christiaan Simons
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman * inet.c, inet.h: Added platform byteswap support.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews Added LWIP_PLATFORM_BYTESWAP define (defaults to 0) and
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews optional LWIP_PLATFORM_HTONS(), LWIP_PLATFORM_HTONL() macros.
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews ++ Bug fixes:
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews 2006-11-30 Christiaan Simons
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews * dhcp.c: Fixed false triggers of request_timeout.
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt 2006-11-28 Christiaan Simons
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt * netif.c: In netif_add() fixed missing clear of ip_addr, netmask, gw and flags.
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt 2006-10-11 Christiaan Simons
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont * api_lib.c etharp.c, ip.c, memp.c, stats.c, sys.{c,h} tcp.h:
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont Partially accepted patch #5449 for ANSI C compatibility / build fixes.
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont * ipv4/lwip/ip.h ipv6/lwip/ip.h: Corrected UDP-Lite protocol
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont identifier from 170 to 136 (bug #17574).
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień 2006-10-10 Christiaan Simons
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień * api_msg.c: Fixed Nagle algorithm as reported by Bob Grice.
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman 2006-08-17 Christiaan Simons
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman * udp.c: Fixed bug #17200, added check for broadcast
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman destinations for PCBs bound to a unicast address.
7e1a62eea2e4ba9d6c3fc718e679b965fa514f69Mark Andrews
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrews 2006-08-07 Christiaan Simons
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrews * api_msg.c: Flushing TCP output in do_close() (bug #15926).
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrews
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrews 2006-06-27 Christiaan Simons
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrews * api_msg.c: Applied patch for cold case (bug #11135).
f0353a586c2bfbae999193cb644b6bc94c7944d8Mark Andrews In accept_function() ensure newconn->callback is always initialized.
f0353a586c2bfbae999193cb644b6bc94c7944d8Mark Andrews
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt 2006-06-15 Christiaan Simons
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt * mem.h: added MEM_SIZE_F alias to fix an ancient cold case (bug #1748),
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt facilitate printing of mem_size_t and u16_t statistics.
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt 2006-06-14 Christiaan Simons
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt * api_msg.c: Applied patch #5146 to handle allocation failures
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt in accept() by Kevin Lawson.
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt 2006-05-26 Christiaan Simons
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt * api_lib.c: Removed conn->sem creation and destruction
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews from netconn_write() and added sys_sem_new to netconn_new_*.
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews(STABLE-1_1_1)
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrews 2006-03-03 Christiaan Simons
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrews * ipv4/ip_frag.c: Added bound-checking assertions on ip_reassbitmap
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrews access and added pbuf_alloc() return value checks.
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews 2006-01-01 Leon Woestenberg <leon.woestenberg@gmx.net>
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews * tcp_{in,out}.c, tcp_out.c: Removed 'even sndbuf' fix in TCP, which is
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews now handled by the checksum routine properly.
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrews 2006-02-27 Leon Woestenberg <leon.woestenberg@gmx.net>
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrews * pbuf.c: Fix alignment; pbuf_init() would not work unless
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrews pbuf_pool_memory[] was properly aligned. (Patch by Curt McDowell.)
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews 2005-12-20 Leon Woestenberg <leon.woestenberg@gmx.net>
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews * tcp.c: Remove PCBs which stay in LAST_ACK state too long. Patch
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews submitted by Mitrani Hiroshi.
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews 2005-12-15 Christiaan Simons
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews * inet.c: Disabled the added summing routine to preserve code space.
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews 2005-12-14 Leon Woestenberg <leon.woestenberg@gmx.net>
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews * tcp_in.c: Duplicate FIN ACK race condition fix by Kelvin Lawson.
f7f4730e563a2749629fe7fef4cd9513cd2bfab7Mark Andrews Added Curt McDowell's optimized checksumming routine for future
f7f4730e563a2749629fe7fef4cd9513cd2bfab7Mark Andrews inclusion. Need to create test case for unaliged, aligned, odd,
1848d38f441ebf70ab21f6151bc3487a92d25b63Mark Andrews even length combination of cases on various endianess machines.
1848d38f441ebf70ab21f6151bc3487a92d25b63Mark Andrews
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrews 2005-12-09 Christiaan Simons
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrews * inet.c: Rewrote standard checksum routine in proper portable C.
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrews
a5a1cbece45e6ca68aafe3b9b995eac6b0f45dd2Mark Andrews 2005-11-25 Christiaan Simons
a5a1cbece45e6ca68aafe3b9b995eac6b0f45dd2Mark Andrews * udp.c tcp.c: Removed SO_REUSE hack. Should reside in socket code only.
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews * *.c: introduced cc.h LWIP_DEBUG formatters matching the u16_t, s16_t,
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews u32_t, s32_t typedefs. This solves most debug word-length assumes.
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark Andrews 2005-07-17 Leon Woestenberg <leon.woestenberg@gmx.net>
677f507de7c546c187c1505c48bc7b440545485cMark Andrews * inet.c: Fixed unaligned 16-bit access in the standard checksum
677f507de7c546c187c1505c48bc7b440545485cMark Andrews routine by Peter Jolasson.
677f507de7c546c187c1505c48bc7b440545485cMark Andrews * slipif.c: Fixed implementation assumption of single-pbuf datagrams.
124cc0660c7eff8021c2422fb47441e9ca08b3f9Tinderbox User
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark Andrews 2005-02-04 Leon Woestenberg <leon.woestenberg@gmx.net>
677f507de7c546c187c1505c48bc7b440545485cMark Andrews * tcp_out.c: Fixed uninitialized 'queue' referenced in memerr branch.
677f507de7c546c187c1505c48bc7b440545485cMark Andrews * tcp_{out|in}.c: Applied patch fixing unaligned access.
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrews 2005-01-04 Leon Woestenberg <leon.woestenberg@gmx.net>
677f507de7c546c187c1505c48bc7b440545485cMark Andrews * pbuf.c: Fixed missing semicolon after LWIP_DEBUG statement.
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews 2005-01-03 Leon Woestenberg <leon.woestenberg@gmx.net>
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews * udp.c: UDP pcb->recv() was called even when it was NULL.
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrews(STABLE-1_1_0)
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrews 2004-12-28 Leon Woestenberg <leon.woestenberg@gmx.net>
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews * etharp.*: Disabled multiple packets on the ARP queue.
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt This clashes with TCP queueing.
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt 2004-11-28 Leon Woestenberg <leon.woestenberg@gmx.net>
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt * etharp.*: Fixed race condition from ARP request to ARP timeout.
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt Halved the ARP period, doubled the period counts.
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień ETHARP_MAX_PENDING now should be at least 2. This prevents
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień the counter from reaching 0 right away (which would allow
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień too little time for ARP responses to be received).
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews 2004-11-25 Leon Woestenberg <leon.woestenberg@gmx.net>
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews * dhcp.c: Decline messages were not multicast but unicast.
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews * etharp.c: ETHARP_CREATE is renamed to ETHARP_TRY_HARD.
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews Do not try hard to insert arbitrary packet's source address,
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews etharp_ip_input() now calls etharp_update() without ETHARP_TRY_HARD.
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews etharp_query() now always DOES call ETHARP_TRY_HARD so that users
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews querying an address will see it appear in the cache (DHCP could
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews suffer from this when a server invalidly gave an in-use address.)
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews * ipv4/ip_addr.h: Renamed ip_addr_maskcmp() to _netcmp() as we are
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień comparing network addresses (identifiers), not the network masks
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień themselves.
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień * ipv4/ip_addr.c: ip_addr_isbroadcast() now checks that the given
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews IP address actually belongs to the network of the given interface.
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews 2004-11-24 Kieran Mansley <kjm25@cam.ac.uk>
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews * tcp.c: Increment pcb->snd_buf when ACK is received in SYN_SENT state.
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień(STABLE-1_1_0-RC1)
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews 2004-10-16 Kieran Mansley <kjm25@cam.ac.uk>
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews * tcp.c: Add code to tcp_recved() to send an ACK (window update) immediately,
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews even if one is already pending, if the rcv_wnd is above a threshold
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień (currently TCP_WND/2). This avoids waiting for a timer to expire to send a
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień delayed ACK in order to open the window if the stack is only receiving data.
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień 2004-09-12 Kieran Mansley <kjm25@cam.ac.uk>
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień * tcp*.*: Retransmit time-out handling improvement by Sam Jansen.
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień 2004-08-20 Tony Mountifield <tony@softins.co.uk>
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień * etharp.c: Make sure the first pbuf queued on an ARP entry
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień is properly ref counted.
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews 2004-07-27 Tony Mountifield <tony@softins.co.uk>
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews * debug.h: Added (int) cast in LWIP_DEBUGF() to avoid compiler
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews warnings about comparison.
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews * pbuf.c: Stopped compiler complaining of empty if statement
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews when LWIP_DEBUGF() empty. Closed an unclosed comment.
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews * tcp.c: Stopped compiler complaining of empty if statement
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews when LWIP_DEBUGF() empty.
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews * ip.h Corrected IPH_TOS() macro: returns a byte, so doesn't need htons().
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews * inet.c: Added a couple of casts to quiet the compiler.
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews No need to test isascii(c) before isdigit(c) or isxdigit(c).
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień 2004-07-22 Tony Mountifield <tony@softins.co.uk>
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień * inet.c: Made data types consistent in inet_ntoa().
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień Added casts for return values of checksum routines, to pacify compiler.
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews * ip_frag.c, tcp_out.c, sockets.c, pbuf.c
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews Small corrections to some debugging statements, to pacify compiler.
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrews 2004-07-21 Tony Mountifield <tony@softins.co.uk>
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrews * etharp.c: Removed spurious semicolon and added missing end-of-comment.
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrews * ethernetif.c Updated low_level_output() to match prototype for
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews netif->linkoutput and changed low_level_input() similarly for consistency.
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews * api_msg.c: Changed recv_raw() from int to u8_t, to match prototype
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews of raw_recv() in raw.h and so avoid compiler error.
67247b4a8304bac790648a351a95b8b0f4c512a6Mark Andrews * sockets.c: Added trivial (int) cast to keep compiler happier.
67247b4a8304bac790648a351a95b8b0f4c512a6Mark Andrews * ip.c, netif.c Changed debug statements to use the tidier ip4_addrN() macros.
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień(STABLE-1_0_0)
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews ++ Changes:
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews 2004-07-05 Leon Woestenberg <leon.woestenberg@gmx.net>
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt * sockets.*: Restructured LWIP_PRIVATE_TIMEVAL. Make sure
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt your cc.h file defines this either 1 or 0. If non-defined,
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt defaults to 1.
9789e54e55b61b669fb31a8b70e9655e8357dda2Mark Andrews * .c: Added <string.h> and <errno.h> includes where used.
9789e54e55b61b669fb31a8b70e9655e8357dda2Mark Andrews * etharp.c: Made some array indices unsigned.
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews 2004-06-27 Leon Woestenberg <leon.woestenberg@gmx.net>
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews * netif.*: Added netif_set_up()/down().
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews * dhcp.c: Changes to restart program flow.
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews 2004-05-07 Leon Woestenberg <leon.woestenberg@gmx.net>
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews * etharp.c: In find_entry(), instead of a list traversal per candidate, do a
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień single-pass lookup for different candidates. Should exploit locality.
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień 2004-04-29 Leon Woestenberg <leon.woestenberg@gmx.net>
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień * tcp*.c: Cleaned up source comment documentation for Doxygen processing.
eb11b39981689e4a20fbe95e533577eacab992b4Mukund Sivaraman * opt.h: ETHARP_ALWAYS_INSERT option removed to comply with ARP RFC.
eb11b39981689e4a20fbe95e533577eacab992b4Mukund Sivaraman * etharp.c: update_arp_entry() only adds new ARP entries when adviced to by
eb11b39981689e4a20fbe95e533577eacab992b4Mukund Sivaraman the caller. This deprecates the ETHARP_ALWAYS_INSERT overrule option.
8daeae9b01a2b7eb9fd6511b352b03bd7d96ae79Michał Kępień
8daeae9b01a2b7eb9fd6511b352b03bd7d96ae79Michał Kępień ++ Bug fixes:
e7c0f978425f45731b08be1363f20626b0344f23Evan Hunt
e7c0f978425f45731b08be1363f20626b0344f23Evan Hunt 2004-04-27 Leon Woestenberg <leon.woestenberg@gmx.net>
01967d183990e44752fe61f193dab9c04c3afd9cEvan Hunt * etharp.c: Applied patch of bug #8708 by Toni Mountifield with a solution
01967d183990e44752fe61f193dab9c04c3afd9cEvan Hunt suggested by Timmy Brolin. Fix for 32-bit processors that cannot access
01967d183990e44752fe61f193dab9c04c3afd9cEvan Hunt non-aligned 32-bit words, such as soms 32-bit TCP/IP header fields. Fix
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrews is to prefix the 14-bit Ethernet headers with two padding bytes.
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrews
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrews 2004-04-23 Leon Woestenberg <leon.woestenberg@gmx.net>
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrews * ip_addr.c: Fix in the ip_addr_isbroadcast() check.
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt * etharp.c: Fixed the case where the packet that initiates the ARP request
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt is not queued, and gets lost. Fixed the case where the packets destination
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt address is already known; we now always queue the packet and perform an ARP
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt request.
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień(STABLE-0_7_0)
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień ++ Bug fixes:
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark Andrews
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark Andrews * Fixed TCP bug for SYN_SENT to ESTABLISHED state transition.
8ed107eab48687887d45a1ceb18b712bc7209dbaTinderbox User * Fixed TCP bug in dequeueing of FIN from out of order segment queue.
ba93bc80a7bce5ba07b2f98e68f0f57402f2459cMark Andrews * Fixed two possible NULL references in rare cases.
5f103158280fb2e814db305f917aa42040221623Mark Andrews
5f103158280fb2e814db305f917aa42040221623Mark Andrews(STABLE-0_6_6)
5f103158280fb2e814db305f917aa42040221623Mark Andrews
5f103158280fb2e814db305f917aa42040221623Mark Andrews ++ Bug fixes:
e5715e1fe12e5ad17522bd41c31e637c869d27b7Evan Hunt
e5715e1fe12e5ad17522bd41c31e637c869d27b7Evan Hunt * Fixed DHCP which did not include the IP address in DECLINE messages.
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt ++ Changes:
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt
b7b76d6b855cd4c1152c26d34fb61af05f965c5eEvan Hunt * etharp.c has been hauled over a bit.
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrews
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrews(STABLE-0_6_5)
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrews
764e2f3413ca89d09abffb3eb228c8c820bf08b8Mark Andrews ++ Bug fixes:
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Hunt
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Hunt * Fixed TCP bug induced by bad window resizing with unidirectional TCP traffic.
a06198688faca5c7bc1a35ec0ec18bc68c07691cEvan Hunt * Packets sent from ARP queue had invalid source hardware address.
50433a667cf0ed3ac7807768b745b0d870ff8c8bMark Andrews
50433a667cf0ed3ac7807768b745b0d870ff8c8bMark Andrews ++ Changes:
3c12bec945ee71a38c5ba6f624abd12e2da7eea5Mark Andrews
3c12bec945ee71a38c5ba6f624abd12e2da7eea5Mark Andrews * Pass-by ARP requests do now update the cache.
f44202ab640d22e17b4c74bdad7817622918bd27Mark Andrews
f44202ab640d22e17b4c74bdad7817622918bd27Mark Andrews ++ New features:
f44202ab640d22e17b4c74bdad7817622918bd27Mark Andrews
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień * No longer dependent on ctype.h.
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień * New socket options.
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień * Raw IP pcb support.
ad9772c559c6aa42f8930f4acf1a2d833a08040aMichał Kępień
5d7d67f82a8913fae5f1098e111fe50edb86cd5bEvan Hunt(STABLE-0_6_4)
5d7d67f82a8913fae5f1098e111fe50edb86cd5bEvan Hunt
5d7d67f82a8913fae5f1098e111fe50edb86cd5bEvan Hunt ++ Bug fixes:
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt * Some debug formatters and casts fixed.
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt * Numereous fixes in PPP.
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt ++ Changes:
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt
6216df5ccded056abd5db4abac4e5cbd78c73f45Evan Hunt * DEBUGF now is LWIP_DEBUGF
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt * pbuf_dechain() has been re-enabled.
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt * Mentioned the changed use of CVS branches in README.
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt(STABLE-0_6_3)
56e30ebae6fdb0bdf94419caff3a43fb2d16c5dfEvan Hunt
c85920c0b4b2d4dc605c0b1d355881925bf410afMark Andrews ++ Bug fixes:
c85920c0b4b2d4dc605c0b1d355881925bf410afMark Andrews
0612274565d80e0ad87a19920e561cce5bddb05bEvan Hunt * Fixed pool pbuf memory leak in pbuf_alloc().
0612274565d80e0ad87a19920e561cce5bddb05bEvan Hunt Occured if not enough PBUF_POOL pbufs for a packet pbuf chain.
0612274565d80e0ad87a19920e561cce5bddb05bEvan Hunt Reported by Savin Zlobec.
0612274565d80e0ad87a19920e561cce5bddb05bEvan Hunt
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt * PBUF_POOL chains had their tot_len field not set for non-first
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt pbufs. Fixed in pbuf_alloc().
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt ++ New features:
f592d2f76cac7115038124c510d2ba3050334b4dEvan Hunt
4ee1fbe056e812e661b856b4b448296331a40249Michał Kępień * Added PPP stack contributed by Marc Boucher
4ee1fbe056e812e661b856b4b448296331a40249Michał Kępień
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews ++ Changes:
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews * Now drops short packets for ICMP/UDP/TCP protocols. More robust.
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews
1c8aa38b53a0494fc7d4c3439594d1913987f264Mark Andrews * ARP queueuing now queues the latest packet instead of the first.
43d53a4e4b2f0f9482485a8ab764137a9898ab32Evan Hunt This is the RFC recommended behaviour, but can be overridden in
43d53a4e4b2f0f9482485a8ab764137a9898ab32Evan Hunt lwipopts.h.
43d53a4e4b2f0f9482485a8ab764137a9898ab32Evan Hunt
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień(0.6.2)
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień ++ Bugfixes:
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień * TCP has been fixed to deal with the new use of the pbuf->ref
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień counter.
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień * DHCP dhcp_inform() crash bug fixed.
b1ce9b3d54cd072adb5275f08a9afac31cfb4c1cMichał Kępień
5fa4be41a383cfbf5e1d195b18c04bdbf5603710Evan Hunt ++ Changes:
5fa4be41a383cfbf5e1d195b18c04bdbf5603710Evan Hunt
5fa4be41a383cfbf5e1d195b18c04bdbf5603710Evan Hunt * Removed pbuf_pool_free_cache and pbuf_pool_alloc_cache. Also removed
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews pbuf_refresh(). This has sped up pbuf pool operations considerably.
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews Implemented by David Haas.
2732d4922c2e72a399204320791acfd2fd3d6c7cMark Andrews
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt(0.6.1)
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt ++ New features:
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt
24ffba17f06746257d5c009ca8ebfe6043966d20Evan Hunt * The packet buffer implementation has been enhanced to support
21d58795b10a13fa7ac306f7146bdcb58b2e5165Mark Andrews zero-copy and copy-on-demand for packet buffers which have their
21d58795b10a13fa7ac306f7146bdcb58b2e5165Mark Andrews payloads in application-managed memory.
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt Implemented by David Haas.
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt Use PBUF_REF to make a pbuf refer to RAM. lwIP will use zero-copy
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt if an outgoing packet can be directly sent on the link, or perform
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt a copy-on-demand when necessary.
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt
d5bd8bb71a8970d4ebc4701b3e9ec3efef4954b7Evan Hunt The application can safely assume the packet is sent, and the RAM
ad1317338af79edad878c9c3e4361798503310baMark Andrews is available to the application directly after calling udp_send()
ad1317338af79edad878c9c3e4361798503310baMark Andrews or similar function.
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt ++ Bugfixes:
9519bb92d7f3f35015aecb84954dd21607cc2c80Evan Hunt
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt * ARP_QUEUEING should now correctly work for all cases, including
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt PBUF_REF.
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt Implemented by Leon Woestenberg.
1c81aef28ddf0905344cc58dd3ea0ca539ef1414Evan Hunt
da1f585afa8c103508c759142d6aed4edae6936eMark Andrews ++ Changes:
da1f585afa8c103508c759142d6aed4edae6936eMark Andrews
da1f585afa8c103508c759142d6aed4edae6936eMark Andrews * IP_ADDR_ANY is no longer a NULL pointer. Instead, it is a pointer
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman to a '0.0.0.0' IP address.
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman
a8fa3e2d44ce6a8f4069d8f4229d29f5ba6a4a27Mukund Sivaraman * The packet buffer implementation is changed. The pbuf->ref counter
d71d41341d36ddfd347daab982f0cb85d3dd7c4eMark Andrews meaning has changed, and several pbuf functions have been
d71d41341d36ddfd347daab982f0cb85d3dd7c4eMark Andrews adapted accordingly.
d72952cf254b71c44e5e956a306016a5be9b9c38Mark Andrews
d72952cf254b71c44e5e956a306016a5be9b9c38Mark Andrews * netif drivers have to be changed to set the hardware address length field
aae171c5421ac2ba665ff122e004e753e62bac45Mark Andrews that must be initialized correctly by the driver (hint: 6 for Ethernet MAC).
aae171c5421ac2ba665ff122e004e753e62bac45Mark Andrews See the contrib/ports/c16x cs8900 driver as a driver example.
6b183c64a3281491f8232959a5ece303b4499706Mark Andrews
6b183c64a3281491f8232959a5ece303b4499706Mark Andrews * netif's have a dhcp field that must be initialized to NULL by the driver.
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień See the contrib/ports/c16x cs8900 driver as a driver example.
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień(0.5.x) This file has been unmaintained up to 0.6.1. All changes are
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień logged in CVS but have not been explained here.
5a8f2f0cd67a5dd93d95e6a0935d4805721c3a0bMichał Kępień
e2cc7418bf895d22854d84590b63905fac0d4b90Mark Andrews(0.5.3) Changes since version 0.5.2
e2cc7418bf895d22854d84590b63905fac0d4b90Mark Andrews
36ec0d374836d070ba05b495e6f0a27f60e94476Evan Hunt ++ Bugfixes:
36ec0d374836d070ba05b495e6f0a27f60e94476Evan Hunt
36ec0d374836d070ba05b495e6f0a27f60e94476Evan Hunt * memp_malloc(MEMP_API_MSG) could fail with multiple application
e446fd29b9c6c4a7b6b5bb0aee3932578c346718Mukund Sivaraman threads because it wasn't protected by semaphores.
f896f7c8be894a737998b97008a1389e72972fcfMukund Sivaraman
e446fd29b9c6c4a7b6b5bb0aee3932578c346718Mukund Sivaraman ++ Other changes:
027a4a5b5d806290146ce4989d34be2c8a664e8cMukund Sivaraman
027a4a5b5d806290146ce4989d34be2c8a664e8cMukund Sivaraman * struct ip_addr now packed.
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman * The name of the time variable in arp.c has been changed to ctime
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman to avoid conflicts with the time() function.
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman
b5252fcde512405a68dd4becfe683d9763bd0feaMukund Sivaraman(0.5.2) Changes since version 0.5.1
99056063905a9273ec59cf477ae747e0490182b7Mukund Sivaraman
99056063905a9273ec59cf477ae747e0490182b7Mukund Sivaraman ++ New features:
99056063905a9273ec59cf477ae747e0490182b7Mukund Sivaraman
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień * A new TCP function, tcp_tmr(), now handles both TCP timers.
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień ++ Bugfixes:
62f2fefaec754e6a4841ff0e72726e6c0cd89c86Michał Kępień
b351a5864727a390e06d787e522b141ca760590fMichał Kępień * A bug in tcp_parseopt() could cause the stack to hang because of a
b351a5864727a390e06d787e522b141ca760590fMichał Kępień malformed TCP option.
b351a5864727a390e06d787e522b141ca760590fMichał Kępień
b351a5864727a390e06d787e522b141ca760590fMichał Kępień * The address of new connections in the accept() function in the BSD
b351a5864727a390e06d787e522b141ca760590fMichał Kępień socket library was not handled correctly.
b351a5864727a390e06d787e522b141ca760590fMichał Kępień
b351a5864727a390e06d787e522b141ca760590fMichał Kępień * pbuf_dechain() did not update the ->tot_len field of the tail.
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews * Aborted TCP connections were not handled correctly in all
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews situations.
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews
8008de0b11bacb3de3a1016c8c0a46f3c0653184Mark Andrews ++ Other changes:
7b4bfc0201ffbcd64a336b99c945891808c44af0Mark Andrews
7b4bfc0201ffbcd64a336b99c945891808c44af0Mark Andrews * All protocol header structs are now packed.
b815731d05220f932315eb33a97c6dc888c6a026Tinderbox User
7cd594b8427fe742d44295790ba367e1de22a47dEvan Hunt * The ->len field in the tcp_seg structure now counts the actual
7cd594b8427fe742d44295790ba367e1de22a47dEvan Hunt amount of data, and does not add one for SYN and FIN segments.
7cd594b8427fe742d44295790ba367e1de22a47dEvan Hunt
c76e8412f4ff4f5945157410312df2a8950f942dMark Andrews(0.5.1) Changes since version 0.5.0
c76e8412f4ff4f5945157410312df2a8950f942dMark Andrews
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Hunt ++ New features:
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Hunt
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Hunt * Possible to run as a user process under Linux.
a2a0100e0fc73c0af67a7c9e3524816954448dc6Evan Hunt
1feffc6fdb1ba386b22d45ea2d2f1613e717cb9eMark Andrews * Preliminary support for cross platform packed structs.
1feffc6fdb1ba386b22d45ea2d2f1613e717cb9eMark Andrews
1feffc6fdb1ba386b22d45ea2d2f1613e717cb9eMark Andrews * ARP timer now implemented.
22bed621ef87bc8b6c1fea599b02c4b38dd6bf48Mark Andrews
22bed621ef87bc8b6c1fea599b02c4b38dd6bf48Mark Andrews ++ Bugfixes:
22bed621ef87bc8b6c1fea599b02c4b38dd6bf48Mark Andrews
68d7ff133c9a1b8cfe683c70e997d83395ffd155Evan Hunt * TCP output queue length was badly initialized when opening
68d7ff133c9a1b8cfe683c70e997d83395ffd155Evan Hunt connections.
68d7ff133c9a1b8cfe683c70e997d83395ffd155Evan Hunt
e5f5675b1da287ed40aeff081ad2af86090e8d17Evan Hunt * TCP delayed ACKs were not sent correctly.
e5f5675b1da287ed40aeff081ad2af86090e8d17Evan Hunt
e5f5675b1da287ed40aeff081ad2af86090e8d17Evan Hunt * Explicit initialization of BSS segment variables.
29f0ced781d745591fd058e530a68a281cd7a510Evan Hunt
29f0ced781d745591fd058e530a68a281cd7a510Evan Hunt * read() in BSD socket library could drop data.
29f0ced781d745591fd058e530a68a281cd7a510Evan Hunt
b9fd54f8d4572fe5dcaf9d4b74f6ecb8027cc450Evan Hunt * Problems with memory alignment.
b9fd54f8d4572fe5dcaf9d4b74f6ecb8027cc450Evan Hunt
b9fd54f8d4572fe5dcaf9d4b74f6ecb8027cc450Evan Hunt * Situations when all TCP buffers were used could lead to
fcb5e646e4d775539e348fa21ba13307f2695bf5Mark Andrews starvation.
fcb5e646e4d775539e348fa21ba13307f2695bf5Mark Andrews
fcb5e646e4d775539e348fa21ba13307f2695bf5Mark Andrews * TCP MSS option wasn't parsed correctly.
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępień
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępień * Problems with UDP checksum calculation.
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępień
a22c3cf51567651f74aee5c263c597b8d752c2ccMichał Kępień * IP multicast address tests had endianess problems.
b301c4293c082fcce4ec26218e6fad346976eb9eMark Andrews
b301c4293c082fcce4ec26218e6fad346976eb9eMark Andrews * ARP requests had wrong destination hardware address.
b301c4293c082fcce4ec26218e6fad346976eb9eMark Andrews
5c4e0c7800b5c7783e7f8b9ce80a6f8dc47f8856Mark Andrews ++ Other changes:
5c4e0c7800b5c7783e7f8b9ce80a6f8dc47f8856Mark Andrews
5c4e0c7800b5c7783e7f8b9ce80a6f8dc47f8856Mark Andrews * struct eth_addr changed from u16_t[3] array to u8_t[6].
6e1f755f19ef244422e1efa4551fe23775e1a38cMark Andrews
6e1f755f19ef244422e1efa4551fe23775e1a38cMark Andrews * A ->linkoutput() member was added to struct netif.
6e1f755f19ef244422e1efa4551fe23775e1a38cMark Andrews
435a7cd2293dfa9264678508762ab9acb8d41e50Mark Andrews * TCP and UDP ->dest_* struct members where changed to ->remote_*.
435a7cd2293dfa9264678508762ab9acb8d41e50Mark Andrews
435a7cd2293dfa9264678508762ab9acb8d41e50Mark Andrews * ntoh* macros are now null definitions for big endian CPUs.
b7a823a402eb5c4e99f283e58d778a903d2e72f5Michał Kępień
b7a823a402eb5c4e99f283e58d778a903d2e72f5Michał Kępień(0.5.0) Changes since version 0.4.2
b7a823a402eb5c4e99f283e58d778a903d2e72f5Michał Kępień
c46c8e5c56ec4e81a39632e0036f20a6a3c18b8bMark Andrews ++ New features:
031bc55634f443c7c70fbf44c6ac6d8abe72f22bEvan Hunt
031bc55634f443c7c70fbf44c6ac6d8abe72f22bEvan Hunt * Redesigned operating system emulation layer to make porting easier.
031bc55634f443c7c70fbf44c6ac6d8abe72f22bEvan Hunt
a64daf673deff2358a91bee26bbf2bf874f47c6eMark Andrews * Better control over TCP output buffers.
a64daf673deff2358a91bee26bbf2bf874f47c6eMark Andrews
a64daf673deff2358a91bee26bbf2bf874f47c6eMark Andrews * Documenation added.
0aadc6dd7b719539445e7a0a058b15dd9d982a9bMichał Kępień
0aadc6dd7b719539445e7a0a058b15dd9d982a9bMichał Kępień ++ Bugfixes:
0aadc6dd7b719539445e7a0a058b15dd9d982a9bMichał Kępień
0aadc6dd7b719539445e7a0a058b15dd9d982a9bMichał Kępień * Locking issues in buffer management.
0aadc6dd7b719539445e7a0a058b15dd9d982a9bMichał Kępień
f20ff8b74d21fa3e3f071544f6fd060d015cf27eMichał Kępień * Bugfixes in the sequential API.
f20ff8b74d21fa3e3f071544f6fd060d015cf27eMichał Kępień
f20ff8b74d21fa3e3f071544f6fd060d015cf27eMichał Kępień * IP forwarding could cause memory leakage. This has been fixed.
7ff682f3c628d785048bbe0242e6a32ea26c6747Michał Kępień
7ff682f3c628d785048bbe0242e6a32ea26c6747Michał Kępień ++ Other changes:
7ff682f3c628d785048bbe0242e6a32ea26c6747Michał Kępień
7ff682f3c628d785048bbe0242e6a32ea26c6747Michał Kępień * Directory structure somewhat changed; the core/ tree has been
e02fa56849131911e9554133b17a5325b37d0828Michał Kępień collapsed.
e02fa56849131911e9554133b17a5325b37d0828Michał Kępień
e02fa56849131911e9554133b17a5325b37d0828Michał Kępień(0.4.2) Changes since version 0.4.1
abcea74291c37abf68be4e06997c59e5494f06adMark Andrews
abcea74291c37abf68be4e06997c59e5494f06adMark Andrews ++ New features:
abcea74291c37abf68be4e06997c59e5494f06adMark Andrews
d748d8a4afc200800f6289683361a393b15ba6bfMichał Kępień * Experimental ARP implementation added.
d748d8a4afc200800f6289683361a393b15ba6bfMichał Kępień
d748d8a4afc200800f6289683361a393b15ba6bfMichał Kępień * Skeleton Ethernet driver added.
cbb33c87f4bcf415c840acb61c9d4642c3c2a8e0Michał Kępień
cbb33c87f4bcf415c840acb61c9d4642c3c2a8e0Michał Kępień * Experimental BSD socket API library added.
cbb33c87f4bcf415c840acb61c9d4642c3c2a8e0Michał Kępień
324b00ad4950b00346f5ba2382a51709bd82afe9Mark Andrews ++ Bugfixes:
324b00ad4950b00346f5ba2382a51709bd82afe9Mark Andrews
296f5969a8dd6e3d1bb3761569c6a7070abd2e47Tinderbox User * In very intense situations, memory leakage could occur. This has
4dc6fa1e92af7a62875b6f6f2931beefd58cb4faEvan Hunt been fixed.
4dc6fa1e92af7a62875b6f6f2931beefd58cb4faEvan Hunt
4dc6fa1e92af7a62875b6f6f2931beefd58cb4faEvan Hunt ++ Other changes:
b81b178ab919bdbd92021cfc7e6e8d971cd38e83Mark Andrews
b81b178ab919bdbd92021cfc7e6e8d971cd38e83Mark Andrews * Variables named "data" and "code" have been renamed in order to
b81b178ab919bdbd92021cfc7e6e8d971cd38e83Mark Andrews avoid name conflicts in certain compilers.
bf216589c1a81e4431653a145b252b6ce367d7cdMark Andrews
bf216589c1a81e4431653a145b252b6ce367d7cdMark Andrews * Variable++ have in appliciable cases been translated to ++variable
7dbeb5e7f067585abfb12fac314a0d2a8f0dd040Evan Hunt since some compilers generate better code in the latter case.
7dbeb5e7f067585abfb12fac314a0d2a8f0dd040Evan Hunt
6e10f87913db176724e89b52e686b0992898da75Mukund Sivaraman(0.4.1) Changes since version 0.4
6e10f87913db176724e89b52e686b0992898da75Mukund Sivaraman
6e10f87913db176724e89b52e686b0992898da75Mukund Sivaraman ++ New features:
6e10f87913db176724e89b52e686b0992898da75Mukund Sivaraman
6e10f87913db176724e89b52e686b0992898da75Mukund Sivaraman * TCP: Connection attempts time out earlier than data
37f6466aa327a5b444e41c8cb57ab5caacfe6279Evan Hunt transmissions. Nagle algorithm implemented. Push flag set on the
37f6466aa327a5b444e41c8cb57ab5caacfe6279Evan Hunt last segment in a burst.
36babd3e630f507843c423207cbbbd4758d7cffaTinderbox User
37f6466aa327a5b444e41c8cb57ab5caacfe6279Evan Hunt * UDP: experimental support for UDP-Lite extensions.
4162d3b36d1a3c25724c7e37ce839f67b2352bbbMark Andrews
4162d3b36d1a3c25724c7e37ce839f67b2352bbbMark Andrews ++ Bugfixes:
4162d3b36d1a3c25724c7e37ce839f67b2352bbbMark Andrews
ce6f0c122140647b5652c0d4de523c994fcfea08Michał Kępień * TCP: out of order segments were in some cases handled incorrectly,
ce6f0c122140647b5652c0d4de523c994fcfea08Michał Kępień and this has now been fixed. Delayed acknowledgements was broken
f72f5879424ce4081893b306b8c31f29fe9205e0Evan Hunt in 0.4, has now been fixed. Binding to an address that is in use
f72f5879424ce4081893b306b8c31f29fe9205e0Evan Hunt now results in an error. Reset connections sometimes hung an
f72f5879424ce4081893b306b8c31f29fe9205e0Evan Hunt application; this has been fixed.
f72f5879424ce4081893b306b8c31f29fe9205e0Evan Hunt
f72f5879424ce4081893b306b8c31f29fe9205e0Evan Hunt * Checksum calculation sometimes failed for chained pbufs with odd
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt lengths. This has been fixed.
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt * API: a lot of bug fixes in the API. The UDP API has been improved
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt and tested. Error reporting and handling has been
1073e2001caee13cc1fa52de97feddd633d50fd8Evan Hunt improved. Logical flaws and race conditions for incoming TCP
78608b0a454246d0e1e0169f1d671b8427e48199Francis Dupont connections has been found and removed.
11c4e6d8fcc9bc148543c1ee632315e096d2bcf2Michał Kępień
11c4e6d8fcc9bc148543c1ee632315e096d2bcf2Michał Kępień * Memory manager: alignment issues. Reallocating memory sometimes
11c4e6d8fcc9bc148543c1ee632315e096d2bcf2Michał Kępień failed, this has been fixed.
59122481b2aa65de4518677c6949f03711d2553aEvan Hunt
59122481b2aa65de4518677c6949f03711d2553aEvan Hunt * Generic library: bcopy was flawed and has been fixed.
59122481b2aa65de4518677c6949f03711d2553aEvan Hunt
59122481b2aa65de4518677c6949f03711d2553aEvan Hunt ++ Other changes:
fe6d2fd8338d6f6ac4c79bea9a8daad903460040Evan Hunt
fe6d2fd8338d6f6ac4c79bea9a8daad903460040Evan Hunt * API: all datatypes has been changed from generic ones such as
fe6d2fd8338d6f6ac4c79bea9a8daad903460040Evan Hunt ints, to specified ones such as u16_t. Functions that return
fe6d2fd8338d6f6ac4c79bea9a8daad903460040Evan Hunt errors now have the correct type (err_t).
05a456499af940762d6658366abafb220c5053ccMark Andrews
05a456499af940762d6658366abafb220c5053ccMark Andrews * General: A lot of code cleaned up and debugging code removed. Many
05a456499af940762d6658366abafb220c5053ccMark Andrews portability issues have been fixed.
cb4e0ef4e2c8a942f99af6ecc6aa564c903b00a0Mark Andrews
cb4e0ef4e2c8a942f99af6ecc6aa564c903b00a0Mark Andrews * The license was changed; the advertising clause was removed.
cb4e0ef4e2c8a942f99af6ecc6aa564c903b00a0Mark Andrews
cb4e0ef4e2c8a942f99af6ecc6aa564c903b00a0Mark Andrews * C64 port added.
e3efc855f9f0acc9b14bb8e9c833e0fa209068b6Mark Andrews
e3efc855f9f0acc9b14bb8e9c833e0fa209068b6Mark Andrews * Thanks: Huge thanks go to Dagan Galarneau, Horst Garnetzke, Petri
e3efc855f9f0acc9b14bb8e9c833e0fa209068b6Mark Andrews Kosunen, Mikael Caleres, and Frits Wilmink for reporting and
e56c0854589d936f911e0aac2f2bf53cbc8a6af7Michał Kępień fixing bugs!
e56c0854589d936f911e0aac2f2bf53cbc8a6af7Michał Kępień
e56c0854589d936f911e0aac2f2bf53cbc8a6af7Michał Kępień(0.4) Changes since version 0.3.1
6727802528c27484e0d36d70f0b936022d3226e3Michał Kępień
6727802528c27484e0d36d70f0b936022d3226e3Michał Kępień * Memory management has been radically changed; instead of
6727802528c27484e0d36d70f0b936022d3226e3Michał Kępień allocating memory from a shared heap, memory for objects that are
6727802528c27484e0d36d70f0b936022d3226e3Michał Kępień rapidly allocated and deallocated is now kept in pools. Allocation
4d41be5f9e86c11a6f00e2b005cfc5abae2c1ab3Mark Andrews and deallocation from those memory pools is very fast. The shared
4d41be5f9e86c11a6f00e2b005cfc5abae2c1ab3Mark Andrews heap is still present but is used less frequently.
bfde61d5194a534d800f3b90008d1f52261922c5Mark Andrews
bfde61d5194a534d800f3b90008d1f52261922c5Mark Andrews * The memory, memory pool, and packet buffer subsystems now support
bfde61d5194a534d800f3b90008d1f52261922c5Mark Andrews 4-, 2-, or 1-byte alignment.
42ae02626d05921ca7508ae6f9c48ea699596bc6Mark Andrews
6b56350522d18f10edbf2d3778cd0fea74e4f3d2Mark Andrews * "Out of memory" situations are handled in a more robust way.
6b56350522d18f10edbf2d3778cd0fea74e4f3d2Mark Andrews
42ae02626d05921ca7508ae6f9c48ea699596bc6Mark Andrews * Stack usage has been reduced.
41caed6e2d7e9caace30e6c59f199ab6bd438f01Mark Andrews
16f43564c6875e2bedd346c18c494933ad51e4faMukund Sivaraman * Easier configuration of lwIP parameters such as memory usage,
16f43564c6875e2bedd346c18c494933ad51e4faMukund Sivaraman TTLs, statistics gathering, etc. All configuration parameters are
16f43564c6875e2bedd346c18c494933ad51e4faMukund Sivaraman now kept in a single header file "lwipopts.h".
16f43564c6875e2bedd346c18c494933ad51e4faMukund Sivaraman
16f43564c6875e2bedd346c18c494933ad51e4faMukund Sivaraman * The directory structure has been changed slightly so that all
72b322cde0e51c4c87df0c9e3226deac95dfb4ceMark Andrews architecture specific files are kept under the src/arch
72b322cde0e51c4c87df0c9e3226deac95dfb4ceMark Andrews hierarchy.
28ea558bc80f75e46d77ea0533232bb9d4e644f7Mark Andrews
28ea558bc80f75e46d77ea0533232bb9d4e644f7Mark Andrews * Error propagation has been improved, both in the protocol modules
8ed6c49f1a7f06d3ed39bee7731ff91d8dfd8dc7Mark Andrews and in the API.
8ed6c49f1a7f06d3ed39bee7731ff91d8dfd8dc7Mark Andrews
447dfe4f115b17274eabf1087f035634e1129bb9Mark Andrews * The code for the RTXC architecture has been implemented, tested
565535d1820c63c64ec3c89e1f4815c326aed7aeEvan Hunt and put to use.
6045abbc9a0d7d449a13b6fbfbf32d419b6bee96Mark Andrews
6045abbc9a0d7d449a13b6fbfbf32d419b6bee96Mark Andrews * Bugs have been found and corrected in the TCP, UDP, IP, API, and
f7d148398ca4511551c737e655b15f7d0d59a783Mark Andrews the Internet checksum modules.
f7d148398ca4511551c737e655b15f7d0d59a783Mark Andrews
f7d148398ca4511551c737e655b15f7d0d59a783Mark Andrews * Bugs related to porting between a 32-bit and a 16-bit architecture
3a84275b10ab16965e86f6ca97e70c1bdca885a0Mark Andrews have been found and corrected.
3a84275b10ab16965e86f6ca97e70c1bdca885a0Mark Andrews
3a84275b10ab16965e86f6ca97e70c1bdca885a0Mark Andrews * The license has been changed slightly to conform more with the
3a84275b10ab16965e86f6ca97e70c1bdca885a0Mark Andrews original BSD license, including the advertisement clause.
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrews
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrews(0.3.1) Changes since version 0.3
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrews
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrews * Fix of a fatal bug in the buffer management. Pbufs with allocated
398834f7559617bdfd6c10ba555609a2f306e3d4Mark Andrews RAM never returned the RAM when the pbuf was deallocated.
28061f80b698171892e81c0856bc722190947998Evan Hunt
28061f80b698171892e81c0856bc722190947998Evan Hunt * TCP congestion control, window updates and retransmissions did not
28061f80b698171892e81c0856bc722190947998Evan Hunt work correctly. This has now been fixed.
a785bf2c39c6f223a93c27bbff81591b38095577Mark Andrews
a785bf2c39c6f223a93c27bbff81591b38095577Mark Andrews * Bugfixes in the API.
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt(0.3) Changes since version 0.2
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt
a03f4b1ea4f1a4a70963fbeb606841c217f9e5f3Evan Hunt * New and improved directory structure. All include files are now
d315545e6db6792692fe2dcb788ac6717a33b75fEvan Hunt kept in a dedicated include/ directory.
d315545e6db6792692fe2dcb788ac6717a33b75fEvan Hunt
d315545e6db6792692fe2dcb788ac6717a33b75fEvan Hunt * The API now has proper error handling. A new function,
d315545e6db6792692fe2dcb788ac6717a33b75fEvan Hunt netconn_err(), now returns an error code for the connection in
00f131293520b70728cd48840e09953fa45a745bMark Andrews case of errors.
00f131293520b70728cd48840e09953fa45a745bMark Andrews
00f131293520b70728cd48840e09953fa45a745bMark Andrews * Improvements in the memory management subsystem. The system now
b2e71853060a384070d422afda6d1c692ff608e3Mark Andrews keeps a pointer to the lowest free memory block. A new function,
b2e71853060a384070d422afda6d1c692ff608e3Mark Andrews mem_malloc2() tries to allocate memory once, and if it fails tries
b2e71853060a384070d422afda6d1c692ff608e3Mark Andrews to free some memory and retry the allocation.
b2e71853060a384070d422afda6d1c692ff608e3Mark Andrews
42c1acfa478aacfbda2d298cf74a137de2df4b87Michał Kępień * Much testing has been done with limited memory
42c1acfa478aacfbda2d298cf74a137de2df4b87Michał Kępień configurations. lwIP now does a better job when overloaded.
42c1acfa478aacfbda2d298cf74a137de2df4b87Michał Kępień
214b53880b6d77359f60feccb91bd2589059300aEvan Hunt * Some bugfixes and improvements to the buffer (pbuf) subsystem.
214b53880b6d77359f60feccb91bd2589059300aEvan Hunt
214b53880b6d77359f60feccb91bd2589059300aEvan Hunt * Many bugfixes in the TCP code:
dd5375de0a7a515ee4fb2fd217e9577259d38c07Mark Andrews
dd5375de0a7a515ee4fb2fd217e9577259d38c07Mark Andrews - Fixed a bug in tcp_close().
dd5375de0a7a515ee4fb2fd217e9577259d38c07Mark Andrews
3a58e1fefb0a9fd5dab11f271a320c6b90473f76Mukund Sivaraman - The TCP receive window was incorrectly closed when out of
3a58e1fefb0a9fd5dab11f271a320c6b90473f76Mukund Sivaraman sequence segments was received. This has been fixed.
3a58e1fefb0a9fd5dab11f271a320c6b90473f76Mukund Sivaraman
7c67b8c2b076971e6a9f8b0db932201366f13d47Mark Andrews - Connections are now timed-out of the FIN-WAIT-2 state.
7c67b8c2b076971e6a9f8b0db932201366f13d47Mark Andrews
7c67b8c2b076971e6a9f8b0db932201366f13d47Mark Andrews - The initial congestion window could in some cases be too
5aed5dc329a2bf1340e9ff2256c1cf4e3005ea0bMark Andrews large. This has been fixed.
5aed5dc329a2bf1340e9ff2256c1cf4e3005ea0bMark Andrews
387f5e872d40426acbc739d2e9b2bb37c123dd56Mark Andrews - The retransmission queue could in some cases be screwed up. This
8664a1bd40814ed0b42eacfc5eb354b598dfd6dfTinderbox User has been fixed.
c28e44f3f8bc46c6bf1c15cc06af0c42fcd7e924Evan Hunt
c28e44f3f8bc46c6bf1c15cc06af0c42fcd7e924Evan Hunt - TCP RST flag now handled correctly.
387f5e872d40426acbc739d2e9b2bb37c123dd56Mark Andrews
3440cf9c60cd5d35634e7f274fd3eccbba2173a5Evan Hunt - Out of sequence data was in some cases never delivered to the
3440cf9c60cd5d35634e7f274fd3eccbba2173a5Evan Hunt application. This has been fixed.
3440cf9c60cd5d35634e7f274fd3eccbba2173a5Evan Hunt
387f5e872d40426acbc739d2e9b2bb37c123dd56Mark Andrews - Retransmitted segments now contain the correct acknowledgment
541ce84ff2f0c54340da8b3e04c5686ed82420e1Mark Andrews number and advertised window.
541ce84ff2f0c54340da8b3e04c5686ed82420e1Mark Andrews
032d2134a4c1808696688db9bf6f20253e5d05b5Mark Andrews - TCP retransmission timeout backoffs are not correctly computed
032d2134a4c1808696688db9bf6f20253e5d05b5Mark Andrews (ala BSD). After a number of retransmissions, TCP now gives up
032d2134a4c1808696688db9bf6f20253e5d05b5Mark Andrews the connection.
fb9ef31fed818384ef8997f2dc5f27252c6f767eEvan Hunt
fb9ef31fed818384ef8997f2dc5f27252c6f767eEvan Hunt * TCP connections now are kept on three lists, one for active
fb9ef31fed818384ef8997f2dc5f27252c6f767eEvan Hunt connections, one for listening connections, and one for
823ccd1f02802966395d58c916e9f988320fd6eeEvan Hunt connections that are in TIME-WAIT. This greatly speeds up the fast
823ccd1f02802966395d58c916e9f988320fd6eeEvan Hunt timeout processing for sending delayed ACKs.
823ccd1f02802966395d58c916e9f988320fd6eeEvan Hunt
b6fa637fc8c92f42a21e6f97259598968717af3dEvan Hunt * TCP now provides proper feedback to the application when a
b6fa637fc8c92f42a21e6f97259598968717af3dEvan Hunt connection has been successfully set up.
b6fa637fc8c92f42a21e6f97259598968717af3dEvan Hunt
b6fa637fc8c92f42a21e6f97259598968717af3dEvan Hunt * More comments have been added to the code. The code has also been
ace5680c122ef239e64eec1120f13f5a7f087d79Mark Andrews somewhat cleaned up.
ace5680c122ef239e64eec1120f13f5a7f087d79Mark Andrews
ace5680c122ef239e64eec1120f13f5a7f087d79Mark Andrews(0.2) Initial public release.
59d940391ce90963cd3f4b22201b3fca2ffda22aMark Andrews