📄 changelog
字号:
HISTORY(CVS HEAD) * [Enter new changes just after this line - do not remove this line] ++ New features: ++ Bugfixes:(STABLE-1.4.0) ++ New features: 2011-03-27: Simon Goldschmidt * tcp_impl.h, tcp_in.c, tcp_out.c: Removed 'dataptr' from 'struct tcp_seg' and calculate it in tcp_zero_window_probe (the only place where it was used). 2010-11-21: Simon Goldschmidt * dhcp.c/.h: Added a function to deallocate the struct dhcp from a netif (fixes bug #31525). 2010-07-12: Simon Goldschmidt (patch by Stephane Lesage) * ip.c, udp.c/.h, pbuf.h, sockets.c: task #10495: Added support for IP_MULTICAST_LOOP at socket- and raw-API level. 2010-06-16: Simon Goldschmidt * ip.c: Added an optional define (LWIP_IP_ACCEPT_UDP_PORT) that can allow link-layer-addressed UDP traffic to be received while a netif is down (just like DHCP during configuration) 2010-05-22: Simon Goldschmidt * many many files: bug #27352: removed packing from ip_addr_t, the packed version is now only used in protocol headers. Added global storage for current src/dest IP address while in input functions. 2010-05-16: Simon Goldschmidt * def.h: task #10391: Add preprocessor-macros for compile-time htonl calculation (and use them throughout the stack where applicable) 2010-05-16: Simon Goldschmidt * opt.h, memp_std.h, memp.c, ppp_oe.h/.c: PPPoE now uses its own MEMP pool instead of the heap (moved struct pppoe_softc from ppp_oe.c to ppp_oe.h) 2010-05-16: Simon Goldschmidt * opt.h, memp_std.h, dns.h/.c: DNS_LOCAL_HOSTLIST_IS_DYNAMIC uses its own MEMP pool instead of the heap 2010-05-13: Simon Goldschmidt * tcp.c, udp.c: task #6995: Implement SO_REUSEADDR (correctly), added new option SO_REUSE_RXTOALL to pass received UDP broadcast/multicast packets to more than one pcb. 2010-05-02: Simon Goldschmidt * netbuf.h/.c, sockets.c, api_msg.c: use checksum-on-copy for sending UDP data for LWIP_NETIF_TX_SINGLE_PBUF==1 2010-04-30: Simon Goldschmidt * udp.h/.c, pbuf.h/.c: task #6849: added udp_send(_to/_if) functions that take a precalculated checksum, added pbuf_fill_chksum() to copy data into a pbuf and at the same time calculating the checksum for that data 2010-04-29: Simon Goldschmidt * ip_addr.h, etharp.h/.c, autoip.c: Create overridable macros for copying 2-byte-aligned IP addresses and MAC addresses 2010-04-28: Patch by Bill Auerbach * ip.c: Inline generating IP checksum to save a function call 2010-04-14: Simon Goldschmidt * tcpip.h/.c, timers.c: Added an overridable define to get informed when the tcpip_thread processes messages or timeouts to implement a watchdog. 2010-03-28: Simon Goldschmidt * ip_frag.c: create a new (contiguous) PBUF_RAM for every outgoing fragment if LWIP_NETIF_TX_SINGLE_PBUF==1 2010-03-27: Simon Goldschmidt * etharp.c: Speedup TX by moving code from find_entry to etharp_output/ etharp_query to prevent unnecessary function calls (inspired by patch #7135). 2010-03-20: Simon Goldschmidt * opt.h, tcpip.c/.h: Added an option to disable tcpip_(un)timeout code since the linker cannot do this automatically to save space. 2010-03-20: Simon Goldschmidt * opt.h, etharp.c/.h: Added support for static ARP table entries 2010-03-14: Simon Goldschmidt * tcp_impl.h, tcp_out.c, inet_chksum.h/.c: task #6849: Calculate checksum when creating TCP segments, not when (re-)transmitting them. 2010-03-07: Simon Goldschmidt * sockets.c: bug #28775 (select/event_callback: only check select_cb_list on change) plus use SYS_LIGHTWEIGHT_PROT to protect the select code. This should speed up receiving data on sockets as the select code in event_callback is only executed when select is waiting. 2010-03-06: Simon Goldschmidt * tcp_out.c: task #7013 (Create option to have all packets delivered to netif->output in one piece): Always copy to try to create single pbufs in tcp_write. 2010-03-06: Simon Goldschmidt * api.h, api_lib.c, sockets.c: task #10167 (sockets: speed up TCP recv by not allocating a netbuf): added function netconn_recv_tcp_pbuf() for tcp netconns to receive pbufs, not netbufs; use that function for tcp sockets. 2010-03-05: Jakob Ole Stoklundsen / Simon Goldschmidt * opt.h, tcp.h, tcp_impl.h, tcp.c, tcp_in.c, tcp_out.c: task #7040: Work on tcp_enqueue: Don't waste memory when chaining segments, added option TCP_OVERSIZE to prevent creating many small pbufs when calling tcp_write with many small blocks of data. Instead, pbufs are allocated larger than needed and the space is used for later calls to tcp_write. 2010-02-21: Simon Goldschmidt * stats.c/.h: Added const char* name to mem- and memp-stats for easier debugging. 2010-02-21: Simon Goldschmidt * tcp.h (and usages), added tcp_impl.h: Splitted API and internal implementation of tcp to make API usage cleare to application programmers 2010-02-14: Simon Goldschmidt/Stephane Lesage * ip_addr.h: Improved some defines working on ip addresses, added faster macro to copy addresses that cannot be NULL 2010-02-13: Simon Goldschmidt * api.h, api_lib.c, api_msg.c, sockets.c: task #7865 (implement non- blocking send operation) 2010-02-12: Simon Goldschmidt * sockets.c/.h: Added a minimal version of posix fctl() to have a standardised way to set O_NONBLOCK for nonblocking sockets. 2010-02-12: Simon Goldschmidt * dhcp.c/.h, autoip.c/.h: task #10139 (Prefer statically allocated memory): added autoip_set_struct() and dhcp_set_struct() to let autoip and dhcp work with user-allocated structs instead of callin mem_malloc 2010-02-12: Simon Goldschmidt/Jeff Barber * tcp.c/h: patch #6865 (SO_REUSEADDR for TCP): if pcb.so_options has SOF_REUSEADDR set, allow binding to endpoint in TIME_WAIT 2010-02-12: Simon Goldschmidt * sys layer: task #10139 (Prefer statically allocated memory): converted mbox and semaphore functions to take pointers to sys_mbox_t/sys_sem_t; converted sys_mbox_new/sys_sem_new to take pointers and return err_t; task #7212: Add Mutex concept in sys_arch (define LWIP_COMPAT_MUTEX to let sys.h use binary semaphores instead of mutexes - as before) 2010-02-09: Simon Goldschmidt (Simon Kallweit) * timers.c/.h: Added function sys_restart_timeouts() from patch #7085 (Restart system timeout handling) 2010-02-09: Simon Goldschmidt * netif.c/.h, removed loopif.c/.h: task #10153 (Integrate loopif into netif.c) - loopif does not have to be created by the port any more, just define LWIP_HAVE_LOOPIF to 1. 2010-02-08: Simon Goldschmidt * inet.h, ip_addr.c/.h: Added reentrant versions of inet_ntoa/ipaddr_ntoa inet_ntoa_r/ipaddr_ntoa_r 2010-02-08: Simon Goldschmidt * netif.h: Added netif_s/get_igmp_mac_filter() macros 2010-02-05: Simon Goldschmidt * netif.h: Added function-like macros to get/set the hostname on a netif 2010-02-04: Simon Goldschmidt * nearly every file: Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier. 2010-02-01: Simon Goldschmidt * opt.h, memp_std.h, dns.h, netdb.c, memp.c: Let netdb use a memp pool for allocating memory when getaddrinfo() is called. 2010-01-31: Simon Goldschmidt * dhcp.h, dhcp.c: Reworked the code that parses DHCP options: parse them once instead of parsing for every option. This also removes the need for mem_malloc from dhcp_recv and makes it possible to correctly retrieve the BOOTP file. 2010-01-30: simon Goldschmidt * sockets.c: Use SYS_LIGHTWEIGHT_PROT instead of a semaphore to protect the sockets array. 2010-01-29: Simon Goldschmidt (patch by Laura Garrett) * api.h, api_msg.c, sockets.c: Added except set support in select (patch #6860) 2010-01-29: Simon Goldschmidt (patch by Laura Garrett) * api.h, sockets.h, err.h, api_lib.c, api_msg.c, sockets.c, err.c: Add non-blocking support for connect (partly from patch #6860), plus many cleanups in socket & netconn API. 2010-01-27: Simon Goldschmidt * opt.h, tcp.h, init.c, api_msg.c: Added TCP_SNDQUEUELOWAT corresponding to TCP_SNDLOWAT and added tcp_sndqueuelen() - this fixes bug #28605 2010-01-26: Simon Goldschmidt * snmp: Use memp pools for snmp instead of the heap; added 4 new pools. 2010-01-14: Simon Goldschmidt * ppp.c/.h: Fixed bug #27856: PPP: Set netif link- and status-callback by adding ppp_set_netif_statuscallback()/ppp_set_netif_linkcallback() 2010-01-13: Simon Goldschmidt * mem.c: The heap now may be moved to user-defined memory by defining LWIP_RAM_HEAP_POINTER as a void pointer to that memory's address (patch #6966 and bug #26133) 2010-01-10: Simon Goldschmidt (Bill Auerbach) * opt.h, memp.c: patch #6822 (Add option to place memory pools in separate arrays) 2010-01-10: Simon Goldschmidt * init.c, igmp.c: patch #6463 (IGMP - Adding Random Delay): added define LWIP_RAND() for lwip-wide randomization (to be defined in cc.h) 2009-12-31: Simon Goldschmidt * tcpip.c, init.c, memp.c, sys.c, memp_std.h, sys.h, tcpip.h added timers.c/.h: Separated timer implementation from semaphore/mbox implementation, moved timer implementation to timers.c/.h, timers are now only called from tcpip_thread or by explicitly checking them. (TASK#7235) 2009-12-27: Simon Goldschmidt * opt.h, etharp.h/.c, init.c, tcpip.c: Added an additional option LWIP_ETHERNET to support ethernet without ARP (necessary for pure PPPoE) ++ Bugfixes: 2011-04-20: Simon Goldschmidt * sys_arch.txt: sys_arch_timeouts() is not needed any more. 2011-04-13: Simon Goldschmidt * tcp.c, udp.c: Fixed bug #33048 (Bad range for IP source port numbers) by using ports in the IANA private/dynamic range (49152 through 65535). 2011-03-29: Simon Goldschmidt, patch by Emil Lhungdahl: * etharp.h/.c: Fixed broken VLAN support. 2011-03-27: Simon Goldschmidt * tcp.c: Fixed bug #32926 (TCP_RMV(&tcp_bound_pcbs) is called on unbound tcp pcbs) by checking if the pcb was bound (local_port != 0). 2011-03-27: Simon Goldschmidt * ppp.c: Fixed bug #32280 (ppp: a pbuf is freed twice) 2011-03-27: Simon Goldschmidt * sockets.c: Fixed bug #32906: lwip_connect+lwip_send did not work for udp and raw pcbs with LWIP_TCPIP_CORE_LOCKING==1. 2011-03-27: Simon Goldschmidt * tcp_out.c: Fixed bug #32820 (Outgoing TCP connections created before route is present never times out) by starting retransmission timer before checking route. 2011-03-22: Simon Goldschmidt * ppp.c: Fixed bug #32648 (PPP code crashes when terminating a link) by only calling sio_read_abort() if the file descriptor is valid. 2011-03-14: Simon Goldschmidt * err.h/.c, sockets.c, api_msg.c: fixed bug #31748 (Calling non-blocking connect more than once can render a socket useless) since it mainly involves changing "FATAL" classification of error codes: ERR_USE and ERR_ISCONN just aren't fatal. 2011-03-13: Simon Goldschmidt * sockets.c: fixed bug #32769 (ESHUTDOWN is linux-specific) by fixing err_to_errno_table (ERR_CLSD: ENOTCONN instead of ESHUTDOWN), ERR_ISCONN: use EALRADY instead of -1 2011-03-13: Simon Goldschmidt * api_lib.c: netconn_accept: return ERR_ABRT instead of ERR_CLSD if the connection has been aborted by err_tcp (since this is not a normal closing procedure). 2011-03-13: Simon Goldschmidt * tcp.c: tcp_bind: return ERR_VAL instead of ERR_ISCONN when trying to bind with pcb->state != CLOSED 2011-02-17: Simon Goldschmidt * rawapi.txt: Fixed bug #32561 tcp_poll argument definition out-of-order in documentation 2011-02-17: Simon Goldschmidt * many files: Added missing U/UL modifiers to fix 16-bit-arch portability. 2011-01-24: Simon Goldschmidt * sockets.c: Fixed bug #31741: lwip_select seems to have threading problems 2010-12-02: Simon Goldschmidt * err.h: Fixed ERR_IS_FATAL so that ERR_WOULDBLOCK is not fatal. 2010-11-23: Simon Goldschmidt * api.h, api_lib.c, api_msg.c, sockets.c: netconn.recv_avail is only used for LWIP_SO_RCVBUF and ioctl/FIONREAD. 2010-11-23: Simon Goldschmidt * etharp.c: Fixed bug #31720: ARP-queueing: RFC 1122 recommends to queue at least 1 packet -> ARP_QUEUEING==0 now queues the most recent packet. 2010-11-23: Simon Goldschmidt * tcp_in.c: Fixed bug #30577: tcp_input: don't discard ACK-only packets after
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -