Grant Erickson
d74464e091
Add RFC3542-style checksum compuation on raw, IPv6 sockets
...
This patch adds support for RFC3542-style checksum computation on raw,
IPv6 sockets via the IPV6_CHECKSUM socket option.
This allows the development of application-layer utilities such as
ping6 which are unable to compute the raw packet checksum without a
prior knowledge of the source address selection.
2014-02-20 20:01:37 +01:00
Simon Goldschmidt
e2c2afbbe0
patch #7885 : modification of api modules to support FreeRTOS-MPU (don't pass stack-pointers to other threads) (based on patch by Artem Pisarenko)
2014-02-20 19:50:17 +01:00
Simon Goldschmidt
2f02120fee
Fixed typo.
2014-02-20 15:43:51 +01:00
Simon Goldschmidt
c0b534e531
Minor fixes to init.c preprocessor checks
2014-02-12 22:20:25 +01:00
Erik Ekman
5eaef50a77
Remove newlines in LWIP_ERROR calls
2014-02-12 22:10:36 +01:00
Simon Goldschmidt
751deac9d1
Another fix to window scaling: support queueing more than 64 KByte in ooseq data
2014-02-12 21:34:19 +01:00
Sylvain Rochet
406da499ff
Merge branch 'master' into ppp-new
2014-02-09 16:40:43 +01:00
Simon Goldschmidt
6272b5c58c
Fixed misleading comment on sys_untimeout()
2014-02-07 14:03:53 +01:00
Simon Goldschmidt
8c9b99458d
Fixed forgotten brackets in last commit
2014-02-07 12:11:36 +01:00
Simon Goldschmidt
3273c68b63
Added comments to clarify the LWIP_TCP_TIMESTAMPS option.
2014-02-07 11:46:23 +01:00
Simon Goldschmidt
a44e2190d6
TCP window scaling: change tcp_pcb::acked to u32_t when window scaling is enabled to prevent an overflow when more than 64 Kbytes are ACKed
2014-02-07 11:32:02 +01:00
Simon Goldschmidt
2dab478c3f
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
...
Conflicts:
src/core/tcp_out.c
src/include/ipv4/lwip/ip4_addr.h
2014-02-07 09:40:10 +01:00
Simon Goldschmidt
d2a89b424b
patch #6537/#7858: TCP window scaling support (OOS queueing still needs special handling)
2014-02-06 22:34:06 +01:00
Sylvain Rochet
9502cd7047
Merge branch 'master' into ppp-new
2014-01-19 14:32:14 +01:00
Sylvain Rochet
cd02450095
recently applied patches changed LF-terminated filed to mostly LF and CR+LF only where the patches changed lines
2014-01-19 14:28:17 +01:00
Sylvain Rochet
03a3412e62
Merge branch 'master' into ppp-new
2014-01-19 03:41:01 +01:00
Simon Goldschmidt
a70567e74f
patch #8009 by chrysn: stats_display_igmp used by ml6d
2014-01-18 22:16:09 +01:00
Simon Goldschmidt
32b1a9fc8a
patch #8237 by Brian Fahs: tcp_rexmit_rto fails to update pcb->unsent_oversize when necessary
2014-01-18 21:40:17 +01:00
Simon Goldschmidt
018719d9d3
patch #8027 : Completed HW checksuming for IPv4 and IPv6 ICMP's
2014-01-17 22:32:36 +01:00
Simon Goldschmidt
5070cc07be
Fixed LWIP_IPV6==0
2014-01-17 21:57:40 +01:00
Simon Goldschmidt
1e65eb4936
Added IPv6 loopback address to loopback-netif, fixed last commit
2014-01-17 21:55:46 +01:00
Jay Logue
13e40f754c
Enable support for IPv6 loopback
...
Packets are sent through the loopback path when they are addressed to any
of the valid local IPv6 addresses.
2014-01-17 21:32:24 +01:00
Sylvain Rochet
87cfd930e4
Merge branch 'master' into ppp-new
2014-01-17 00:48:55 +01:00
Stathis Voukelatos
039737ffc2
Fixed netif_poll() operation when LWIP_LOOPBACK_MAX_PBUFS > 0.
...
Using the pbuf_clen() function to calculate the number of pbufs
for the first packet in the queue is not correct here, as pbuf_clen()
will return the total number of pbufs in the loopback I/F queue.
2014-01-16 21:36:49 +01:00
Freddie Chopin
4e1320d480
SNMP: mib-2.system.sysDescr is read-only, so add const qualifiers to functions and pointers
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2014-01-14 21:51:39 +01:00
Freddie Chopin
e6202cfa97
SNMP: source of ocstrncpy() and objectidncpy() may be const
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2014-01-14 21:51:29 +01:00
Simon Goldschmidt
a15b28a24e
SNMP: fixed typo: snmp_set_sysdesr -> snmp_set_sysdescr
2014-01-14 21:49:33 +01:00
Simon Goldschmidt
9975dbeded
Fixed chrysn's patch: it only works for NO_SYS :-(
2014-01-14 21:48:58 +01:00
chrysn
252abbeb8d
make timeouts usable reliably from outside of the timeout routine
...
although timeouts are relative to timeouts_last_time (transitively by
addition to the time values of their predecessors, if there are any),
sys_timeout does not compensate for that; as a result, timeouts fire too
early unless invoked from within a timeout handler (when
timeouts_last_time == now).
2014-01-14 21:25:03 +01:00
Sylvain Rochet
bf37afd7c7
Merge branch 'master' into ppp-new
2014-01-12 15:05:37 +01:00
Simon Goldschmidt
f311045320
Added an assert that should trigger bug #41009 (IPv6 reassembly broken on 64-bit platforms)
2014-01-10 22:08:01 +01:00
Simon Goldschmidt
381a7b110a
fixed bug #41041 Potential use-after-free in IPv6 reassembly
2014-01-10 21:47:42 +01:00
Simon Goldschmidt
75f2c56558
bug #41188 Alignment error in memp_init() when MEMP_SEPARATE_POOLS==1
2014-01-10 21:26:28 +01:00
Simon Goldschmidt
91333c5d2f
fixed bug #39898 tcp_fasttmr() possible lock due to infinte queue process loop
2014-01-10 21:21:54 +01:00
Sylvain Rochet
ee2ba4e52f
Merge branch 'master' into ppp-new
2013-07-20 21:04:49 +02:00
Simon Goldschmidt
2fb5a71efd
patch #8030 : fixed spelling of "received"
2013-06-19 22:23:05 +02:00
Sylvain Rochet
434daf87c2
Merge branch 'master' into ppp-new
2013-04-26 19:54:01 +02:00
Sylvain Rochet
c681e5e082
reverted dhcp.c from DOS (CRLF) to UNIX (LF) format
2013-04-26 19:52:42 +02:00
Sylvain Rochet
3fe5a99dab
Merge branch 'master' into ppp-new
2013-04-25 00:36:12 +02:00
Simon Goldschmidt
252126cf76
fixed possible division by zero
2013-04-24 22:20:12 +02:00
Simon Goldschmidt
8609d1e790
fixed bug #38526 Coverity: Recursive Header Inclusion in ip6.h
2013-04-24 21:58:57 +02:00
Simon Goldschmidt
9809f1ff66
Fixed bug #38586
2013-04-24 21:38:01 +02:00
Simon Goldschmidt
796098e4c9
fixed bug #38701 (wrong comment on tcp_pcb::snd_queuelen
2013-04-24 21:28:56 +02:00
Sylvain Rochet
69b15c889d
Merge branch 'master' into ppp-new
2013-01-20 02:57:57 +01:00
Simon Goldschmidt
ff3bf6d7f5
fixed bug #37665 ip_canforward operates on address in wrong byte order
2013-01-15 21:10:32 +01:00
Simon Goldschmidt
86059bd5dd
fixed more unused variables
2013-01-14 21:06:13 +01:00
Simon Goldschmidt
9927d991ef
Fixed bug #37893 Unused variables in tcp_out (and in udp.c/.h)
2013-01-14 20:46:41 +01:00
Simon Goldschmidt
6849b7d555
Added additional sanity check that all headers (without IP- or TCP options) fit into the first pbuf.
2013-01-14 18:05:18 +01:00
Simon Goldschmidt
1efd1ee6ac
fixed bug #37705 Possible memory corruption in DNS query
2013-01-14 18:04:04 +01:00
Simon Goldschmidt
d12600fba0
fixed bug #37705 Possible memory corruption in DNS query
2013-01-14 18:03:23 +01:00
Simon Goldschmidt
769b2a3e30
fixed bug #38066 Raw pcbs can alter packet without eating it: added assertion to check that p->payload is unchanged
2013-01-11 21:59:26 +01:00
Simon Goldschmidt
d237ec7e78
Changed C++ comments to C style
2013-01-11 21:27:45 +01:00
Sylvain Rochet
6bd0bd2ed1
Merge branch 'master' into ppp-new
2012-12-23 22:56:51 +01:00
Ivan Delamer
3bb29bf63a
Fix bug #37959 : ip6_debug_print prints plen, nexth, hoplim in wrong
...
byte order
2012-12-19 16:38:44 -07:00
Sylvain Rochet
78d52ad2de
Merge branch 'master' into ppp-new
2012-12-19 14:05:59 +01:00
"Grant Erickson"
4fe648415f
Fixed typo in debug formatting in ip6.c
2012-12-14 16:08:24 -07:00
Sylvain Rochet
7fb874ad28
Merge branch 'master' into ppp-new
2012-09-27 21:32:27 +02:00
goldsimon
99aea7eb6f
Added brackets, completed CHANGELOG
2012-09-26 21:30:01 +02:00
Henrik Persson
b4ac36337f
Fix corner case with dhcp timeouts
...
If t1 >= t2 timeout then only t2 timer should be scheduled. This can happen
when a sub 1 minute lease is received.
2012-09-26 21:25:04 +02:00
goldsimon
7072bc3203
Added brackets, completed CHANGELOG
2012-09-26 21:21:26 +02:00
Henrik Persson
7e9f000d0b
Segfault in dhcp_parse_reply if no end marker
...
If no endmarker is present in a dhcp reply a null pointer is potentially
dereferenced.
Add fix and test case as proof of concept.
2012-09-19 22:11:56 +02:00
Sylvain Rochet
4928166593
Merge branch 'master' into ppp-new
2012-08-23 20:51:53 +02:00
goldsimon
150b4fb4f6
fixed bug #37166 : memp_sanity check loops itself
2012-08-22 21:59:02 +02:00
Sylvain Rochet
1ddebcc862
Moved PPP headers into include/netif/ppp/, fixing bug #37040 .
2012-08-18 22:40:19 +02:00
Sylvain Rochet
519f81771a
Merge remote-tracking branch 'origin/master' into ppp-new
2012-08-17 23:11:47 +02:00
Ivan Delamer
c762c06b17
Fixed typo in previous commit.
...
Change-Id: I97f85f4593509911829cfbbb6e309eecedd5465b
2012-08-17 11:24:18 -06:00
Ivan Delamer
8bab543531
Add a "NULL" output function for ipv6 by default, to avoid NULL
...
dereferencing in case of non-IPv6-enabled netifs (e.g. PPP).
Change-Id: I45f08ca89bfa0b8d61962f7052b11cc81a5e3cd1
2012-08-17 10:56:14 -06:00
goldsimon
bab8c82a35
fixed bug #36645 : Calling dhcp_release before dhcp_start dereferences NULL
2012-08-13 21:50:15 +02:00
goldsimon
b82bca7c99
fixed bug #36840 snmp_send_trap() NULL de-reference if traps configured but no interfaces available
2012-08-13 21:38:30 +02:00
goldsimon
556a2126b5
Fixed bug #36899 DNS TTL 0 is cached for a long time
2012-08-13 21:32:44 +02:00
goldsimon
847845027f
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2012-08-13 20:57:55 +02:00
goldsimon
c69914367d
Sanity-check the size of netif->hwaddr
2012-08-13 20:57:19 +02:00
Sylvain Rochet
48d364e269
Merge remote-tracking branch 'origin/master' into ppp-new
2012-07-24 23:17:15 +02:00
James Smith
97b8abf16c
Fix bug #36857 : tcp_listen_dual_with_backlog() only works with ANY
...
address
Change-Id: I092a4c9978d88040214fc44a4c4b353be618d76c
2012-07-24 10:34:09 -06:00
Sylvain Rochet
f534e80c71
added L2TPv2 (PPP over L2TP, a.k.a. UDP tunnels) support
...
Supported:
- L2TPv2 (PPP over L2TP, a.k.a. UDP tunnels)
- LAC
Not supported:
- LNS (require PPP server support)
- L2TPv3 ethernet pseudowires
- L2TPv3 VLAN pseudowire
- L2TPv3 PPP pseudowires
- L2TPv3 IP encapsulation
- L2TPv3 IP pseudowire
- L2TP tunnel switching - http://tools.ietf.org/html/draft-ietf-l2tpext-tunnel-switching-08
- Multiple tunnels per UDP socket, as well as multiple sessions per tunnel
- Hidden AVPs
2012-07-09 23:25:32 +02:00
Sylvain Rochet
f31b905847
initialize PPP in the lwip_init() function
2012-07-07 17:33:34 +02:00
goldsimon
b56a1501d2
fixed bug #36412 : memp.c does not compile when MEMP_OVERFLOW_CHECK > zero and MEMP_SEPARATE_POOLS == 1
2012-05-11 22:56:53 +02:00
goldsimon
bc308c21fc
fixed bug: #36380 unsent_oversize mismatch in 1.4.1RC1 (this was a debug-check issue only)
2012-05-08 07:42:32 +02:00
Ivan Delamer
289566afe8
In ip6_input(), do not accept link-local packets on netifs other than
...
inp.
Change-Id: I7f3c779e69292bc078890e0acdc37112559644ce
2012-05-04 18:25:22 -06:00
Ivan Delamer
944adc56ee
Fixed #define that was commited by mistake.
...
Change-Id: Ic44560284e932b2d7c503155085160647ac82bb8
2012-05-04 18:19:40 -06:00
Ivan Delamer
6e81f722ad
In ip6_input(), accept solicited node packets that match the receiving
...
netif addresses, when multicast is disabled.
Change-Id: I3f59258ee605a820f0a525b696b1dede0d53948f
2012-05-04 18:11:47 -06:00
Ivan Delamer
bfa28f4c30
fixes bug #36389 : Use IPv6 Src Address of Echo Response as Destination
...
Address in Echo Response
2012-05-04 17:43:54 -06:00
goldsimon
1704d21356
dhcp: check array bounds before accessing it (bug #36170 )
2012-05-03 20:21:50 +02:00
goldsimon
1dff9aea62
fixed the fix for bug #35945 (SYN packet should provide the recv MSS not the send MSS) if TCP_CALCULATE_EFF_SEND_MSS==0
2012-03-28 11:06:52 +02:00
goldsimon
a558c01589
fixed bug #35945 : SYN packet should provide the recv MSS not the send MSS
2012-03-27 20:18:23 +02:00
goldsimon
7043983acc
udp_input: fixed unreachable code warning for CHECKSUM_CHECK_UDP==0
2012-03-25 17:20:22 +02:00
goldsimon
dd245c63d7
tcp_abort/tcp_abandon: don't send RST if pcb->state is CLOSED
2012-03-25 17:19:46 +02:00
goldsimon
c622985fda
Better fix for bug #35927 (missing refragmentaion in ip_forward) when IP_FRAG is disabled.
2012-03-25 15:12:42 +02:00
goldsimon
d95bcab053
fixed bug #35927 : missing refragmentaion in ip_forward
2012-03-22 19:35:04 +01:00
Ivan Delamer
2b4c10e705
Support single-packet queueing in ND6 (similar to ARP), when
...
!LWIP_ND6_QUEUEING.
2012-03-22 11:14:49 -06:00
Ivan Delamer
ac4c802089
Disable leftover ND6 queueing code when !LWIP_ND6_QUEUING.
2012-03-22 10:25:50 -06:00
Ivan Delamer
773dcae2f9
Missing declarations in supporting IP_HDRINCL.
2012-03-02 09:35:42 -07:00
Ivan Delamer
22e7b674ed
Check arguments in nd6, and some other minor fixes nearby.
2012-03-02 09:27:14 -07:00
Ivan Delamer
8c95422204
Early exit when checking if ip6 reassembled packet is valid.
2012-03-02 09:18:54 -07:00
Ivan Delamer
34531a8160
Check that pbuf_header succeeds in IPv6 reassembly.
2012-03-02 09:16:33 -07:00
Ivan Delamer
5c199483cd
Support IP_HDRINCL in ip6_output() and ip6_output_hinted(),
...
previously only supported in ip6_output_if().
2012-03-02 09:06:57 -07:00
Ivan Delamer
c52189557e
Fixed error in calculating some IPv6 option header lengths.
2012-03-02 08:59:34 -07:00
Ivan Delamer
bcabe63971
Set ip_data.current_netif earlier to allow ICMPv6 packets in ip6_fwd.
...
Then set to "accepted" netif, not inp.
2012-03-02 08:53:51 -07:00
goldsimon
193ccaa3b4
IGMP stats: added missing tab (by Gisle Vanem)
2012-03-01 19:21:17 +01:00
goldsimon
d0d650aa67
Patch by Stéphane Lesage:
...
fixed bug #35536 SNMP: error too big response is malformed
2012-02-16 08:01:54 +01:00
goldsimon
6d5ec9c998
fixed bug #35537 : MEMP_NUM_* sanity checks should be disabled with MEMP_MEM_MALLOC==1
2012-02-16 07:33:38 +01:00
goldsimon
fe08467e45
Removed unused variable in ip_debug_print()
2012-02-14 21:29:14 +01:00
goldsimon
26e03b81fe
Fixed unused variable warning
2012-02-14 19:41:46 +01:00
goldsimon
5e87126c38
Multiple compilation fixes:
...
- use C style comments, not C++ style;
- don't use #if with undefined parameter;
2012-02-13 21:38:28 +01:00
goldsimon
7d0dab9d7d
partly fixed bug #25882 : TCP hangs on MSS > pcb->snd_wnd (by not creating segments bigger than half the window)
2012-02-12 14:14:19 +01:00
goldsimon
9a95c2ff08
fixed bug #35435 : No pcb state check before adding it to time-wait queue while closing
2012-02-11 18:15:17 +01:00
Ivan Delamer
1d6347c9b0
Allow unicast NA messages without LLA option, in accordance to RFC2461
...
section 4.4, and as suggested by Phillip Toelke.
Change-Id: Ic9d9a6ad82ec201d25b9fc024936cfb1b41f1a7a
2012-01-27 14:54:39 -07:00
goldsimon
13075460ea
fixed bug #35305 : pcb may be freed too early on shutdown(WR)
2012-01-22 11:18:36 +01:00
goldsimon
4c3dfb92b7
fixed bug #34636 : FIN_WAIT_2 - Incorrect shutdown of TCP pcb: don't let PCBs time out from FIN_WAIT_2 if the RX side wasn't close (by either calling tcp_close or tcp_shutdown(RDWR))
2012-01-21 18:05:15 +01:00
goldsimon
fc2efaeb8c
Fixed my last chagne to pbuf_copy
2012-01-21 16:57:53 +01:00
goldsimon
b15e60243b
- fixed bug #35151 : DHCP asserts on incoming option lengths;
...
- fixed wrong CHANGELOG of the last commit
2012-01-20 21:36:52 +01:00
goldsimon
f2de3215c3
pbuf_copy(): moved the check for "p_to != NULL" to a better place.
2012-01-20 21:21:10 +01:00
goldsimon
efbad07643
fixed bug #35291 : NULL pointer in pbuf_copy
2012-01-20 21:19:26 +01:00
goldsimon
69d61eda01
Added option CHECKSUM_GEN_ICMP
2012-01-16 09:40:15 +01:00
goldsimon
e9255d3714
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2012-01-12 15:40:41 +01:00
goldsimon
c8647c0396
implemented API functions to access so_options of IP pcbs (UDP, TCP, RAW) (fixes bug #35061 )
2011-12-17 22:12:01 +01:00
goldsimon
5048a30fc7
Another fix for bug #32417 (debug assert that fires)
2011-12-06 21:21:44 +01:00
Ivan Delamer
ce6fb83ef4
bug #34846 : time-exceeded was sometimes not sent to original fragment
...
source, but to the sender of a packet fragment that triggered a buffer
purge.
Change-Id: I4bf20747bd900150491852649918a85cb7bf2aad
2011-11-29 12:49:43 -07:00
goldsimon
dd8729063c
fixed bug #31177 : tcp timers can corrupt tcp_active_pcbs in some cases
2011-11-25 18:36:52 +01:00
goldsimon
3a11a8a01d
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2011-11-24 07:47:40 +01:00
goldsimon
988815579a
fixed bug #34884 : sys_msleep() body needs to be surrounded with '#ifndef sys_msleep'
2011-11-23 20:58:19 +01:00
goldsimon
d1fa13ed52
fix compilation of ip_canforward on 8-/16-bit platforms (where constants are 16-bit and thus cannot be left-shifted by 24)
2011-11-23 09:09:22 +01:00
goldsimon
08b497faea
fixed bug #34684 : Clear the arp table cache when netif is brought down
2011-11-22 21:44:28 +01:00
goldsimon
96d332e234
Fix icmp6_send_response: cannot assign (packed) ip6_addr_p_t* to ip6_addr_t* -> need to copy the packed address to an aligned address first
2011-11-22 21:41:20 +01:00
Ivan Delamer
440f31a4d3
Add IPv6 timeouts to check for MEMP_NUM_SYS_TIMEOUT).
...
Change-Id: Ic6a9493cde41652391b34a47e6003b9036f760de
2011-11-17 14:24:16 -07:00
Ivan Delamer
cb91705e03
Generate ICMPv6 responses from a context other than input callback
...
(e.g. timers in IPv6 reassembly). see bug #34846 .
Change-Id: I6b4d27c819291d8371c43288310d57c3f2c1c65f
2011-11-17 10:55:45 -07:00
Ivan Delamer
21333d0f18
handle NULL when parsing IPv6 address (check for formatting)
...
Change-Id: I42e1288689946c295e0bd1490a5eb4d8befb5877
2011-10-28 13:54:16 -06:00
goldsimon
edcc859b58
fixed bug #34638 : Dead code in tcp_receive - pcb->dupacks
2011-10-28 13:09:04 +02:00
Ivan Delamer
2ce17a724a
Fix bug #34526 : nd6_queue_packet() frees too much if out-of-memory
...
Change-Id: Ib7ac0cb1b5a5389dd5449a908485493bd085ba9d
2011-10-26 14:31:48 -06:00
goldsimon
0fb07ba328
- 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-10-23 18:10:46 +02:00
goldsimon
c5203ab5ea
fixed bug #34429 : possible memory corruption with LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT set to 1
2011-10-23 17:31:03 +02:00
goldsimon
43ac5ad70d
removed the need to disable ARP_QUEUEING when LWIP_ARP is disabled an TCP_QUEUE_OOSEQ when LWIP_TCP is disabled
2011-10-21 13:24:33 +02:00
Simon Goldschmidt
1f396946e5
fixed bug #34587 : TCP_BUILD_MSS_OPTION doesn't consider netif->mtu, causes slow network
2011-10-18 20:11:39 +02:00
Simon Goldschmidt
0333e81616
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-10-13 21:18:16 +02:00
Simon Goldschmidt
cf1be4ae2d
fixed bug #34541 : LWIP_U32_DIFF is unnecessarily complex: removed that define
2011-10-13 19:29:48 +02:00
Simon Goldschmidt
c74d881d3d
fixed bug #34534 : Error in sending fragmented IP if MEM_ALIGNMENT > 4
2011-10-12 18:17:07 +02:00
Simon Goldschmidt
b4c4fae3f5
slightly rearranged freeing an acked segment to prevent keeping the reference too long
2011-10-11 21:41:58 +02:00
Simon Goldschmidt
f29bdd21a7
fixed bug #34426 : tcp_zero_window_probe() transmits incorrect byte value when pcb->unacked != NULL
2011-10-09 20:11:33 +02:00
Simon Goldschmidt
9d31401d47
fixed bug #34447 LWIP_IP_ACCEPT_UDP_PORT(dst_port) wrong
2011-10-09 14:30:49 +02:00
Simon Goldschmidt
5c68bbe16f
Tried to fix bug #32417 ("TCP_OVERSIZE seems to have problems with (fast-)retransmission"): Reset pcb->unsent_oversize in 2 more places...
2011-09-29 21:12:34 +02:00
Simon Goldschmidt
07c610e068
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-09-27 22:42:46 +02:00
Simon Goldschmidt
998f109fc8
fixed bug #28288 : Data after FIN in oos queue
2011-09-27 21:08:49 +02:00
goldsimon
cfb70bccc1
bug #34406 dhcp_option_hostname() can overflow the pbuf
2011-09-27 07:49:04 +02:00
Simon Goldschmidt
98274d2145
Reverted invalid fix for invalid bug #34360 done yesterday...
2011-09-23 19:26:29 +02:00
Simon Goldschmidt
1d125f55ba
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/lwip
2011-09-23 19:16:01 +02:00
Simon Goldschmidt
918470affc
fixed bug #33871 : rejecting TCP_EVENT_RECV() for the last packet including FIN can lose data
2011-09-23 19:14:17 +02:00
Simon Goldschmidt
797f26e45b
fixed bug #34360 tcp_shutdown: RST on unacked is not send when shutting down both rx AND tx
2011-09-22 21:38:56 +02:00
Simon Goldschmidt
0aea1b608a
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-09-22 06:24:58 +02:00
Simon Goldschmidt
b9a2feff5e
Converted runtime-sanity-checks into compile-time checks that can be disabled (since runtime checks can often not be seen on embedded targets)
2011-09-21 18:35:29 +02:00
goldsimon
f13615d97a
fixed bug #34337 (possible NULL pointer in sys_check_timeouts)
2011-09-20 07:21:19 +02:00
Simon Goldschmidt
6058389974
nd6: use a static buffer to process RA options instead of using mem_malloc()
2011-09-11 13:44:08 +02:00
Simon Goldschmidt
dccad08508
use pcb->mss instead of TCP_MSS for preallocate mss-sized pbufs (bug #34019 )
2011-09-11 13:13:26 +02:00
Simon Goldschmidt
112158b056
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-09-11 12:44:01 +02:00
Simon Goldschmidt
4849eb4c54
fixed bug #34072 : UDP broadcast is received from wrong UDP pcb if udp port matches
2011-09-09 22:25:59 +02:00
Simon Goldschmidt
5e8ee7e006
Make LWIP_RAND optional (useful for small targets)
2011-09-03 22:27:30 +02:00
Simon Goldschmidt
e27d34d118
DHCP uses LWIP_RAND() for xid's (bug #30302 )
2011-09-03 22:27:06 +02:00
Simon Goldschmidt
a0bf8d5740
fixed bug #33952 PUSH flag in incoming packet is lost when packet is aggregated and sent to application
2011-09-03 21:57:26 +02:00
Simon Goldschmidt
b9c17dd1f0
fixed bug #34111 RST for ACK to listening pcb has wrong seqno
2011-09-01 21:00:11 +02:00
Simon Goldschmidt
0a5755145c
added netif remove callback (bug #32397 )
2011-08-24 22:00:10 +02:00
Simon Goldschmidt
cd5d1ceadf
fixed bug #34112 Odd check in pbuf_alloced_custom (typo)
2011-08-24 20:18:47 +02:00
Simon Goldschmidt
c55f6b40ec
fixed bug #34122 dhcp: hostname can overflow
2011-08-24 20:12:23 +02:00
Simon Goldschmidt
bf4ec9be22
fixed bug #34121 netif_add/netif_set_ipaddr fail on NULL ipaddr
2011-08-24 19:52:06 +02:00
Simon Goldschmidt
ed0626afeb
fixed bug #33962 TF_FIN not always set after FIN is sent. (This merely prevents nagle from not transmitting fast after closing.)
2011-08-22 18:52:27 +02:00
Ivan Delamer
b3f5c8f6b2
Use target address as source address in IPv6 neighbour advertisement
...
messages.
Change-Id: I06d28eb2903c539de0b51bd7420a81ebf4f28963
2011-08-04 16:36:44 -06:00
Ivan Delamer
4507083148
Fixed bug in serialization of IPv6 addresses.
...
Change-Id: Ib63540123803317ec25f7cbf580c5159e4100222
2011-08-04 14:18:33 -06:00
Simon Goldschmidt
f4c0018d7a
Fixed complier error for CHECKSUM_CHECK_TCP==0
2011-07-28 21:59:28 +02:00
Simon Goldschmidt
41c785d77a
IPv4: splitted IPv4 header fields version/len and tos, made macros depend on BYTE_ORDER to prevent unnecessary calls to htons()
2011-07-26 20:55:32 +02:00
Simon Goldschmidt
a745528b40
Prevent non-static function that is not declared in header file
2011-07-26 20:21:33 +02:00
Simon Goldschmidt
7465be91d0
Fixed some C compiler warnings
2011-07-24 17:19:17 +02:00
Simon Goldschmidt
6323e09a0a
init.c: changed some checks from runtime to compiletime (had to adapt some defines in ip.h for that)
2011-07-22 21:59:16 +02:00
Simon Goldschmidt
cc3b4dff20
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-07-22 21:05:10 +02:00
Simon Goldschmidt
78ac382fdf
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-07-21 21:47:25 +02:00
Simon Goldschmidt
fc280c7cd6
Fixed bug #33804 LWIP_IPV6_MLD #define missing from mld6.c
2011-07-20 06:56:20 +02:00
Simon Goldschmidt
435ac2a650
Fixed bug #33801 Corruption of nd6 tables
2011-07-19 21:56:19 +02:00
goldsimon
c2fd905e32
No need to pass 'acc' as u16_t since the _base functions are internal (we save one AND op when passing as u32_t)
2011-07-04 19:10:49 +00:00
goldsimon
cc84f28d1b
Fixed bug #33672 (checksum calculate error!!!) by folding 'acc' to u16_t before calling checksum_pseudo_*_base functions
2011-06-29 19:54:33 +00:00
goldsimon
2bd498524d
Fixed bug #33653 (ip_data.current_ip_header_tot_len calculation errors!) introduced while mergin IPv4 and IPv6
2011-06-29 19:46:21 +00:00
goldsimon
b666ab0673
Init checks: LWIP_RAND is needed for IPv6, too
2011-06-26 17:51:55 +00:00
goldsimon
6a4c30fe5d
fixed bug #31723 (tcp_kill_prio() kills pcbs with the same prio) by updating its documentation only.
2011-06-26 17:37:09 +00:00
goldsimon
4002aef594
fixed bug #33545 : With MEM_USE_POOLS==1, mem_malloc can return an unaligned pointer.
2011-06-26 17:31:10 +00:00
goldsimon
ba28d36e67
Fixed bug #33544 (warning in mem.c in lwip 1.4.0 with NO_SYS=1)
2011-06-26 17:13:57 +00:00
goldsimon
4444db2990
Added some more asserts to check that pcb->state != LISTEN
2011-06-26 17:07:13 +00:00
goldsimon
d0026793bf
Cleaned up usage of sys.h a bit
2011-06-26 16:51:04 +00:00
goldsimon
93b5cd5ddd
Provide a default for SNMP_GET_SYSUPTIME() based on sys_now()
2011-06-26 16:50:28 +00:00
idelamer
4eb5acd9e2
Don't forward IPv6 packets that are larger than outgoing MTU, send ICMPv6 message back for Path MTU discovery.
2011-06-22 12:14:58 +00:00
idelamer
12a948dacb
Allow routing IPv6 packets to neighbours with manually-configured non-link-local addresses.
2011-06-17 11:05:38 +00:00
idelamer
137953605e
Allow IPv6 addresses with arbitrary prefix.
2011-06-17 11:04:47 +00:00
idelamer
629fad6f5f
Minor edits for for IPv6 compilation
2011-06-17 11:03:15 +00:00
goldsimon
89a1420609
Fix compilation error when checking for hidden variable names ('s8_t i' was hidden in some case statements in nd6_input()).
2011-06-08 16:31:55 +00:00
goldsimon
2ed5413e24
use const char for name pointers in display functions
2011-06-07 19:32:20 +00:00
goldsimon
91532b2d5c
Removed unused static function
2011-06-07 19:19:24 +00:00
goldsimon
732cac1c0e
Moved static variable from inside the function to global scope
2011-06-07 19:10:55 +00:00
goldsimon
5b04860b8b
Moved common call to pbuf_header outside the switch()
2011-06-07 19:10:10 +00:00
goldsimon
d30246dc05
Fixed bug #33492 (fixed stats for IPv6 protocols)
2011-06-07 19:05:22 +00:00
goldsimon
d80be7961c
use PCB_IS_IPV6(pcb) instead of pcb->isipv6 everywhere; fixed compilation with LWIP_IPV6==1 but LWIP_IGMP==0
2011-05-28 09:30:43 +00:00
goldsimon
2aec3a9789
use PCB_IS_IPV6(pcb) instead of pcb->isipv6 everywhere
2011-05-28 09:28:18 +00:00
goldsimon
ccd7dbe0e4
Added ipX versions for routing
2011-05-26 15:46:44 +00:00
goldsimon
92fcfd7a6f
Fixed two compilation errors with different opt.h settings
2011-05-26 14:47:28 +00:00
goldsimon
853d1eac96
Fixed pointless conversion when checking TCP port range (bug #33398 )
2011-05-25 17:22:56 +00:00
goldsimon
6865806b55
Combined IPv4 and IPv6 code where possible, added defines to access IPv4/IPv6 in non-IP code so that the code is more readable.
2011-05-25 17:16:35 +00:00
goldsimon
9546e65617
Removed autoip_init() since it does nothing; minor coding style changes
2011-05-21 16:01:19 +00:00
goldsimon
90a03a77ad
Added new files for IPv6
2011-05-17 19:54:40 +00:00
goldsimon
4bfbe7ebeb
... and finally, we got a first working version of a dual-stack lwIP runnin IPv4 and IPv6 in parallel - big thanks to Ivan Delamer! (this is work in progress, so please beware, test a lot and report problems!)
2011-05-17 19:35:14 +00:00
goldsimon
f3c1686a40
replaced tab with spaces
2011-05-16 18:45:51 +00:00
goldsimon
e4739da961
Fixed overflow in tcp_new_port() after changing port range to IANA "Dynamic and/or Private Ports" range
2011-04-29 11:23:04 +00:00
goldsimon
33d6dcec5b
Fixed bug #33048 (Bad range for IP source port numbers) by using ports in the IANA private/dynamic range (49152 through 65535).
2011-04-13 17:52:00 +00:00
goldsimon
11b1c9f19f
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 17:12:26 +00:00
goldsimon
783404d8d4
Move tcp_pcb_lists to const section.
2011-03-27 13:04:16 +00:00
goldsimon
3bad9f013e
Fixed bug #32820 (Outgoing TCP connections created before route is present never times out) by starting retransmission timer before checking route.
2011-03-27 13:00:54 +00:00
goldsimon
4495516497
Removed 'dataptr' from 'struct tcp_seg' and calculate it in tcp_zero_window_probe (the only place where it was used).
2011-03-27 12:56:16 +00:00
goldsimon
5b084f4b95
tcp_bind: return ERR_VAL instead of ERR_ISCONN when trying to bind with state!=CLOSED; fixed a typo
2011-03-13 11:15:32 +00:00
goldsimon
856ccb5bb7
Added missing U/UL modifiers to fix 16-bit-arch portability.
2011-02-18 13:31:28 +00:00
goldsimon
fee0c6afe9
Fixed constant not being 32 bit.
2011-02-17 17:03:12 +00:00
goldsimon
effcb90fdf
Mreged back changes that were lost during the savannah hack 3 weeks ago (using the sources from http://git.infradead.org/users/dwmw2/lwip.git )
2010-12-20 18:03:51 +00:00
goldsimon
b49cf5e7a2
patch #7328 : Autoip: ETHADDR16_COPY can be used
2010-11-22 17:35:57 +00:00
goldsimon
231a6cecb4
patch #7329 : tcp_timer_needed prototype was ifdef'ed out for LWIP_TIMERS==0
2010-11-22 17:32:12 +00:00
goldsimon
32f02325f9
Added a function to deallocate the struct dhcp from a netif (fixes bug #31525 ).
2010-11-21 13:41:11 +00:00
goldsimon
f418782c2c
tcp_slowtmr(): change the scope of 'pcb2' to reflect its block-only usage.
2010-11-21 10:41:27 +00:00
goldsimon
e3817cd549
Fixed bug #31535 : TCP_SND_QUEUELEN must be at least 2 or else no-copy TCP writes will never succeed.
2010-11-20 17:34:10 +00:00
goldsimon
4ace50a7d7
Fix alignment checking of tcphdr: check for MEM_ALIGNMENT, not for 4
2010-11-20 17:30:48 +00:00
goldsimon
fa092c47c8
Fixed bug #31701 : Error return value from dns_gethostbyname() does not match documentation: return ERR_ARG instead of ERR_VAL if not initialized or wrong argument.
2010-11-20 16:40:35 +00:00
goldsimon
93dc36e091
Once again fixed #30038 : DHCP/AutoIP cooperation failed when replugging the network cable after an AutoIP address was assigned.
2010-10-06 11:40:30 +00:00
goldsimon
4cc36b2284
Fixed bug #30728 : tcp_new_port() did not check listen pcbs
2010-08-10 20:15:31 +00:00
goldsimon
aaa8d2795e
Don't chain empty pbufs when sending them (fixes bug #30625 )
2010-08-03 08:38:59 +00:00
goldsimon
d73262a0e5
Fixed compilation with TCP or UDP disabled.
2010-07-29 19:25:50 +00:00
goldsimon
cd22a8d851
Fixed bug #30565 (tcp_connect() check bound list): that check did no harm but never did anything
2010-07-28 16:48:51 +00:00
goldsimon
7f7df4ae19
Fixed bug #30447 : tcp.c:tcp_bind() - suspicious nested #if
2010-07-28 16:44:59 +00:00
goldsimon
3c5723e49d
Fixed invalid fix for bug #30402 (CHECKSUM_GEN_IP_INLINE does not add IP options)
2010-07-21 12:11:22 +00:00
goldsimon
04beab4f7d
IP_MULTICAST_LOOP shall be disabled by default
2010-07-12 14:10:28 +00:00
goldsimon
194a85387b
patch #7239 : make tcp_state_str pointers constant
2010-07-12 09:49:00 +00:00
goldsimon
a99219ad1f
added missing casts
2010-07-12 09:34:17 +00:00
goldsimon
691410ba18
task #10495 : Added support for IP_MULTICAST_LOOP at socket- and raw-API level.
2010-07-12 09:34:11 +00:00
goldsimon
714a43b18c
Fixed bug #30402 : CHECKSUM_GEN_IP_INLINE does not add IP options
2010-07-10 12:02:28 +00:00
goldsimon
60a456f757
Added ip_addr_netmask_valid() to check if a netmask is valid (starting with ones, then only zeros)
2010-07-05 14:20:58 +00:00
goldsimon
2b355d6b34
Added some helper functions to find strings in chained pbufs
2010-07-05 14:18:03 +00:00
goldsimon
0f74a57267
Re-enabled timer logging if LWIP_DEBUG_TIMERNAMES!=0 (without function pointers, only function names), changed parameter names from 'h' to 'handler'
2010-06-29 19:55:21 +00:00
kieranm
272270c7f4
Remove unportable printing of C function pointers
2010-06-28 13:32:13 +00:00
kieranm
e2f014f457
cleanup: fix minor build failures on unix
2010-06-28 13:24:14 +00:00
goldsimon
7d604a23f0
From patch #7221 : added flag NO_SYS_NO_TIMERS to drop timer support for NO_SYS==1 for easier upgrading
2010-06-24 20:27:49 +00:00
goldsimon
f61b80ca6a
Fixed bug #29361 (ip_frag has problems with zero-copy DMA MACs) by adding custom pbufs and implementing custom pbufs that reference other (original) pbufs. Additionally set IP_FRAG_USES_STATIC_BUF=0 as default to be on the safe side.
2010-06-21 18:50:16 +00:00
goldsimon
1aba9f031d
nicer code for the last fix
2010-06-17 11:53:16 +00:00
goldsimon
2ffcc52f03
Fixed bug #30159 : WomnIP_ACCEPT_LINK_LAYER_ADDRESSING
2010-06-16 19:53:07 +00:00
goldsimon
72518a0d6e
fixed typos that MSVS did not complain about
2010-06-16 12:53:46 +00:00
goldsimon
1242575f0f
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-06-16 12:25:00 +00:00
goldsimon
b3dc6f2b5b
... and forgot one tiny character...
2010-06-15 20:21:30 +00:00
goldsimon
2427917db8
Fixed bug #29970 : DHCP endian issue parsing option responses
2010-06-15 20:19:14 +00:00
goldsimon
5ab40f016d
Fixed bug #30039 : AutoIP does not reuse previous addresses
2010-06-14 20:27:14 +00:00
goldsimon
435115d4fb
Use ip_addr_set_zero instead of memset(0)
2010-06-14 20:17:08 +00:00
goldsimon
4b0be4a477
Fixed invalid fix for bug #30038
2010-06-14 19:18:11 +00:00
goldsimon
66b57f89df
Fixed bug #30038 : dhcp_network_changed doesn't reset AUTOIP coop state
2010-06-12 17:14:00 +00:00
goldsimon
69bd5a29d9
Fixed a possible NULL-pointer deref before checking it
2010-06-12 17:05:54 +00:00
goldsimon
f7479781c1
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-22 21:11:02 +00:00
goldsimon
3833dd86aa
Added LWIP_DEBUGF warning if dns_send returns an error
2010-05-17 12:29:31 +00:00
goldsimon
dae247809b
Add preprocessor-macros for compile-time htonl calculation (and use them throughout the stack where applicable)
2010-05-16 15:57:42 +00:00
goldsimon
03e4eb4de8
changed the semantics of LWIP_PREFIX_BYTEORDER_FUNCS to prevent "symbol already defined" i.e. when linking to winsock
2010-05-16 15:09:55 +00:00
goldsimon
5d0785e47a
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 14:34:16 +00:00
goldsimon
03bd61c799
DNS_LOCAL_HOSTLIST_IS_DYNAMIC uses its own MEMP pool instead of the heap
2010-05-16 13:36:51 +00:00
goldsimon
6ffd29507c
Free recv_data when TF_RXCLOSED is set
2010-05-16 13:12:15 +00:00
goldsimon
a880709776
Let FIN come through although TF_RXCLOSED is set, send RST when data is received although TF_RXCLOSED is set, added TCP_EVENT_CLOSED for clearer code
2010-05-15 18:12:37 +00:00
goldsimon
874d1641df
Fix compilation for LWIP_EVENT_API==1 (unused args)
2010-05-15 18:10:55 +00:00
goldsimon
d8d964d09e
udp_input/SO_REUSE_RXTOALL: only call pbuf_header if there is a 2nd pcb to pass the data to
2010-05-15 17:11:41 +00:00
goldsimon
46b3cb580d
Removed unused SOF_* flags, ip_pcb.so_options can now be an u8_t instead of an u16_t (saves 3 bytes per pcb on a 32-bit platform)
2010-05-15 17:10:08 +00:00
goldsimon
02f5e19420
udp_input: use SO_REUSE && SO_REUSE_RXTOALL to copy incoming (broad-/multicast) data to additional pcbs
2010-05-15 16:46:53 +00:00
goldsimon
a945bf07af
SO_REUSE: tcp_input: correctly handle multiple pcbs listening on the same port (but different address): first search for a specific address an only pass to ANY if no specific address has been found listening
2010-05-15 16:45:43 +00:00
goldsimon
7e5b0a9eb6
SO_REUSE: tcp_listen/tcp_connect: make sure that the 5-tuple is unique
2010-05-15 16:44:09 +00:00
goldsimon
a56795c149
Added new option SO_REUSE_RXTOALL to pass received UDP broadcast/multicast packets to more than one pcb
2010-05-15 14:52:39 +00:00
goldsimon
baeb41f5f4
SO_REUSEADDR / SO_REUSE is implemented and safe to use
2010-05-12 22:34:06 +00:00
goldsimon
d0348e0c60
task #6995 : Implement SO_REUSEADDR (correctly)
2010-05-12 22:29:58 +00:00
goldsimon
ef0a7ecbcd
Remove uused SOF_* flags, define inherited flags in ip.h, not in tcp_in.c
2010-05-12 22:26:06 +00:00
goldsimon
778c65d27c
CHECKSUM_GEN_IP_INLINE: Use defines to access the u32_t part of an IP address
2010-05-12 08:11:45 +00:00
goldsimon
597764e35b
Minor: source code layout
2010-05-10 14:02:52 +00:00
goldsimon
f9f77876a1
.. and deleted NAT again as Christian obviously didn't have the copyright on the code he sent us... THANKS!!!
2010-05-05 19:49:40 +00:00
goldsimon
67d8c7999a
Free NAT entries on remove (fixes a memory leak)
2010-05-05 19:39:29 +00:00
goldsimon
a7fdb67e8f
task #7506 : added NAT support
2010-05-05 19:34:23 +00:00
goldsimon
71f5fdef42
Fixed bug #29769 (sys_check_timeouts: sys_now() may overflow)
2010-05-04 19:27:42 +00:00
goldsimon
abc36471d9
Fixed bug #29763 (CHECKSUM_GEN_IP_INLINE), added macro LWIP_MAKE_U16() that's improved for endianess
2010-05-04 18:59:52 +00:00
goldsimon
f98e5717e5
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-30 20:39:45 +00:00
goldsimon
72c580236e
Create overridable macros for copying 2-byte-aligned IP addresses and MAC addresses
2010-04-29 04:57:31 +00:00
goldsimon
01d2a87f5d
Inline generating IP checksum to save a function call
2010-04-28 19:36:51 +00:00
goldsimon
49e8e28cf6
Check that tcp_abort/tcp_abandon isn't called for listen-pcbs
2010-04-21 19:55:14 +00:00
goldsimon
d2c632fb18
patch #7145 : Various typos in SNMP files
2010-04-14 19:13:35 +00:00
goldsimon
3562be2188
tabs -> spaces
2010-04-14 07:03:31 +00:00
goldsimon
2e18a9be63
Added an overridable define to get informed when the tcpip_thread processes messages or timeouts to implement a watchdog.
2010-04-14 07:02:26 +00:00
goldsimon
3347762df3
MEMP_OVERFLOW_CHECK: dump the element's pool's index and name when an overflow/underflow is detected
2010-04-12 11:08:11 +00:00
goldsimon
6caa389c48
Check IP_FRAG && IP_FRAG_USES_STATIC_BUF && LWIP_NETIF_TX_SINGLE_PBUF
2010-03-28 10:50:05 +00:00
goldsimon
e86446b785
patch #7143 : Add a few missing const qualifiers
2010-03-28 10:28:32 +00:00
goldsimon
a00448c35a
create a new (contiguous) PBUF_RAM for every outgoing fragment if LWIP_NETIF_TX_SINGLE_PBUF==1
2010-03-28 10:22:48 +00:00
goldsimon
82b9152b8d
Removed checking ARP_TABLE_SIZE, this is done by the etharp module itself
2010-03-27 17:12:48 +00:00
goldsimon
3803a0021d
patch #7130 : remove meaningless const qualifiers
2010-03-27 16:25:35 +00:00
goldsimon
3c96819a2c
Make LWIP_NETIF_TX_SINGLE_PBUF work for TCP, too
2010-03-26 16:54:15 +00:00
goldsimon
846a2fb933
Fixed compiling with different options disabled (TCP/UDP), triggered by bug #29345 ; don't allocate acceptmbox if LWIP_TCP is disabled
2010-03-26 16:09:02 +00:00
goldsimon
46b7bd6ec3
Make functions static where applicable, add default cases to switches where applicable, prevent old-style function prototypes (without arguments)
2010-03-26 14:07:05 +00:00
goldsimon
8bbe3d2fe0
Correctly cast pointers when assigning from void*
2010-03-26 14:05:56 +00:00
goldsimon
cf0b831971
Fixed bug #29080 : Correctly handle remote side overrunning our rcv_wnd in ooseq case.
2010-03-25 06:39:01 +00:00
goldsimon
0a2eb3fdc8
minor: fixed coding style
2010-03-22 15:45:34 +00:00
goldsimon
6fb248c9e0
task #10088 : Fixed a bug in RST-on-close-when-not-all-data-acked implementation (plus removed some unnecessary casts)
2010-03-22 12:32:05 +00:00
goldsimon
124ca0fed2
tcp_listen() did not copy the pcb's prio
2010-03-22 10:06:49 +00:00
goldsimon
5d153ca1b3
Fixed compilation for MEM_USE_POOLS under MSVC (where ++ doesn't work for enums)
2010-03-22 08:38:28 +00:00
goldsimon
57594ad7b6
tcp_write: moved initial checks to an own static function for clarity
2010-03-20 12:08:07 +00:00
goldsimon
d0f1c552e2
Fixed bug #29256 : SNMP Trap address was not correctly set
2010-03-19 20:49:13 +00:00
goldsimon
a54bb7205d
Added missing casts, use strlen + MEMCPY instead of strcpy (as that might overrun the buffer)
2010-03-16 15:14:14 +00:00
goldsimon
7466474365
Fixed compiler warnings when casting where we know the source is aligned (by casting to void-pointer first)
2010-03-15 10:44:19 +00:00
goldsimon
c4bc9ce59a
Fixed alignment warnings when we know alignment is correct (by using LWIP_MEM_ALIGN)
2010-03-15 09:57:03 +00:00
goldsimon
e25c9f7951
Fixed compiler warning when LWIP_SNMP==0
2010-03-15 09:47:43 +00:00
goldsimon
94cbed5096
Corrected comment
2010-03-14 12:35:30 +00:00
goldsimon
f83ace2034
task #6849 : Calculate checksum when creating TCP segments, not when (re-)transmitting them.
2010-03-14 11:26:05 +00:00
goldsimon
84ed9de21a
Prepared for checksum-on-copy (task #6849 ):
...
- Added option LWIP_CHECKSUM_ON_COPY;
- Added function + define lwip_chksum_copy to create checksum when copying data
2010-03-14 11:23:37 +00:00
goldsimon
d13ac66cc4
Fixed sending one byte of data in tcp_zero_window_probe (which I accidentally broke with v1.103)
2010-03-14 09:43:10 +00:00
goldsimon
ad4a869b94
Some fixes to the TCP_OVERSIZE code:
...
- fix compiling with TCP_OVERSIZE==0;
- fix segment-size calculation when options are used;
2010-03-13 14:29:13 +00:00
goldsimon
097e8c8eb4
Fixed some issues in the TCP_OVERSIZE code:
...
- reset tcp_pcb.unsent_oversize when last_unsent is changed;
- added TCP_OVERSIZE_DBGCHECK: check tcp_pcb.unsent_oversize vs. (debug-only) tcp_seg.oversize_left to ensure the pcb counter is correct;
- fixed a memory leak in tcp_write;
2010-03-12 15:40:01 +00:00
goldsimon
36d7f50d77
Renamed tcp_output_set_header to tcp_output_alloc_header and included more code common to all callers
2010-03-09 16:29:19 +00:00
goldsimon
ffbb582dde
ip_output: assert for p->ref == 1 to catch TCP retransmissions where the netif hasn't freed the pbuf yet
2010-03-09 16:24:38 +00:00
goldsimon
3bfc07eb92
Added comment, use braces for single-line if-blocks
2010-03-09 15:49:57 +00:00
goldsimon
d91caf1cd3
ip_input: better check for old link-local-address (explicitly check for autoip->llipaddr instead of letting all link-local-addresses through)
2010-03-08 18:24:23 +00:00
goldsimon
2a2be49d2c
task #10241 (AutoIP: don't break existing connections when assiging routable address): when checking incoming packets and aborting existing connection on address change, filter out link-local addresses.
2010-03-08 18:17:52 +00:00
goldsimon
5d20e690fd
Added/corrected casts
2010-03-08 12:17:29 +00:00
goldsimon
1c23bfdc7f
Only add hostname if it's not empty (strlen > 0)
2010-03-08 12:15:58 +00:00
goldsimon
9e37d70163
Create mem_mutext at the end of mem_init. This enables sys_mutex_new to use the heap if required.
2010-03-07 16:50:08 +00:00
goldsimon
92beddd72f
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 11:55:00 +00:00
goldsimon
a5a870c683
LWIP_NETIF_TX_SINGLE_PBUF needs TCP_OVERSIZE >= TCP_MSS for TCP
2010-03-06 11:51:31 +00:00
goldsimon
19ab25c861
LWIP_TCPIP_CORE_LOCKING_INPUT needs LWIP_TCPIP_CORE_LOCKING to work correctly
2010-03-06 11:32:40 +00:00
goldsimon
5d4438e652
Don't try to forward link-local addresses
2010-03-06 10:15:39 +00:00
goldsimon
464950d51e
Fixed bug #29072 : Correctly set ciaddr based on message-type and state. Renamed dhcp_create/delect_request to dhcp_create/delete_msg.
2010-03-05 13:37:37 +00:00
goldsimon
b6542b977e
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-03-05 11:14:31 +00:00
goldsimon
2bf1184c39
Added comment after #endif
2010-03-03 16:05:20 +00:00
goldsimon
103b5a760f
tcp_connect: send timestamp-option only if (pcb->flags & TF_TIMESTAMP) != NULL (same as for passive open)
2010-03-01 19:05:52 +00:00
goldsimon
2b1c389955
Fixed accessing invalid memory when closing a listening pcb (introduced with tcp_shutdown)
2010-03-01 18:43:37 +00:00
goldsimon
68678e21df
Fixed compilation for DNS_LOCAL_HOSTLIST==1 and DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1 (bug #28968 )
2010-02-22 08:36:23 +00:00
goldsimon
1d8538bca4
Added const char* name to mem- and memp-stats for easier debugging.
2010-02-21 12:32:29 +00:00
goldsimon
b73dcfb8cf
task #10140 : Remove DNS_USES_STATIC_BUF (keep the implementation of DNS_USES_STATIC_BUF==1)
2010-02-21 12:15:01 +00:00
goldsimon
bcd4b76d31
Moved stack-internal parts of tcp.h to tcp_impl.h, tcp.h now only contains the actual application programmer's API
2010-02-21 11:35:21 +00:00
goldsimon
d9157a71bb
Task #10088 : Correctly implement close() vs. shutdown(). Now the application does not get any more recv callbacks after calling tcp_close(). Added tcp_shutdown().
2010-02-20 18:05:56 +00:00
goldsimon
e131d3e32a
tcp_alloc: set given prio to the new pcb, not TCP_PRIO_NORMAL; minor: changed comments and source code layout
2010-02-20 10:03:03 +00:00
goldsimon
52970c2459
Renamed mem_realloc() to mem_trim() to prevent confusion with realloc()
2010-02-19 16:23:46 +00:00
goldsimon
16a63c6554
Bug #28917 : don't increase error counters for icmp echo response
2010-02-16 20:38:35 +00:00
goldsimon
c637441f52
tcp_seg(s)_free: remove return value, noone uses it
2010-02-16 17:20:10 +00:00
goldsimon
5b221ecd4f
Added missing cast; added more debug output
2010-02-16 11:28:40 +00:00
goldsimon
7af77aefa7
Added missing casts
2010-02-16 11:28:15 +00:00
goldsimon
7c2054091d
Link status does not depend on LWIP_NETIF_LINK_CALLBACK (fixes bug #28899 )
2010-02-15 19:53:46 +00:00
goldsimon
e04e0cb98e
Fixed bug #28877 (Duplicate ARP gratuitous packet with LWIP_NETIF_LINK_CALLBACK set on) by only sending if both link- and admin-status of a netif are up
2010-02-14 20:20:28 +00:00
goldsimon
8908055b63
Revert my last changes and remove structure packing from struct dns_query and struct dns_answer since they are only used with SMEMCPY
2010-02-14 14:02:05 +00:00
goldsimon
10abe8aba2
Use pointers instead of using SMEMCPY
2010-02-14 12:51:53 +00:00
goldsimon
7b24a6360c
Minor speedups: use ip_addr_copy, use SMEMCPY, use htonX on constants instead of variables
2010-02-14 12:43:24 +00:00
goldsimon
96e9689dbd
Use new macro ip_addr_copy where applicable
2010-02-14 12:42:49 +00:00
goldsimon
838c35acf6
struct ip_hdr: split u16_t _ttl_proto to u8_t _ttl and u8_t _proto to prevent unnecessary loading and htons
2010-02-14 11:42:08 +00:00
goldsimon
c858aa5686
Fixed compiler warnings for checksum algorithms 2 and 3
2010-02-14 11:40:13 +00:00
goldsimon
b1736b13d7
Use checksum algorithm 2 as default as it should be faster than 1 on most (if not all) platforms
2010-02-14 11:31:10 +00:00
goldsimon
cbb86fe590
Added stats for mutexes
2010-02-13 17:26:40 +00:00
goldsimon
7c28c66d32
Don't use C++ reserved keyword 'class'
2010-02-13 14:51:46 +00:00
goldsimon
29eb56a2f6
netif_set_link_up/down: only do something if the link state actually changes
2010-02-12 16:50:23 +00:00
goldsimon
2e795d2706
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 16:42:02 +00:00
goldsimon
8768e4488a
patch #6865 : use so_options SOF_REUSEADDR instead of flags TF_REUSEADDR (which has ben removed again)
2010-02-12 16:32:31 +00:00
goldsimon
82e4716784
Fixed comment to our flag names
2010-02-12 16:30:58 +00:00
goldsimon
d3635c5eef
patch #6865 (SO_REUSEADDR for TCP): if tcp_pcb.flags has TF_REUSEADDR set, allow binding to endpoint in TIME_WAIT
2010-02-12 15:33:02 +00:00
goldsimon
3529349470
Fixed compilation for NO_SYS==1
2010-02-12 13:56:51 +00:00
goldsimon
0030d1ade5
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-12 13:49:21 +00:00
goldsimon
b6babe38ea
Use braces for if blocks
2010-02-12 09:51:30 +00:00
goldsimon
87c2d911c9
Removed invalid assert (always true)
2010-02-10 07:58:21 +00:00
goldsimon
44af02aa1e
Fixed wrong printf formatter
2010-02-10 07:58:01 +00:00
goldsimon
27c1c7a0f7
Added function sys_restart_timeouts() from patch #7085 (Restart system timeout handling)
2010-02-09 17:49:20 +00:00
goldsimon
a668a4e4d1
Fixed compilation for NO_SYS==1
2010-02-09 17:41:34 +00:00
goldsimon
b1250f003d
For loopback packets, adjust the stats- and snmp-counters for the loopback netif.
2010-02-09 17:00:57 +00:00
goldsimon
077caac76d
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-09 16:01:24 +00:00
goldsimon
91d70a3364
Fixed copying multiple IP addresses from options (e.g. multiple DNS servers) - the amount copied was correct, but the value copied was always the first.
2010-02-09 11:40:46 +00:00
goldsimon
6af20340dd
Minor: Fixed indentation after changing struct ip_addr to ip_addr_t
2010-02-09 11:38:59 +00:00
goldsimon
79e6b4c819
Added reentrant versions of inet_ntoa/ipaddr_ntoa inet_ntoa_r/ipaddr_ntoa_r
2010-02-08 20:14:21 +00:00
goldsimon
ececc3ca45
Internalize another function; use the supplied max_response_time instead of dividing it by 2
2010-02-08 19:50:49 +00:00
goldsimon
630f575017
Moved most defines from igmp.h to igmp.c for clarity since they are not used anywhere else; removed some function prototypes from igmp.h, too
2010-02-08 19:41:53 +00:00
goldsimon
27d4cf6aef
Improved IGMP stats (patch from bug #28798 )
2010-02-08 19:19:26 +00:00
goldsimon
b156d392cb
Fixed bug #28798 (Error in "Max Response Time" processing) and another bug when LWIP_RAND() returns zero.
2010-02-08 18:12:53 +00:00
goldsimon
90bed0c5ac
Added yet another IP-address-modifying define, ip_addr_set_any()
2010-02-08 17:24:08 +00:00
goldsimon
f74cebcbcd
Minot: Fixed comments and code style
2010-02-08 16:53:47 +00:00
goldsimon
6c027c153b
Fixed compiler warnings
2010-02-08 12:24:29 +00:00
goldsimon
5d360a6711
Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier.
2010-02-04 18:47:44 +00:00
goldsimon
a23b446ddf
Use macros defined in ip_addr.h (some of them new) to work with IP addresses (preparation for bug #27352 - Change ip_addr from struct to typedef (u32_t) - and better code).
2010-02-04 17:21:32 +00:00
goldsimon
258fe88232
Added an own debug-print option for timers.c (used TCPIP_DEBUG and SYS_DEBUG as the code was copied from there)
2010-02-04 16:53:10 +00:00
goldsimon
9ff7d29696
Fixed compiler warnings when MEM_SIZE < 64000
2010-02-02 20:14:05 +00:00
goldsimon
30d69d68e3
Fix handling of zero-padding and parse file before sname field (if overloaded, according to the RFC)
2010-02-02 18:26:40 +00:00
goldsimon
4495d9ef5b
Fixed an error in dhcp_free_request() from dhcp_inform()
2010-02-02 16:30:11 +00:00
goldsimon
a66039b86c
Let netdb use a memp pool for allocating memory when getaddrinfo() is called.
2010-02-01 21:04:29 +00:00
goldsimon
81c5d9e983
Prevent mem_free (leave struct dhcp allocated on dhcp_stop) to prevent calling mem_malloc when restarting dhcp later
2010-02-01 20:20:38 +00:00
goldsimon
c6f7a34abe
Prevent mem_malloc in dhcp_inform, fix check for subnet mask (remember if it was given by server or not) set back request_timeout in dhcp_set_state()
2010-02-01 19:55:16 +00:00
goldsimon
72d6f1a418
Don't parse broadcast option, we don't use it anyway (made up from ipaddr and netmask), layout change of struct dhcp
2010-01-31 18:59:37 +00:00
goldsimon
8cb3ea1398
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-31 17:27:15 +00:00
goldsimon
8712deb0b2
Don't call the link-callback from netif_set_up/down() since
...
this invalidly retriggers DHCP.
2010-01-31 13:30:47 +00:00
goldsimon
5fa0347e64
Cleanly separate the portability file inet.h and its contents from the stack: moved htonX- functions to def.h (and the new def.c - they are not ipv4 dependent), let inet.h depend on ip_addr.h and not the other way round. This fixes bug #28732 .
2010-01-29 08:20:32 +00:00
goldsimon
ea3b8f52d5
renamed netif pointer in struct igmp from 'interface' to 'netif' to not use keywords (or at least my editor highlights it as one...); minor layout change
2010-01-28 18:27:26 +00:00
kieranm
95445fc328
Ensure ssthresh >= 2*MSS
2010-01-28 13:14:42 +00:00
goldsimon
21e3cde95c
Added missing casts (bug #28659 )
2010-01-28 12:05:14 +00:00
goldsimon
04a8b0f85d
Added TCP_SNDQUEUELOWAT corresponding to TCP_SNDLOWAT and added tcp_sndqueuelen() - this fixes bug #28605
2010-01-27 18:24:57 +00:00
goldsimon
853e33bdb4
snmp_recv: don't peek the UDP header, p->tot_len does the same; no need for the extra checks at the beginning; don't use so many if/else but if/return instead to make the code more readable
2010-01-27 17:36:37 +00:00
goldsimon
0644c4c08e
Fixed bug #27871 : Calling tcp_abort() in recv callback can lead to accessing unallocated memory. As a consequence, ERR_ABRT means the application has called tcp_abort()!
2010-01-27 17:22:06 +00:00
goldsimon
606fed8896
Use memp pools for snmp instead of the heap; added 4 new pools.
2010-01-26 20:28:24 +00:00
goldsimon
96338314f1
Partly fixed bug #22070 (MIB_OBJECT_WRITE_ONLY not implemented in SNMP): write-only or not-accessible are still returned by getnext (though not by get)
2010-01-25 17:44:07 +00:00
goldsimon
5d3cab0042
Added one more missing cast
2010-01-25 09:19:52 +00:00
goldsimon
e678e1bdcb
bug #28659 : Missing casts
2010-01-25 08:24:30 +00:00
goldsimon
ef31aa12e2
Renamed the private mib node from 'private' to 'mib_private' to *not* use reserved C/C++ keywords, added comments, added init-define for private MIB
2010-01-24 17:16:37 +00:00
goldsimon
9dd6c28523
bug #26523 : Compiler Warnings
2010-01-24 14:35:28 +00:00
goldsimon
dbcce3a4be
bug #26523 : Compiler Warnings
2010-01-23 17:48:36 +00:00
goldsimon
82318c0ef1
Fixed bug #28651 (tcp_connect: no callbacks called if tcp_enqueue fails) both in raw- and netconn-API
2010-01-21 18:43:37 +00:00
goldsimon
e0c5c4de88
Fixed bug #28679 : mem_realloc calculates mem_stats wrong and added test case for it
2010-01-18 17:45:41 +00:00
goldsimon
149f21dc58
Only check for LWIP_RAND() if IGMP is used, for now
2010-01-18 08:19:48 +00:00
goldsimon
9632632b85
Minor: source code layout
2010-01-18 08:11:57 +00:00
goldsimon
2d4e76874c
Using typedefs for function prototypes and -pointers throughout the stack for clarity
2010-01-14 20:02:15 +00:00
goldsimon
04f17c4709
Improved includes in snmp
2010-01-14 19:59:03 +00:00
goldsimon
6df94d3c76
Coding style
2010-01-13 15:17:01 +00:00
goldsimon
59005b544f
Minor fix: bug #28555 : Retransmission timer only stopped if TCP_QUEUE_OOSEQ==1
2010-01-13 14:24:15 +00:00
goldsimon
8596bb7e7e
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-13 13:09:55 +00:00
goldsimon
1c47d15577
Minor speedup ip_output_if when writing TTL/proto to ip header
2010-01-13 12:52:15 +00:00
goldsimon
052be0a328
Added comments
2010-01-13 11:16:47 +00:00
goldsimon
9a2d97ec41
Fixed bug #28551 (Compiler warning introduced with closed bug #28506 )
2010-01-11 09:51:33 +00:00
goldsimon
47e770dffa
Fixed comment on struct mem.prev
2010-01-11 09:49:31 +00:00
goldsimon
8292cebfd9
Fixed bug #28506 (raw_bind should filter received packets)
2010-01-10 13:45:24 +00:00
goldsimon
c483c13dc4
Fixed bug #28248 (netif_remove doesn't call netif callback) by calling netif_set_down() from netif_remove()
2010-01-10 13:34:21 +00:00
goldsimon
86f2942c2a
Minor coding style changes, added assertion
2010-01-10 13:32:36 +00:00
goldsimon
e4d19dc4a0
GCC didn't like memp_memory_XXX -> now using memp_memory_XXX_base (as in Bill's original patch)
2010-01-10 13:09:55 +00:00
goldsimon
763760503b
patch #6822 (Add option to place memory pools in separate arrays) - new config option MEMP_SEPARATE_POOLS
2010-01-10 12:44:09 +00:00
goldsimon
97f6c5b239
D'Oh!
2010-01-10 11:42:31 +00:00
goldsimon
f4a9d173a1
bug #28127 : remove call to tcp_output() from tcp_ack(_now)()
2010-01-10 11:41:25 +00:00
goldsimon
d85a18752f
patch #6463 (IGMP - Adding Random Delay): added define LWIP_RAND() for lwip-wide randomization (to be defined in cc.h)
2010-01-10 10:47:27 +00:00
goldsimon
32833bcd56
Inlined netif_is_up() and netif_is_link_up() as defines for speed reasons; fixed type and macro definition.
2010-01-09 13:25:15 +00:00
goldsimon
39717b2d9d
Copy hostname for DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1 since string passed to dns_local_addhost() might be volatile
2010-01-08 14:42:09 +00:00
goldsimon
79c88cdcfd
Added function names to timer debug output
2010-01-08 14:08:47 +00:00
goldsimon
8a34c16aee
Improved assertion message when MEMP_SYS_TIMEOUT pool is empty
2010-01-08 13:40:50 +00:00
goldsimon
cce192a671
Call tcp_timer_needed() with NO_SYS==1, too
2010-01-07 09:47:30 +00:00
goldsimon
3269da52cc
Initial version of PPP for NO_SYS==1, some TODOs are remaining, but it works...
2009-12-31 17:56:51 +00:00
goldsimon
a566f9d8f2
Separated timer implementation from semaphore/mbox implementation, moved timer implementation to timers.c/.h (TASK#7235)
2009-12-31 16:16:44 +00:00
goldsimon
802a048302
Commented 2 variables
2009-12-31 15:12:00 +00:00
goldsimon
a1c0b9da7b
Added an additional option LWIP_ETHERNET to support ethernet without ARP (necessary for pure PPPoE) - no changes in the ppp code yet
2009-12-27 11:40:48 +00:00
goldsimon
bf261f4f13
Another fix for bug #28241 (ooseq processing) and adapted corresponding unit test
2009-12-27 11:31:19 +00:00
kieranm
6b6c82aaee
BUG28241: improve oos sequence processing with patches from Oleg Tyshev.
2009-12-24 15:31:44 +00:00
goldsimon
b5014b0966
tcp_process: add state info to log message that is used for multiple states ("TCP connection closed")
2009-12-06 11:57:31 +00:00
goldsimon
7d46e06824
Fixed bug #28106 : dup ack for fast retransmit could have non-zero length
2009-12-03 19:42:35 +00:00
goldsimon
32acb82bc0
Fixed some typos
2009-12-03 18:07:00 +00:00
goldsimon
3a1c5944e7
Fixed bug #27904 : TCP sends too many ACKs: delay resetting tcp_input_pcb until after calling the pcb's callbacks
2009-12-02 17:01:29 +00:00
goldsimon
04c5246e02
Fix compilation for PPPOE without PPPOS and VJ_SUPPORT without PPPOS_SUPPORT
2009-12-01 20:46:14 +00:00
goldsimon
46dc1c9bfb
Minor (null-pointer check for not-on-list-netif)
2009-12-01 19:59:36 +00:00
goldsimon
b900253c09
tcp_receive(): removed unnecessary return value, added comment
2009-11-29 13:43:38 +00:00
goldsimon
59a5fb7ce8
Fixed bug #28054 : Two segments with FIN flag on the out-of-sequence queue, also fixed PBUF_POOL leak in the out-of-sequence code
2009-11-29 13:23:21 +00:00
goldsimon
aeef0a21f3
Fixed bug #28064 : pbuf_alloc(PBUF_POOL) is not thread-safe by queueing a call into tcpip_thread to free ooseq-bufs if the pool is empty
2009-11-29 11:57:35 +00:00
goldsimon
478ccee5fc
tcp_rexmit(): no need to call tcp_output, since always called from tcp_input and thus tcp_output always returns without sending (prevent confusion by thinking data was sent while in tcp_rexmit!)
2009-11-26 16:44:16 +00:00
goldsimon
a939c09a6b
Fixed bug #27905 : FIN isn't combined with data on unsent
2009-11-22 17:55:03 +00:00
goldsimon
35d1c33e0a
tcp_alloc: prevent increasing stats.err for MEMP_TCP_PCB when reusing time-wait pcb as suggested by Bill 4 months ago
2009-11-22 17:52:48 +00:00
goldsimon
6d22c38e59
tcp_recv_null: call tcp_recved() if p != NULL to keep the window correct
2009-11-22 16:16:55 +00:00
goldsimon
6bb7f987f2
Fixed bug #28049 (Keep Alive timeout frees pcb then uses it, sometimes causing crash error) by calling tcp_rst() instead of tcp_abort() in tcp_slowtmr() when retransmit timer expires.
2009-11-22 15:44:12 +00:00
goldsimon
1c018caefe
move tcp_debug_print_state to prevent accessing pcb when it might already be deallocated due to recv_flags == TF_RESET or TF_CLOSED
2009-11-22 15:42:30 +00:00
goldsimon
0c136893e5
Fixed logging of timeout-function-pointer (pointer to local stack was logged instead of actual function pointer), minor coding style fix
2009-11-22 15:25:13 +00:00
goldsimon
f4c0655190
Fixed usage of logging levels (bug #27948 : Incorrect logging levels used in various places)
2009-11-22 15:14:46 +00:00
goldsimon
49bdf32765
Fixed usage of logging levels (bug #27948 : Incorrect logging levels used in various places)
2009-11-22 13:31:31 +00:00
goldsimon
98a58f9e67
tcp_input: move tcp_debug_print_state to prevent accessing pcb when it might already be deallocated due to calling tcp_abort in tcp_process.
2009-11-20 16:56:25 +00:00
goldsimon
b30c6f8b9e
Fixed comment: tcp_pcb_remove does *not* deallocate the pcb
2009-11-20 16:43:57 +00:00
kieranm
dee1d82c11
re-work the fast retransmission code to follow algorithm from TCP/IP
...
Illustrated
2009-10-29 15:48:57 +00:00
kieranm
71ddff4964
Fix BUG#27445: grow cwnd with every duplicate ACK
2009-10-28 15:13:51 +00:00
goldsimon
af3b796488
Corrected parameter spelling in doc
2009-10-27 20:30:44 +00:00
goldsimon
b09b8a0ccc
Tiny code size improvement using goto instead of duplicating code
2009-10-26 09:55:46 +00:00
goldsimon
ae2dd38e0d
Another fix for bug #26251 : RST process in TIME_WAIT TCP state
2009-10-25 11:45:11 +00:00
goldsimon
81f9442ac7
Fixed bug #27783 : Silly window avoidance for small window sizes
2009-10-23 13:17:18 +00:00
goldsimon
18ab274af3
Fixed bug #26251 : RST process in TIME_WAIT TCP state
2009-10-22 13:37:44 +00:00
goldsimon
65d1f52423
Changed fix for bug #27215 (TCP sent() callback gives leagin and trailing 1 byte len (SYN/FIN)) by decreasing pcb->acked appropriately
2009-10-21 15:42:14 +00:00
goldsimon
f1b82e0e9a
bug #27315 : zero window probe and FIN: only send pure FIN if the enqueued FIN segment doesn't contain any other data
2009-10-21 15:15:34 +00:00
goldsimon
67411c4299
Minor code simplification (don't store received pbuf, change conditional code to assert where applicable), check pbuf length before testing for valid reply
2009-10-19 20:06:01 +00:00
goldsimon
a37e62b7d0
Removed most calls to udp_connect since they aren't necessary when using udp_sendto_if() - always stay connected to IP_ADDR_ANY.
2009-10-19 16:43:50 +00:00
goldsimon
e2c1f7d5b5
dhcp_unfold_reply: NULL memory might have been freed after mem_malloc returned NULL
2009-10-18 09:26:27 +00:00
goldsimon
ec97fbd101
dhcp_inform(): netif->dhcp pointed to unallocated memory when udp_new() failed
2009-10-18 09:13:47 +00:00
goldsimon
b7d7559cc9
Fixed bug #27215 : TCP sent() callback gives leadin and trailing 1 byte len (SYN/FIN)
2009-10-18 08:30:44 +00:00
goldsimon
b4404ff0c8
Corrected typo
2009-10-18 08:23:05 +00:00
goldsimon
502e89f4ad
Fixed bug #27315 : zero window probe and FIN
2009-10-16 21:07:48 +00:00
goldsimon
d8d8cf7e98
Fixed bug #27390 : Source IP check in ip_input() causes it to drop valid DHCP packets -> allow 0.0.0.0 as source address when LWIP_DHCP is enabled
2009-10-16 12:39:24 +00:00
goldsimon
d9a5094068
Fixed bug #27329 : dupacks by unidirectional data transmit
2009-10-15 20:09:13 +00:00
goldsimon
2dc027401f
Fixed bug #27704 : autoip starts with wrong address: LWIP_AUTOIP_CREATE_SEED_ADDR() returned address in host byte order instead of network byte order
2009-10-15 14:05:35 +00:00
goldsimon
ac638c85f3
Fixed bug #27504 : tcp_enqueue wrongly concatenates segments which are not consecutive when retransmitting unacked segments
2009-10-11 13:06:44 +00:00
goldsimon
9e5cf1cf8e
Reverted change for bug #27252 (Address pointer invalid after freeing pbuf in UDP receive callback) as it made more problems than before :-(
2009-10-07 17:50:46 +00:00
goldsimon
ddc783bee7
Make ip_current_netif() and ip_current_header() a define referring to extern variables to be save the function call.
2009-10-07 17:47:05 +00:00
goldsimon
68f92050e9
Make tcp_debug_state_str() always available, not only in DEBUG mode
2009-10-07 17:44:59 +00:00
goldsimon
bd2bc2ee14
Fixed bug bug #27345 : "ip_frag() does not use the LWIP_NETIF_LOOPBACK function" by checking for loopback before calling ip_frag
2009-08-30 20:52:43 +00:00
goldsimon
057c51ff6d
Use LWIP_UNUSED_ARG() instead of if(){}, fix unused arg warning if LWIP_ARP==0
2009-08-25 17:50:59 +00:00
goldsimon
f2f20cf133
fixed invalid dependency to etharp_query if DHCP_DOES_ARP_CHECK==0
2009-08-25 17:49:47 +00:00
stoklund
103ba9b0fc
The DHCP client should enter the REBOOTING state when connecting to a
...
new network. If DHCP has bound to an address, it must be verified
after netif_set_link_up.
2009-08-24 13:12:37 +00:00
stoklund
d83fc6893b
Don't use an AutoIP-configured address on a new network until the address has been configured.
...
When connecting to a new network with an AutoIP address, take the
interface down until the old address has passed the
AUTOIP_STATE_PROBING state.
2009-08-24 13:11:35 +00:00
goldsimon
8bf57c0e14
Fixed bug #26657 : DNS, if host name is "localhost", result is error.
2009-08-23 13:51:12 +00:00
goldsimon
dea7255fc5
Fixed bug #26649 : TCP fails when TCP_MSS > TCP_SND_BUF, Fixed wrong parenthesis, added check in init.c
2009-08-23 13:03:20 +00:00
goldsimon
362a295e06
Fixed bug #27252 : Address pointer invalid after freeing pbuf in UDP receive callback
2009-08-23 11:32:38 +00:00
goldsimon
ae7a7a0abf
Added function tcp_debug_state_str() to convert a tcp state to a human-readable string.
2009-08-23 10:57:37 +00:00
kieranm
0b75917121
BUG27209: handle trimming of segments when out of window or out of
...
order properly
2009-08-12 08:34:48 +00:00
kieranm
fa2dbc2b1b
BUG27199: use snd_wl2 instead of snd_wl1
2009-08-12 08:32:14 +00:00
goldsimon
3a6165f0b9
Added missing include to <string.h>
2009-08-11 14:38:55 +00:00
goldsimon
62c27f7fce
Fixed bug #27155 : "'NULL' undeclared in inet_checksum.c"
2009-08-03 19:28:35 +00:00
goldsimon
730a938912
Added debug print when rejecting incoming connections due to exceeded listen backlog
2009-07-28 17:04:04 +00:00
goldsimon
3553efb75e
Added newline to TCP header flags debug print
2009-07-28 17:02:48 +00:00
goldsimon
22bcf5892a
Fixed bug #27034 : "Invalid ASSERT in pbuf_alloc()" to prevent breaking PPP (for now).
2009-07-27 15:17:13 +00:00
stoklund
893ddcf61b
Implement exponential backoff in dhcp.c
2009-07-23 08:59:13 +00:00
stoklund
cf81dbcca4
Reuse XIDs for DHCP retransmissions
2009-07-23 08:57:45 +00:00
fbernon
ce5699f41b
minor changes: typos and coding style
2009-07-09 10:21:16 +00:00
kieranm
c232edb83a
BUG26301 and BUG26267: correct simultaneous close behaviour, and make
...
snd_nxt have the same meaning as in the RFCs.
2009-06-25 09:57:36 +00:00
goldsimon
6d4064799a
Corrected structure packing
2009-05-20 18:33:45 +00:00
goldsimon
e0e9a63e63
Corrected function implementation of ip_current_* (void was missing)
2009-05-19 18:11:01 +00:00
goldsimon
30acd1662d
fixed bug #26507 : "Gratuitous ARP depends on arp_table / uses etharp_query" by adding etharp_gratuitous()
2009-05-12 20:13:45 +00:00
goldsimon
078e2f60d6
bug #26487 : Added ip_output_if_opt that can add IP options to the IP header (used by igmp_ip_output_if)
2009-05-12 18:00:47 +00:00
goldsimon
c7ce2792c8
Fixed compilation if LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN)
2009-05-11 16:11:18 +00:00
goldsimon
22d6558f13
task #7013 : Added option LWIP_NETIF_TX_SINGLE_PBUF to try to create transmit packets from only one pbuf to help MACs that don't support scatter-gather DMA.
2009-05-10 17:07:25 +00:00
goldsimon
105d72a3c2
Shrinked ICMP code, added option to NOT check icoming ECHO pbuf for size (just use it): LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN
2009-05-09 08:36:36 +00:00
goldsimon
c752e5731c
Worked on dns: local host-list can be put into FLASH (by defining storage target/linker section), external function can be defined for lookup, combined dns_local_removehostname/removehostaddr to dns_local_removehost
2009-05-07 15:27:02 +00:00
goldsimon
95f6dc7011
On little endian architectures, use LWIP_PLATFORM_HTONS (if defined) for SWAP_BYTES_IN_WORD to speed up checksumming.
2009-05-06 17:35:50 +00:00
goldsimon
ac9e758f41
Patch #6823 : tcp_in.c - small optimization
2009-05-06 17:30:18 +00:00
goldsimon
14dba4ae2b
Added ip_current_netif() & ip_current_header() to receive extended info about the currently received packet.
2009-05-05 17:50:39 +00:00
goldsimon
fb46e0f192
snmp was not initialized in lwip_init()
2009-05-04 19:22:26 +00:00
fbernon
e29f94a980
dhcp.c, netbios.c: Changes if IF_SOF_BROADCAST is enabled.
2009-05-04 08:40:44 +00:00
goldsimon
41eecb67d2
fixed bug #25636 : SNMPSET value is ignored for integer fields
2009-05-02 15:45:53 +00:00
goldsimon
9317105c37
Addition to patch #6721 , bug #25575 : call autoip_stop in dhcp_stop if in coop-mode
2009-05-02 15:40:39 +00:00
fbernon
d4ecb23015
raw.c, udp.c, init.c, opt.h, ip.h, sockets.h: bug #26309 : Implement the SO(F)_BROADCAST filter for all API layers. Avoid the unindented reception of broadcast packets even when this option wasn't set. Port maintainers which want to enable this filter have to set IP_SOF_BROADCAST=1 in opt.h. If you want this option also filter broadcast on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1 in opt.h.
2009-04-29 12:42:43 +00:00
fbernon
42c59e1079
netif.c: minor, fix a warning
2009-04-29 12:39:16 +00:00
goldsimon
3b5993e6ee
Integrated patch #6721 : new option to adjust the time when DHCP gives over to AUTOIP and some improvements in DHCP/AUTOIP cooperation
2009-04-28 19:29:46 +00:00
goldsimon
36e3d24331
Fixed a bug in tcp_enqueue introduced with v1.79 of this file while fixing bug #25094 (zero-length pbuf)
2009-04-27 19:00:23 +00:00
goldsimon
261dfdf010
fixed bug #24212 : "Deadlocked tcp_retransmit due to exceeded pcb->cwnd": Fixed by sorting the unsent and unacked queues (segments are inserted at the right place in tcp_output and tcp_rexmit)
2009-04-26 12:27:11 +00:00
goldsimon
cbfacb7ed9
bug #26213 "Problem with memory allocation when debugging": memp_sizes contained the wrong sizes (including sanity regions); memp pools for MEM_USE_POOLS were too small; Added option MEM_USE_POOLS_TRY_BIGGER_POOL to try the next bigger malloc pool if one is empty (only usable with MEM_USE_POOLS).
2009-04-25 17:42:27 +00:00
fbernon
4eda29abf9
inet.c: patch #6765 : Fix a small problem with the last changes (incorrect behavior, with ip address string not ended by a '\0', a space or a end of line)
2009-04-24 12:14:54 +00:00
goldsimon
c3f7107e2b
Fixed some issues with DNS_LOCAL_HOSTLIST
2009-04-23 16:54:30 +00:00
fbernon
67a3976a24
init.c: typo
2009-04-23 15:28:52 +00:00
goldsimon
51e02176da
task #7507 , patch #6786 : DNS supports static hosts table. New configuration options DNS_LOCAL_HOSTLIST and DNS_LOCAL_HOSTLIST_IS_DYNAMIC.
2009-04-21 18:35:18 +00:00
goldsimon
ed65d9cd75
Fixed bug #26236 : "TCP options (timestamp) don't work with no-copy-tcpwrite": deallocate option data, only concat segments with same flags
2009-04-19 12:42:48 +00:00
goldsimon
542b8fffb1
Fixed bug #25094 : "Zero-length pbuf" (options are now allocated in the header pbuf, not the data pbuf); added function comments; "inline" is not supported by ANSI C (tcp_build_timetamp_option)
2009-04-19 12:31:16 +00:00
goldsimon
12c50ed87b
tcp_listen_input: format code for #if LWIP_TCP_TIMESTAMPS that calls tcp_enqueue like the other calls.
2009-04-19 12:17:59 +00:00
goldsimon
620b3e6739
task #9192 : mem_free of dhcp->options_in and dhcp->msg_in
2009-04-15 19:53:59 +00:00
goldsimon
580f334274
patch #6808 : Add a utility function ip_hinted_output() (for smaller code mainly)
2009-04-15 19:32:01 +00:00
goldsimon
4f52183a39
patch #6765 : Supporting new line characters in inet_aton()
2009-04-15 19:06:39 +00:00
goldsimon
a55f354687
patch #6763 : Global DHCP XID can be redefined to something more unique
2009-04-15 18:48:10 +00:00
goldsimon
9630c9136b
patch #6764 : DHCP rebind and renew did not send hostnam option; Converted constant OPTION_MAX_MSG_SIZE to netif->mtu, check if netif->mtu is big enough in dhcp_start
2009-04-15 18:35:04 +00:00
kieranm
4f8f6ba205
Patch#6774 TCP_QUEUE_OOSEQ breaks compilation when LWIP_TCP==0
2009-04-09 15:16:26 +00:00
kieranm
f1a9f7ea70
BUG20515: rework way TCP window updates are calculated and sent
2009-03-31 14:23:40 +00:00
kieranm
4b14621208
TASK9218: add support for TCP timestamp options
2009-03-31 14:13:32 +00:00
kieranm
baf30f5eae
BUG20779: cope with SYN packets received during established states,
...
and retransmission of initial SYN.
2009-03-31 10:55:31 +00:00
kieranm
e7a2ab5de9
BUG26010: set push bit correctly when tcp segments are merged
2009-03-31 10:53:11 +00:00
kieranm
fd41c5de2d
Correct change to probe window setting
2009-03-27 11:04:04 +00:00
kieranm
efac109803
BUG25622: handle return code of tcp_enqueue in tcp_listen_input()
2009-03-26 14:31:02 +00:00
kieranm
84505d4cc8
BUG25629: set TCP_ACK flags on keepalive and zero window probes
2009-03-26 14:25:46 +00:00
goldsimon
103fe60362
mem_free: fix a warning by converting pointer to mem_ptr_t instead of unsigned long
2009-02-18 20:42:16 +00:00
goldsimon
56038b6457
Fixed many warnings: use %p to pass pointers to printf
2009-02-18 20:37:09 +00:00
goldsimon
96b788bea7
patch #6528 : the buffer used for IP_FRAG_USES_STATIC_BUF could be too small depending on MEM_ALIGNMENT
2009-02-18 16:54:02 +00:00
goldsimon
7b6c11360f
Added check: PBUF_POOL_BUFSIZE must be greater than MEM_ALIGNMENT or else the offset of a pbuf may take the full first pbuf in a chain (resulting in the first pbuf having len==0)
2009-02-18 16:50:40 +00:00
goldsimon
e001a021d5
patch #6539 : (configurable) response to broadcast- and multicast pings
2009-02-16 20:24:29 +00:00
goldsimon
14cb4eb735
fixed arguments of socket functions to match the standard; converted size argument of netconn_write to 'size_t' for that; fixed some warnings
2009-02-16 19:33:51 +00:00
goldsimon
d976c8e85f
fixed bug #24440 : TCP connection close problem on 64-bit host by moving accept callback function pointer to TCP_PCB_COMMON
2009-02-16 16:50:58 +00:00
goldsimon
bf09400c4c
fixed bug #25345 (DHCPDECLINE is sent with "Maximum message size" option)
2009-02-12 16:16:25 +00:00
goldsimon
c4509e700d
added MEMP_MEM_MALLOC to use mem_malloc/mem_free instead of the pool allocator (can save code size with MEM_LIBC_MALLOC if libc-malloc is otherwise used)
2009-02-11 20:43:41 +00:00
goldsimon
6472e3b35e
fixed bug #24480 (releasing old udp_pdb and pbuf in dhcp_start)
2009-02-11 20:27:00 +00:00
goldsimon
10c3ce08af
fixed bug #25467 : Listen backlog is not reset on timeout in SYN_RCVD: Accepts_pending is decrease on a corresponding listen pcb when a connection in state SYN_RCVD is close.
2009-02-10 20:29:38 +00:00
jifl
878532a30d
* ipv4/inet_chksum.c, ipv4/lwip/inet_chksum.h: inet_chksum_pseudo_partial()
...
is only used by UDPLITE at present, so conditionalise it.
2009-01-28 23:58:15 +00:00
jifl
102d69004a
* pbuf.c: reclaim pbufs from TCP out-of-sequence segments if we run
...
out of pool pbufs.
2009-01-28 05:43:35 +00:00
goldsimon
9f96f09652
Another fix for bug #6683 (and a typo in changelog)
2008-12-19 18:16:50 +00:00
goldsimon
aa568727d1
patch #6699 : fixed some warnings on platform where sizeof(int) == 2
2008-12-19 18:08:29 +00:00