Lines Matching +full:0 +full:- +full:latest

5   * [Enter new changes just after this line - do not remove this line]
7 (STABLE-2.0.2)
11 2017-02-10: Dirk Ziegelmeier
18 2017-03-08
21 2017-03-08: Joel Cunningham
24 2017-03-01: Simon Goldschmidt
25 * httpd: LWIP_HTTPD_POST_MANUAL_WND: fixed double-free when httpd_post_data_recved
28 2017-02-28: David van Moolenbroek/Simon Goldschmidt
31 2017-02-17: Simon Goldschmidt
34 2017-02-16: Simon Goldschmidt
37 2017-02-13: Simon Goldschmidt/Dirk Ziegelmeier
40 2017-02-10: Simon Goldschmidt
44 2017-02-09: Simon Goldschmidt
47 "select_waiting != 0"
49 2017-02-09: Simon Goldschmidt
53 2017-02-08: Dirk Ziegelmeier
55 "IPv4-mapped IPv6 address"
57 2017-02-08: Luc Revardel
61 2017-02-08: David van Moolenbroek
64 2017-02-08: Simon Goldschmidt
65 * tcp_out.c: Fixed bug #50090 (last_unsent->oversize_left can become wrong value
68 2017-02-02: Dirk Ziegelmeier
71 2017-01-18: Dirk Ziegelmeier
72 * Fix zero-copy RX, see bug bug #50064. PBUF_REFs were not supported as ARP requests.
74 2017-01-15: Axel Lin, Dirk Ziegelmeier
77 2017-01-11: Knut Andre Tidemann
80 (STABLE-2.0.1)
84 2016-12-31: Simon Goldschmidt
88 2016-12-20: Erik Andersen
91 2016-12-14: Jan Breuer:
94 2016-12-14: David van Moolenbroek
97 2016-12-09: Dirk Ziegelmeier
100 2016-12-09: Simon Goldschmidt
101 * dns.c: added one-shot multicast DNS queries
103 2016-11-24: Ambroz Bizjak, David van Moolenbroek
106 2016-11-16: Dirk Ziegelmeier
111 2016-12-16: Thomas Mueller
115 2016-12-15: David van Moolenbroek
119 2016-12-05: Dirk Ziegelmeier
122 2016-11-28: Simon Goldschmidt
123 * api_lib.c: fixed bug #49725 (send-timeout: netconn_write() can return
126 2016-11-28: Ambroz Bizjak
127 * tcpi_in.c: fixed bug #49717 (window size in received SYN and SYN-ACK
130 2016-11-25: Simon Goldschmidt
133 2016-11-23: Dirk Ziegelmeier
137 2016-11-16: Dirk Ziegelmeier
138 * *: Fixed dual-stack behaviour, IPv6 mapped IPv4 support in socket API
140 2016-11-14: Joel Cunningham
144 2016-11-16: Roberto Barbieri Carrera
147 2016-11-11: Dirk Ziegelmeier
151 (STABLE-2.0.0)
155 2016-07-27: Simon Goldschmidt
159 2016-07-xx: Dirk Ziegelmeier
162 2016-04-05: Simon Goldschmidt
164 stack-internal caclic timers are avaliable in the lwip_cyclic_timers array
166 2016-03-23: Simon Goldschmidt
167 * tcp: call accept-callback with ERR_MEM when allocating a pcb fails on
171 2016-02-22: Ivan Delamer
174 2016-02-XX to 2016-03-XX: Dirk Ziegelmeier
179 2016-02-XX: Dirk Ziegelmeier
180 * Implement dual-stack support in RAW, UDP and TCP. Add new IP address
181 type IPADDR_ANY_TYPE for this. Netconn/Socket API: Dual-stack is
184 2015-12-26: Martin Hentschel and Dirk Ziegelmeier
187 2015-11-12: Dirk Ziegelmeier
191 2015-11-12: Dirk Ziegelmeier
196 2015-10-09: Simon Goldschmidt
200 2015-10-07: Simon Goldschmidt
204 2015-09-30: Dirk Ziegelmeier
207 derived node classes to get more type-safe code
209 2015-09-23: Simon Goldschmidt
213 2015-09-08: Dirk Ziegelmeier
219 2015-09-03: Simon Goldschmidt
222 2015-09-01: Simon Goldschmidt
226 2015-08-30: Simon Goldschmidt
230 2015-08-30: Simon Goldschmidt
234 2015-08-05: Simon Goldschmidt
238 2015-04-24: Simon Goldschmidt
242 2015-04-10: Simon Goldschmidt
243 * many files: task #13480: added LWIP_IPV4 define - IPv4 can be disabled,
244 leaving an IPv6-only stack
246 2015-04-09: Simon Goldschmidt
251 calling version-related functions
253 2015-03-24: Simon Goldschmidt
257 2015-03-23: Simon Goldschmidt
258 * opt.h, etharp.c: with ETHARP_TABLE_MATCH_NETIF== 1, duplicate (Auto)-IP
262 2015-03-23: Simon Goldschmidt
267 2015-03-06: Philip Gladstone
271 2015-03-05: Simon Goldschmidt
278 2015-02-26: patch by TabascoEye
279 * netif.c, udp.h/.c: fixed bug #40753 (re-bind UDP pcbs on change of IP address)
281 2015-02-22: chrysn, Simon Goldschmidt
286 2015-02-19: Ivan Delamer
288 if DHCP is active is through netif->dhcp field.
290 2015-02-19: Ivan Delamer
293 2015-02-18: Simon Goldschmidt
295 connections half-closed by peer"
297 2015-02-18: Simon Goldschmidt
301 2015-02-16: Claudius Zingerli, Sergio Caprile
304 2015-02-14: Simon Goldschmidt
305 * opt.h, snmp*: added support for write-access community and dedicated
308 2015-02-13: Simon Goldschmidt
312 2015-02-13: Simon Goldschmidt
316 2015-02-12: chrysn
320 2015-02-11: Nick van Ijzendoorn
324 2015-02-11: Frederick Baksik
327 2015-02-11: Simon Goldschmidt
331 2015-01-17: Simon Goldschmidt
332 * api: allow enabling socket API without (public) netconn API - netconn API is
336 2015-01-16: Simon Goldschmidt
340 2014-12-10: Simon Goldschmidt
344 2014-12-08: Simon Goldschmidt
345 * ip6.h: fixed bug #43778: IPv6 header version not set on 16-bit platform
348 2014-12-08: Simon Goldschmidt
352 2014-11-06: Simon Goldschmidt
354 -> compatibility define
356 2014-09-16: Simon Goldschmidt
359 2014-09-16: Simon Goldschmidt
362 2014-09-15: Simon Goldschmidt
366 2013-09-02: Simon Goldschmidt
371 2013-08-19: Simon Goldschmidt
375 2013-03-17: Simon Goldschmidt (patch by Ghobad Emadi)
379 2013-04-20: Fatih Asici
384 2014-02-20: Simon Goldschmidt (based on patch by Artem Pisarenko)
385 * patch #7885: modification of api modules to support FreeRTOS-MPU
386 (don't pass stack-pointers to other threads)
388 2014-02-05: Simon Goldschmidt (patch by "xtian" and "alex_ab")
391 2014-01-17: Jiri Engelthaler
395 2012-08-22: Sylvain Rochet
396 * New PPP stack for lwIP, developed in ppp-new branch.
397 Based from pppd 2.4.5, released 2009-11-17, with huge changes to match
399 - Gluing together the previous low-level PPP code in lwIP to pppd 2.4.5, which
400 is more or less what pppd sys-* files are, so that we get something working
402 - Merged some patchs from lwIP Git repository which add interesting features
404 - Merged some patchs from Debian pppd package which add interesting features
406 - Ported PPP timeout handling to the lwIP timers system
407 - Disabled all the PPP code using filesystem access, replaced in necessary cases
409 - Disabled all the PPP code forking processes.
410 - Removed IPX support, lwIP does not support IPX.
411 - Ported and improved random module from the previous PPP port.
412 - Removed samba TDB (file-driven database) usage, because it needs a filesystem.
413 - MS-CHAP required a DES implementation, we added the latest PolarSSL DES
414 implementation which is under a BSD-ish license.
415 - Also switched to PolarSSL MD4,MD5,SHA1 implementations, which are meant to be
417 - Removed PPP configuration file parsing support.
418 - Added macro definition EAP_SUPPORT to make EAP support optional.
419 - Added macro definition CHAP_SUPPORT to make CHAP support optional.
420 - Added macro definition MSCHAP_SUPPORT to make MSCHAP support optional.
421 - Added macro definition PAP_SUPPORT to make PAP support optional.
422 - Cleared all Linux syscall calls.
423 - Disabled demand support using a macro, so that it can be ported later.
424 - Disabled ECP support using a macro, so that it can be ported later.
425 - Disabled CCP support using a macro, so that it can be ported later.
426 - Disabled CBCP support using a macro, so that it can be ported later.
427 - Disabled LQR support using a macro, so that it can be ported later.
428 - Print packet debug feature optional, through PRINTPKT_SUPPORT
429 - Removed POSIX signal usage.
430 - Fully ported PPPoS code from the previous port.
431 - Fully ported PPPoE code from the previous port.
432 - Fully ported VJ compression protocol code from the previous port.
433 - Removed all malloc()/free() use from PPP, replaced by stack usage or PBUF.
434 - Disabled PPP server support using a macro, so that it can be ported later.
435 - Switched all PPP debug to lwIP debug system.
436 - Created PPP Control Block (PPP PCB), removed PPP unit integer everywhere,
440 - Removed the statically allocated output buffer, now using PBUF.
441 - Improved structure size of all PPP modules, deep analyze of code to reduce
444 - Added PPP IPv6 support, glued lwIP IPv6 support to PPP.
445 - Now using a persistent netif interface which can then be used in lwIP
447 - Now initializing PPP in lwip_init() function.
448 - Reworked completely the PPP state machine, so that we don't end up in
450 - Improved the way we handle PPP reconnection after disconnect, cleaning
453 - Added PPP holdoff support, allow the lwIP user to wait a little bit before
455 - Added PPPoL2TP LAC support (a.k.a. UDP tunnels), adding a VPN client
457 - Switched all used PPP types to lwIP types (u8t, u16t, u32t, ...)
458 - Added PPP API "sequential" thread-safe API, based from NETIFAPI.
460 2011-07-21: Simon Goldschmidt
464 2011-05-25: Simon Goldschmidt
467 and IPv6 code where possible, added defines to access IPv4/IPv6 in non-IP
470 2011-05-17: Patch by Ivan Delamer (only checked in by Simon Goldschmidt)
472 Ivan! (this is work in progress: we're just post release anyway :-)
477 2016-08-23: Simon Goldschmidt
481 2016-07-20: Simon Goldschmidt
484 2016-07-21: Simon Goldschmidt (patch by Ambroz Bizjak)
489 2016-07-19: Simon Goldschmidt
492 2016-07-11: Simon Goldschmidt
494 up old pcb->acked
496 2016-06-30: Simon Goldschmidt (original patch by Fabian Koch)
499 2016-05-20: Dirk Ziegelmeier
502 2016-04-05: Simon Goldschmidt (patch by Philip Gladstone)
505 2016-04-05: Simon Goldschmidt
511 2016-03-23: Florent Matignon
514 2016-03-22: Simon Goldschmidt
519 2016-03-22: Simon Goldschmidt
523 2016-03-17: Simon Goldschmidt
526 2016-03-17: Joel Cunningham
531 2016-03-16: Joel Cunningham
534 2016-03-16: Deomid Ryabkov
537 2016-03-05: Simon Goldschmidt
540 2015-11-19: fix by Kerem Hadimli
544 2015-11-12: fix by Valery Ushakov
547 2015-10-02: Dirk Ziegelmeier/Simon Goldschmidt
551 2015-09-30: Simon Goldschmidt
555 2015-08-28: Simon Goldschmidt
560 2015-08-28: Simon Goldschmidt
563 2015-08-26: Simon Goldschmidt
564 * ip6_frag.h/.c: fixed bug bug #41009: IPv6 reassembly broken on 64-bit platforms:
568 2015-08-25: Simon Goldschmidt
571 2015-08-20: Manoj Kumar
575 2015-08-19: Jens Nielsen
579 2015-08-19: Simon Goldschmidt (patch by "Sandra")
582 2015-08-18: Chrysn
585 2015-07-01: Erik Ekman
589 2015-05-19: Simon Goldschmidt
593 2015-03-21: Simon Goldschmidt (patch by Homyak)
594 * tcp_in.c: fixed bug #44766 (LWIP_WND_SCALE: tcphdr->wnd was not scaled in
597 2015-03-21: Simon Goldschmidt
601 2015-03-21: Simon Goldschmidt
602 * tcp_in.c: fixed bug #38468 (tcp_sent() not called on half-open connection for
605 2015-03-21: Simon Goldschmidt (patch by Christoffer Lind)
608 2015-03-20: Simon Goldschmidt
611 2015-03-19: Simon Goldschmidt
613 netconn->last_err (fixed bugs #38121 and #37676)
615 2015-03-09: Simon Goldschmidt
618 2015-03-04: Simon Goldschmidt
621 2015-03-04: Valery Ushakov
622 * ip6.c: fixed bug #41094 (Byte-order bug in IPv6 fragmentation header test)
624 2015-03-04: Zach Smith
627 2015-02-26: Simon Goldschmidt
631 2015-02-25: Simon Goldschmidt
634 assert-fail): improved some pbuf_header calls to not assert-fail.
636 2015-02-25: patch by Joel Cunningham
640 2015-02-25: patch by Greg Renda
643 2015-02-25: Simon Goldschmidt
647 2015-02-25: Simon Goldschmidt
651 2015-02-25: Simon Goldschmidt
655 2015-02-22: patch by Jens Nielsen
658 2015-02-22: Simon Goldschmidt
659 * udp.h, sockets.c: added proper accessor functions for pcb->multicast_ip
662 2015-02-18: Simon Goldschmidt
666 2015-02-17: Simon Goldschmidt
671 2015-02-17: Simon Goldschmidt
678 2015-02-14: patches by Freddie Chopin
681 2015-02-13: Simon Goldschmidt
684 2015-02-12: Simon Goldschmidt
689 2015-02-11: patch by hichard
692 2015-02-10: Simon Goldschmidt
696 2015-02-10: Simon Goldschmidt
702 2015-01-27: Simon Goldschmidt
706 2015-01-17: Simon Goldschmidt
709 2015-01-17: Simon Goldschmidt
715 2014-12-19: Simon Goldschmidt
720 2014-12-17: Simon Goldschmidt
722 no-copy data with odd length
724 2014-12-10: Simon Goldschmidt
726 take int as option but should take timeval (LWIP_SO_SNDRCVTIMEO_STANDARD==0 can
730 2014-12-09: Simon Goldschmidt
733 2014-10-21: Simon Goldschmidt (patch by Joel Cunningham and Albert Huitsing)
737 2014-10-21: Simon Goldschmidt
740 2014-09-16: Kevin Cernekee
743 2014-09-16: Simon Goldschmidt
747 2014-09-03: Simon Goldschmidt
750 2014-09-02: Simon Goldschmidt
754 2014-09-02: Simon Goldschmidt
757 2014-09-02: Simon Goldschmidt
760 2014-08-20: Simon Goldschmidt
762 non-randomized TXIDs
764 2014-06-03: Simon Goldschmidt
768 2014-05-20: Simon Goldschmidt
771 2014-05-19: Simon Goldschmidt
775 2014-04-08: Simon Goldschmidt
778 2014-04-06: Simon Goldschmidt
782 2014-04-06: Simon Goldschmidt
786 2014-03-14: Simon Goldschmidt
789 2014-03-11: Simon Goldschmidt (patch by Mason)
791 POSIX-compliance
793 2014-02-27: Simon Goldschmidt
796 2014-02-27: Simon Goldschmidt
800 2014-02-27: Simon Goldschmidt
804 2014-02-27: Simon Goldschmidt
805 * sockets.c: fixed bug #41729 Some socket functions return Exyz instead of -1
807 2014-02-25: Simon Goldschmidt
808 * ip4.c: fixed bug #39514 ip_route() may return an IPv6-only interface
810 2014-02-25: Simon Goldschmidt, patch by Fatih Asici
813 2014-02-25: Simon Goldschmidt
817 2014-02-25: Simon Goldschmidt
820 2014-02-22: Simon Goldschmidt (patch by Amir Shalem)
823 2014-02-22: Simon Goldschmidt (patch by Amir Shalem)
826 2014-02-20: Simon Goldschmidt
827 * tcp_out.c: fixed bug #39683 Assertion "seg->tcphdr not aligned" failed with
830 2014-02-20: Simon Goldschmidt
831 * sockets.c: fixed bug #39882 No function shall set errno to 0
833 2014-02-20: Simon Goldschmidt
836 2014-02-20: Simon Goldschmidt
839 2014-01-08: Stathis Voukelatos
843 2014-01-18: Brian Fahs
844 * tcp_out.c: patch #8237: tcp_rexmit_rto fails to update pcb->unsent_oversize
847 2014-01-17: Grant Erickson, Jay Logue, Simon Goldschmidt
850 2014-01-16: Stathis Voukelatos
851 * netif.c: patch #7902 Fixed netif_poll() operation when LWIP_LOOPBACK_MAX_PBUFS > 0
853 2014-01-14: "Freddie Chopin"
856 2014-01-14: Simon Goldschmidt (patch by Thomas Faber)
860 2014-01-14: chrysn
864 2014-01-10: Simon Goldschmidt
865 * ip_frag.c, ip6_frag.c: fixed bug #41041 Potential use-after-free in IPv6 reassembly
867 2014-01-10: Simon Goldschmidt
870 2014-01-10: Simon Goldschmidt
873 2013-06-29: Simon Goldschmidt
876 2013-06-29: Simon Goldschmidt
879 2013-04-24: patch by Liam <morepork>
882 2013-04-24: Simon Goldschmidt
885 2013-04-24: Simon Goldschmidt
888 2013-04-24: Simon Goldschmidt (patch by Emil Ljungdahl):
891 2013-01-15: Simon Goldschmidt
894 2013-01-15: Simon Goldschmidt
897 2013-01-14: Simon Goldschmidt
900 2013-01-11: Simon Goldschmidt
903 2012-08-22: Simon Goldschmidt
906 2012-08-13: Simon Goldschmidt
910 2012-08-13: Simon Goldschmidt
911 * msg_out.c: fixed bug #36840 snmp_send_trap() NULL de-reference if traps
914 2012-08-13: Simon Goldschmidt
915 * dns.c: fixed bug #36899 DNS TTL 0 is cached for a long time
917 2012-05-11: Simon Goldschmidt (patch by Marty)
921 2012-05-03: Simon Goldschmidt (patch by Sylvain Rochet)
925 2012-05-03: Simon Goldschmidt (patch by David Empson)
926 * ppp.c: fixed bug #36388 (PPP: checksum-only in last pbuf leads to pbuf with
929 2012-03-25: Simon Goldschmidt
933 2012-03-25: Simon Goldschmidt
937 2011-08-24: Simon Goldschmidt
942 (STABLE-1.4.1)
946 2012-03-25: Simon Goldschmidt (idea by Mason)
947 * posix/*: added posix-compatibility include files posix/netdb.h and posix/sys/socket.h
950 2012-01-16: Simon Goldschmidt
953 2011-12-17: Simon Goldschmidt
957 2011-09-27: Simon Goldschmidt
961 2011-09-21: Simon Goldschmidt
965 2011-09-21: Simon Goldschmidt
966 * init.c: Converted runtime-sanity-checks into compile-time checks that can
969 2011-09-11: Simon Goldschmidt
974 2011-09-11: Simon Goldschmidt
979 2011-09-03: Simon Goldschmidt
982 2011-08-24: Simon Goldschmidt
985 2011-07-26: Simon Goldschmidt
989 2011-07-21: Simon Goldschmidt (patch by hanhui)
991 Added pbuf flags to mark incoming packets as link-layer broadcast/multicast.
992 Also added code to allow ip_forward() to forward non-broadcast packets to
995 2011-06-26: Simon Goldschmidt (patch by Cameron Gutman)
997 pcb->state != LISTEN
999 2011-05-14: Simon Goldschmidt (patch by Stéphane Lesage)
1006 2012-09-26: Simon Goldschmidt
1009 2012-09-26: patch by Henrik Persson
1012 2012-09-26: patch by Henrik Persson
1015 2012-08-22: Simon Goldschmidt
1018 2012-05-08: Simon Goldschmidt
1020 a debug-check issue only)
1022 2012-03-27: Simon Goldschmidt
1025 2012-03-27: Simon Goldschmidt (patch by Mason)
1029 2012-03-22: Simon Goldschmidt
1032 2012-03-20: Simon Goldschmidt (patch by Mason)
1035 2012-03-12: Simon Goldschmidt (patch by Bostjan Meglic)
1039 2012-02-23: Simon Goldschmidt
1043 2012-02-16: Simon Goldschmidt
1047 2012-02-16: Simon Goldschmidt
1051 2012-02-16: Simon Goldschmidt (patch by Stéphane Lesage)
1054 2012-02-15: Simon Goldschmidt
1058 2012-02-12: Simon Goldschmidt
1060 MSS > pcb->snd_wnd (by not creating segments bigger than half the window)
1062 2012-02-11: Simon Goldschmidt
1063 * tcp.c: fixed bug #35435: No pcb state check before adding it to time-wait
1066 2012-01-22: Simon Goldschmidt
1069 2012-01-21: Simon Goldschmidt
1070 * tcp.c: fixed bug #34636: FIN_WAIT_2 - Incorrect shutdown of TCP pcb
1072 2012-01-20: Simon Goldschmidt
1075 2012-01-20: Simon Goldschmidt
1078 2011-11-25: Simon Goldschmidt
1082 2011-11-23: Simon Goldschmidt
1086 2011-11-22: Simon Goldschmidt
1090 2011-10-28: Simon Goldschmidt
1091 * tcp_in.c: fixed bug #34638: Dead code in tcp_receive - pcb->dupacks
1093 2011-10-23: Simon Goldschmidt
1097 2011-10-18: Simon Goldschmidt
1101 2011-10-18: Simon Goldschmidt
1103 windows (bug #34176 select after non-blocking send times out)
1105 2011-10-18: Simon Goldschmidt
1107 consider netif->mtu, causes slow network
1109 2011-10-18: Simon Goldschmidt
1112 2011-10-18: Simon Goldschmidt
1115 2011-10-17: Simon Goldschmidt
1118 2011-10-13: Simon Goldschmidt
1124 2011-10-13: Simon Goldschmidt
1127 2011-10-13: Simon Goldschmidt
1131 2011-10-12: Simon Goldschmidt
1134 2011-10-09: Simon Goldschmidt
1136 byte value when pcb->unacked != NULL
1138 2011-10-09: Simon Goldschmidt
1141 2011-09-27: Simon Goldschmidt
1142 * tcp_in.c, tcp_out.c: Reset pcb->unsent_oversize in 2 more places...
1144 2011-09-27: Simon Goldschmidt
1147 2011-09-27: Simon Goldschmidt
1150 2011-09-24: Simon Goldschmidt
1153 2011-09-23: Simon Goldschmidt
1157 2011-09-22: Simon Goldschmidt
1161 2011-09-21: Simon Goldschmidt
1165 2011-09-20: Simon Goldschmidt
1168 2011-09-11: Simon Goldschmidt
1169 * tcp_out.c: use pcb->mss instead of TCP_MSS for preallocate mss-sized pbufs
1172 2011-09-09: Simon Goldschmidt
1176 2011-09-03: Simon Goldschmidt
1180 2011-09-01: Simon Goldschmidt
1184 2011-09-01: Simon Goldschmidt
1187 2011-08-24: Simon Goldschmidt
1191 2011-08-24: Simon Goldschmidt
1194 2011-08-24: Simon Goldschmidt
1197 2011-08-24: Simon Goldschmidt
1200 2011-08-24: Simon Goldschmidt
1203 2011-08-22: Simon Goldschmidt
1207 2011-07-22: Simon Goldschmidt
1209 always EMSGSIZE on non-blocking sockets if data size > send buffers) -> now
1210 lwip_send() sends as much as possible for non-blocking sockets
1212 2011-07-22: Simon Goldschmidt
1217 2011-07-21: Simon Goldschmidt
1222 2011-07-04: Simon Goldschmidt
1223 * sys_arch.txt: Fixed documentation after changing sys arch prototypes for 1.4.0.
1225 2011-06-26: Simon Goldschmidt
1229 2011-06-26: Simon Goldschmidt
1233 2011-06-26: Simon Goldschmidt
1234 * mem.c: fixed bug #33544 "warning in mem.c in lwip 1.4.0 with NO_SYS=1"
1236 2011-05-25: Simon Goldschmidt
1241 (STABLE-1.4.0)
1245 2011-03-27: Simon Goldschmidt
1249 2010-11-21: Simon Goldschmidt
1253 2010-07-12: Simon Goldschmidt (patch by Stephane Lesage)
1255 IP_MULTICAST_LOOP at socket- and raw-API level.
1257 2010-06-16: Simon Goldschmidt
1259 link-layer-addressed UDP traffic to be received while a netif is down (just
1262 2010-05-22: Simon Goldschmidt
1267 2010-05-16: Simon Goldschmidt
1268 * def.h: task #10391: Add preprocessor-macros for compile-time htonl
1271 2010-05-16: Simon Goldschmidt
1275 2010-05-16: Simon Goldschmidt
1279 2010-05-13: Simon Goldschmidt
1284 2010-05-02: Simon Goldschmidt
1285 * netbuf.h/.c, sockets.c, api_msg.c: use checksum-on-copy for sending
1288 2010-04-30: Simon Goldschmidt
1293 2010-04-29: Simon Goldschmidt
1295 2-byte-aligned IP addresses and MAC addresses
1297 2010-04-28: Patch by Bill Auerbach
1300 2010-04-14: Simon Goldschmidt
1304 2010-03-28: Simon Goldschmidt
1308 2010-03-27: Simon Goldschmidt
1313 2010-03-20: Simon Goldschmidt
1317 2010-03-20: Simon Goldschmidt
1320 2010-03-14: Simon Goldschmidt
1322 when creating TCP segments, not when (re-)transmitting them.
1324 2010-03-07: Simon Goldschmidt
1330 2010-03-06: Simon Goldschmidt
1332 netif->output in one piece): Always copy to try to create single pbufs
1335 2010-03-06: Simon Goldschmidt
1341 2010-03-05: Jakob Ole Stoklundsen / Simon Goldschmidt
1349 2010-02-21: Simon Goldschmidt
1350 * stats.c/.h: Added const char* name to mem- and memp-stats for easier
1353 2010-02-21: Simon Goldschmidt
1357 2010-02-14: Simon Goldschmidt/Stephane Lesage
1361 2010-02-13: Simon Goldschmidt
1362 * api.h, api_lib.c, api_msg.c, sockets.c: task #7865 (implement non-
1365 2010-02-12: Simon Goldschmidt
1369 2010-02-12: Simon Goldschmidt
1372 and dhcp work with user-allocated structs instead of callin mem_malloc
1374 2010-02-12: Simon Goldschmidt/Jeff Barber
1378 2010-02-12: Simon Goldschmidt
1383 to let sys.h use binary semaphores instead of mutexes - as before)
1385 2010-02-09: Simon Goldschmidt (Simon Kallweit)
1389 2010-02-09: Simon Goldschmidt
1391 netif.c) - loopif does not have to be created by the port any more,
1394 2010-02-08: Simon Goldschmidt
1398 2010-02-08: Simon Goldschmidt
1401 2010-02-05: Simon Goldschmidt
1402 * netif.h: Added function-like macros to get/set the hostname on a netif
1404 2010-02-04: Simon Goldschmidt
1408 2010-02-01: Simon Goldschmidt
1412 2010-01-31: Simon Goldschmidt
1418 2010-01-30: simon Goldschmidt
1422 2010-01-29: Simon Goldschmidt (patch by Laura Garrett)
1426 2010-01-29: Simon Goldschmidt (patch by Laura Garrett)
1428 Add non-blocking support for connect (partly from patch #6860),
1431 2010-01-27: Simon Goldschmidt
1433 to TCP_SNDLOWAT and added tcp_sndqueuelen() - this fixes bug #28605
1435 2010-01-26: Simon Goldschmidt
1438 2010-01-14: Simon Goldschmidt
1439 * ppp.c/.h: Fixed bug #27856: PPP: Set netif link- and status-callback
1442 2010-01-13: Simon Goldschmidt
1443 * mem.c: The heap now may be moved to user-defined memory by defining
1447 2010-01-10: Simon Goldschmidt (Bill Auerbach)
1451 2010-01-10: Simon Goldschmidt
1452 * init.c, igmp.c: patch #6463 (IGMP - Adding Random Delay): added define
1453 LWIP_RAND() for lwip-wide randomization (to be defined in cc.h)
1455 2009-12-31: Simon Goldschmidt
1462 2009-12-27: Simon Goldschmidt
1469 2011-04-20: Simon Goldschmidt
1472 2011-04-13: Simon Goldschmidt
1476 2011-03-29: Simon Goldschmidt, patch by Emil Lhungdahl:
1479 2011-03-27: Simon Goldschmidt
1481 pcbs) by checking if the pcb was bound (local_port != 0).
1483 2011-03-27: Simon Goldschmidt
1486 2011-03-27: Simon Goldschmidt
1490 2011-03-27: Simon Goldschmidt
1495 2011-03-22: Simon Goldschmidt
1499 2011-03-14: Simon Goldschmidt
1500 * err.h/.c, sockets.c, api_msg.c: fixed bug #31748 (Calling non-blocking connect
1504 2011-03-13: Simon Goldschmidt
1505 * sockets.c: fixed bug #32769 (ESHUTDOWN is linux-specific) by fixing
1507 use EALRADY instead of -1
1509 2011-03-13: Simon Goldschmidt
1514 2011-03-13: Simon Goldschmidt
1516 with pcb->state != CLOSED
1518 2011-02-17: Simon Goldschmidt
1519 * rawapi.txt: Fixed bug #32561 tcp_poll argument definition out-of-order in
1522 2011-02-17: Simon Goldschmidt
1523 * many files: Added missing U/UL modifiers to fix 16-bit-arch portability.
1525 2011-01-24: Simon Goldschmidt
1528 2010-12-02: Simon Goldschmidt
1531 2010-11-23: Simon Goldschmidt
1535 2010-11-23: Simon Goldschmidt
1536 * etharp.c: Fixed bug #31720: ARP-queueing: RFC 1122 recommends to queue at
1537 least 1 packet -> ARP_QUEUEING==0 now queues the most recent packet.
1539 2010-11-23: Simon Goldschmidt
1540 * tcp_in.c: Fixed bug #30577: tcp_input: don't discard ACK-only packets after
1543 2010-11-22: Simon Goldschmidt
1547 2010-11-22: Simon Goldschmidt
1549 must be sent link-local
1551 2010-11-22: Simon Goldschmidt
1553 LWIP_TIMERS==0
1555 2010-11-20: Simon Goldschmidt
1558 2010-11-20: Simon Goldschmidt
1562 2010-11-20: Simon Goldschmidt
1564 no-copy TCP writes will never succeed.
1566 2010-11-20: Simon Goldschmidt
1571 2010-10-20: Simon Goldschmidt
1574 2010-10-05: Simon Goldschmidt
1578 2010-08-10: Simon Goldschmidt
1581 2010-08-03: Simon Goldschmidt
1584 2010-08-01: Simon Goldschmidt (patch by Greg Renda)
1588 2010-07-28: Simon Goldschmidt
1592 2010-07-27: Simon Goldschmidt
1596 2010-07-21: Simon Goldschmidt
1600 2010-07-16: Kieran Mansley
1603 2010-07-10: Simon Goldschmidt
1606 2010-06-30: Simon Goldschmidt
1610 2010-06-28: Kieran Mansley
1613 2010-06-24: Simon Goldschmidt
1617 2010-06-24: Simon Goldschmidt
1621 2010-06-21: Simon Goldschmidt
1623 problems with zero-copy DMA MACs) by adding custom pbufs and implementing
1625 IP_FRAG_USES_STATIC_BUF=0 as default to be on the safe side.
1627 2010-06-15: Simon Goldschmidt
1630 2010-06-14: Simon Goldschmidt
1633 2010-06-12: Simon Goldschmidt
1637 2010-05-17: Simon Goldschmidt
1638 * netdb.c: Correctly NULL-terminate h_addr_list
1640 2010-05-16: Simon Goldschmidt
1644 2010-05-05: Simon Goldschmidt
1648 2010-04-21: Simon Goldschmidt
1652 2010-03-28: Luca Ceresoli
1655 2010-03-27: Luca Ceresoli
1658 2010-03-26: Simon Goldschmidt
1661 2010-03-26: Simon Goldschmidt
1665 2010-03-25: Simon Goldschmidt
1668 2010-03-25: Simon Goldschmidt
1672 2010-03-22: Simon Goldschmidt
1675 2010-03-19: Simon Goldschmidt
1678 2010-03-14: Simon Goldschmidt
1680 where ETH_PAD_SIZE > 0) by moving definition of ETH_PAD_SIZE to opt.h
1683 2010-03-08: Simon Goldschmidt
1686 aborting existing connection on address change, filter out link-local
1689 2010-03-06: Simon Goldschmidt
1692 2010-03-06: Simon Goldschmidt
1693 * ipv4/ip.c: Don't try to forward link-local addresses
1695 2010-03-06: Simon Goldschmidt
1696 * etharp.c: Fixed bug #29087: etharp: don't send packets for LinkLocal-
1699 2010-03-05: Simon Goldschmidt
1700 * dhcp.c: Fixed bug #29072: Correctly set ciaddr based on message-type
1703 2010-03-05: Simon Goldschmidt
1707 2010-02-21: Simon Goldschmidt
1711 2010-02-20: Simon Goldschmidt
1716 2010-02-19: Simon Goldschmidt
1720 2010-02-15: Simon Goldschmidt/Stephane Lesage
1724 2010-02-14: Simon Goldschmidt
1726 LWIP_NETIF_LINK_CALLBACK set on) by only sending if both link- and
1727 admin-status of a netif are up
1729 2010-02-14: Simon Goldschmidt
1733 2010-02-14: Simon Goldschmidt
1738 2010-02-14: Simon Goldschmidt
1745 2010-02-12: Simon Goldschmidt
1749 2010-02-12: Simon Goldschmidt/Stephane Lesage
1750 * api_msg.c: Fixed bug #28865 (Cannot close socket/netconn in non-blocking
1753 2010-02-12: Simon Goldschmidt
1756 2010-02-09: Simon Goldschmidt
1761 2010-02-09: Simon Goldschmidt/Stephane Lesage
1762 * sockets.c: Fixed bug #28853 (lwip_recvfrom() returns 0 on receive time-out
1765 2010-02-09: Simon Goldschmidt
1768 2010-02-09: Simon Goldschmidt
1769 * netif.c: For loopback packets, adjust the stats- and snmp-counters
1772 2010-02-08: Simon Goldschmidt
1776 2010-02-08: Simon Goldschmidt (Stéphane Lesage)
1780 2010-02-08: Simon Goldschmidt (Stéphane Lesage)
1784 2010-02-04: Simon Goldschmidt
1786 to work with IP addresses (preparation for bug #27352 - Change ip_addr
1787 from struct to typedef (u32_t) - and better code).
1789 2010-01-31: Simon Goldschmidt
1790 * netif.c: Don't call the link-callback from netif_set_up/down() since
1793 2010-01-29: Simon Goldschmidt
1795 portability file inet.h and its contents from the stack: moved htonX-
1796 functions to def.h (and the new def.c - they are not ipv4 dependent),
1800 2010-01-28: Kieran Mansley
1803 2010-01-27: Simon Goldschmidt
1808 2010-01-25: Simon Goldschmidt
1810 not implemented in SNMP): write-only or not-accessible are still
1813 2010-01-24: Simon Goldschmidt
1817 2010-01-23: Simon Goldschmidt
1818 * sockets.c: Fixed bug #28716: select() returns 0 after waiting for less
1821 2010-01-21: Simon Goldschmidt
1823 if tcp_enqueue fails) both in raw- and netconn-API
1825 2010-01-19: Simon Goldschmidt
1828 2010-01-18: Iordan Neshev/Simon Goldschmidt
1832 2010-01-18: Simon Goldschmidt
1835 2010-01-17: Simon Goldschmidt
1837 task #10102: "netconn: clean up conn->err threading issues" by adding
1840 2010-01-17: Simon Goldschmidt
1844 2010-01-14: Simon Goldschmidt
1847 2010-01-13: Simon Goldschmidt
1849 window = 0) by correctly draining recvmbox/acceptmbox
1851 2010-01-11: Simon Goldschmidt
1855 2010-01-10: Simon Goldschmidt
1858 2010-01-10: Simon Goldschmidt
1861 2010-01-08: Simon Goldschmidt
1864 2010-01-08: Simon Goldschmidt
1868 2010-01-07: Simon Goldschmidt
1871 2010-01-06: Simon Goldschmidt
1874 2009-12-31: Simon Goldschmidt
1878 2009-12-27: Simon Goldschmidt
1883 (STABLE-1.3.2)
1887 2009-10-27 Simon Goldschmidt/Stephan Lesage
1890 2009-10-07 Simon Goldschmidt/Fabian Koch
1892 support dest-addr and dest-port (optional: LWIP_NETBUF_RECVINFO)
1894 2009-08-26 Simon Goldschmidt/Simon Kallweit
1897 2009-08-25 Simon Goldschmidt
1901 2009-08-25 Simon Goldschmidt
1904 2009-08-24 Jakob Stoklund Olesen
1908 2009-08-23 Simon Goldschmidt
1910 to a human-readable string.
1914 2009-12-24: Kieran Mansley
1918 2009-12-06: Simon Goldschmidt
1922 2009-12-04: Simon Goldschmidt (patch by Ioardan Neshev)
1925 2009-12-03: Simon Goldschmidt
1927 could have non-zero length
1929 2009-12-02: Simon Goldschmidt
1933 2009-11-29: Simon Goldschmidt
1934 * tcp_in.c: Fixed bug #28054: Two segments with FIN flag on the out-of-
1935 sequence queue, also fixed PBUF_POOL leak in the out-of-sequence code
1937 2009-11-29: Simon Goldschmidt
1938 * pbuf.c: Fixed bug #28064: pbuf_alloc(PBUF_POOL) is not thread-safe by
1939 queueing a call into tcpip_thread to free ooseq-bufs if the pool is empty
1941 2009-11-26: Simon Goldschmidt
1945 2009-11-26: Simon Goldschmidt
1949 2009-11-22: Simon Goldschmidt
1952 2009-11-22: Simon Goldschmidt (suggested by Bill Auerbach)
1954 reusing time-wait pcb
1956 2009-11-20: Simon Goldschmidt (patch by Albert Bartel)
1960 2009-11-11: Simon Goldschmidt
1963 2009-10-30: Simon Goldschmidt
1967 2009-10-28: Kieran Mansley
1968 * tcp_in.c, tcp_out.c, tcp.h: re-work the fast retransmission code
1971 2009-10-27: Kieran Mansley
1974 2009-10-25: Simon Goldschmidt
1975 * tcp.h: bug-fix in the TCP_EVENT_RECV macro (has to call tcp_recved if
1976 pcb->recv is NULL to keep rcv_wnd correct)
1978 2009-10-25: Simon Goldschmidt
1981 2009-10-23: Simon Goldschmidt (David Empson)
1984 2009-10-21: Simon Goldschmidt
1988 2009-10-21: Simon Goldschmidt
1991 2009-10-19: Simon Goldschmidt
1996 2009-10-19: Simon Goldschmidt
1998 when using udp_sendto_if() - always stay connected to IP_ADDR_ANY.
2000 2009-10-16: Simon Goldschmidt
2002 valid DHCP packets -> allow 0.0.0.0 as source address when LWIP_DHCP is
2005 2009-10-15: Simon Goldschmidt (Oleg Tyshev)
2008 2009-10-15: Simon Goldschmidt
2009 * api_lib.c: Fixed bug #27709: conn->err race condition on netconn_recv()
2012 2009-10-15: Simon Goldschmidt
2017 2009-10-11 Simon Goldschmidt (Jörg Kesten)
2021 2009-10-09 Simon Goldschmidt
2025 2009-08-30 Simon Goldschmidt
2029 2009-08-25 Simon Goldschmidt
2030 * dhcp.c: fixed invalid dependency to etharp_query if DHCP_DOES_ARP_CHECK==0
2032 2009-08-23 Simon Goldschmidt
2035 2009-08-23 Simon Goldschmidt
2039 2009-08-23 Simon Goldschmidt
2043 2009-08-23 Simon Goldschmidt
2044 * ppp.c: bug #27266: wait-state debug message in pppMain occurs every ms
2046 2009-08-23 Simon Goldschmidt
2049 2009-08-23 Simon Goldschmidt
2053 (STABLE-1.3.1)
2057 2009-05-10 Simon Goldschmidt
2060 one pbuf to help MACs that don't support scatter-gather DMA.
2062 2009-05-09 Simon Goldschmidt
2066 2009-05-05 Simon Goldschmidt, Jakob Stoklund Olesen
2070 2009-04-27 Simon Goldschmidt
2073 2009-04-25 Simon Goldschmidt
2077 2009-04-21 Simon Goldschmidt
2083 2009-04-15 Simon Goldschmidt
2086 2009-03-31 Kieran Mansley
2091 2009-02-18 Simon Goldschmidt
2094 2009-02-16 Simon Goldschmidt (patch by Rishi Khan)
2095 * icmp.c, opt.h: patch #6539: (configurable) response to broadcast- and multicast
2098 2009-02-12 Simon Goldschmidt
2101 2009-02-11 Simon Goldschmidt (suggested by Gottfried Spitaler)
2103 of the pool allocator (can save code size with MEM_LIBC_MALLOC if libc-malloc
2106 2009-01-28 Jonathan Larmour (suggested by Bill Bauerbach)
2110 2008-12-03 Simon Goldschmidt (base on patch from Luca Ceresoli)
2115 2008-10-02 Jonathan Larmour and Rishi Khan
2116 * sockets.c (lwip_accept): Return EWOULDBLOCK if would block on non-blocking
2119 2008-06-30 Simon Goldschmidt
2125 2008-06-27 Simon Goldschmidt
2130 2008-06-17 Simon Goldschmidt
2134 2008-06-17 Simon Goldschmidt
2138 2008-06-17 Simon Goldschmidt (patch by Luca Ceresoli)
2146 2009-08-12 Kieran Mansley
2150 2009-08-12 Kieran Mansley
2153 2009-07-28 Simon Goldschmidt
2156 2009-07-27 Kieran Mansley
2159 2009-07-09 Kieran Mansley
2164 2009-06-25 Kieran Mansley
2168 2009-06-25 Kieran Mansley
2171 2009-06-25 Kieran Mansley
2176 2009-05-12 Simon Goldschmidt
2180 2009-05-12 Simon Goldschmidt
2184 2009-05-06 Simon Goldschmidt
2188 2009-05-05 Simon Goldschmidt
2192 2009-05-04 Simon Goldschmidt
2195 2009-05-04 Frédéric Bernon
2198 2009-05-03 Simon Goldschmidt
2200 (and unsent->next == NULL)
2202 2009-05-02 Simon Goldschmidt
2204 1.3.0 in CVS only) - fixes compilation of ppp_oe.c
2206 2009-05-02 Simon Goldschmidt
2209 2009-05-01 Simon Goldschmidt
2212 2009-05-01 Simon Goldschmidt
2215 2009-04-29 Frédéric Bernon
2223 2009-04-28 Simon Goldschmidt, Jakob Stoklund Olesen
2227 2009-04-25 Simon Goldschmidt, Oleg Tyshev
2228 * tcp_out.c: bug #24212: Deadlocked tcp_retransmit due to exceeded pcb->cwnd
2232 2009-04-25 Simon Goldschmidt
2237 2009-04-24 Simon Goldschmidt, Frédéric Bernon
2239 behavior, with with ip address string not ended by a '\0', a space or a
2242 2009-04-19 Simon Goldschmidt
2244 pcb->err is called, not pcb->connected (with an error code).
2246 2009-04-19 Simon Goldschmidt
2248 no-copy-tcpwrite": deallocate option data, only concat segments with same flags
2250 2009-04-19 Simon Goldschmidt
2251 * tcp_out.c: Fixed bug #25094: "Zero-length pbuf" (options are now allocated
2254 2009-04-18 Simon Goldschmidt
2257 2009-04-15 Simon Goldschmidt
2260 2009-04-15 Simon Goldschmidt
2261 * dhcp.c: task #9192: mem_free of dhcp->options_in and dhcp->msg_in
2263 2009-04-15 Simon Goldschmidt
2267 2009-04-15 Simon Goldschmidt
2270 2009-04-15 Simon Goldschmidt
2272 Converted constant OPTION_MAX_MSG_SIZE to netif->mtu, check if netif->mtu
2275 2009-04-15 Simon Goldschmidt
2278 2009-04-15 Simon Goldschmidt
2281 2009-04-15 Simon Goldschmidt
2284 2009-04-09 Kieran Mansley (patch from Luca Ceresoli <lucaceresoli>)
2286 LWIP_TCP==0
2288 2009-04-09 Kieran Mansley (patch from Roy Lee <roylee17>)
2289 * tcp.h: Patch#6802 Add do-while-clauses to those function like
2292 2009-03-31 Kieran Mansley
2301 2009-03-27 Kieran Mansley
2305 2009-03-26 Kieran Mansley
2312 2009-02-18 Simon Goldschmidt (Jonathan Larmour and Bill Auerbach)
2316 2009-02-16 Simon Goldschmidt
2320 2009-02-16 Simon Goldschmidt
2321 * tcp.h, tcp.c: fixed bug #24440: TCP connection close problem on 64-bit host
2324 2009-02-12 Simon Goldschmidt
2328 2009-02-11 Simon Goldschmidt
2331 2009-02-11 Simon Goldschmidt
2332 * opt.h, api_msg.c: added configurable default valud for netconn->recv_bufsize:
2335 2009-02-10 Simon Goldschmidt
2340 2009-01-28 Jonathan Larmour
2341 * pbuf.c: reclaim pbufs from TCP out-of-sequence segments if we run
2344 2008-12-19 Simon Goldschmidt
2347 2008-12-10 Tamas Somogyi, Frédéric Bernon
2351 2008-10-18 Simon Goldschmidt
2355 2008-10-15 Simon Goldschmidt
2359 2008-10-03 David Woodhouse, Jonathan Larmour
2362 2008-10-02 Jonathan Larmour
2363 * dns.c: Hard-code structure sizes, to avoid issues on some compilers where
2366 2008-09-30 Jonathan Larmour
2370 2008-09-30 Jonathan Larmour
2373 2008-08-26 Simon Goldschmidt
2374 * inet.h, ip_addr.h: fixed bug #24132: Cross-dependency between ip_addr.h and
2375 inet.h -> moved declaration of struct in_addr from ip_addr.h to inet.h
2377 2008-08-14 Simon Goldschmidt
2381 2008-07-08 Frédéric Bernon
2383 in macros, mainly if MEM_STATS=0 and MEMP_STATS=0).
2385 2008-06-24 Jonathan Larmour
2389 2008-06-17 Simon Goldschmidt
2393 2008-05-30 Kieran Mansley
2395 rather than rcv_ann_wnd when deciding if packets are in-window.
2398 2008-05-30 Kieran Mansley
2402 2008-05-09 Jonathan Larmour
2406 2008-04-15 Simon Goldschmidt
2410 2008-03-27 Simon Goldschmidt
2416 2008-03-26 Simon Goldschmidt
2421 (STABLE-1.3.0)
2425 2008-03-10 Jonathan Larmour
2429 2008-01-22 Frédéric Bernon
2433 2008-01-14 Frédéric Bernon
2438 2008-01-14 Frédéric Bernon, Marc Chaland
2441 2008-01-12 Frédéric Bernon
2446 2008-01-12 Frédéric Bernon
2451 2008-01-10 Frédéric Bernon
2456 2008-01-10 Frédéric Bernon
2461 2008-01-05 Frédéric Bernon
2474 2008-01-04 Frédéric Bernon, Simon Goldschmidt, Jonathan Larmour
2477 "backlog" parameter in an u8_t, 0 is interpreted as "smallest queue", add
2480 2007-12-31 Kieran Mansley (based on patch from Per-Henrik Lundbolm)
2483 2007-12-31 Frédéric Bernon, Luca Ceresoli
2489 2007-12-30 Frédéric Bernon, Tom Evans
2493 2007-12-21 Frédéric Bernon, Simon Goldschmidt, Jonathan Larmour
2499 2007-12-13 Frédéric Bernon
2503 2007-12-12 Frédéric Bernon
2507 2007-12-05 Frédéric Bernon
2509 set of variables (=0) or a local one (=1). In this last case, your port should
2511 which have to do a copy of "h" and return a pointer ont the "per-thread" copy.
2513 2007-12-03 Simon Goldschmidt
2517 2007-11-30 Simon Goldschmidt
2523 2007-11-28 Simon Goldschmidt
2526 2007-11-25 Simon Goldschmidt
2530 2007-11-24 Simon Goldschmidt
2534 2007-11-21 Simon Goldschmidt
2535 * tcp.h, opt.h, tcp.c, tcp_in.c: implemented calculating the effective send-mss
2537 setting LWIP_CALCULATE_EFF_SEND_MSS to 0. This fixes bug #21492.
2539 2007-11-19 Frédéric Bernon
2545 2007-11-16 Simon Goldschmidt
2551 2007-11-16 Simon Goldschmidt
2556 2007-11-15 Jim Pettinato, Frédéric Bernon
2561 in your lwipopts.h file (LWIP_DNS=0 in opt.h). DNS_DEBUG can be set to get
2565 2007-11-06 Simon Goldschmidt
2567 enabled by defining SNMP_SAFE_REQUESTS to 0); added code to check link status
2570 2007-11-06 Simon Goldschmidt
2575 2007-11-03 Frédéric Bernon
2580 netconn::recv_avail which need to be more "thread-safe" (note there is already
2583 2007-11-01 Frédéric Bernon, Marc Chaland
2590 2007-10-24 Frédéric Bernon
2596 2007-10-08 Simon Goldschmidt
2601 2007-10-06 Simon Goldschmidt
2606 2007-10-05 Simon Goldschmidt
2610 2007-10-05 Frédéric Bernon
2615 2007-10-03 Frédéric Bernon
2620 2007-09-15 Frédéric Bernon
2626 2007-09-10 Frédéric Bernon
2638 2007-09-09 Frédéric Bernon, Bill Florac
2640 and others without it, there is a new NETIF_FLAG_IGMP flag to set in netif->flags
2646 2007-09-08 Frédéric Bernon
2650 Enable to access to these fields with LWIP_TCP=0.
2652 2007-09-05 Frédéric Bernon
2656 Be careful, disabling ICMP make your product non-compliant to RFC1122, but
2659 2007-09-05 Frédéric Bernon, Bill Florac
2668 2007-09-05 Frédéric Bernon
2670 inside init.c for task #7142 "Sanity check user-configurable values".
2672 2007-09-04 Frédéric Bernon, Bill Florac
2678 check if LWIP_IGMP!=0).
2680 2007-09-03 Frédéric Bernon
2688 2007-08-30 Frédéric Bernon
2694 2007-08-30 Frédéric Bernon, Jonathan Larmour
2696 user-configurable values".
2698 2007-08-29 Frédéric Bernon
2703 2007-08-29 Frédéric Bernon
2706 a place to add code for task #7142 "Sanity check user-configurable values".
2713 2007-08-26 Marc Boucher
2718 2007-08-25 Frédéric Bernon (Artem Migaev's Patch)
2722 2007-08-22 Frédéric Bernon
2726 2007-08-22 Frédéric Bernon
2729 name is tcpip_input (we keep the name of 1.2.0 function).
2731 2007-08-17 Jared Grubb
2737 2007-08-16 Marc Boucher
2738 * api_msg.c: Initialize newconn->state to NETCONN_NONE in accept_function;
2742 2007-08-16 Marc Boucher
2745 2007-08-16 Marc Boucher
2748 2007-08-16 Marc Boucher
2754 2007-08-16 Marc Boucher
2760 2007-08-16 Marc Boucher
2764 2007-08-16 Marc Boucher
2769 2007-07-25 Simon Goldschmidt
2773 2007-07-25 Simon Goldschmidt
2778 2007-07-13 Jared Grubb (integrated by Frédéric Bernon)
2784 2007-06-30 Frédéric Bernon
2787 2007-06-21 Simon Goldschmidt
2789 LWIP_AUTOIP =0 and =1 to remove redundant code.
2791 2007-06-21 Simon Goldschmidt
2797 2007-06-21 Simon Goldschmidt
2803 2007-06-21 Simon Goldschmidt
2807 2007-06-21 Simon Goldschmidt
2808 * api.h, api_lib.c, api_msg.c: Fixed bug #20021: Moved sendbuf-processing in
2809 netconn_write from api_lib.c to api_msg.c to also prevent multiple context-
2810 changes on low memory or empty send-buffer.
2812 2007-06-18 Simon Goldschmidt
2814 of 6 to avoid loading netif->hwaddr_len every time (since this file is only
2817 2007-06-17 Simon Goldschmidt
2821 2007-06-13 Frédéric Bernon, Simon Goldschmidt
2826 2007-06-11 Simon Goldschmidt
2829 2007-06-10 Simon Goldschmidt
2831 by default) to switch off UDP-Lite support if not needed (reduces udp.c code
2834 2007-06-09 Dominik Spies (integrated by Frédéric Bernon)
2840 2007-06-09 Simon Goldschmidt
2842 etharp_output() to match netif->output so etharp_output() can be used
2843 directly as netif->output to save one function call.
2845 2007-06-08 Simon Goldschmidt
2847 NETIF_INIT_SNMP(netif, type, speed) to initialize per-netif snmp variables,
2850 2007-05-18 Simon Goldschmidt
2852 (defaulting to off for now) that can be set to 0 to send fragmented
2855 2007-05-23 Frédéric Bernon
2859 2007-05-23 Frédéric Bernon
2863 2007-05-18 Simon Goldschmidt
2871 2007-05-10 Simon Goldschmidt
2876 2007-05-11 Frédéric Bernon
2882 2007-05-10 Simon Goldschmidt
2889 2007-05-09 Simon Goldschmidt
2890 * opt.h, *.c/*.h: Included patch #5920: Create define to override C-library
2895 2007-05-08 Simon Goldschmidt
2896 * mem.h: If MEM_LIBC_MALLOC==1, allow the defines (e.g. mem_malloc() -> malloc())
2897 to be overriden in case the C-library malloc implementation is not protected
2900 2007-05-04 Simon Goldschmidt (Atte Kojo)
2901 * etharp.c: Introduced fast one-entry-cache to speed up ARP lookup when sending
2904 2007-05-04 Frédéric Bernon, Jonathan Larmour
2912 2007-04-11 Jonathan Larmour
2915 with SYS_MBOX_EMPTY. sys_arch_mbox_tryfetch can be implemented as a function-like macro
2918 2007-04-06 Frédéric Bernon, Simon Goldschmidt
2920 allow to use thread-safe functions to add/remove netif in list, and to start/stop dhcp
2923 2007-04-05 Frédéric Bernon
2926 2007-04-04 Simon Goldschmidt
2928 use this for and architecture-independent form to tell the compiler you intentionally
2931 2007-03-28 Frédéric Bernon
2938 2007-03-28 Frédéric Bernon
2944 2007-03-26 Frédéric Bernon, Jonathan Larmour
2950 2007-03-22 Frédéric Bernon
2957 2007-03-21 Kieran Mansley
2961 2007-03-11 Frédéric Bernon, Mace Gael, Steve Reynolds
2968 2007-03-11 Frédéric Bernon
2974 2007-03-08 Frédéric Bernon
2978 2007-03-08 Frédéric Bernon
2983 2007-03-08 Simon Goldschmidt
2986 2007-03-06 Frédéric Bernon
2990 2007-02-28 Kieran Mansley (based on patch from Simon Goldschmidt)
2994 2007-02-26 Jonathan Larmour (based on patch from Simon Goldschmidt)
3000 2007-02-26 Jonathan Larmour (based on patch from Simon Goldschmidt)
3006 2008-03-17 Frédéric Bernon, Ed Kerekes
3011 2008-03-13 Frédéric Bernon
3018 2008-03-12 Frédéric Bernon, Jonathan Larmour
3024 2008-03-04 Jonathan Larmour
3029 2008-03-04 Kieran Mansley (contributions by others)
3031 mailing list after 1.3.0 release candidate made.
3033 2008-01-25 Cui hengbin (integrated by Frédéric Bernon)
3036 2008-01-15 Kieran Mansley
3041 2008-01-09 Jonathan Larmour
3045 2008-01-06 Jonathan Larmour
3049 2007-12-21 Simon Goldschmidt
3050 * sys.h, api_lib.c, api_msg.c, sockets.c: fix bug #21698: "netconn->recv_avail
3052 netconn->recv_avail.
3054 2007-12-20 Kieran Mansley (based on patch from Oleg Tyshev)
3057 2007-12-20 Kieran Mansley (based on patch from Per-Henrik Lundbolm)
3061 2007-12-04 Simon Goldschmidt
3067 2007-12-02 Simon Goldschmidt
3069 If including <sys/time.h> for system-struct timeval, LWIP_TIMEVAL_PRIVATE now
3070 has to be set to 0 in lwipopts.h
3072 2007-12-02 Simon Goldschmidt
3074 allocate a recvmbox in netconn_new_with_proto_and_callback. For a tcp-listen
3076 This is a fix for thread-safety and allocates all items needed for a netconn
3079 2007-11-30 Simon Goldschmidt
3082 to netif->dhcp->pcb only (if that exists) and not to any other pcb for the same
3085 2007-11-27 Simon Goldschmidt
3089 2007-11-27 Simon Goldschmidt
3091 and ERR_RTE are seen as non-fatal, all other errors are fatal. netconns and
3094 2007-11-27 Simon Goldschmidt
3098 2007-11-26 Simon Goldschmidt
3099 * tcp_in.c: Fixed bug #21582: pcb->acked accounting can be wrong when ACKs
3100 arrive out-of-order
3102 2007-11-21 Simon Goldschmidt
3105 and has to be explicitly disabled with 'tcp_pcb->flags |= TF_NODELAY'
3107 2007-11-12 Frédéric Bernon
3112 2007-11-10 Simon Goldschmidt
3116 2007-11-01 Simon Goldschmidt
3117 * tcp.c, tcp_in.c: Fixed bug #21494: The send mss (pcb->mss) is set to 536 (or
3121 2007-11-01 Simon Goldschmidt
3123 is now based on TCP_MSS instead of pcb->mss (on passive open now effectively
3126 2007-11-01 Simon Goldschmidt
3131 2007-10-09 Simon Goldschmidt
3136 2007-10-08 Simon Goldschmidt
3139 2007-10-07 Frédéric Bernon
3149 2007-09-20 Simon Goldschmidt
3153 2007-09-19 Simon Goldschmidt
3156 2007-09-15 Mike Kleshov
3159 2007-09-06 Frédéric Bernon
3160 * several-files: replace some #include "arch/cc.h" by "lwip/arch.h", or simply remove
3165 2007-08-30 Frédéric Bernon
3169 2007-08-28 Frédéric Bernon
3175 2007-08-27 Frédéric Bernon
3180 2007-08-24 Kieran Mansley
3181 * inet.c Modify (acc >> 16) test to ((acc >> 16) != 0) to help buggy
3184 2007-08-09 Frédéric Bernon, Bill Florac
3188 2007-08-09 Frédéric Bernon, Bill Florac
3192 2007-08-09 Frédéric Bernon, Bill Florac
3196 2007-07-26 Frédéric Bernon (and "thedoctor")
3199 2007-07-25 Simon Goldschmidt
3204 2007-07-25 Simon Goldschmidt
3208 2007-07-25 Simon Goldschmidt
3209 * tcp_out.c: tcp_enqueue: pcb->snd_queuelen didn't work for chaine PBUF_RAMs:
3212 2007-07-24 Simon Goldschmidt
3216 2007-07-13 Thomas Taranowski (commited by Jared Grubb)
3220 2007-07-13 Frédéric Bernon
3224 2007-07-13 Frédéric Bernon
3228 2007-07-13 Kieran Mansley
3232 2007-07-03 Simon Goldschmidt
3233 * nearly-all-files: Added assertions where PBUF_RAM pbufs are used and an
3235 assumptions clash with the possibility of converting to fully pool-based
3238 2007-07-03 Simon Goldschmidt
3240 when closing tcp netconns: removed conn->sem, less context switches when
3244 2007-07-02 Simon Goldschmidt
3247 to cache ARP table indices with each pcb instead of single-entry cache for
3250 2007-07-02 Simon Goldschmidt
3254 2007-06-28 Simon Goldschmidt
3255 * tcp_out.c: Added check to prevent tcp_pcb->snd_queuelen from overflowing.
3257 2007-06-28 Simon Goldschmidt
3261 2007-06-28 Frédéric Bernon
3263 a "pseudo-random" value based on netif's MAC and some autoip fields. It's always
3267 2007-06-28 Frédéric Bernon
3272 2007-06-26 Simon Goldschmidt
3275 2007-06-25 Simon Goldschmidt
3276 * udp.c: Fixed bug #20253: icmp_dest_unreach was called with a wrong p->payload
3279 2007-06-25 Simon Goldschmidt
3280 * udp.c: Fixed bug #20220: UDP PCB search in udp_input(): a non-local match
3283 2007-06-13 Simon Goldschmidt
3285 changed in netif_set_ipaddr if previous netif->ip_addr.addr was 0.
3287 2007-06-13 Simon Goldschmidt
3288 * api_msg.c: pcb_new sets conn->err if protocol is not implemented
3289 -> netconn_new_..() does not allocate a new connection for unsupported
3292 2007-06-13 Frédéric Bernon, Simon Goldschmidt
3294 conn->err was reset to ERR_OK without any reasons (and error was lost)...
3296 2007-06-13 Frédéric Bernon, Matthias Weisser
3301 2007-06-11 Simon Goldschmidt
3302 * udp.c: UDP Lite: corrected the use of chksum_len (based on RFC3828: if it's 0,
3303 create checksum over the complete packet. On RX, if it's < 8 (and not 0),
3304 discard the packet. Also removed the duplicate 'udphdr->chksum = 0' for both
3307 2007-06-11 Srinivas Gollakota & Oleg Tyshev
3308 * tcp_out.c: Fix for bug #20075 : "A problem with keep-alive timer and TCP flags"
3311 2007-06-03 Simon Goldschmidt
3313 registered, p->payload was modified without modifying p->len if sending
3316 2007-06-03 Simon Goldschmidt
3318 re-used the input pbuf even if that didn't have enough space to include the
3322 2007-06-01 Simon Goldschmidt
3325 2007-05-23 Frédéric Bernon
3331 2007-05-23 Frédéric Bernon
3332 * api_lib.c: Fixed bug #5957 "Safe-thread problem inside netconn_recv" to return
3336 2007-05-22 Simon Goldschmidt
3338 bound but unconnected (and non-listening) tcp_pcbs.
3340 2007-05-22 Frédéric Bernon
3346 2007-05-22 Frédéric Bernon
3351 2007-05-22 Simon Goldschmidt
3357 2007-05-18 Simon Goldschmidt
3359 memp_memory was the same size -> did not save memory.
3361 2007-05-16 Simon Goldschmidt
3362 * loopif.c, slipif.c: Fix bug #19729: free pbuf if netif->input() returns
3365 2007-05-16 Simon Goldschmidt
3370 2007-05-16 Frédéric Bernon
3376 2007-05-16 Simon Goldschmidt
3381 2007-05-13 Simon Goldschmidt
3383 for socket options (lwip_set/-getsockopt) used with level IPPROTO_TCP from
3386 2007-05-07 Simon Goldschmidt
3389 2007-05-04 Simon Goldschmidt
3394 2007-05-04 Simon Goldschmidt
3398 2007-05-03 "maq"
3402 2007-04-23 Simon Goldschmidt
3405 (using LWIP_LOOPIF_MULTITHREADING) to directly call netif->input()
3406 (multithreading environments, e.g. netif->input() = tcpip_input()) or
3408 (single-thread / NO_SYS / polling environment where e.g.
3409 netif->input() = ip_input).
3411 2007-04-17 Jonathan Larmour
3417 2007-04-12 Jonathan Larmour
3420 2007-04-12 Kieran Mansley
3424 2007-04-11 Simon Goldschmidt
3425 * etharp.c, pbuf.c, pbuf.h: 3rd fix for bug #11400 (arp-queuing): More pbufs than
3429 2007-04-11 Kieran Mansley
3434 2007-04-05 Frédéric Bernon, Jonathan Larmour
3439 2007-04-03 Frédéric Bernon
3443 2007-03-30 Frédéric Bernon
3447 2007-03-30 Frédéric Bernon
3451 2007-03-28 Frédéric Bernon
3455 2007-03-28 Simon Goldschmidt
3461 2007-03-28 Kieran Mansley
3465 2007-03-26 Frédéric Bernon (based on patch from Dmitry Potapov)
3470 2007-03-22 Frédéric Bernon
3473 2007-03-22 Frédéric Bernon
3477 2007-03-22 Frédéric Bernon
3478 * ethernetif.c: update netif->input calls to check return value. In older ports,
3482 2007-03-21 Simon Goldschmidt
3486 2007-03-21 Frédéric Bernon
3487 * api_lib.c, api_msg.c, tcpip.c: integrate sys_mbox_fetch(conn->mbox, NULL) calls from
3493 2007-03-21 Frédéric Bernon
3494 * opt.h: Add LWIP_NETIF_CALLBACK (to avoid compiler warning) and set it to 0.
3496 2007-03-21 Frédéric Bernon
3499 2007-03-21 Kieran Mansley
3503 2007-03-21 Kieran Mansley
3509 2007-03-21 Kieran Mansley
3513 2007-03-20 Frédéric Bernon
3517 2007-03-20 Frédéric Bernon
3522 2007-03-20 Kieran Mansley
3526 2007-03-19 Frédéric Bernon
3530 2007-03-19 Frédéric Bernon
3533 2007-03-11 Simon Goldschmidt
3537 2007-03-11 Simon Goldschmidt (based on patch from Dmitry Potapov)
3542 2007-03-11 Frédéric Bernon (based on patch from Dmitry Potapov)
3548 2007-03-09 Simon Goldschmidt
3552 2007-03-06 Simon Goldschmidt
3556 2007-03-06 Frédéric Bernon, Dmitry Potapov
3560 2007-03-06 Simon Goldschmidt
3562 if IP_FRAG == 0 and IP_REASSEMBLY == 0
3564 2007-03-06 Frédéric Bernon, Simon Goldschmidt
3569 old code using tcp_input with new define ETHARP_TCPIP_INPUT set to 0.
3572 2007-03-06 Simon Goldschmidt (based on patch from Dmitry Potapov)
3576 2007-03-05 Frédéric Bernon
3580 2007-03-04 Frédéric Bernon
3584 2007-03-04 Frédéric Bernon
3589 2007-03-04 Simon Goldschmidt (based on patch from Dmitry Potapov)
3590 * pbuf.c: Fix BUG#19168 - pbuf_free can cause deadlock (if
3594 2007-03-04 Simon Goldschmidt
3595 * etharp.c, etharp.h, memp.c, memp.h, opt.h: Fix BUG#11400 - don't corrupt
3598 2007-03-03 Frédéric Bernon
3602 2007-03-02 Simon Goldschmidt
3607 2007-03-02 Frédéric Bernon
3611 2007-02-28 Kieran Mansley
3612 * pbuf.c: Fix BUG#17645 - ensure pbuf payload pointer is not moved
3615 2007-02-28 Kieran Mansley
3616 * sockets.c: Fix BUG#19161 - ensure milliseconds timeout is non-zero
3617 when supplied timeout is also non-zero
3619 (STABLE-1.2.0)
3621 2006-12-05 Leon Woestenberg
3622 * CHANGELOG: Mention STABLE-1.2.0 release.
3626 2006-12-01 Christiaan Simons
3630 2006-10-26 Christiaan Simons (accepted patch by Jonathan Larmour)
3637 2006-08-18 Christiaan Simons
3642 2006-08-08 Christiaan Simons
3646 2006-07-14 Christiaan Simons
3651 2006-07-06 Christiaan Simons
3659 2006-03-29 Christiaan Simons
3661 Added LWIP_PLATFORM_BYTESWAP define (defaults to 0) and
3666 2006-11-30 Christiaan Simons
3669 2006-11-28 Christiaan Simons
3672 2006-10-11 Christiaan Simons
3675 * ipv4/lwip/ip.h ipv6/lwip/ip.h: Corrected UDP-Lite protocol
3678 2006-10-10 Christiaan Simons
3681 2006-08-17 Christiaan Simons
3685 2006-08-07 Christiaan Simons
3688 2006-06-27 Christiaan Simons
3690 In accept_function() ensure newconn->callback is always initialized.
3692 2006-06-15 Christiaan Simons
3696 2006-06-14 Christiaan Simons
3700 2006-05-26 Christiaan Simons
3701 * api_lib.c: Removed conn->sem creation and destruction
3704 (STABLE-1_1_1)
3706 2006-03-03 Christiaan Simons
3707 * ipv4/ip_frag.c: Added bound-checking assertions on ip_reassbitmap
3710 2006-01-01 Leon Woestenberg <[email protected]>
3714 2006-02-27 Leon Woestenberg <[email protected]>
3718 2005-12-20 Leon Woestenberg <[email protected]>
3722 2005-12-15 Christiaan Simons
3725 2005-12-14 Leon Woestenberg <[email protected]>
3731 2005-12-09 Christiaan Simons
3734 2005-11-25 Christiaan Simons
3737 u32_t, s32_t typedefs. This solves most debug word-length assumes.
3739 2005-07-17 Leon Woestenberg <[email protected]>
3740 * inet.c: Fixed unaligned 16-bit access in the standard checksum
3742 * slipif.c: Fixed implementation assumption of single-pbuf datagrams.
3744 2005-02-04 Leon Woestenberg <[email protected]>
3748 2005-01-04 Leon Woestenberg <[email protected]>
3751 2005-01-03 Leon Woestenberg <[email protected]>
3752 * udp.c: UDP pcb->recv() was called even when it was NULL.
3754 (STABLE-1_1_0)
3756 2004-12-28 Leon Woestenberg <[email protected]>
3760 2004-11-28 Leon Woestenberg <[email protected]>
3764 the counter from reaching 0 right away (which would allow
3767 2004-11-25 Leon Woestenberg <[email protected]>
3774 suffer from this when a server invalidly gave an in-use address.)
3781 2004-11-24 Kieran Mansley <[email protected]>
3782 * tcp.c: Increment pcb->snd_buf when ACK is received in SYN_SENT state.
3784 (STABLE-1_1_0-RC1)
3786 2004-10-16 Kieran Mansley <[email protected]>
3792 2004-09-12 Kieran Mansley <[email protected]>
3793 * tcp*.*: Retransmit time-out handling improvement by Sam Jansen.
3795 2004-08-20 Tony Mountifield <[email protected]>
3799 2004-07-27 Tony Mountifield <[email protected]>
3810 2004-07-22 Tony Mountifield <[email protected]>
3816 2004-07-21 Tony Mountifield <[email protected]>
3817 * etharp.c: Removed spurious semicolon and added missing end-of-comment.
3819 netif->linkoutput and changed low_level_input() similarly for consistency.
3825 (STABLE-1_0_0)
3829 2004-07-05 Leon Woestenberg <[email protected]>
3831 your cc.h file defines this either 1 or 0. If non-defined,
3836 2004-06-27 Leon Woestenberg <[email protected]>
3840 2004-05-07 Leon Woestenberg <[email protected]>
3842 single-pass lookup for different candidates. Should exploit locality.
3844 2004-04-29 Leon Woestenberg <[email protected]>
3852 2004-04-27 Leon Woestenberg <[email protected]>
3854 suggested by Timmy Brolin. Fix for 32-bit processors that cannot access
3855 non-aligned 32-bit words, such as soms 32-bit TCP/IP header fields. Fix
3856 is to prefix the 14-bit Ethernet headers with two padding bytes.
3858 2004-04-23 Leon Woestenberg <[email protected]>
3865 (STABLE-0_7_0)
3873 (STABLE-0_6_6)
3883 (STABLE-0_6_5)
3892 * Pass-by ARP requests do now update the cache.
3900 (STABLE-0_6_4)
3910 * pbuf_dechain() has been re-enabled.
3913 (STABLE-0_6_3)
3921 * PBUF_POOL chains had their tot_len field not set for non-first
3932 * ARP queueuing now queues the latest packet instead of the first.
3940 * TCP has been fixed to deal with the new use of the pbuf->ref
3956 zero-copy and copy-on-demand for packet buffers which have their
3957 payloads in application-managed memory.
3960 Use PBUF_REF to make a pbuf refer to RAM. lwIP will use zero-copy
3962 a copy-on-demand when necessary.
3979 * The packet buffer implementation is changed. The pbuf->ref counter
4021 * pbuf_dechain() did not update the ->tot_len field of the tail.
4030 * The ->len field in the tcp_seg structure now counts the actual
4033 (0.5.1) Changes since version 0.5.0
4071 * A ->linkoutput() member was added to struct netif.
4073 * TCP and UDP ->dest_* struct members where changed to ->remote_*.
4077 (0.5.0) Changes since version 0.4.2
4131 * UDP: experimental support for UDP-Lite extensions.
4180 4-, 2-, or 1-byte alignment.
4203 * Bugs related to porting between a 32-bit and a 16-bit architecture
4240 - Fixed a bug in tcp_close().
4242 - The TCP receive window was incorrectly closed when out of
4245 - Connections are now timed-out of the FIN-WAIT-2 state.
4247 - The initial congestion window could in some cases be too
4250 - The retransmission queue could in some cases be screwed up. This
4253 - TCP RST flag now handled correctly.
4255 - Out of sequence data was in some cases never delivered to the
4258 - Retransmitted segments now contain the correct acknowledgment
4261 - TCP retransmission timeout backoffs are not correctly computed
4267 connections that are in TIME-WAIT. This greatly speeds up the fast