1177 Commits

Author SHA1 Message Date
goldsimon
be1dccd15e pbuf_copy(): moved the check for "p_to != NULL" to a better place. 2012-02-12 13:49:34 +01:00
goldsimon
83b46811f9 fixed bug #35291: NULL pointer in pbuf_copy 2012-02-12 13:48:57 +01:00
goldsimon
1d96195f47 implemented API functions to access so_options of IP pcbs (UDP, TCP, RAW) (fixes bug #35061) 2012-02-12 13:48:40 +01:00
goldsimon
5546e46c60 Added option CHECKSUM_GEN_ICMP 2012-02-12 13:33:43 +01:00
goldsimon
4bcb7accb8 Fixed some merge errors 2011-12-15 06:19:25 +01:00
goldsimon
f76488a841 Merged from trunk: tcp_abandon: call tcp_rst before freeing the pcb to prevent copying addresses and ports to local variables 2011-12-14 21:49:47 +01:00
goldsimon
ef0a44c62d Merged from trunk: use constants for 'offset' based on pbuf_layer instead of calculating it using fall-through 2011-12-14 21:48:51 +01:00
goldsimon
d3ee77e7b1 Merged from trunk: use a define to set/reset netif->addr_hint to prevent too many #ifdef's in the code 2011-12-14 21:48:06 +01:00
goldsimon
a91d8e7395 Merged from trunk: removed empty function autoip_init() (converted to an empty define) 2011-12-14 21:46:47 +01:00
Simon Goldschmidt
3306641708 bug #33634 ip_forward() have a faulty behaviour: Added pbuf flags to mark incoming packets as link-layer broadcast/multicast. Also added code to allow ip_forward() to forward non-broadcast packets to the input netif (set IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1). 2011-12-14 21:11:34 +01:00
goldsimon
56207f2505 fixed bug #31177: tcp timers can corrupt tcp_active_pcbs in some cases 2011-12-14 19:58:49 +01:00
goldsimon
c4f3b8818a fixed bug #34884: sys_msleep() body needs to be surrounded with '#ifndef sys_msleep' 2011-12-14 19:58:25 +01:00
goldsimon
f0b0a3760c fixed bug #34684: Clear the arp table cache when netif is brought down 2011-12-14 19:58:03 +01:00
goldsimon
0b382a0d53 fixed bug #34638: Dead code in tcp_receive - pcb->dupacks 2011-12-14 19:54:20 +01:00
goldsimon
386a4b7079 - moved processing of refused_data to an own function (used from tcp_fasttmr and tcp_input);
- improved readability of tcp_slowtmr by using defines to access keepalive variables
2011-12-14 19:53:51 +01:00
goldsimon
3585cc1a70 fixed bug #34429: possible memory corruption with LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT set to 1 2011-12-14 19:46:57 +01:00
goldsimon
76e74b6635 removed the need to disable ARP_QUEUEING when LWIP_ARP is disabled an TCP_QUEUE_OOSEQ when LWIP_TCP is disabled 2011-12-14 19:46:01 +01:00
Simon Goldschmidt
d96703bba3 fixed bug #34587: TCP_BUILD_MSS_OPTION doesn't consider netif->mtu, causes slow network 2011-12-14 19:43:25 +01:00
Simon Goldschmidt
d8f090a759 fixed bug #34517 (persist timer is started although no zero window is received) by starting the persist timer when a zero window is received, not when we have more data queued for sending than fits into the window 2011-12-13 22:05:00 +01:00
Simon Goldschmidt
bd0a664446 fixed bug #34541: LWIP_U32_DIFF is unnecessarily complex: removed that define 2011-12-13 22:03:03 +01:00
Simon Goldschmidt
dbbd161219 fixed bug #34534: Error in sending fragmented IP if MEM_ALIGNMENT > 4 2011-12-12 20:12:53 +01:00
Simon Goldschmidt
de4a51e96e slightly rearranged freeing an acked segment to prevent keeping the reference too long 2011-12-12 20:12:07 +01:00
Simon Goldschmidt
56cee6b4d8 fixed bug #34426: tcp_zero_window_probe() transmits incorrect byte value when pcb->unacked != NULL 2011-12-11 19:54:43 +01:00
Simon Goldschmidt
277c7aa518 fixed bug #34447 LWIP_IP_ACCEPT_UDP_PORT(dst_port) wrong 2011-12-11 19:54:09 +01:00
Simon Goldschmidt
5cfef5bf48 Tried to fix bug #32417 ("TCP_OVERSIZE seems to have problems with (fast-)retransmission"): Reset pcb->unsent_oversize in 2 more places... 2011-12-11 19:46:21 +01:00
Simon Goldschmidt
ca6fd6015c Implemented limiting data on ooseq queue (task #9989) (define TCP_OOSEQ_MAX_BYTES / TCP_OOSEQ_MAX_PBUFS in lwipopts.h), added unit test for this new feature 2011-12-11 19:45:59 +01:00
Simon Goldschmidt
eff10f6458 fixed bug #28288: Data after FIN in oos queue 2011-12-11 19:45:29 +01:00
goldsimon
9c3a6b828f bug #34406 dhcp_option_hostname() can overflow the pbuf 2011-12-11 19:45:07 +01:00
Simon Goldschmidt
140eb22cf0 fixed bug #33871: rejecting TCP_EVENT_RECV() for the last packet including FIN can lose data 2011-12-11 19:43:40 +01:00
Simon Goldschmidt
d5eb52868e Corrected fix for bug #34072 (UDP broadcast is received from wrong UDP pcb if udp port matches): pcbs bound to IPADDR_ANY did not receive broadcasts any more (bug #34294) 2011-12-11 19:35:43 +01:00
Simon Goldschmidt
c951ab8cee Converted runtime-sanity-checks into compile-time checks that can be disabled (since runtime checks can often not be seen on embedded targets) 2011-12-11 19:28:51 +01:00
goldsimon
81a49a437a fixed bug #34337 (possible NULL pointer in sys_check_timeouts) 2011-12-11 19:28:11 +01:00
Simon Goldschmidt
2576a2e565 use pcb->mss instead of TCP_MSS for preallocate mss-sized pbufs (bug #34019) 2011-12-11 19:18:45 +01:00
Simon Goldschmidt
49369cc9ce Added a config option to randomize initial local TCP/UDP ports (so that different port ranges are used after a reboot; bug #33818; this one added tcp_init/udp_init functions again);
fixed a possible endless loop in tcp_new_port() if the number of active PCBs exceeds the number of available ports;
2011-12-11 19:18:09 +01:00
Simon Goldschmidt
72e2d16f14 fixed bug #34072: UDP broadcast is received from wrong UDP pcb if udp port matches 2011-12-11 19:15:35 +01:00
Simon Goldschmidt
378bed8a03 DHCP uses LWIP_RAND() for xid's (bug #30302) 2011-12-11 18:50:36 +01:00
Simon Goldschmidt
9a1eeeea67 fixed bug #33952 PUSH flag in incoming packet is lost when packet is aggregated and sent to application 2011-12-11 18:49:50 +01:00
Simon Goldschmidt
a030b741a5 fixed bug #34111 RST for ACK to listening pcb has wrong seqno 2011-12-11 18:46:34 +01:00
Simon Goldschmidt
b1359f1c80 added netif remove callback (bug #32397) 2011-12-06 22:10:00 +01:00
Simon Goldschmidt
2fe1af0d05 fixed bug #34112 Odd check in pbuf_alloced_custom (typo) 2011-12-06 22:05:54 +01:00
Simon Goldschmidt
ff85feb22d fixed bug #34122 dhcp: hostname can overflow 2011-12-06 22:05:15 +01:00
Simon Goldschmidt
be191148e0 fixed bug #34121 netif_add/netif_set_ipaddr fail on NULL ipaddr 2011-12-06 22:04:45 +01:00
Simon Goldschmidt
626131fb28 fixed bug #33962 TF_FIN not always set after FIN is sent. (This merely prevents nagle from not transmitting fast after closing.) 2011-12-06 22:04:01 +01:00
Simon Goldschmidt
38f619dd6f IPv4: splitted IPv4 header fields version/len and tos, made macros depend on BYTE_ORDER to prevent unnecessary calls to htons() 2011-12-06 21:57:56 +01:00
Simon Goldschmidt
5b899dd85b Prevent non-static function that is not declared in header file 2011-12-06 21:47:15 +01:00
Simon Goldschmidt
e7b9849a1a Fixed some C compiler warnings 2011-12-06 21:46:53 +01:00
Simon Goldschmidt
20833fdcc4 init.c: changed some checks from runtime to compiletime (had to adapt some defines in ip.h for that) 2011-12-06 21:42:55 +01:00
Simon Goldschmidt
e931086c3e freeing ooseq pbufs when the pbuf pool is empty implemented for NO_SYS==1: when not using sys_check_timeouts(), call PBUF_CHECK_FREE_OOSEQ() at regular intervals from main level. 2011-12-06 21:39:39 +01:00
goldsimon
211b8be07d fixed bug #31723 (tcp_kill_prio() kills pcbs with the same prio) by updating its documentation only. 2011-12-06 21:29:33 +01:00
goldsimon
22ee104a04 fixed bug #33545: With MEM_USE_POOLS==1, mem_malloc can return an unaligned pointer. 2011-12-06 21:28:36 +01:00