Simon Goldschmidt
3f016fcc5a
Multiple small/minor issues: bug #36492 Static Analysis on code 1.4.0
2014-04-06 21:43:37 +02:00
Simon Goldschmidt
be75c483d0
Fixed bug #41787 DHCP Discovery is invalid when an IP is set to thet netif (send discover, request and decline from 'any').
...
Addd functions to send udp/ipv4/ipv6 packets with source address 'any' although netif has an address assigned
2014-04-06 20:32:37 +02:00
Sylvain Rochet
a38e5a44ec
Merge branch 'master' into ppp-new
2014-03-14 20:48:12 +01:00
Simon Goldschmidt
3fceef0936
- fixed bug #36153 TCP Cheksum error if LWIP_CHECKSUM_ON_COPY=1;
...
- don't fail on small mss or snd_wnd_max
2014-03-14 19:46:24 +01:00
Simon Goldschmidt
c82f04f54c
fixed bug #40303 DHCP xid renewed when sending a DHCPREQUEST
2014-02-27 22:44:16 +01:00
Simon Goldschmidt
d9d0c52770
fixed bug #41680 raw socket can not receive IPv6 packet when IP_SOF_BROADCAST_RECV==1
2014-02-27 22:18:45 +01:00
Simon Goldschmidt
f36d6b7ef5
fixed bug #39514 ip_route() may return an IPv6-only interface
2014-02-25 22:37:52 +01:00
Simon Goldschmidt
e9908048ec
fixed bug #39356 Wrong increment in pbuf_memfind()
2014-02-25 22:34:27 +01:00
Simon Goldschmidt
dceed2ea5c
fixed bug #39225 udp.c uses netif_matches_ip6_addr() incorrectly; renamed function netif_matches_ip6_addr() to netif_get_ip6_addr_match()
2014-02-25 22:30:46 +01:00
Simon Goldschmidt
7b63878926
Fixed bug #39224 Unused IPv6 address state defines in nd6
2014-02-25 22:26:02 +01:00
Simon Goldschmidt
01ecd3517e
fixed bug #39145 IGMP membership report for 224.0.0.1
...
-> ensure that we never send a report for 224.0.0.1
2014-02-25 22:21:31 +01:00
Sylvain Rochet
75ef1278e6
Merge branch 'master' into ppp-new
2014-02-21 20:37:10 +01:00
Simon Goldschmidt
4d69d0eda5
Fixed IPv6 raw checksumming after a hint from Philip Gladstone
2014-02-21 08:41:44 +01:00
Sylvain Rochet
d7ba4bbb9b
Merge branch 'master' into ppp-new
2014-02-21 00:39:29 +01:00
Simon Goldschmidt
2225b8add7
fixed bug #39683 Assertion "seg->tcphdr not aligned" failed with MEM_ALIGNMENT = 8
2014-02-20 22:35:37 +01:00
Simon Goldschmidt
c1dc1a20d6
fixed bug #40050 SNMP problem with MIB arrays > 255
2014-02-20 22:14:10 +01:00
Simon Goldschmidt
0f24fba28a
IGMP: fixed !define LWIP_RAND case
2014-02-20 22:07:58 +01:00
Freddie Chopin
08b56e8180
SNMP: mib-2.system.sysObjectID is read-only, so make the object "static const" and modify just the pointer; snmp_get_sysobjid_ptr() and snmp_set_sysobjid() take a pointer to "const" object now
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2014-02-20 21:24:23 +01:00
Freddie Chopin
7a77917df6
SNMP: use MEMCPY() instead of ocstrncpy() and objectidncpy()
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2014-02-20 21:24:21 +01:00
Simon Goldschmidt
a375ea4ee2
Minor: coding style cleanups...
2014-02-20 20:09:33 +01:00
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