📄 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -