aboutsummaryrefslogtreecommitdiff
path: root/uip/uip-1.0-changelog.txt
diff options
context:
space:
mode:
Diffstat (limited to 'uip/uip-1.0-changelog.txt')
-rw-r--r--uip/uip-1.0-changelog.txt98
1 files changed, 98 insertions, 0 deletions
diff --git a/uip/uip-1.0-changelog.txt b/uip/uip-1.0-changelog.txt
new file mode 100644
index 0000000..1e6c61c
--- /dev/null
+++ b/uip/uip-1.0-changelog.txt
@@ -0,0 +1,98 @@
+* A new API: protosockets that are similar to BSD sockets but does not
+ require any underlying multithreading system.
+
+* Very rudimentary IPv6 support
+
+* New application: DHCP client. Web server rewritten with protosockets.
+
+* Removed uIP zero-copy functionality in order to simplify uIP device
+ driver coding: outbound packets are now *always* stored in full in
+ the uip_buf buffer.
+
+* Checksum computation is now part of uip.c, but it still is possible
+ to implement them in assembly code by specifying a configuration
+ option. Checksum code now runs on architectures with 2-byte alignment.
+
+* Added TCP persistent timer.
+
+* Made all IP address representations use the new uip_ipaddr_ip
+ datatype for clarity.
+
+* Updated window behavior so that sending to a host with a small open
+ window works better now.
+
+* UDP API change: uip_udp_new() now takes port numbers in network byte
+ order like TCP functions.
+
+* Allow reception of packets when no IP address is configured to make
+ DHCP work.
+
+* Moved Ethernet address into main uIP module from ARP module.
+
+* Made constants explicit #defines and moved them out of the code
+ (header sizes, TCP options, TCP header length field).
+
+* If uip_len is less than that reported by the IP header, the packet
+ is discarded. If uip_len is greater than the length reported by the
+ IP header, uip_len is adjusted.
+
+* Moved header size definitions into header file.
+
+* Added uIP call for polling an application without triggering any
+ timer events. Removed redundant assignments of uip_len and uip_slen.
+
+* Removed compiler warning about icmp_input label being defined when
+ UIP_PINGADDRCONF was not used.
+
+* Added UIP_APPDATA_SIZE macro that holds the available buffer size
+ for user data.
+
+* Added uip_udp_bind() call.
+
+* Moved checksum code into main uIP module.
+
+* Switched the TCP, UDP and IP header structures to be structs rather
+ than typedefs.
+
+* Prefixed TCP state names with UIP_ to avoid name space
+ contamination.
+
+* Changed declarations of uip_appdatap and friends to void * to avoid
+ explicit typecasts.
+
+* Bugfixes
+
+ o TCP: Fixed bug with high byte of peer window size.
+
+ o TCP: Fixed bug that in some cases prevented concurrent reception and
+ transmission of TCP data.
+
+ o TCP: uip_connect() didn't correctly calculate age of TIME_WAIT
+ connections.
+
+ o TCP: Array index for uip_conns[] array was out of bounds in
+ comparison. Comparison changed to make index within bounds.
+
+ o TCP: if the remote host crashes and tries to reestablish an old
+ connection, uIP should respond with an ACK with the correct
+ sequence and acknowledgment numbers, to which the remote host
+ should respond with an ACK. uIP did not respond with the correct
+ ACK.
+
+ o TCP: Fixed check for SYNACK segment: now checks only relevant TCP
+ control flags and discards flags reserved for future expansion.
+
+ o TCP: Fixed bug where uIP did not inform application that a connection
+ had been aborted during an active open.
+
+ o TCP: FIN segment was accepted even though application had stopped
+ incoming data with uip_stop().
+
+ o TCP: A FINACK segment would not always correctly acknowledge data.
+
+ o UDP: checksums are now calculated after all fields have been
+ filled in.
+
+ o UDP: network byte order on lastport in uip_udp_new().
+
+ o IP: memset() bugs in IP fragment reassembly code fixed.