sg
33955c636d
Set LWIP_VERSION_RC to RC1
2016-04-27 22:04:51 +02:00
Dirk Ziegelmeier
2e05856f90
Fix bug #47641 : lwIP would accept IPv6 source addresses from the network that are mapped IPv4 adresses
2016-04-27 21:35:34 +02:00
Dirk Ziegelmeier
30e6f908ee
Fix bug #47512 : MPU_COMPATIBLE may fail on empty pool
2016-04-27 21:14:17 +02:00
Dirk Ziegelmeier
e653ac9db7
Remove netconn_recved() call - it was only needed in sockets implementation and contributed to bug #47512
...
Simon and I think it can be removed - the receive window handling get a little less precise, but that should be OK for a lightweight stack.
Receive window is now updated with the whole pbuf size (instead of only count of read bytes from socket) as soon as socket implementation gets a pbuf from netconn layer.
Work on bug #47512 : MPU_COMPATIBLE may fail on empty pool (still not finished)
2016-04-27 21:02:16 +02:00
Dirk Ziegelmeier
21354af674
Work on bug #47512 : MPU_COMPATIBLE may fail on empty pool (still not finished)
2016-04-27 12:49:06 +02:00
goldsimon
c981b726f8
fixed bug #47601 (wrong NS request at DAD)
2016-04-27 10:19:13 +02:00
Dirk Ziegelmeier
21e6e1c824
Fix compile errors found by Erik Ekman's Travis-CI
2016-04-26 22:09:23 +02:00
Dirk Ziegelmeier
b07031479c
Revert "tcpip_send_msg_wait_sem() can return void now due to my last changes"
...
My brain was asleep
This reverts commit 475be665ff .
2016-04-26 22:03:18 +02:00
Dirk Ziegelmeier
475be665ff
tcpip_send_msg_wait_sem() can return void now due to my last changes
2016-04-26 21:40:19 +02:00
Dirk Ziegelmeier
3d38af5174
Work on bug #47512 : MPU_COMPATIBLE may fail on empty pool (not finished!)
2016-04-26 21:33:02 +02:00
Dirk Ziegelmeier
b28a80375b
Fix bug #47446 : tcpip api calls: fail if mbox is invalid instead of returning an error
2016-04-26 21:09:03 +02:00
Dirk Ziegelmeier
a5d4a27ae1
Fix compile warnings (==errors) in new httpd
2016-04-26 20:53:25 +02:00
goldsimon
afd9ee9147
fixed bug #47743 (Closing listening tcp pcb is not posible without assert)
2016-04-26 13:27:17 +02:00
Dirk Ziegelmeier
afd1bb938e
Fix compile of Simon's last change on MSVC
2016-04-26 13:19:32 +02:00
goldsimon
025d5591eb
httpd improvements: added persistent connections, improved asynchronous read mode, compile-time deflate compression, new CGI mode, SSI handler can be called with tag string (instead of tag index)
2016-04-26 13:00:27 +02:00
Dirk Ziegelmeier
7d77a52ea5
Fix compile when PPP is not enabled - Macro MEMP_NUM_PPP_PCB always needs to be #defined
2016-04-25 22:24:33 +02:00
Dirk Ziegelmeier
2b5250dd9d
Fix bug #47507 : PPP API does not support LWIP_MPU_COMPATIBLE
...
I'd be glad if someone would test it :-)
Sylvain, if you don't like this patch feel free to revert it
2016-04-25 21:23:14 +02:00
Dirk Ziegelmeier
8ce49499ae
tcpip_priv.h: More API improvements
2016-04-25 21:21:16 +02:00
Dirk Ziegelmeier
5a123a3405
tcpip_priv.h: More flexible API by including return value in API_VAR_ALLOC macro
2016-04-25 21:00:28 +02:00
Dirk Ziegelmeier
0d0b935d3d
tcpip_priv.h: Add helper macros for APIs that use private mempools
2016-04-25 20:51:26 +02:00
Dirk Ziegelmeier
2be86fbc3e
Fix compile of api_lib.c when LWIP_MPU_COMPATIBLE is enabled
2016-04-25 20:50:14 +02:00
Dirk Ziegelmeier
bb908366a5
More PPP cleanups
2016-04-25 20:08:29 +02:00
Dirk Ziegelmeier
73d8f14ebd
Fix compile when PPP is not enabled
2016-04-25 20:08:29 +02:00
Dirk Ziegelmeier
ffa340a68c
task #13907 : PPP cleanups: Move PPP mempools out of lwIP core to PPP code
2016-04-25 20:08:29 +02:00
Dirk Ziegelmeier
b8b83c2994
Move some definitions from tcpip_priv.h to better places since they are of "public interest" (LWIP core locking mode, watchdog trigger)
2016-04-23 10:24:17 +02:00
Dirk Ziegelmeier
4d1a2e6699
Fix projects without PPP do not compile any more
2016-04-22 06:24:01 +02:00
Sylvain Rochet
15fbfb7363
PPP, remove useless ppp_init function
...
Simon says:
ppp_init() does not seem to be used. The only thing it does is calling
magic_init(), which is not required because it its called again later
from ppp_input().
Also, the time from startup is rather constant, so calling sys_jiffies()
from ppp_init() does not create a random number.
2016-04-21 23:25:48 +02:00
Sylvain Rochet
54f7cae12c
PPP, fix reserved identifier violation (removed leading underscores from header include guards)
2016-04-21 23:15:49 +02:00
Dirk Ziegelmeier
76d25befb4
Work on task #13907 PPP cleanups: Move PPP options from opt.h to dedicated ppp_opts.h file
2016-04-21 22:28:14 +02:00
Dirk Ziegelmeier
749f7fae1a
Move PPP API files to netif/ppp subdir
2016-04-21 21:47:26 +02:00
Dirk Ziegelmeier
61d07f88f0
Fix bug #47749 : #define ETHARP_TRUST_IP_MAC does not compile
2016-04-21 21:21:56 +02:00
Joel Cunningham
8ac1b4825a
udp: use netif addr as src for multicast sockets
...
Sockets bound to a multicast address could not transmit multicast
packets because the pcb local address did not match the netif address
even if the outgoing netif was resolved correctly.
To correct the issue, pcbs with a multicast local address will use
the outgoing netif address as the source address in IPv4.
2016-04-18 16:36:13 -04:00
Dirk Ziegelmeier
87354abf0f
snmpv3_mbedtls.c: snmpv3_crypt() is only needed when LWIP_SNMP_V3_CRYPTO is enabled
2016-04-14 08:26:29 +02:00
Dirk Ziegelmeier
0b6370b9b8
SNMPv3: Make receiving DES encrypted frames work, sending still fails because of broken padding
2016-04-11 22:04:28 +02:00
Dirk Ziegelmeier
92f5da8412
two minor fixes in snmpv3_mbedtls.c
2016-04-07 06:58:58 +02:00
Dirk Ziegelmeier
309e072238
Create new IP_IS_V4 macros and use them at instead of !IP_IS_V6 - since we now have an IPADDR_ANY_TYPE, just checking for !V6 does not mean it is V4
2016-04-06 22:31:31 +02:00
Dirk Ziegelmeier
ab2c65549d
Avoid divisions / module in SNMP code on stupid compilers
...
Signed-off-by: goldsimon <goldsimon@gmx.de >
2016-04-06 11:16:54 +02:00
sg
ca1b8288de
prepare for overriding current timeout implementation: all stack-internal caclic timers are avaliable in the lwip_cyclic_timers array
2016-04-05 23:01:57 +02:00
sg
8c7f513f4d
patch #8358 : allow more combinations of listening PCB for IPv6
2016-04-05 22:04:19 +02:00
sg
16c70dd60e
fixed bug# 43739 (Accept not reporting errors about aborted connections): netconn_accept() returns ERR_ABRT (sockets: ECONNABORTED) for aborted connections, ERR_CLSD (sockets: EINVAL) if the listening netconn is closed, which better seems to follow the standard
2016-04-05 21:42:10 +02:00
sg
03e9c88488
fixed bug #47625 (Error in compilation of C++ source using netifapi macros) by changing NULL define for __cplusplus
2016-04-05 21:04:06 +02:00
sg
0731eda0b3
make autoip_supplied_address() take a const pointer, too
2016-04-05 20:38:11 +02:00
Dirk Ziegelmeier
083c6123d6
snmpv3_dummy.c: Add newline at end of file
2016-04-05 13:18:54 +02:00
Dirk Ziegelmeier
12a4cae404
Apply [patch #8969 ] from Freddie Chopin: Constify netif in dhcp_supplied_address()
2016-04-05 13:18:27 +02:00
Dirk Ziegelmeier
3a26e8b6cc
Fix build when snmpv3 is not available. One more thanks, Erik :-)
2016-04-04 22:10:59 +02:00
Dirk Ziegelmeier
28652d4d51
Fix build when mbedtls is not available :-) Thanks Erik!
2016-04-04 22:07:50 +02:00
Dirk Ziegelmeier
b67427bd3b
Commit Elias Oenal's SNMPv3 work, with some restructuring:
...
- The abstraction from crypto framework was not well suitable to MBEDTLS, so I decided to move everything into an own file.
- I removed several #defines and created function prototypes instead - this is more type-safe, and users don't need to reinvent the function signatures.
- Header files were splitted into a public and a private part.
- Only SNMPv3 authentication was tested, privacy not yet.
2016-04-04 18:55:32 +02:00
Dirk Ziegelmeier
3a7c998f91
Fix bug #47592 : pppapi_do_ppp_set_notify_phase_callback has invalid parameter type
...
... and one more I missed in my conversion yesterday
2016-04-01 10:38:27 +02:00
Dirk Ziegelmeier
141aeaab3d
Fix shadowing warning (when compiling in C++) in TCPIP call API. Reported by Freddie Chopin.
2016-03-31 19:52:20 +02:00
Dirk Ziegelmeier
c8b65f6c1d
Fix #define IPADDR_STRLEN_MAX in IPv6 only and dual-stack case
2016-03-30 11:20:54 +02:00
Dirk Ziegelmeier
d70d9bf866
SNTP: Add function to get SNTP enabled state
2016-03-30 11:20:16 +02:00
Dirk Ziegelmeier
4bd57882b0
Fix SNMP compile on Win32 due to missing #includes
2016-03-29 16:51:33 +02:00
Dirk Ziegelmeier
52fdc6bb3e
Partly apply Elias Oenal's SNMP V3 patch, part 2: Add SNMPv3 support routines. Crypto does not work yet.
2016-03-29 10:28:33 +02:00
Dirk Ziegelmeier
d0c3baf340
Partly apply Elias Oenal's SNMP V3 patch. There is more to come, the work is incomplete at the moment and does not compile when LWIP_SNMP_V3 is enabled.
2016-03-29 10:28:33 +02:00
Dirk Ziegelmeier
6f43057662
Update changelog
2016-03-29 10:28:33 +02:00
Dirk Ziegelmeier
d8784a77b7
Fix bug #47556 : snmp agent uses wrong err 'ERR_ABRT' - use ERR_ARG as old code. Was tested to be != ERR_OK only, so actual code did not matter
2016-03-28 16:57:36 +02:00
sg
27f03798b9
Fixed possible problems with tcp_backlog_delayed/tcp_backlog_accepted
2016-03-25 16:19:39 +01:00
goldsimon
5b0a47ca87
removed unused return values of tcp_listen_input & tcp_timewait_input; fixed unused variable warning
2016-03-24 15:06:31 +01:00
Dirk Ziegelmeier
9b0a0841e9
Fix compile of snmp/snmp_mib2.c - don't know why I didn't notice yesterday...
2016-03-24 14:31:33 +01:00
goldsimon
0b4bc5ea31
minor whitespace change only
2016-03-24 07:15:27 +01:00
Dirk Ziegelmeier
cab341976e
SNMP: Reduce #includes of snmp_mib2.c
2016-03-23 22:36:02 +01:00
Dirk Ziegelmeier
52a3bf5d43
SNMP: Cleanups after my last changes
2016-03-23 22:32:47 +01:00
Dirk Ziegelmeier
63c2dc926e
SNMP: Move MIB2 ip subtree to separate file to get snmp_mib2.c smaller
2016-03-23 22:32:47 +01:00
Dirk Ziegelmeier
cc477361ad
SNMP: Move MIB2 system subtree to separate file to get snmp_mib2.c smaller
2016-03-23 22:32:47 +01:00
Dirk Ziegelmeier
377885581f
SNMP: Move MIB2 interfaces subtree to separate file to get snmp_mib2.c smaller
2016-03-23 22:32:47 +01:00
Dirk Ziegelmeier
7321420d8c
SNMP: Move MIB2 ICMP subtree to separate file to get snmp_mib2.c smaller
2016-03-23 22:32:47 +01:00
Dirk Ziegelmeier
9466d64a9a
SNMP: Move MIB2 TCP subtree to separate file to get snmp_mib2.c smaller
2016-03-23 22:32:47 +01:00
Dirk Ziegelmeier
d929a4b17e
SNMP: Move MIB2 UDP subtree to separate file to get snmp_mib2.c smaller
2016-03-23 22:32:46 +01:00
Dirk Ziegelmeier
945607e094
SNMP: Move MIB2 SNMP subtree to separate file to get snmp_mib2.c smaller
2016-03-23 22:32:46 +01:00
sg
7721b20179
call accept-callback with ERR_MEM when allocating a pcb fails on passive open to inform the application about this error; ATTENTION: applications have to handle NULL pcb in accept callback!
2016-03-23 21:57:38 +01:00
sg
c6b742812d
fixed bug #38203 : DHCP options are not recorded in all DHCP ack messages (patch by Florent Matignon)
2016-03-23 21:06:52 +01:00
goldsimon
85d5fbdc7f
lwip_accept: fixed returning EOPNOTSUPP instead of -1 (EOPNOTSUPP is set as socket error)
2016-03-23 14:27:40 +01:00
Axel Lin
449fc98a55
tcp_alloc(): Remove superfluous initialization for pcb->keep_cnt_sent
...
It's already done by memset(0). This was missed in commit 5794ac2340
"tcp_alloc(): remove explicit =0 already done by memset(0)", fix it.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-03-23 14:26:32 +01:00
Dirk Ziegelmeier
7e7f2f31ff
Cleanup and simplify tcpip_api_call() implementation a bit
2016-03-22 21:52:11 +01:00
Dirk Ziegelmeier
a1fc91afa8
Fix newly introduced tcpip_api_call did not return correct return value
2016-03-22 21:34:05 +01:00
goldsimon
c39ef75cb3
... and another compiler error: tcp_nagle_enable() must stay at tcpflags_t, not using u16_t
2016-03-22 15:58:00 +01:00
goldsimon
7bda462031
fixed wrong commit: compatibility-define tcp_accepted() was accidentally commented-out
2016-03-22 15:54:14 +01:00
Dirk Ziegelmeier
f97bf85fd6
udp.c: Allow udp_connect() on a dual-stack UDP PCB (type IPADDR_TYPE_ANY). This may be useful in some applications - no need to keep separate storage for target IP.
2016-03-22 15:12:16 +01:00
Dirk Ziegelmeier
a9c7ead6b7
Update git ignore list for LwipMibCompiler
2016-03-22 15:07:07 +01:00
sg
dd80759bb9
tcp: changed accept handling to be done internally: the application does not have to call tcp_accepted() any more. Instead, when delaying accept (e.g. sockets do), call tcp_backlog_delayed()/tcp_backlog_accepted() (fixes bug #46696 )
2016-03-22 07:30:44 +01:00
sg
a1c78ea7bf
ignore dns response parsing errors, only abort resolving for correct responses or error responses from correct server (bug #47459 )
2016-03-22 07:22:17 +01:00
sg
5794ac2340
tcp_alloc(): remove explicit =0 already done by memset(0)
2016-03-18 22:05:17 +01:00
sg
44e1a2d8e2
define tcp_backlog_set() as dummy-define when backlog feature is disable
2016-03-18 20:05:04 +01:00
Joel Cunningham
3a62a45bcd
Fix year in recent CHANGELOG entries
...
The year in the recent bugfix entries was 2013 instead of 2016
2016-03-18 10:09:25 -05:00
sg
149bb36805
fixed bug #47448 (netconn/socket leak if RST is received during close)
2016-03-17 21:49:01 +01:00
Joel Cunningham
93ccba9bcb
don't fail closing a socket/netconn when failing to allocate the FIN segment; blocking the calling thread for a while is better than risking leaking a netconn/socket (see bug #46701 )
...
Signed-off-by: sg <goldsimon@gmx.de >
2016-03-17 21:00:18 +01:00
sg
b24e5cd1c8
fixed compiling netconn_write_partly with LWIP_SO_SNDTIMEO==1 after recent api implementation changes (bug #47436 , patch by William Hayes)
2016-03-17 20:15:22 +01:00
Dirk Ziegelmeier
7fbb5fc82a
Fix netconn API in core locking mode
2016-03-17 09:31:50 +01:00
Dirk Ziegelmeier
464a8c9794
Delete script to compile MOBA MIB
2016-03-17 08:27:45 +01:00
Dirk Ziegelmeier
7aea739f87
PPPAPI: Don't return garbage in *_create calls in case tcpip_api_call() fails;
...
Let some functions return err_t instead of void because tcpip_api_call() may fail
2016-03-16 23:01:05 +01:00
sg
852d5b9c80
Optimize tcp_output runtime by not calling ip_route() for every segment sent
2016-03-16 22:31:33 +01:00
sg
b4d7238eb8
tcp_output_segment: don't count retransmitted segments in mib2.tcpoutsegs by detecting p->payload != tcphdr pointer; don't try to retransmit segments where p->ref != 1 (as it is invalid to mess up p->len/p->payload when we don't have exclusive access to the pbuf)
2016-03-16 22:22:20 +01:00
Dirk Ziegelmeier
ee87d28252
Rename tcpip_apimsg to netconn_apimsg (better suits naming convention in api_lib.c)
2016-03-16 22:02:47 +01:00
Dirk Ziegelmeier
6ffe12cede
Readd struct protoype in api.h
2016-03-16 21:57:25 +01:00
Dirk Ziegelmeier
d6adc1f6cb
Rename tcpip_send_api_msg to tcpip_send_msg_wait_sem (hopefully a little bit clearer name)
2016-03-16 21:57:24 +01:00
sg
5f8b5cbb20
reset rto timer on fast retransmission (see task #13757 , patch by Joel Cunningham)
2016-03-16 21:49:37 +01:00
sg
7b9cb98bbb
LWIP_TCPIP_CORE_LOCKING_INPUT is not experimental any more, as well
2016-03-16 21:48:47 +01:00
Dirk Ziegelmeier
222eb25eb5
Accidentally committed my MIB compiler test, sorry!
2016-03-16 21:38:22 +01:00
Dirk Ziegelmeier
dbfdb13166
LwipMibCompiler: Set MIB compiler as startup project instead of MIB viewer
2016-03-16 21:35:21 +01:00
Dirk Ziegelmeier
d38cdccbcd
netconn API: Remove api_msg wrapper struct, it is not needed any more
2016-03-16 21:35:21 +01:00
Dirk Ziegelmeier
2575c7fb5f
netconn API: Cleanup, remove lots of #defines, take advantage of new tcpip_send_api_msg function feature to abstract core locking away
2016-03-16 21:35:21 +01:00
Dirk Ziegelmeier
ea174560b1
tcpip.c tcpip_send_api_msg: Handle core locking case internally
2016-03-16 21:35:21 +01:00
Dirk Ziegelmeier
bc51dddcaf
Add some comments to functions and #defines. According to Simon, LWIP core locking is not experimental any more.
2016-03-16 21:35:21 +01:00
sg
f09dec5fb7
ethernetif.c: implement SNMP counters, simplify input function: no need to check ethType, ethernet_input() already does this
2016-03-16 21:26:31 +01:00
sg
8e8571da6a
fixed bug #46384 Segment size calculation bug with MSS != TCP_MSS
2016-03-16 16:56:15 +01:00
Dirk Ziegelmeier
0d576aa521
Fix bug #47426 incorrect typecast in pppapi.c
2016-03-16 12:37:08 +01:00
goldsimon
0e1b401abe
sntp: fixed constness for SNTP_SERVER_DNS==1
2016-03-14 14:29:26 +01:00
Dirk Ziegelmeier
bf7fc41e0f
LwipMibCompiler: Add windows command line example
2016-03-14 12:13:44 +01:00
Dirk Ziegelmeier
90bc1da434
LwipMibCompiler: Don't generate empty root nodes
2016-03-14 12:13:24 +01:00
Dirk Ziegelmeier
dc98e31e4d
LwipMibCompiler: MibTree: Adapt coding style to the rest of the C# project
2016-03-14 12:13:05 +01:00
Dirk Ziegelmeier
1d7996dc47
tcpip API calls: Implement LWIP_NETCONN_SEM_PER_THREAD support for ALL API calls
2016-03-13 19:43:49 +01:00
Dirk Ziegelmeier
2b3db52c70
pppol2tp.c: Avoid an #ifdef - there is a new UDP API function that can be used here
2016-03-12 12:26:23 +01:00
Jan Breuer
b65a22b32a
LwipMibCompiler: Don't preserve upper case on generated variables
2016-03-12 09:09:26 +01:00
Jan Breuer
b849e52c17
LwipMibCompiler: preserve upper case in comments
2016-03-12 09:09:22 +01:00
Jan Breuer
588b11185a
LwipMibCompiler: Remove false positive root entities
2016-03-12 09:05:19 +01:00
Jan Breuer
dfc963880a
LwipMibCompiler: Fix generating SnmpScalarArrayNode callbacks
2016-03-12 09:03:41 +01:00
Dirk Ziegelmeier
00975769a0
Minor TCPIP API call functions cleanup
2016-03-10 22:44:31 +01:00
Dirk Ziegelmeier
f7a3d6cca5
Port PPP API to new simple tcpip API call method
2016-03-10 22:44:25 +01:00
Dirk Ziegelmeier
8f71795844
Port netifapi to new simple tcpip API call method
2016-03-10 22:42:21 +01:00
Dirk Ziegelmeier
8106413644
tcpip.c: Implement an easier way for TCPIP API calls - client code does not have to deal with semaphores and core locking any more
2016-03-10 22:42:21 +01:00
sg
5e472badf1
Work on bug #44595 : remove check for recvmbox != NULL from netconn_recv() to let it return ERR_CLSD for half-closed TCP connections
2016-03-10 21:20:25 +01:00
Axel Lin
2a2f92f7c2
Make ERR_IS_FATAL() test first fatal error instead of last non-fatal error
...
This way, we don't need to update ERR_IS_FATAL() every time new non-fatal error
is added. Also drop 2 empty lines so the error constants present in 2 groups,
non-fatal errors and fatal errors.
2016-03-10 07:21:34 +01:00
Dirk Ziegelmeier
f3b7bca3cf
Fix bug #47370 : Port DNS client to IPv6
2016-03-09 19:25:06 +01:00
Dirk Ziegelmeier
9fbf5a4004
SNMP: Support LWIP_TCPIP_CORE_LOCKING sync method
2016-03-09 08:39:56 +01:00
sg
5d637360cc
fixed ERR_IS_FATAL() after changing ERR_IF to non-fatal
2016-03-08 21:04:21 +01:00
Dirk Ziegelmeier
7d8f0c781f
Fix wrong usage of LWIP_NETCONN_SEM_PER_THREAD macro in api_msg.h
2016-03-08 19:53:37 +01:00
Dirk Ziegelmeier
a212210c35
Add missing #include in memp.c
2016-03-08 19:53:01 +01:00
Dirk Ziegelmeier
ba40925335
tcpip_send_api_msg function is only needed in non-core-locking mode
2016-03-08 19:41:32 +01:00
Dirk Ziegelmeier
eab92ccb03
netifapi: Eliminate wrapper struct netifapi_msg and rename netifapi_msg_msg to netifapi_msg
2016-03-08 19:41:32 +01:00
Dirk Ziegelmeier
fc17d02451
Fix compile with LWIP_TCPIP_CORE_LOCKING
2016-03-08 19:41:32 +01:00
Dirk Ziegelmeier
37d514c949
Minor cleanups in #includes and comments
2016-03-08 19:41:32 +01:00
Dirk Ziegelmeier
a4297ef0fd
Reduce includes of tcpip_priv.h
2016-03-08 19:41:32 +01:00
Dirk Ziegelmeier
c65eca58c9
Decouple tcpip.c/tcpip_priv.h from netconn API
2016-03-08 19:41:32 +01:00
Dirk Ziegelmeier
18bb74e5c5
Decouple tcpip.c/tcpip_priv.h from PPP API
...
PPP API can now be moved to netif/ppp subdir
2016-03-08 19:41:32 +01:00
Dirk Ziegelmeier
af1978fa4e
Implement generic API message handling
...
Add generic tcpip_send_api_msg function
Let netif API and netconn API use it
Decouple tcpip.c and tcpip_priv.h from netif API
2016-03-08 19:41:32 +01:00
sg
5cf802eda0
dns_gethostbyname: return error code if no valid server is set instead of calling the 'found' callback in this case (fixes bug #46887 )
2016-03-07 19:47:39 +01:00
Joel Cunningham
80cc988f2f
Optimize sendmsg UDP pbuf chain creation
...
This commit optimizes the sendmsg UDP pbuf chain creation by not
allocating/freeing a netbuf per io vector and instead building a pbuf
chain directly in the sockets layer
2016-03-07 09:26:58 -06:00
sg
076795562e
fixed typo in one of the last commits
2016-03-06 20:59:50 +01:00
sg
f5fef6eebc
fixed bug #45353 : IPv6 router / neighbor relationship is not always consistent - patch by Stian Sebastian Skjelstad
2016-03-06 14:48:41 +01:00
sg
375ec36246
ERR_IF is not necessarily a fatal error (fixes bug #46338 : UDP netconns block after fatal error)
2016-03-05 16:15:04 +01:00
sg
b00a17059a
fixed icmp_send_response with LWIP_HOOK_IP4_ROUTE_SRC enabled
2016-03-05 15:57:40 +01:00
Dirk Ziegelmeier
bcab7fef84
netifapi.c: Fix compile when IPv4 is not enabled
2016-03-05 15:55:53 +01:00
sg
d2bb569ee4
bug #46094 : moved IPv4 routing hook functions down so that they implement actual routing (source-based IPv4 routing is not affected by this change)
2016-03-05 15:52:39 +01:00
Dirk Ziegelmeier
52b426a343
ip_addr.h: Use IP_GET_TYPE macro in other macros
2016-03-05 14:35:29 +01:00
Dirk Ziegelmeier
f4fbc90217
netifapi: Do not pass NULL pointers for IP addresses to subsequent functions
...
Same as in my last commits - this avoids errors in lwIP code where ip addresses are dereferenced (e.g. for IP type checking) without handling thinking about NULL pointers.
2016-03-05 14:35:29 +01:00
sg
e0ab8c581d
fixed bug #46093 : Move IP6_ROUTE() hook to after LL processing
2016-03-05 14:11:24 +01:00
Dirk Ziegelmeier
094cdf1c7b
netconn: Create API macros to get/set IPV6ONLY flag
2016-03-04 23:06:33 +01:00
Dirk Ziegelmeier
814577fcc6
snmp: Fix snmp_oid_to_ip for IPADDR_ANY_TYPE ips
2016-03-04 22:46:54 +01:00
Dirk Ziegelmeier
15925b66c6
Fix ip_addr_cmp to correctly compare IPADDR_ANY_TYPE ips
2016-03-04 22:46:18 +01:00
Dirk Ziegelmeier
925b280fd2
Apply patch from Elias Önal to fix a few datatypes in SNMP MIB2
2016-03-04 22:35:09 +01:00
sg
6b405eccd0
Tried to fix bug #47270 by accepting all ipv4 multicast packets (at IP level) when LWIP_IGMP is disabled
2016-03-04 21:57:47 +01:00
goldsimon
15326cdbad
Added macro to get the ip address type
2016-03-04 09:07:50 +01:00
Dirk Ziegelmeier
bd0b51c9ef
Fix my previous netconn_do_listen changes in lwip_netconn_do_listen
2016-03-03 23:16:01 +01:00
Dirk Ziegelmeier
9a4c66006e
Fix compile error in raw.c (possible unused arg)
2016-03-03 22:55:42 +01:00
Dirk Ziegelmeier
1c52780b62
snmp_netconn: Use new "socket-like" netconn API dual-stack implementation
2016-03-03 22:52:43 +01:00
Dirk Ziegelmeier
bee5515e9a
netconn API: Reimplement dual-stack API to be socket-like.
...
When IPv6 ANY address is used and the NETCONN_FLAG_IPV6_V6ONLY is NOT set, bind/listen on/to IP_ANY_TYPE
2016-03-03 22:52:04 +01:00
Dirk Ziegelmeier
0a7f404d09
api_lib.c: Don't propagate NULL pointers as ip address to subsequent functions
2016-03-03 22:49:55 +01:00
Dirk Ziegelmeier
1dea649cff
Fix comment in tcp.c
2016-03-03 22:48:10 +01:00
Dirk Ziegelmeier
7396d8818b
Implement dual-stack in RAW API in the same way as in UDP and TCP
2016-03-03 22:47:27 +01:00
Dirk Ziegelmeier
2d80af1dcb
Minor code cleanup in udp.c
2016-03-03 22:44:01 +01:00
Dirk Ziegelmeier
b5cd90a342
Add compatibility macro for tcp_new_ip6()
2016-03-03 21:04:00 +01:00
Dirk Ziegelmeier
5358380c5f
Apply patch from Derek Pravala: Fix segfault in ip6_route when there is no default netif
2016-03-03 16:12:20 +01:00
Dirk Ziegelmeier
eead3a7038
Simon says: dual-stack does not work on iperf because there IPs encoded in the payloads and IPv6 is not supported there in the current lwIP implementation -> revert
2016-03-03 13:06:55 +01:00
Dirk Ziegelmeier
ce370ec48f
Compile fix lwiperf.c after my last change
2016-03-03 12:23:34 +01:00
Dirk Ziegelmeier
24ebf6bd6f
Implement dual-stack in lwiperf, netbiosns and sntp
2016-03-03 12:15:57 +01:00
Dirk Ziegelmeier
b0d4386744
Adapt HTTP server to new dual-stack API
2016-03-02 23:47:09 +01:00
Dirk Ziegelmeier
0c673b6a44
Implement new style TCP dual-stack in netconn API
2016-03-02 23:46:22 +01:00
Dirk Ziegelmeier
e89b48d23f
raw.c: Avoid NULL pointer dereference
2016-03-02 23:44:51 +01:00
Dirk Ziegelmeier
f9ce31f98b
TCP: Implement dual stack support using new IP_ANY_TYPE introduced at UDP
2016-03-02 23:14:33 +01:00
Dirk Ziegelmeier
bd131e5e4b
ip_addr.h: Update ip_addr_copy macro to correctly copy new IP_ANY_TYPE address
2016-03-02 23:11:34 +01:00
Dirk Ziegelmeier
f3132c5290
udp: Fix possible NULL pointer dereference, update comments
2016-03-02 23:10:43 +01:00
Dirk Ziegelmeier
babb247e2a
SNMP MIB2: Fix temporary OID buffer size some tables have been too small
2016-03-02 23:09:51 +01:00
Dirk Ziegelmeier
cc4f94f415
lowpan6: Fix incorrect array bounds check (found by Coverity)
2016-03-02 19:45:15 +01:00
Dirk Ziegelmeier
9885d5d9f5
Apply patch from Simon to fix buffer overflow handling tcp_in.c which was discovered by Coverity
2016-02-29 23:34:52 +01:00
Dirk Ziegelmeier
8e5663a32f
Minor: Avoid ip_input() call indirection for when only IPv4 or IPv6 are enabled
2016-02-29 22:17:42 +01:00
Dirk Ziegelmeier
4bbfc3857a
Implement dual-stack in SNMP for netconn API
2016-02-29 19:31:19 +01:00
Dirk Ziegelmeier
5404ce3c0a
Implement support for UDP IP_ANY_TYPE in netconn API
2016-02-29 19:31:19 +01:00
Dirk Ziegelmeier
2289673a30
Implement support for IP_ANY_TYPE in SNMP
2016-02-29 19:31:19 +01:00
Dirk Ziegelmeier
6aed6e659f
Rework DHCP PCB handling: Old code registered one UDP PCB per netif where DHCP was active and there was a special case in udp_input() for this. New implementation uses one PCB for all netifs and removes special case in udp_input().
...
The old approach called udp_bind() on each of the PCBs, which puts them into udp_pcbs list. The PCBs were iterated on all non-DHCP udp_inputs() with no effect.
My cleanup removes the special handling in udp.c, and uses only one DHCP UDP PCB to catch all DHCP messages from all netifs. The dhcp_recv function then checks whether ip_current_input_netif() has DHCP enabled - if not, the message is ignored. The PCB is only created/registered when one or more PCBs have DHCP enabled.
2016-02-29 19:31:19 +01:00
Dirk Ziegelmeier
42c92f80f1
Add compatibility macro for udp_new_ip6()
2016-02-29 13:25:13 +01:00
goldsimon
fa16ee8dcb
cleaned up includes a bit after IPv6 changes
2016-02-29 09:27:59 +01:00
Dirk Ziegelmeier
70f3e5ed05
Cleanup: Create new file ip.c and move dual-stack code from ipv4 and ipv6 folder in there
2016-02-26 23:04:51 +01:00
Dirk Ziegelmeier
2dc8f59bf4
Fix compile when PPPOE is enabled
2016-02-26 22:50:44 +01:00
Dirk Ziegelmeier
d5778bad2f
No need for dual-stack code in ip4.c and icmp.c -> use ip4 only versions
2016-02-26 22:50:20 +01:00
goldsimon
81c8121551
minor: fixed compiler warning "unary minus operator is applied to an unsigned expression"
2016-02-26 15:23:04 +01:00
goldsimon
97b7555119
bring back ETHARP_HWADDR_LEN (if anyone uses it)
2016-02-26 14:21:03 +01:00
Dirk Ziegelmeier
a5214abd04
udp: udp_send and udp_send_chksum: Check for PCB NULL pointer and PCB must not be the new IP_ANY_TYPE, but a real IPv4 and IPv6 address
2016-02-26 09:20:50 +01:00
goldsimon
bf8bcfafe2
revert accidentally committed comment from a649a3eb50
2016-02-26 08:59:50 +01:00
Joel Cunningham
8cb64698aa
Allow backlog to be updated
...
This commit adds support to the sockets and netconn layer to update the
backlog by calling listen when the netconn is already in the listen state.
When backlog is not enabled, the call returns successfully
This commit also introduces a macro for setting the backlog value that
prevents a 0 sized (invalid) backlog
2016-02-25 15:19:52 -06:00
sg
163d7f9791
added ethernet.c to Filelists.mk
2016-02-25 22:11:16 +01:00
sg
a649a3eb50
dual-stack fix: moved common definitions/code for ethernet used by etharp and ethip6 to new files ethernet.h/.c
2016-02-25 22:10:28 +01:00
Joel Cunningham
2a8398dfb8
Fix bug in FIONREAD handling in LINUXMODE
...
Fix a bug in the socket API's ioctl for FIONREAD. If the socket's
lastdata was assigned the function returned without error but did not
update the argument pointer.
The cast type for argp was also changed to int to conform with the
other SO_RCVBUF handling.
2016-02-25 12:53:12 -06:00
Dirk Ziegelmeier
fd891081c4
minor: Cleanups in raw/tcp/udp code by using macros and reducing #ifdefs
2016-02-24 23:04:25 +01:00
Dirk Ziegelmeier
953b7bdd59
Implement UDP dual-stack PCB support
...
Create special IP address type "IPADDR_TYPE_ANY" for it.
SNMP uses new feature in non-netconn mode.
TODO: Same for TCP & RAW, adapt NETCONN to use this feature
2016-02-24 22:37:01 +01:00
sg
1dde3d6e56
Fixed bug #46524 : "Device as dhcp server does not work after upgrade to lwip-1.4.1"
2016-02-24 22:13:58 +01:00
sg
ec49b68b38
minor: udp_input/local_match: coding style, added comments
2016-02-24 22:04:59 +01:00
sg
68590c2b27
minor/coding style: lowpan6_opts.h: tabs->spaces, trim trailing spaces
2016-02-24 22:03:40 +01:00
Dirk Ziegelmeier
ac4b089b18
udp.c: Further udp_input simplifications
...
- Move local PCB matching code in a function that can be reused in SO_REUSE && SO_REUSE_RXTOALL case.
- Some checks have been written in the dual-stack version and then repeated with the ipv6-only version. Example:
IPv6 only: ip6_addr_ismulticast(ip6_current_dest_addr())
IPv4 AND IPv6: ip_addr_ismulticast(ip_current_dest_addr())
2016-02-24 19:57:20 +01:00
Dirk Ziegelmeier
005c196ed8
udp.c: Simplify and cleanup input PCB matching
2016-02-24 19:13:30 +01:00
Dirk Ziegelmeier
3b5803ec9a
sys.h: Avoid un #defined LWIP_COMPAT_MUTEX macro (usually #defined in arch/sys_arch.h)
2016-02-23 15:49:58 +01:00
Dirk Ziegelmeier
fd4a109ffa
lowpan6.c: Implement SNMP counters
2016-02-23 13:01:46 +01:00
Dirk Ziegelmeier
481d350bf3
lwip/stats.h: Add some comments to MIB2 variables to explain correct usage a bit
2016-02-23 12:08:31 +01:00
Dirk Ziegelmeier
d121ea84d0
Add note about 6LoWPAN in src/netif/FILES
2016-02-23 11:46:28 +01:00
goldsimon
a5ac41c203
lowpan6: fixed compiler warning when casting u16_t to u8_t
2016-02-23 11:28:54 +01:00
goldsimon
e4457335b8
minor: tried to fix coding style in lowpan6.c
2016-02-23 10:36:16 +01:00
Dirk Ziegelmeier
680f8f31ab
I don't know why I have a diff here (I guess line ending problems like in my last lowpan6.c commit)...
2016-02-23 10:20:05 +01:00
Dirk Ziegelmeier
6650eb4cd2
snmp_traps.c: Fix compile on Win32 - missing string.h include
...
Catch possible strlen returnvalue > 0xffff
2016-02-23 10:06:46 +01:00
Dirk Ziegelmeier
799fe7a5ba
Fix shadowing warning in lowpan6.c - found by Erik Ekman's Travis CI
...
https://travis-ci.org/yarrick/lwip-merged
2016-02-23 08:58:34 +01:00
Dirk Ziegelmeier
9a4d7b9956
Use netif_input_fn typedef instead of creating a new one in tcpip.h
2016-02-22 21:10:50 +01:00
Dirk Ziegelmeier
fe8d2ba72f
Eliminate tcpip_pppos_input function
2016-02-22 21:00:00 +01:00
Dirk Ziegelmeier
e90591bb78
Add note to CHANGELOG about 6LoWPAN
2016-02-22 20:46:15 +01:00
Dirk Ziegelmeier
e2a3565971
Initial import of Ivan Delamer's 6LoWPAN implementation with slight modifications to allow compiling in IPv6 only mode
2016-02-22 20:44:32 +01:00
Dirk Ziegelmeier
aeab047ede
slipif: Fix compile when only IPv6 is enabled
2016-02-22 20:43:32 +01:00
Dirk Ziegelmeier
777e667f08
Add generic tcpip_inpkt function that can be called to make last changes really usable
2016-02-22 20:18:10 +01:00
Dirk Ziegelmeier
fa6f068fd1
Eliminate TCPIP_MSG_INPKT_PPPOS message type.
...
Fix my last commit, I accidentally unchecked the wrong file in commit dialog
2016-02-22 17:47:01 +01:00
Dirk Ziegelmeier
439ae629e0
Change TCPIP INPKT API message to take a function pointer. Allows integration of other protocols without extending lwIP core (e.g. 6LoWPAN)
...
Remove unused sem member of struct tcpip_msg
2016-02-22 17:39:01 +01:00
Dirk Ziegelmeier
17fad79f71
Two compile fixes after eliminating isipv6 member in PCBs
2016-02-22 17:07:17 +01:00
Dirk Ziegelmeier
d8531a2407
Cleanup NETCONNTYPE_ISIPV6 macro
2016-02-22 13:55:27 +01:00
Dirk Ziegelmeier
c805843e64
Change signature of ip_output, ip_output_if, ip_output_if_src, ip_output_hinted, ip_route, ip_netif_get_local_ip, ip_route_get_local_ip and tcp_eff_send_mss not to take an isipv6 parameter. Use the IP version of the destination address instead.
2016-02-22 13:38:40 +01:00
Dirk Ziegelmeier
880f1008d6
Together with Simon: Eliminate last instances of isipv6 member in pcbs;
...
Don't allow NULL pointers (IPv4 ANY) in connect() and sendto() functions as destinations since this does not make sense.
2016-02-22 13:03:51 +01:00
Dirk Ziegelmeier
be9cd800b0
Review with Simon: Init TCP/UDP/RAW PCBs with correct IP types in _new functions to make my changes work correct
2016-02-22 11:16:13 +01:00
Dirk Ziegelmeier
0106cf7ae0
Review with Simon: Remove dead code (since 2003)
2016-02-22 10:18:19 +01:00
Dirk Ziegelmeier
50303eea23
Reduce PCB_ISIPV6 macro usage some more
2016-02-21 19:59:08 +01:00
Dirk Ziegelmeier
339e82d7aa
Eliminate IP_PCB_IPVER_EQ macro
2016-02-21 19:45:51 +01:00
Dirk Ziegelmeier
5a25652c21
Eliminate IP_PCB_IPVER_INPUT_MATCH macro
2016-02-21 19:21:36 +01:00
Dirk Ziegelmeier
8f675c37fc
Reduce usage of PCB IP version flag in UDP code. Maybe we can figure out a good way for dual-stack UDP when we manage to remove the flag (nearly) entirely from the code.
2016-02-20 20:54:58 +01:00
Dirk Ziegelmeier
5809b01388
Reduce usage of PCB IP version flag in raw and tcp code. Maybe we can figure out a good way for dual-stack UDP when we manage to remove the flag (nearly) entirely from the code.
2016-02-20 20:40:04 +01:00
Dirk Ziegelmeier
f104d68569
PPP: Init SNMP members of PPP netifs
2016-02-19 23:51:18 +01:00
Dirk Ziegelmeier
10edba936b
Fix tcp pcb access after it was freed in tcp.c - found by Coverity
2016-02-19 23:28:09 +01:00
Dirk Ziegelmeier
bbb5e99f25
Fix netconn access after it was freed in lwiperf - found by Coverity
2016-02-19 23:26:06 +01:00
Joel Cunningham
ea94549cb2
Optimize lwip_selscan()
...
This makes a couple of simple re-arrangements in lwip_selscan() that
should improve performance in the following ways:
1) The old code linearly walked all sockets to maxfd regardless of
whether they were set in the fd set. The process involved
acquiring sys arch protect, looking up the socket, and then
checking if the socket was present in any of the fd sets. On
systems with lots of sockets and a heavy SYS_ARCH_PROTECT
infrastructure (a mutex) this can result in a lot of extra work.
Now we skip this process for any fd that is not in the input sets
2) If the socket from tryget_socket() is NULL we no longer continue
and compare the input fd sets with a zeroed out set of events
3) We no longer need to zero out our event sets because they are
only accessed when tryget_socket() is successful
lwip_selscan() is called at most once per select call and sometimes up to three times
2016-02-18 13:17:45 -06:00
sg
9a97a80efc
Fixed bug #47154 lwip_netconn_do_writemore doesn't clear conn->write_offset on fatal/routing error.
2016-02-18 19:46:20 +01:00
goldsimon
e4cac595c2
Check TCP_SNDLOWAT for too high value (near u16_t overflow) - fixes bug #46948
2016-02-18 09:36:55 +01:00
Dirk Ziegelmeier
cf3d7def33
Let MIB compiler generate const structs, too (see last commit)
2016-02-17 08:14:16 +01:00
Dirk Ziegelmeier
24bc77a935
Found some struct instances that can be const
2016-02-16 22:31:59 +01:00
Joel Cunningham
9dd1c81d41
Update lwip_selscan documentation
...
lwip_selscan() documentation indicated exceptset is not used, which is no
longer accurate
2016-02-12 15:00:41 -06:00
Dirk Ziegelmeier
cddd3b552a
etharp.c: Make MAX_AGE of an ARP entry configurable
2016-02-11 09:38:17 +01:00
Dirk Ziegelmeier
5aa5563622
snmp_msg.c: Fix unchecked return value. Found by Coverity.
2016-02-10 21:57:57 +01:00
Dirk Ziegelmeier
09b850cc6f
snmp_threadsync.c: Fix ignored return value of mutex/semaphore creation. Found by Coverity.
2016-02-10 21:55:50 +01:00
Dirk Ziegelmeier
273d609bac
mem.c: Fix unintended sign extension (found by Coverity)
...
sign_extension: Suspicious implicit sign extension: count with type unsigned short (16 bits, unsigned) is promoted in count * size to type int (32 bits, signed), then sign-extended to type unsigned long (64 bits, unsigned). If count * size is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
2016-02-10 21:21:08 +01:00
Dirk Ziegelmeier
288b4564e4
DNS: Fix potential array out of bounds access. Variable nanswers may contain bogus values. (found by Coverity)
2016-02-10 20:41:31 +01:00
Dirk Ziegelmeier
78a36df901
Netconn: Fix potential NULL pointer dereference (found by Coverity)
2016-02-10 20:39:12 +01:00
Dirk Ziegelmeier
1c1587eef6
ICMP: Fix responses were always sent to default netif because of uninitialized source IP (found by Coverity)
2016-02-10 20:35:58 +01:00
Dirk Ziegelmeier
11b810721a
ICMP: Fix unused value in icmp_input (found by Coverity)
2016-02-10 20:34:44 +01:00
Dirk Ziegelmeier
e5eba61cf0
SNMP: Correctly name a global variable
2016-02-10 20:32:50 +01:00
Dirk Ziegelmeier
54a2c13b2e
SNMP: Fix compile in dual-stack configuration
2016-02-06 00:21:06 +01:00
Dirk Ziegelmeier
b2410e428a
SNMP: Remove comment about traps in README
2016-02-04 16:22:43 +01:00
Dirk Ziegelmeier
208f24a20c
SNMP: Add some comments in thread sync code
2016-02-04 16:20:46 +01:00
Dirk Ziegelmeier
8cd33a5e41
SNMP: Implement basic SNMPv1 traps; Remove IPv6 support in RAW API again until there is a clean solution for dual-stack UDP
2016-02-04 16:19:59 +01:00
Dirk Ziegelmeier
905a434179
snmp_pbuf_stream: Reduce code duplication. Most is already implemented in lwIP pbuf framework.
2016-02-03 08:39:41 +01:00
Dirk Ziegelmeier
222155d7e2
pbuf: Make pbuf_skip function public, so it can be used in SNMP code
2016-02-03 08:37:04 +01:00
Dirk Ziegelmeier
28549e35fe
SNMP: Update threadsync not to use mem_malloc - memory can be instantiated statically since it is only needed once per threadsync instance
2016-02-02 22:31:59 +01:00
Dirk Ziegelmeier
8f6cfa8769
Private mempools: Add missing include for LWIP_MEM_ALIGN_SIZE in memp_priv.h
2016-02-02 22:28:21 +01:00
Axel Lin
f411a34af5
stats: Add proper #if guard to prevent unused-variable warning for memp_names
...
The usages of memp_names are under either LWIP_DEBUG in stats_init,
or under LWIP_STATS_DISPLAY in stats_display_memp.
Fix below build warning:
lwip/src/core/stats.c:53:21: error: 'memp_names' defined but not used [-Werror=unused-variable]
static const char * memp_names[] = {
^
cc1: all warnings being treated as errors
Reported-by: David Fernandez
Fixes: 2f2a75a6d9fd ("stats: Move memp_names table out of stats_init/stats_display_memp functions")
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-31 13:48:38 +01:00
Philipp Toelke
1de8d432d4
httpd: fix sending of data from send_headers
2016-01-29 09:26:29 +01:00
Axel Lin
515a4cad73
Clear addr_hint pointer after calling ip_output_if() in tcp_zero_window_probe()
...
This was missed in commit aa0e41c389
("task #12178 : hardware checksum capabilities can be configured per netif"),
fix it.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-29 09:21:58 +01:00
Sylvain Rochet
4beacc4ca0
PPP, VJ, fixed TCP retransmission
...
We used to modify in place the packet payload during compression but TCP
stack requires that we don't change the packet payload, therefore we now
copy the whole packet before compression.
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-24 20:07:54 +01:00
Sylvain Rochet
9c7231ee75
PPP, VJ, move pbuf length check so all TYPE_IP return value are within the same code block
...
Prepare for VJ packet copy, reorder a bit VJ compressor so all TYPE_IP
return value are within the same code block. We do that because we don't
need to copy the packet if we are not able to compress it.
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-24 19:36:19 +01:00
Sylvain Rochet
e31902dc4c
PPP, prepare for chained compressors (e.g. VJ+MPPE) requiring packet copy
...
lwIP TCP stack requires that we don't change the packet payload in netif
output functions in order to resend the pbuf if we don't receive a TCP
ACK in time, therefore we copy the whole packet before compression or
encryption.
It gets tricky because we should keep track of whether we previously
copied the buffer in PPP output netif function in order to free the
previous pbuf if necessary, BUT the first pbuf passed to the netif
output function must not be freed.
The worst case is VJ compression followed by MPPE encryption, in this
case we should free the packet allocated by VJ compressor after MPPE
encryption and we should free the packet allocated by MPPE encrypter
after calling the PPP low level output function.
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-24 17:48:57 +01:00
Sylvain Rochet
53853a25b0
PPP, report full packet size in VJ debug output
...
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-24 02:16:03 +01:00
Sylvain Rochet
858bce7b4e
PPP, VJ, code cleaning
...
Using lwIP types instead of u_ types.
Removed useless register modifier on variable.
Removed trailing spaces.
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-24 01:38:26 +01:00
Sylvain Rochet
77d355560f
PPP, VJ, fix header offset calculation on LP64/ILP64 systems
...
long type on LP64/ILP64 systems (such as x86_64 on Linux) is 8 byte
long, this leads to wrong offsets in packets header calculation.
Fixed it by using u32_t lwIP type instead of long type.
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-24 01:38:26 +01:00
Sylvain Rochet
733758a909
tcp: fixed TCPH_UNSET_FLAG macro
...
This macro is only used by VJ support in PPP and was always wrong since
its introduction in commit e4a6d199fe . It's almost only used to clear
the PSH TCP flag when necessary. This flag was probably less common
about a decade ago so that would be the reason why it goes unnoticed for
so long.
Fixes: e4a6d199fe "Merged from DEVEL into main tree."
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-24 01:38:26 +01:00
Dirk Ziegelmeier
90df2111b7
SNMP: Add missing closing braces in #ifdef __cplusplus case
2016-01-22 13:28:11 +01:00
Stephan Linz
31732631fc
PPP: CCP: add error debug messages for dropped packets due to missing transmit or receive CCP method
...
It might be difficult to investigate the reason of dropped packets when
there is no debug notification of what is happening, thus, add error
debug messages for dropped packets due to missing transmit or receive
CCP method.
Signed-off-by: Stephan Linz <linz@li-pro.net >
[gradator@gradator.net: improved messages]
Signed-off-by: Sylvain Rochet <gradator@gradator.net>
2016-01-20 21:55:37 +01:00
Sylvain Rochet
c4d78e6422
PPP, PPPoL2TP, fix double free of L2TP pcb in pppol2tp_create error path
...
ppp_free() calls the low level protocol destroy function, pppol2tp_destroy()
here, which freed the l2tp pcb, followed by pppol2tp_create which also freed
the pcb.
Fixing it by reordering the L2TP init so we don't have to call ppp_free()
anymore.
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-20 21:12:37 +01:00
Wayne Uroda
52463fa25b
PPP, PPPoS, fix dereference of uninitialised pppos->in_head pointer
...
When I create a new PPP connection, I am seeing a hardfault (segfault)
coming from pbuf_free.
I traced the problem to an invalid in_head field of the pppos_pcb structure.
The field is invalid because the memory is never cleared to zero after the
pppos_pcb structure is created in pppos_create().
I was able to fix the issue by adding a memset after the memp_malloc call.
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-20 20:50:08 +01:00
Joel Cunningham
96373f6959
Define LWIP_CHKSUM_COPY_ALGORITHM when port provides LWIP_CHKSUM_COPY macro
...
When the port has LWIP_CHECKSUM_ON_COPY enabled and provides
a definition of LWIP_CHKSUM_COPY, the existing logic left
LWIP_CHKSUM_COPY_ALGORITHM undefined
In this case we want it to be defined to 0 since none of the copy
checksum algorithms provided are being used
This commit also introduces indentation matching LWIP_CHKSUM to
improve the readability of the code
2016-01-20 11:34:25 -06:00
Joel Cunningham
0a67c06b51
Fix type on snmp_set_test_ok to be snmp_err_t
...
This function was returning values from snmp_err_t but wasn't
upgraded to using the typedef after commit babce70
This resulted in compilation failure on MSVC 2013
2016-01-20 11:18:35 -06:00
Dirk Ziegelmeier
babce70c95
SNMP: Convert SNMP error #defines to an enum and fix type mismatches discovered by conversion; Convert SNMP_NEXT_OID_STATUS to an enum
2016-01-20 10:53:59 +01:00
Dirk Ziegelmeier
4cf509989f
SNMP: Fix variable naming in snmp_pbuf_stream
2016-01-20 10:53:15 +01:00
Sylvain Rochet
6185bf6f61
PPP: CCP: don't drop output packets if CCP negotiated that we don't compress on our side
...
CCP might negotiate to not compress if peers cannot agree on a
compressor, therefore if the null compressor is chosen we must pass
packets as is instead of dropping them.
Reported-by: Stephan Linz <linz@li-pro.net >
Fixes: 987f6237c4 "PPP, MPPE, drop input/output packets if we couldn't find the chosen decompressor/compressor"
Signed-off-by: Sylvain Rochet <gradator@gradator.net >
2016-01-19 23:51:47 +01:00
Stephan Linz
2c31beb6e7
IPv4: fix some meaningless debug messages
...
Signed-off-by: Stephan Linz <linz@li-pro.net >
2016-01-18 21:34:13 +01:00
Stephan Linz
9f3270afaf
PPP: fix typo in debug message
...
Signed-off-by: Stephan Linz <linz@li-pro.net >
2016-01-18 21:33:17 +01:00
Axel Lin
fe2cfe2dba
raw: Fix build error
...
IP6_HLEN is only defined when LWIP_IPV6, IP_HLEN is only defined when LWIP_IPV4.
This fixes build error in !LWIP_IPV4 || !LWIP_IPV6 cases.
Fixes: f2c7e9c939 ("raw: Remove unnecessary #if guard around PCB_ISIPV6() calls")
Reported-by: Erik Ekman
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-18 16:02:01 +01:00
Sylvain Rochet
1ee574944c
PPP, Documentation, fixed mistake about pppos_input_sys
...
Woops, pppos_input_sys is an internal function which must not be called
from lwIP user application. The correct function to use is
pppos_input_tcpip.
2016-01-18 12:45:40 +01:00
Stephan Linz
80375e68dd
ip_frag: fix compiler warnings, unused variable
...
In case of IP_REASS_FREE_OLDEST==0, the argument clen of
ip_reass_enqueue_new_datagram() will not used and leads
the compiler to a warning.
Signed-off-by: Stephan Linz <linz@li-pro.net >
2016-01-18 11:55:54 +01:00
Stephan Linz
289d1dd7f3
slipif: fix several compiler warnings
...
- include new SNMP header
- add missing pointer type casting
- add missing default cases
- use const for all ip address types
- distinguish between IPv4 and IPv6 address types
Signed-off-by: Stephan Linz <linz@li-pro.net >
2016-01-18 11:55:32 +01:00
Axel Lin
f2c7e9c939
raw: Remove unnecessary #if guard around PCB_ISIPV6() calls
...
PCB_ISIPV6() macro is well defined for all cases (LWIP_IPV4 && LWIP_IPV6,
LWIP_IPV4 only and LWIP_IPV6 only), thus remove the unnecessary #if guard
around PCB_ISIPV6() calls.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-18 11:55:06 +01:00
Dirk Ziegelmeier
dc36dbac27
SNMP MIB2: Add unsupported snmpSilentDrops and snmpProxyDrops objects
2016-01-15 11:46:35 +01:00
Dirk Ziegelmeier
d9534325cf
SNTP: Add function to get operating mode
2016-01-15 11:41:12 +01:00
Axel Lin
c221361874
stats: Move memp_names table out of stats_init/stats_display_memp functions
...
This makes the code simpler with better readability.
Also make memp_names static because it's only referenced by stats.c.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-15 11:38:03 +01:00
Axel Lin
70ebeda7ed
memp: Simplify implementation of memp_overflow_check_all
...
We don't really care the order of overflow/underflow checking because if
any checking fails we got assertion.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-15 11:38:02 +01:00
Joel Cunningham
11faa8149e
Fix blocking close with LWIP_SO_SNDTIMEO
...
This fixes a bug in close when LWIP_SO_SNDTIMEO is enabled, but
the option is not in use on the socket
A simple mis-typed comparison against zero would cause the close_timeout
to get set to zero if conn->send_timeout was 0
The intended check was to over-ride the default close timeout if a
send timeout had been specified via SO_SNDTIMEO
2016-01-13 22:20:52 +01:00
Dirk Ziegelmeier
70487a43d4
Apply patch #8854 : dns: Simplify #ifdef guard around dns_gethostbyname_addrtype from Axel Lin
...
+ Minor compile fix from me
Patch makes the code a tiny bit less lightweight (add a parameter in dns_gethostbyname which is then not used in dns_gethostbyname_addrtype) but it makes the code more readable.
2016-01-13 19:52:08 +01:00
Axel Lin
a93ae2558f
tcp_rexmit_rto: Remove superfluous #if TCP_OVERSIZE guard
...
TCP_OVERSIZE_DBGCHECK already implies TCP_OVERSIZE is set.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-13 19:07:08 +01:00
Dirk Ziegelmeier
c2ba9129ad
SNMP: Fix InetAddress octet string encoding (length was missing)
2016-01-13 13:04:37 +01:00
Axel Lin
c2a74b767b
udp_bind: Omit checking for the same port if no port specified
...
No port specified means to use a random port.
udp_new_port() returns a new (free) local UDP port number on success.
So in this case we don't need iterating all lists to test if the port
number is used, udp_new_port() alreay ensures the port is not used.
Move the code checking for double bind and rebind of the same pcb earlier,
as this checking is necessary in all cases.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-13 09:05:36 +01:00
Dirk Ziegelmeier
123c8dbd6a
Fix bug #46837 Don't send dhcp_release message in dhcp_release function
2016-01-13 08:54:54 +01:00
Dirk Ziegelmeier
40ff62fa60
SNMP MIB Compiler: Update project settings, fix wrong output path in SharpSnmpLib
2016-01-12 08:40:12 +01:00
Dirk Ziegelmeier
84397ef013
SNMP MIB Compiler: Treat read-create nodes as read-only
2016-01-11 20:28:01 +01:00
Dirk Ziegelmeier
a2b7cec17b
SNMP MIB Compiler: Add example command line to compile UDP-MIB
2016-01-11 20:15:17 +01:00
Dirk Ziegelmeier
e80e7a10d4
SNMP MIB Compiler: Resolve MIB files in a case-insensitive way
2016-01-11 20:14:54 +01:00
Dirk Ziegelmeier
8c4d1909f4
SNMP MIB Compiler: Deal with multiple OID assignments in a MIB file
2016-01-11 19:45:57 +01:00
Dirk Ziegelmeier
bb8ecd7e08
SNMP: Add some basic MIBs
2016-01-11 19:45:25 +01:00
Dirk Ziegelmeier
a7e1c730b2
Add .userprefs file to .gitignore
2016-01-11 19:23:09 +01:00
Dirk Ziegelmeier
6f1fc6c403
Add .gitignore (currently including SNMP MIB compiler binaries)
2016-01-11 19:21:06 +01:00
Axel Lin
9f3aab6a62
tcp_out: Use LWIP_DBG_LEVEL_SERIOUS instead of hard coded number
...
Trivial clean up to avoid using hard coded number.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-11 13:22:51 +01:00
Dirk Ziegelmeier
44256740bd
SNMP MIB Viewer: Adapt to changes in SNMP framework that were required to compile UDP-MIB and TCP-MIB
2016-01-11 12:25:47 +01:00
Axel Lin
156ad0dbf5
udp_bind: Fix the logic to check both pcbs have REUSEADDR set
...
The code for #if SO_REUSE case does not match the comment.
By default, we don't allow to bind to a port that any other udp
PCB is already bound to, unless *all* PCBs with that port have tha
REUSEADDR flag set.
Which means we want to omit checking for the same port if both pcbs
have REUSEADDR set. Fix the logic accordingly.
Fixes: d0348e0c60 ("task #6995 : Implement SO_REUSEADDR (correctly)")
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-11 12:19:13 +01:00
Axel Lin
5056d375f2
tcp_bind/tcp_connect: Omit checking for the same port if no port specified
...
No port specified means to use a random port.
tcp_new_port() returns a new (free) local TCP port number on success.
So in this case we don't need iterating all lists to test if the port
number is used, tcp_new_port() alreay ensures the port is not used.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-11 12:16:27 +01:00
Dirk Ziegelmeier
b68e801975
MIB compiler: Eliminate the need for a cast
2016-01-11 10:32:33 +01:00
Dirk Ziegelmeier
987f0e3016
Update SNMP README - add correct SharpSnmpLib reference
2016-01-11 10:26:37 +01:00
Dirk Ziegelmeier
713deba83f
SNMP MIB compiler: Add ability to generate UDP-MIB and TCP-MIB
2016-01-11 10:24:31 +01:00
Dirk Ziegelmeier
b9d0d80946
SNMP: Add more MIB compiler info
2016-01-09 14:35:51 +01:00
Dirk Ziegelmeier
84cd489d24
SNMP: Add MIB compiler (code generator)
2016-01-09 12:39:48 +01:00
Axel Lin
708beb4874
udp_bind: Allocate a random port earlier to correctly detect port conflict
...
Current code does not correctly detect port conflict if no port specified
because it checks ipcb->local_port == port before udp_new_port().
Fix it by allocating a random port earlier.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-09 10:14:09 +01:00
Dirk Ziegelmeier
4e8574bd23
SNMP: Table API cleanup
2016-01-07 09:53:25 +01:00
Dirk Ziegelmeier
fbdfba2509
SNMP: Found the correct cause of a memory leak
2016-01-07 09:52:13 +01:00
Dirk Ziegelmeier
e033866651
Merge branch 'master' of ssh://git.sv.gnu.org:/srv/git/lwip
2016-01-05 10:00:21 +01:00
Dirk Ziegelmeier
76094b8c7e
SNMP: SMEMCPY should only be used when size is known at compile time
2016-01-05 09:59:42 +01:00
Dirk Ziegelmeier
e336f877c2
Merge branch 'master' of ssh://git.sv.gnu.org:/srv/git/lwip
2016-01-04 21:27:39 +01:00
Dirk Ziegelmeier
7f699b36ff
Update some MIB2 comments
2016-01-04 21:27:24 +01:00
Dirk Ziegelmeier
e041b9a51c
SNMP: Fix shadowing warning in another file. Pointed out by Erik Ekman.
2016-01-04 13:30:02 +01:00
Dirk Ziegelmeier
0a222a2ff7
SNMP: Fix shadowing warning pointed out by Erik Ekman
2016-01-04 12:31:09 +01:00
Axel Lin
031de097db
Trivial comment fix for lwip_netconn_do_disconnect()
...
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2016-01-04 11:54:21 +01:00
Dirk Ziegelmeier
d4361fc7d7
snmp_traps.c: #if 0 ... #endif around C++ style comments does not work - remove the code completely for now
2016-01-04 11:41:17 +01:00
Dirk Ziegelmeier
44617bfa9b
Fix compile of SNMP on MSVC
2016-01-04 11:26:36 +01:00
Dirk Ziegelmeier
6352106aaa
Fix C++ style comment in snmp_asn1.h
2016-01-04 11:05:44 +01:00
Dirk Ziegelmeier
7412a0e74e
SNMP: Move common MIB code into snmp_core.c helper functions
2016-01-02 21:29:01 +01:00
Dirk Ziegelmeier
19d17adcfb
SNMP MIB2: Implement tcpConnectionTable
2016-01-02 20:55:14 +01:00
Dirk Ziegelmeier
e1e7a704e1
SNMP MIB2: Implement tcpListenerTable
2016-01-02 20:06:53 +01:00
Dirk Ziegelmeier
19dd6c391f
SNMP MIB2: Update UDP endpoint table variable names
2016-01-01 23:09:54 +01:00
Dirk Ziegelmeier
c5cab4e719
SNMP RAW API: Listen on IPV6 UDP port, too
2016-01-01 22:59:00 +01:00
Dirk Ziegelmeier
b48f6d1405
Add comment about udpEnpointTable non-accessible columns
2016-01-01 22:00:39 +01:00
Dirk Ziegelmeier
c466f8824f
SNMP: Finish implementing UDP-MIB. Add unsupported udpHCInDatagrams and udpHCOutDatagrams items.
2016-01-01 21:58:51 +01:00
Dirk Ziegelmeier
2b16cd93bf
SNMP: Another release_instance call bugfix in SNMP Get/GetNext requests
2016-01-01 20:58:02 +01:00
Dirk Ziegelmeier
0c39165701
SNMP: Two bugfixes in SNMP GET requests
2016-01-01 20:44:16 +01:00
Dirk Ziegelmeier
9d1234d83a
Add some comments and OID checks to udpEndpointTable
2015-12-31 16:19:26 +01:00
Dirk Ziegelmeier
dfaa979b99
Start working on udpEndpointTable
2015-12-31 16:13:45 +01:00
Dirk Ziegelmeier
611966de63
SNMP: Cleanup snmp IP helper functions, add IPv6 support
2015-12-29 22:06:23 +01:00
Dirk Ziegelmeier
4341df4094
SNMP: Fix compile when IPV4 is not enabled
2015-12-28 22:28:01 +01:00
Dirk Ziegelmeier
83f8ec1397
Some SNMP MIB2 code layout cleanups
2015-12-28 21:37:17 +01:00
Dirk Ziegelmeier
fdd98879bf
C-Style comments only, please
2015-12-26 12:17:07 +01:00
Dirk Ziegelmeier
406f707d9a
Add SNMP agent note in CHANGELOG
2015-12-26 12:04:45 +01:00
Dirk Ziegelmeier
5e34b8736a
Minor SNMP compile and comment fix
2015-12-26 12:02:16 +01:00
Dirk Ziegelmeier
7b946fa9b1
SNMP agent rewrite
...
- SNMPv2c support
- Greatly reduced RAM usage, no memory pools any more
- API cleanup
- MIB2 is separated from SNMP stack
- Support for multiple MIBs (snmp_set_mibs call) - e.g. for private MIB
- Improved MIB2 implementation (tcpConnTable etc.)
- Redesigned simple and generic API for MIB implementation
- Comfortable node types for scalar arrays and tables
- Counter64, bit and truthvalue datatype support
- Callbacks for SNMP writes
- Runs on two APIs: RAW and netconn
- Async API is gone - the stack now supports netconn API instead,
so blocking operations can be done in MIB calls.
SNMP runs in a worker thread when netconn API is used.
- Simplified thread sync support for MIBs - useful when MIBs
need to access variables shared with other threads without locking
(used in MIB2 to access lwIP stats from lwIP thread)
Currently in work:
- Traps rewrite
- MIB compiler
2015-12-26 11:43:29 +01:00
Dirk Ziegelmeier
0178d1d2ee
Add missing comment for MIB2 callbacks in opt.h
2015-12-09 21:06:14 +01:00
Dirk Ziegelmeier
0c06f09d6d
makefsdata.c: Adapt to new header include location
2015-12-09 12:48:02 +01:00
Joel Cunningham
a82c6122d5
Correct comment word usage in ip4_frag.c
...
This corrects word usage in ip4_frag.c:
* 'On' was used when it should have been 'one'
* 'Whole' was used when it should have 'hole'
2015-12-08 10:13:56 -06:00
Axel Lin
2e56f2d780
igmp: Optimize the implementation of igmp_start_timer
...
When LWIP_RAND is defined, calling LWIP_RAND() is not necessary if max_time <= 2
because group->timer will be set to 1 anyway.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-06 21:47:09 +01:00
Axel Lin
2562d637cd
tcp_out: Use LWIP_DBG_LEVEL_SERIOUS instead of magic number
...
Trivial clean up to avoid using magic number.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-06 21:38:12 +01:00
Dirk Ziegelmeier
f69b1841e0
Fix compile when netconn api is disabled but socket api is enabled.
...
Problem is that declaring functions as static in a public header will produce warnings in every file it is included because the static functions are not implemented.
Solution: When socket api is enabled, netconn is simply available, too
(Socket api uses netconn api internally)
2015-12-05 21:58:38 +01:00
Axel Lin
a3bccae173
Catch tcpip_callback call failure
...
tcpip_callback_with_block() can fail with ERR_MEM or ERR_VAL, and in the
error paths the code does not post the msg to the mailbox thus the
sys_sem_wait() call might wait forever. Fix it by testing return value of
tcpip_callback() and return error immediately.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-05 21:41:27 +01:00
Axel Lin
a21144b834
memp: Fixup LWIP_HOOK_MEMP_AVAILABLE() hook
...
I got below build warning if LWIP_HOOK_MEMP_AVAILABLE is defined.
src/core/memp.c: In function 'memp_free_pool':
src/core/memp.c:352:16: warning: variable 'old_first' set but not used [-Wunused-but-set-variable]
struct memp *old_first;
^
src/core/memp.c: In function 'memp_free':
src/core/memp.c:413:6: warning: 'old_first' may be used uninitialized in this function [-Wmaybe-uninitialized]
if (old_first == NULL) {
The LWIP_HOOK_MEMP_AVAILABLE() hook does not work, fix it.
Fixes: c838e1ed5b ("Implement possibility to declare private memory pools")
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-05 21:32:14 +01:00
Axel Lin
7f92660598
icmp: Fix memory leak in icmp_input() error paths
...
Ensure the newly allocated packet buffer is freed in error paths.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-05 21:25:15 +01:00
Axel Lin
3b60c855e1
netbuf: Move #include "lwip/opt.h" out of #if LWIP_NETCONN || LWIP_SOCKET guard
...
LWIP_NETCONN and LWIP_SOCKET are defined in opt.h,
so move #include "lwip/opt.h" out of #if LWIP_NETCONN || LWIP_SOCKET guard.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-05 21:22:34 +01:00
Axel Lin
a709041b8b
Remove unnecessary p->len checking for pbuf_alloc calls with PBUF_RAM type
...
pbuf_alloc() for PBUF_RAM type always return big enough memory on success.
So checking p->len is not necessary. Testing if p is NULL or not is enough.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-05 21:21:59 +01:00
Dirk Ziegelmeier
8bb27ba8c4
Forgot to remove two SNMP options from opt.h that are now in lwip/apps/snmp_opts.h
2015-12-03 13:51:59 +01:00
Axel Lin
bd4c4b5959
Use SYS_ARCH_SET macro at appropriate places
...
Use SYS_ARCH_SET to simplify the code a bit.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-02 22:51:08 +01:00
Axel Lin
fb6d0f9006
ipaddr_aton: Avoid duplicate code to handle IPv4 address string conversion
...
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-02 22:51:00 +01:00
Axel Lin
6e863ecb50
dns: Remove always true test in dns_alloc_random_port
...
The only way to exit the do-while loop is err != ERR_USE.
Thus get rid of the always true test.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-02 22:37:26 +01:00
Axel Lin
764bf251cd
igmp: Drop unneeded initialization for *group in igmp_lookup_group()
...
It's assigned to the return value of igmp_lookfor_group() immediately.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-02 22:32:50 +01:00
Axel Lin
91586bc6f6
Drop #if TCP_DEBUG guard around tcp_debug_print_state calls
...
The #if TCP_DEBUG guard can be removed because tcp_debug_print_state()
print nothing if !TCP_DEBUG.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-12-02 22:32:42 +01:00
Axel Lin
f971fb921e
Simplify testing minimum priority in tcp_kill_prio()
...
Simplify the code a bit by setting mprio = LWIP_MIN(TCP_PRIO_MAX, prio)
before the for loop.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-11-20 21:41:14 +01:00
Axel Lin
c730e45f0c
Trivial comment fix about calling tcp_slowtmr
...
Trivial typo fix.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-11-20 21:36:38 +01:00
Axel Lin
5c27429958
memp: Fix if MEMP_OVERFLOW_CHECK guard in memp_free_pool
...
Current code already checks memp_overflow_check_all() in memp_free() if
MEMP_OVERFLOW_CHECK >= 2. So in memp_free_pool(), it should use
MEMP_OVERFLOW_CHECK == 1 instead.
Fixes: c838e1ed5b ("Implement possibility to declare private memory pools")
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-11-19 22:06:42 +01:00
goldsimon
8010d6706e
fixed bug #46471 : lwip_accept() leaks socket descriptors if new netconn was already closed because of peer behavior
2015-11-19 07:33:55 +01:00
Axel Lin
9c6708513a
Drop unnecessary NULL test for h->next->next in memp_sanity
...
The h will point to NULL if h->next->next is NULL anyway.
So remove the unnecessary NULL test for h->next->next in each iteration.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-11-19 07:23:55 +01:00
Axel Lin
21b9b5e741
Slightly improve raw_remove()/udp_remove() implementation
...
There should be no duplicate pcb in raw_pcbs/udp_pcbs list.
So the implementation of raw_remove()/udp_remove() can break from the for
loop once the target pcb is found and removed from the list.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-11-19 07:21:00 +01:00
Dirk Ziegelmeier
3f49b85680
Update header include guard naming of all apps headers
...
Unbreak compilation, lwip/apps/snmp.h guard clashed with lwip/snmp.h
2015-11-18 20:21:56 +01:00
Dirk Ziegelmeier
65bb7a623c
snmp.h: Add missing #if around function prototypes
2015-11-18 08:18:04 +01:00
Dirk Ziegelmeier
4293c1e138
snmp.h: Fix header include guard
2015-11-18 08:08:37 +01:00
Dirk Ziegelmeier
b8e94ec066
lwiperf: TX buffer can be static
2015-11-18 07:52:04 +01:00
Dirk Ziegelmeier
e15872982e
Add iperf to apps;
...
Fix compile of lwiperf.c
2015-11-18 07:46:39 +01:00
Dirk Ziegelmeier
e4f7ddacb3
Add Filelists.mk file containing all LWIP files. May be useful for client projects.
2015-11-16 21:54:01 +01:00
Dirk Ziegelmeier
c69dede728
Move httpd from contrib to main git repository
2015-11-16 12:27:24 +01:00
Dirk Ziegelmeier
39370db55d
Implement API function to iterate over stable ARP table entries
2015-11-16 09:53:23 +01:00
Dirk Ziegelmeier
73bb986737
Also fix compile of ethernetif.c after SNMP refactoring
2015-11-16 09:49:32 +01:00
goldsimon
98b9d31f24
Fixed compiling with LWIP_TCP==0
2015-11-16 09:37:56 +01:00
Axel Lin
ecf9d25ed0
api_msg_c: remove superfluous NETCONN_SET_SAFE_ERR call before TCPIP_APIMSG_ACK
...
The TCPIP_APIMSG_ACK will call NETCONN_SET_SAFE_ERR for both
LWIP_TCPIP_CORE_LOCKING and !LWIP_TCPIP_CORE_LOCKING cases.
So remove superfluous NETCONN_SET_SAFE_ERR call before TCPIP_APIMSG_ACK.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-11-16 09:12:29 +01:00
Axel Lin
668d461104
dns: Fix dns_alloc_pcb for reuse an existing one case
...
The logic to use an already existing pcb is wrong because the idx never
advanced in the for loop, so it keep checking the same dns_pcbs[idx] for
each loop iteration. Fix it.
Signed-off-by: Axel Lin <axel.lin@ingics.com >
2015-11-16 09:09:31 +01:00
Dirk Ziegelmeier
29553ba7a1
Add note about moved SNMP stack to CHANGELOG
2015-11-14 22:08:31 +01:00
Dirk Ziegelmeier
cacbd596c9
Move some prototypes from snmp_msg.h to snmp.h because they are used by user code
2015-11-14 19:50:57 +01:00
Dirk Ziegelmeier
6203737093
Rename snmp_mib2.h to snmp.h so source compatibility for user netif implementations is preserved
2015-11-12 21:25:42 +01:00
Dirk Ziegelmeier
5f642eb3e3
Completely decouple SNMP stack from lwIP core by using private memory pools;
...
Move SNMP stack to apps;
API breaking change: Users need to call snmp_init() now!
2015-11-12 21:21:14 +01:00
goldsimon
92a241a29e
Fixed bug #46365 : tcp_accept_null() should call tcp_abort()
2015-11-12 10:40:49 +01:00
Dirk Ziegelmeier
c838e1ed5b
Implement possibility to declare private memory pools. This is useful to decouple some apps from the core (SNMP stack) or make contrib app useage simpler (httpserver_raw) .
2015-11-12 08:45:04 +01:00
Dirk Ziegelmeier
d38db89626
Export tcp_pcb_lists from tcp.c - can be used in SNMP code to implement MIB2 tcp connection tables
2015-11-12 08:09:44 +01:00
Dirk Ziegelmeier
3f0b1e2cdc
Remove global variable used in macros, it can be declared locally.
2015-11-12 08:07:22 +01:00
sg
f518c6578c
fixed bug #46321 : Synchronization bug around lwip_select() and tcpip_thread() with thread-local semaphores
2015-10-29 22:20:21 +01:00
sg
2dec8f449a
minor: fixed typo: even_callback -> event_callback
2015-10-29 22:18:41 +01:00
Joel Cunningham
1ef913cd36
Update snd_queuelen comment documentation
...
This commit updates the snd_queuelen comment documentation to reflect
that snd_queuelen tracks the number of pbufs currently in the send
buffer (unsent + unacked queues) rather than the number of pbufs
available in the buffer (which was what previous comment implied)
2015-10-26 09:33:39 -05:00
Joel Cunningham
affc6d61ca
Update socket options comments
...
This commit updates socket option comments to reflect which ones are
currently supported:
* SO_REUSEPORT is no longer implemented
* SO_SNDTIMEO is implemented
2015-10-16 13:18:39 -05:00
sg
f278b27119
pppapi/ppos: include tcpip_priv.h, not tcpip.h
2015-10-11 13:37:25 +02:00
Sylvain Rochet
37bb0b89f0
all: trivial include changes related to the new "lwip/priv/" include directory
2015-10-10 22:46:47 +02:00
sg
02bddd251a
re-added tcpip.h (removed because the better part of the file moved to "priv/tcpip_priv.h", which was more worth conserving the git history - how do you duplicate a file keeping its history in both copies??)
2015-10-09 22:00:32 +02:00
sg
c12fa7b4c4
started to move "private" header files containing implementation details to "lwip/priv/" include directory to seperate the API from the implementation.
2015-10-09 21:58:58 +02:00
sg
b32751a693
moved dhcp.c to src/core/ipv4/ since it is IPv4 only
2015-10-09 21:06:08 +02:00
sg
fc1db87318
Fixed compiling api with LWIP_NETCONN_SEM_PER_THREAD==1 && LWIP_MPU_COMPATIBLE==1
2015-10-09 21:00:21 +02:00
sg
365f3fb651
Make LWIP_RAW==0 the default, raw IP sockets/pcbs should not be too common to justify the increased codesize for default setups
2015-10-09 20:47:32 +02:00
sg
a7ee681515
netbios -> netbiosns, added netbiosns_opts.h, added netbiosns_set_name() and netbiosns_stop()
2015-10-08 22:13:00 +02:00
sg
b02bcde8e0
added netbios name server from contrib (-> netbiosns)
2015-10-08 22:05:55 +02:00
sg
bef5ccda0b
removed spaces at line ending, fixed include guard
2015-10-08 21:46:43 +02:00
sg
a2cd2ae5a8
lwiperf: fixed const-cast warning
2015-10-08 21:22:35 +02:00
sg
698e20a990
Added lwiperf, a simple ipv4/tcp iperf peer
2015-10-08 21:14:14 +02:00
sg
b6ad76fe1a
fixed header include guard, fixed FILES
2015-10-08 21:13:42 +02:00
sg
22957a8082
added sntp_opts.h (all options for the sntp app), added FILES to describe the include folder
2015-10-07 22:24:32 +02:00
sg
8dfd5e82cb
first 'app': added SNTP client from contrib (unmodified from 196cbae376dfd484b4833503dd43057b4c3462fa, 28.08.2015)
2015-10-07 22:16:48 +02:00
goldsimon
65efeec4e9
fixed bug #46145 tcp_send_empty_ack() uses wrong netif with LWIP_HOOK_IP4_ROUTE_SRC (patch by Milan Cermak)
2015-10-07 14:56:25 +02:00
goldsimon
15bb334e81
SNMP: use PBUF_RAM for sending, PBUF_POOL is mostly used for RX only (if this isn't followed, tcp can get stuck when ACKs don't come through - unless some PBUF_POOL pbufs are reserved for such RX)
2015-10-07 10:41:03 +02:00
goldsimon
77f906376e
minor: fixed coding style (lwip style)
2015-10-07 10:36:50 +02:00
goldsimon
9b22f167f1
minor: mib2: removed some blocks by defining common variables above the switch
2015-10-07 10:13:20 +02:00
goldsimon
b401f42520
minor: fixed coding style (lwip style)
2015-10-07 10:03:12 +02:00
goldsimon
2949449e25
minor: SNMP: fixed coding style (lwip style)
2015-10-07 10:01:23 +02:00
sg
2b971400fa
minor: coding style
2015-10-06 21:57:40 +02:00
sg
22df34fc70
minor/coding style: removed spaces before line ending (from file header)
2015-10-06 21:13:15 +02:00
sg
490581a0eb
minor/coding style: removed spaces before line ending
2015-10-06 21:08:28 +02:00
goldsimon
0737cfb84e
Fixed bug #46128 (patch by Kerem Hadimli)
2015-10-06 12:42:25 +02:00
Erik Ekman
58895c3cf6
PPP: Fix shadowing of global declaration 'sha1'
...
lwip/src/netif/ppp/mppe.c: In function `mppe_rekey':
lwip/src/netif/ppp/mppe.c:74:15: error: declaration of`sha1' shadows a global declaration [-Werror=shadow]
lwip/src/include/netif/ppp/polarssl/sha1.h:88:6: error: shadowed declaration is here [-Werror=shadow]
2015-10-06 11:13:30 +02:00
Erik Ekman
7fb832aa4e
PPP: Fix shadowing of global declaration
...
Older compilers don't like variables with the same name as
global functions. md5.h contains a function md5(), rename
md5 variable in magic.c to md5_ctx.
2015-10-06 09:56:00 +02:00
Erik Ekman
673c6505ae
PPP: Fix shadowing of global declaration
...
Older compilers don't like variables with the same name as
global functions. md5.h contains a function md5(), rename
md5 variable in magic.c to md5_ctx.
lwip/src/netif/ppp/magic.c: In function `magic_churnrand':
lwip/src/netif/ppp/magic.c:105:15: error: declaration of `md5' shadows a global declaration [-Werror=shadow]
lwip/src/include/netif/ppp/polarssl/md5.h:88:6: error: shadowed declaration is here [-Werror=shadow]
lwip/src/netif/ppp/magic.c: In function `magic_random_bytes':
lwip/src/netif/ppp/magic.c:165:15: error: declaration of `md5' shadows a global declaration [-Werror=shadow]
lwip/src/include/netif/ppp/polarssl/md5.h:88:6: error: shadowed declaration is here [-Werror=shadow]
2015-10-05 18:24:30 +02:00
Erik Ekman
1fef434f01
PPP: Fix shadowing of global declaration
...
Older compilers (GCC 4.6) don't like variables with the same name as
global functions:
lwip/src/netif/ppp/lcp.c: In function 'lcp_received_echo_reply':
lwip/src/netif/ppp/lcp.c:2685:11: error: declaration of 'magic' shadows a global declaration [-Werror=shadow]
lwip/src/include/netif/ppp/magic.h:101:7: error: shadowed declaration is here [-Werror=shadow]
magic.h contains a function named magic(), so rename the variable.
2015-10-04 11:11:57 +02:00
Sylvain Rochet
495fc61a34
Documentation: SNMP: update to recent changes
...
Remove snmp_init(), it is called by lwip_init().
Remove snmp_inc_sysuptime() and snmp_add_sysuptime(), they do not exist
anymore, MIB2 is now using sys_now().
2015-10-04 11:02:17 +02:00
Erik Ekman
f80d0dab08
Remove old comments about DHCP setting netif up
2015-10-03 21:31:48 +02:00
sg
fb1ac8d766
snmp mib2: more const
2015-10-03 20:34:56 +02:00
Dirk Ziegelmeier
bc47bd28ab
snmp mib2: more nodes can be const
2015-10-03 20:34:09 +02:00
Dirk Ziegelmeier
5cf4771397
snmp: eliminiate mib_ram_array_node (it is not necessary: to the agent, the nodes may be const since the actual mib implementation knows the structures behind the nodes which do not have to be const)
2015-10-03 20:27:49 +02:00
sg
8891b277c6
snmp: hopefully fixed all alignment warnings introduced today. unfortunately, gcc does not warn about them when compiling for x86
2015-10-02 21:59:40 +02:00
goldsimon
e4abd4234d
removed comma before }
2015-10-02 13:26:11 +02:00
goldsimon
fe33fd6d86
snmp: cleaned up mib_* structs: "base" class 'struct mib_node' only needs the type, get/set functions are not used on array/external nodes (only on scalar/listroot nodes)
2015-10-02 12:33:45 +02:00
goldsimon
bf75ace695
snmp: combine oid and node pointers in array entries
2015-10-02 10:53:17 +02:00
goldsimon
5b1b430403
sockets ERR_TO_ERRNO_TABLE_SIZE: use LWIP_ARRAYSIZE()
2015-10-02 10:07:45 +02:00
goldsimon
424bd7e38c
def.h: added LWIP_ARRAYSIZE() macro
2015-10-02 10:05:32 +02:00
goldsimon
180ed573a5
snmp_trap_dst_ip_set: ip_addr_t pointer can be const
2015-10-02 09:58:31 +02:00
goldsimon
a9b6b5b704
adapt init.c to moved declaration of snmp_init
2015-10-02 09:57:15 +02:00
goldsimon
064d171332
snmp: moved agent initialization from snmp_msg.h to snmp.h
2015-10-02 09:56:37 +02:00
goldsimon
30445712a5
snmp: make mib_scalar_node a "derived" struct like all other nodes
2015-10-02 09:56:00 +02:00
goldsimon
91b6d45178
struct netif->hostname can be a const pointer
2015-10-02 09:42:49 +02:00
sg
3312983b27
Make LWIP_DNS_SECURE and its possible values known in opt.h, remove default initialization of DNS server
2015-10-01 21:38:39 +02:00
sg
fecd1bde83
ip4_route: fixed checking twice for a valid default_netif, fixed checking loopback traffic before checking for a valid default netif
2015-10-01 21:17:59 +02:00
goldsimon
0176e03e36
mib2: one more '};' -> '}'
2015-10-01 10:21:52 +02:00
goldsimon
8c35429ba3
add last change to CHANGELOG
2015-10-01 10:09:34 +02:00
Dirk Ziegelmeier
9957cd4a2a
fixed bug #46089 : snmp: race condition on length change between get_object_def() and get_value()
2015-10-01 10:08:23 +02:00
Dirk Ziegelmeier
ae7eeda88a
dns_found_callback should take const IP addr
2015-09-30 22:19:47 +02:00
Dirk Zigelmeier
3f4d75c8d6
netif_get_ip6_addr_match/netif_add_ip6_address must take a const ip6addr to be usable
2015-09-30 20:55:08 +02:00
goldsimon
1bcd361456
adapt CHANGELOG to last change
2015-09-30 17:54:43 +02:00
Dirk Ziegelmeier
7962b21c00
snmp: fixed ugly inheritance implementation by aggregating the "base class" (struct mib_node) in all derived node classes to get more type-safe code
2015-09-30 17:54:25 +02:00
goldsimon
59002d5081
mib2: only export 'internet', all other variables can be static
2015-09-30 17:42:19 +02:00
goldsimon
ce883d2041
minor: mib2.c: sys_tem_* -> system_* for everything but 'sys_tem' (without suffix)
2015-09-30 17:39:32 +02:00
goldsimon
96847c1199
snmp: added helper functions to encode/decode BITS pseudo type, added define for Counter64 type, minor layout changes
2015-09-30 17:24:53 +02:00
goldsimon
df1f12778f
snmp: moved noleafs_get/set functions from mib2.c to mib_structs.c, where they belong
2015-09-30 17:19:08 +02:00
goldsimon
dff234112b
minor: removed superfluous comma after '}' in mib2.c; removed superfluous comment on get-functions that follow a function typedef
2015-09-30 17:13:05 +02:00
goldsimon
e18e08ff08
minor: removed superfluous comma after '}' in msg_out.c
2015-09-30 17:09:04 +02:00
goldsimon
f3ed562983
minor: removed superfluous comma after '}' in dns.c
2015-09-30 17:01:57 +02:00
goldsimon
969fb4c981
minor: removed some trailing spaces in tcp.c
2015-09-30 17:00:57 +02:00
Erik Ekman
82fcc307ef
mld6: Simplify join/leavegroup()
...
Use netif_get_ip6_addr_match() helper to shorten the code.
2015-09-30 16:35:15 +02:00
goldsimon
1fdab5ac0e
Added/changed header of dhcp.c/.h
2015-09-30 16:33:48 +02:00
goldsimon
389831218e
Finished task #13731 : fix usage of "snmp_inc_*"
2015-09-30 15:54:43 +02:00
goldsimon
7b5ef3ae58
implement/remove missing IP counters in stats_mib2 (see task #13731 )
2015-09-30 15:05:52 +02:00
goldsimon
9d28549f32
minor: fixed coding style in mld6.c
2015-09-30 14:48:25 +02:00
Erik Ekman
6cdea62638
Add functions to join/leave v6 multicast group by netif
...
Existing functions are based on IP address, but the address is used
only to look up which netif to act on. The netif-based core code is
extracted to new exported functions.
If you have a netif handle, this makes it easier to join/leave
groups, without the need to convert to IP address first only for the
mld6 code to convert back to netif.
2015-09-30 14:44:45 +02:00
goldsimon
3dd0977635
minor: fixed coding style in igmp.c
2015-09-30 14:37:37 +02:00
Erik Ekman
ba71ac78d9
Add functions to join/leave IGMP group by netif
...
Existing functions are based on IP address, but the address is used
only to look up which netif to act on. The netif-based core code is
extracted to new exported functions.
If you have a netif handle, this makes it easier to join/leave
groups, without the need to convert to IP address first only for the
IGMP code to convert back to netif.
2015-09-30 14:29:37 +02:00
goldsimon
373714c02f
dns: improved handling 2nd server if first failed
2015-09-30 14:22:39 +02:00
goldsimon
927b72abd2
fixed bug #46072 : ip4addr_aton() does not check the number range of all address parts
2015-09-30 14:15:36 +02:00
goldsimon
f89e859415
minor: fixed coding style in ip4addr_aton()
2015-09-30 14:13:05 +02:00
goldsimon
dae73e21b8
minor: fixed coding style in ip4addr_aton()
2015-09-30 14:11:50 +02:00
goldsimon
f950bf4362
ipaddr_aton(): favour ':' over '.' to decide for IPv6 first (since IPv6 mapped IPv4 addresses might contain both ':' and '.')
2015-09-30 14:06:44 +02:00
goldsimon
0621e8d1b1
ip6addr_aton(): fail on three successive colons in an IPv6 address string
2015-09-30 14:05:13 +02:00
goldsimon
5a185a0fbd
minor: fixed coding style in ip6addr_aton()
2015-09-30 13:55:09 +02:00
goldsimon
45fd622491
Fixed bug #46071 Logic error in line 1473 in dns.c
2015-09-30 13:36:13 +02:00
goldsimon
5e7a74e2e7
fixed bug #46064 : ip_set_v6() must set pcb ip address types as well
2015-09-28 09:36:36 +02:00
goldsimon
94625a8fa8
MIB2_STATS: moved netif related mib2 counters into a struct (defined in stats.h), added ifInErrors/ifInUnkownProtos (now handled in etharp.c) and ifOutErrors
2015-09-28 08:50:21 +02:00
goldsimon
dbe703cfb0
netdb: fixed warning about pointless comparison
2015-09-28 08:10:53 +02:00
goldsimon
bc30899168
fixed compiler warnings where passing variable instance to ip_addr_isany
2015-09-28 07:56:52 +02:00
Sylvain Rochet
ce98bc9437
test: etharp: Fixed const warning
2015-09-27 22:59:15 +02:00
Sylvain Rochet
d39f929675
PPP: magic: don't truncate sys_jiffies() return value
...
It used to be this way because the original implementation was close to
the hardware and used a free running 16 bits timer so it was necessary.
Currently what it is only doing is removing potential entropy we might
get from upper bits, that's a bad idea.
2015-09-27 17:15:31 +02:00
Sylvain Rochet
b589864144
sys.h: fixed comment, sys_msleep() is in ms, not in jiffies
2015-09-27 00:05:58 +02:00
Sylvain Rochet
9e0202b38f
PPP, PPP_MAXIDLEFLAG is now in ms instead of jiffies
...
Jiffies isn't really a humanly readable value and it means the default
PPP_MAXIDLEFLAG period depends on the platform "jiffies" frequency,
which isn't nice.
Change PPP_MAXIDLEFLAG to use ms instead of jiffies, the current
PPP_MAXIDLEFLAG default (100 ms), looks like a sane value and is
left unchanged.
2015-09-26 23:01:15 +02:00
sg
ba41685353
PPP: include "ppp_settings.h" if PPP_INCLUDE_SETTINGS_HEADER is defined to be able to silence some warnings in PPP code only (at least msvc needs this since PPP produces more warnings than the rest)
2015-09-24 22:04:48 +02:00
sg
bb91bd2279
fixed coding style: use more ()
2015-09-24 21:04:20 +02:00
Sylvain Rochet
8b2c73de4e
ip4: routing: check peer for point to point interfaces
...
gw netif field for point to point interfaces is the peer IP address.
Check if the destination is equals to the gw field of point to point
interfaces (broadcast flag is not set) when routing an IP packet.
2015-09-24 21:01:52 +02:00
goldsimon
715d8d3881
simplify FDSETSAFESET()/FDSETSAFEGET(): p is not required
2015-09-24 15:34:54 +02:00
goldsimon
5ad743e182
FD_SET: dump NULL-check that hides usage error, dump non-standard FD_SET_VAL
2015-09-24 15:21:03 +02:00
goldsimon
b0917d987a
Cleaned up using struct netif.ip_addr by creating API functions for it
2015-09-24 14:57:16 +02:00
goldsimon
99d2e5233d
struct udp_pcb.multicast_ip must be an ip_addr_t, too, to completely avoid temporary storage
2015-09-24 14:55:55 +02:00
goldsimon
e11e12f01d
Fixed ETHARP_TRUST_IP_MAC after changing struct netif.ip_addr/netmask to ip_addr_t
2015-09-24 14:46:29 +02:00
goldsimon
c71723101a
Removed ip_2_ip4/6_c const macros again now that ip_2_ip4/6 macros keep the original const'ness
2015-09-24 14:38:52 +02:00
goldsimon
262a641396
eliminate temporary storage when using netif addresses for ip_addr_t* now that they have the correct type (ATTENTION: ip6_select_source_address() and ip4_netif_get_local_ip() now return ip_addr_t*!)
2015-09-24 14:34:24 +02:00
goldsimon
4d2f4ce78c
udp: don't use ip4_2_ip() where not required
2015-09-24 10:39:13 +02:00
goldsimon
51ce505d7d
Simplify ip_2_ip6/4(_c) macros (and removed LWIP_ALLOW_STATIC_FN_IN_HEADER) -> now the *_c versions should not be required any more
2015-09-24 10:13:45 +02:00
goldsimon
f85737bf29
Fixed const warning in lwip_writev
2015-09-24 09:30:00 +02:00
goldsimon
ed4130bd2f
Fixed const errors after changing netif_ip4_addr/netif_ip6_addr to return cont pointers
2015-09-24 08:06:50 +02:00
goldsimon
0fbdd5e56e
fixed compiling LWIP_HAVE_LOOPIF after changing struct netif.ip6_addr to ip_addr_t
2015-09-24 07:58:29 +02:00
Joel Cunningham
cc4d09423a
Add writev function
...
This commit adds compatibility with POSIX writev according to the Open
Group specification:
http://pubs.opengroup.org/onlinepubs/009695399/functions/writev.html
Implementation maps to sendmsg in the same manner that write() maps to
send()
2015-09-23 15:52:28 -05:00
sg
db76671d4d
task #13729 : Convert netif addresses (IPv4 & IPv6) to ip_addr_t (so they can be used without conversion/temporary storage)
2015-09-23 22:09:37 +02:00
sg
05e6f06b62
Fixed IP_ADDR6 macro for IPv6 only
2015-09-23 22:07:34 +02:00
sg
f36adac8ab
fixed compiling udp.c for IPv6-only
2015-09-23 22:07:14 +02:00
sg
121268d320
Added ip_addr_set_zero_ip4() to explicitly set the type to IPv4 for dual-stack
2015-09-23 21:56:34 +02:00
goldsimon
e6b6543c33
igmp: use netif_ip4_addr() instead of directly accessing struct netif member
2015-09-23 16:26:56 +02:00
Dirk Ziegelmeier
e00e4a6c13
make netif_ip4_* get accessors return const pointers
2015-09-23 13:19:56 +02:00
Sylvain Rochet
e588dfdbce
documentation: savannah: updated for Git
2015-09-22 21:52:44 +02:00
Sylvain Rochet
2f40d19193
trivial CVS to Git renaming
2015-09-22 21:09:57 +02:00
Sylvain Rochet
7a485b1a71
README: replaced CVS references to Git
2015-09-22 20:39:32 +02:00
goldsimon
abc74464a0
Revert "make netif_ip4_addr/netmask/gw macros return constant IP address pointers"
...
This reverts commit b9b31a5e72 .
2015-09-22 11:42:41 +02:00
Sylvain Rochet
9882dd5eff
documentation: rawapi: more syntax fixes
...
ethernet -> Ethernet
ip -> IP
LwIP -> lwIP
lwip -> lwIP
it's use. -> its use.
2015-09-22 00:27:56 +02:00
Sylvain Rochet
bb92a059b6
documentation: rawapi: syntax fixes
...
udp -> UDP
tcp -> TCP
2015-09-22 00:20:49 +02:00
Sylvain Rochet
47a579f54f
documentation: rawapi: improved documentation on multithreading state
...
Based from the current lwIP wiki and my own, improved documentation about
the current lwIP multithreading state.
2015-09-21 23:54:16 +02:00
Sylvain Rochet
6746f1d13c
documentation: rawapi: update to current lwIP design
...
*_init() -> lwip_init()
*tmr() -> sys_check_timeouts()
netif_set_link_up() / netif_up() clarification
updated netif_add() prototype
source code style fix in examples
2015-09-21 23:19:18 +02:00
Sylvain Rochet
74939c20c4
doc: contrib: CVS -> Git, punctuation fixes
2015-09-21 22:40:56 +02:00
Dirk Ziegelmeier
b9b31a5e72
make netif_ip4_addr/netmask/gw macros return constant IP address pointers
2015-09-21 20:32:14 +02:00
Sylvain Rochet
8eab90418a
PPP, auth, code cleaning: removed useless variables on stack
2015-09-18 22:51:32 +02:00
Sylvain Rochet
83cddd8941
PPP: more const and mixed u_char/char types fixes
2015-09-18 20:11:09 +02:00
Erik Ekman
e8c0ba2a47
Fix tests after ip4_current_header() made const
2015-09-18 09:52:08 +02:00
sg
cb6adc643b
PPP: more const fixes
2015-09-17 22:20:12 +02:00
sg
0454950564
fixed compiling for various config combinations
2015-09-17 22:19:37 +02:00
sg
4f9bcc5ecc
fixed compiler warnings reported by mingw-64
2015-09-17 22:00:16 +02:00
sg
39e32ea7c1
fixed const warning for !IPV6_FRAG_COPYHEADER
2015-09-17 21:59:54 +02:00
sg
2f3dcf7a16
fixed compiling lwip_sendmsg for LWIP_NETIF_TX_SINGLE_PBUF && LWIP_CHECKSUM_ON_COPY
2015-09-17 21:36:25 +02:00
sg
6f0dceee09
fixed some printf formatters (mainly for window scaling code)
2015-09-17 21:33:25 +02:00
sg
9614c60cf6
fixed constness for DNS_LOCAL_HOSTLIST_IS_DYNAMIC
2015-09-17 21:32:11 +02:00
Dirk Ziegelmeier
cca758d332
Fixed using wrong sockaddr type in lwip_getaddrinfo when IPv6 is enabled
2015-09-17 20:55:44 +02:00
Robert Szewczyk
52a4ca99a8
pbuf_take: make it comply with API specifications
...
LWIP_ERROR macro exited the function early with the return code
indicating a SUCCESS. Fix the error codes. Return the specified
error code for cases when the pbuf is too short.
2015-09-17 17:05:01 +02:00
Joel Cunningham
72b3f3f612
Hook up TCP cachehit stat
...
This commit hooks up the TCP cachehit stat to the PCB locality feature
so that when a PCB is moved to the head of the list and a segment comes
in, we consider this a cache hit
This also matches the usage of the cachehit stat in UDP
2015-09-17 17:02:39 +02:00
Dirk Ziegelmeier
f62022cdf3
Compiler warning fixes (mostly constness in dual-stack configurations)
2015-09-17 13:59:52 +02:00
goldsimon
726af89168
minor compiler warning fixes and coding style
2015-09-17 11:00:21 +02:00
Joel Cunningham
c1c1754171
Sockets: add sendmsg
...
Adds sendmsg implementation for TCP and UDP sockets. Control messages
are not supported at this point, but could be added in the future
https://savannah.nongnu.org/bugs/?44805
Change-Id: Iddb287fd4b693f7563f8c923f76785cdde782d2f
2015-09-16 15:49:02 -05:00
sg
68a1ec2eb1
Fixed passing ip_input() to netif_add() for single-IP-version NO_SYS configurations
2015-09-16 22:09:54 +02:00
chrysn
b85b554db1
PPP, FSM, don't call memcpy with NULL even when size = 0
2015-09-16 16:03:15 +02:00
goldsimon
dc04118469
fixed missing comment after #endif
2015-09-15 08:19:26 +02:00
Joel Cunningham
7276f49f54
Fix typos from task #12243
...
This fixes two typos spotted during visual inspection of changes related
to task #12243
2015-09-14 20:43:21 +02:00
Sylvain Rochet
4704c9a0ad
tcp: fixed CHECKSUM_GEN_TCP feature (misplaced #define)
2015-09-14 14:48:35 +02:00
Sylvain Rochet
c15b357889
PPP, merged ppp_link_set_callbacks() into ppp_new()
2015-09-13 18:28:06 +02:00
Sylvain Rochet
46204a9f86
PPP, reorder initialisation of low level protocols to call ppp_link_set_callbacks() just after PPP control block allocation
2015-09-13 18:21:14 +02:00
Sylvain Rochet
5b07569eb9
PPP, remove now unused ioctl callback from link_callbacks structure
2015-09-13 17:59:14 +02:00
Sylvain Rochet
b55412a0c4
PPP, PPPoS, replaced static sio_write() calls to a user defined callback
...
The overall lwIP design on data flows (netif,udp,tcp) is to use a user
defined callback to get data from stack and a static function to send
data to stack, which makes perfect sense. The SIO port was an exception,
the PPP stack never really used the SIO port by only using the
sio_send() function (and the ignominious sio_read_abort() function a
while back).
The way the SIO port is currently designed adds a tight coupling between
the lwIP port and the user code if the user need to do specific user
code if the current uart used is the PPPoS uart, which is not nice,
especially because all the lwIP stack is quite clean at this subject.
While we are at stabilizing the PPP API, change this behavior before
it's too late by replacing the static sio_write() calls to a user
defined callback.
2015-09-13 17:53:16 +02:00
Sylvain Rochet
81d3337681
Documentation, add pppapi.h to thread-safe header whitelist
2015-09-12 14:57:05 +02:00
Sylvain Rochet
41ee45d9f7
PPP: fix constness in PPP related files when PRINTPKT_SUPPORT is enabled
2015-09-09 20:28:01 +02:00
Dirk Ziegelmeier
79e7201854
PPP: fix constness in PPP related files (GCC -Wcast-qual)
...
Signed-off-by: Dirk Ziegelmeier <dirk@ziegelmeier.net >
2015-09-09 14:05:35 +02:00
goldsimon
ddf899ad1e
update CHANGELOG
2015-09-08 10:28:57 +02:00
goldsimon
7702ed66a0
fixed compiler warning (stray 'a ' in code) - why is this a warning only???
2015-09-08 09:52:22 +02:00
goldsimon
b8d7a2b8e6
fixed comment, fixed unused parameter in mppe_compress()
2015-09-08 09:50:30 +02:00
goldsimon
8a0fb03e21
Separate mib2 counter/table callbacks from snmp agent. This both cleans up the code and should allow integration of a 3rd party agent/mib2.
2015-09-08 09:47:30 +02:00
sg
1e4f312352
fixed compiling DNS code again
2015-09-08 06:03:27 +02:00
sg
77270adb96
Changed dns_gethostbyname_addrtype() to always be a function, fixed code for C PP :-(
2015-09-07 22:33:10 +02:00
sg
42170e4e57
fixed unused variable warning
2015-09-06 14:28:41 +02:00
Sylvain Rochet
318ba1decd
dns: fixed trivial compiler warning
...
lwip/src/core/dns.c:1471:8: warning: extra tokens at end of #endif directive [-Wendif-labels]
#endif LWIP_IPV4 && LWIP_IPV6
2015-09-06 11:27:33 +02:00
sg
1fbbf0e837
lwip_getaddrinfo: check max name length
2015-09-04 21:12:39 +02:00
sg
6795590603
fixed missing #endif
2015-09-04 21:02:24 +02:00
goldsimon
196120fabd
worked on task #12243 (Add support for AAAA/IPv6 records to DNS)
2015-09-04 13:57:20 +02:00
goldsimon
dd3725a452
task #12243 : DNS/IPv6: added support for AAAA records
2015-09-04 12:16:14 +02:00
goldsimon
c8cd67c989
fixed pointer type of value passed for snmpenableauthentraps (broken in 2010)
2015-09-03 14:02:30 +02:00
Stian Sebastian Skjelstad
aea87a9a2f
Forget addresses set up by SLAAC when prefix expires.
2015-09-02 13:12:52 -06:00
sg
aa0e41c389
task #12178 : hardware checksum capabilities can be configured per netif (use NETIF_SET_CHECKSUM_CTRL() in your netif's init function)
2015-09-01 22:04:15 +02:00
Sylvain Rochet
c4a1cad81b
PPP, magic, build-out useless code when LWIP_RAND is defined
2015-09-01 10:29:53 +02:00
Sylvain Rochet
0f3fbb267b
PPP, magic, call magic_randomize() for all packets
...
magic_randomize() wasn't actually called for IP4/IP6 packets, fixed
2015-08-31 10:20:12 +02:00
Sylvain Rochet
a17b3fc838
PPP, magic, improved magic_randomize() when using PPP_MD5_RANDM
...
Added the random seed already used without PPP_MD5_RANDM
as an entropy source when PPP_MD5_RANDM feature is enabled.
(And a little bit of code cleaning for both)
2015-08-31 10:20:12 +02:00
goldsimon
dd8feb49aa
PBUF_REF with "custom" pbufs is now supported for RX pbufs (see pcapif in contrib for an example, LWIP_SUPPORT_CUSTOM_PBUF is required)
2015-08-31 08:29:23 +02:00
goldsimon
b572028e95
ethernet_input: pass IPv4 packets to ip4_input, not to ip_input
2015-08-31 08:26:44 +02:00
sg
a01a1b4556
support IPv4 source based routing: define LWIP_HOOK_IP4_ROUTE_SRC to point to a routing function
2015-08-30 21:54:39 +02:00
Sylvain Rochet
3121b34d17
converted CHANGELOG from ISO-8859-1 to UTF8
2015-08-30 21:36:57 +02:00
Sylvain Rochet
36305e5bd8
PPP, magic, use LWIP_RAND() if available
...
If LWIP_RAND() is available, it is used instead of libc srand()/rand()
if PPP_MD5_RANDM is disabled and it is added as a source of randomness
if PPP_MD5_RANDM is enabled.
2015-08-30 21:09:39 +02:00
Sylvain Rochet
541e3b6eb4
PPP, magic, improved magic_randomize() for PPP_MD5_RANDM is not enabled
...
A disabled PPP_MD5_RANDM should not be used when challenge are used, but
anyway, improved magic_randomize() so magic_randomseed is not equals to
sys_jiffies() which is pretty useless because that's fully predicable.
2015-08-30 21:09:39 +02:00
Sylvain Rochet
a24f4421d6
PPP, magic, using magic_random_bytes() for CHAP/MSCHAP/EAP instead of for-loop byte where possible
2015-08-30 21:09:39 +02:00
Sylvain Rochet
e8399416ae
PPP, magic, renamed random_bytes() to magic_random_bytes() for API coherency
2015-08-30 21:09:39 +02:00
Sylvain Rochet
d0fa8acf86
PPP, magic, enables building without PPP_MD5_RANDM support
...
The only API difference with and without the PPP_MD5_RANDM support is the
availability of the random_bytes() function. Added a random_bytes()
function on top of magic() when PPP_MD5_RANDM support is not enabled,
thus allowing builds for both cases.
PPP_MD5_RANDM is still enabled by default (it was mandatory) if a protocol
using encryption is enabled, such as CHAP, EAP, or L2TP auth support.
2015-08-30 21:09:39 +02:00
Sylvain Rochet
ced7bef274
PPP, magic, MD5 random pool size cannot be anything else than MD5 hash size, code cleaning to make it clear
2015-08-30 21:09:39 +02:00
Sylvain Rochet
311644f39b
PPP, PPPoS, remove magic_randomize() from PPPoS, it is already called in ppp_input()
...
There is no point of calling magic_randomize() for each pppos_input()
call, making magic_randomize() potentially called for each serial input
byte which is quite a bad idea since magic_randomize() is quite
intensive in processing time (MD5 computation) compared to HDLC frame
parsing. There is no entropy added when being called for each input byte
rather than for each valid input packet because byte input is a
monotonic event at the packet level. Well, if packet arrival time is a
valid entropy source even so, which I doubt a lot, but we don't really
have anything else and we really need random for PPP authentication
layers.
2015-08-30 21:09:38 +02:00
Sylvain Rochet
91e40e668c
PPP, minor coding style fix
2015-08-30 21:09:38 +02:00
Sylvain Rochet
987f6237c4
PPP, MPPE, drop input/output packets if we couldn't find the chosen decompressor/compressor
...
Drop input/output packets if we couldn't find a decompressor/compressor,
it can't really happen because we only negotiate what we are able to
compress/decompress, but for the sake of code consistency it makes much
more sense to do so.
2015-08-30 21:09:38 +02:00
sg
b9a8310f4b
fixed bug #44023 : TCP ssthresh value is unclear: ssthresh is set to the full send window for active open, too, and is updated once after SYN to ensure the correct send window is used
2015-08-30 20:47:17 +02:00
Sylvain Rochet
ddba4b90c3
fixed typo: IP6_FRAG_COPYHEADER -> IPV6_FRAG_COPYHEADER
2015-08-28 14:28:04 +02:00
goldsimon
98f98048bc
TCP window scaling: don't parse window scaling option on retransmission
2015-08-28 11:23:24 +02:00
goldsimon
367ac04ed8
Fixed UDP multicast receive filtering (multicast should only be received when bound to ANY or the destination multicast address)
2015-08-28 10:24:02 +02:00
goldsimon
43b18b20cc
fixed bug #45818 : API functions should check if type of ip_addr_t parameter matches the pcb type
2015-08-28 10:15:57 +02:00
goldsimon
06d8dba4a0
fixed bug #45559 : Window scaling casts u32_t to u16_t without checks
2015-08-28 09:23:10 +02:00
Sylvain Rochet
b79c3aadd2
PPP, MPPE, improve dropping of unencrypted received packet
...
Improve dropping of unencrypted received packet by taking into account
all other data protocols (such as VJ packets) in a generic way.
2015-08-28 00:19:32 +02:00
Sylvain Rochet
46985bf750
PPP, explain better why we don't need protp->datainput callback
2015-08-27 22:42:42 +02:00
Sylvain Rochet
36b3878a45
PPP, PPPoS, fixed copy/paste typo in pppos_send_config() out accm debug message
2015-08-27 22:24:27 +02:00
sg
bc8120c864
Add another sanity check for bug #41009
2015-08-27 21:43:42 +02:00
sg
8b6d9d8216
Fixed UPGRADING regarding 1.4.0
2015-08-27 21:38:30 +02:00
sg
413bf85dde
Remove empty init functions where not required for backwards compatibility
2015-08-27 21:35:18 +02:00
Sylvain Rochet
97ef85c9aa
PPP, MPPE, fixed TCP over MPPE
...
We used to modify in place the packet payload during encryption, it works
well for UDP and ICMP but TCP stack requires that we don't change the
packet payload, therefore we now copy the whole packet before encryption.
2015-08-27 01:58:35 +02:00
sg
f649172580
fixed bug bug #41009 : IPv6 reassembly broken on 64-bit platforms: define IPV6_FRAG_COPYHEADER==1 on these platforms to copy the IPv6 header instead of referencing it, which gives more room for struct ip6_reass_helper
2015-08-26 22:16:23 +02:00
sg
aad76acb68
IPV6_REASS: fix ip6_reass_remove_oldest_datagram() when the first fragment to enqueue has more pbufs than IP_REASS_MAX_PBUFS
2015-08-26 21:20:13 +02:00
sg
5eb1c411a5
LWIP_LOOPIF_MCAST -> LWIP_LOOPIF_MULTICAST
2015-08-26 20:55:51 +02:00
sg
0d6001a196
fix comment indentation
2015-08-26 20:29:38 +02:00
Joel Cunningham
0ab21da820
Add multicast support to loopif
...
This commit adds support to send and receive multicast on the loopback
netif by enabling IGMP via NETIF_FLAG_IGMP
This commit also introduces an LwIP configuration option,
LWIP_LOOPIF_MCAST, to control the behavior and it defaults to off
2015-08-26 20:28:03 +02:00
sg
204bd29e52
fixed bug #45827 : recvfrom: TCP window is updated with MSG_PEEK
2015-08-25 22:25:51 +02:00
goldsimon
fd8b37dc14
fixed bug #45029 (Several macros use ip6_2_ip() without supplying a storage address): removed netconn_*_ip6() macros
2015-08-25 07:33:24 +02:00
sg
94550682d7
more cleanup prework to fix bug #45029
2015-08-24 22:46:34 +02:00
sg
7754f96549
Change IP6_ADDR/IP_ADDR6 to initialize a full IPv6 address (e.g. use with PP_HTONL) - renamed old IP6_ADDR() to IP6_ADDR_PART()
2015-08-24 20:30:48 +02:00
goldsimon
ee2d01ed88
fix compiler warnings when passing u16_t to pbuf_header()
2015-08-24 08:49:51 +02:00
goldsimon
e97f9fca22
netdb: fix debug output when IPv6 is enabled
2015-08-24 08:02:23 +02:00
sg
177c06b1f1
- prework for fixing bug #45029 : access IPv4 configuration of struct netif via new API (netif_ip4_addr()/netif_ip4_netmask()/netif_ip4_gw()) instead of accessing the struct member directly. This way, we can change the struct member types from ip4_addr_t to ip_addr_t;
...
- fixed some bugs in calls to ip4_addr*() where the cast to u8_t* did not reveal the wrong address type
2015-08-20 22:39:48 +02:00
goldsimon
cc348dcca2
LWIP_IGMP and LWIP_MULTICAST_TX_OPTIONS need LWIP_IPV4
2015-08-20 16:36:54 +02:00
goldsimon
8622af77c1
nd6: adapt to constness of IP6_ADDR_ANY6 for IPv6-only configuration
2015-08-20 16:35:49 +02:00
goldsimon
3b21f469ca
fix bug #45120 in a cleaner way
2015-08-20 13:05:59 +02:00
goldsimon
82033d5029
Clarify comment for MEMP_NUM_SNMP_VARBIND/MEMP_NUM_SNMP_VALUE
2015-08-20 11:43:36 +02:00
goldsimon
da5ccbf7d1
SNMP: tiny preparation for SNMP to support more versions than just v1: store request version in struct snmp_msg_pstat so that the response can be sent with the same version (v2c might already work but getbulk is missing)
2015-08-20 09:38:17 +02:00
goldsimon
a22a92b481
Fixed compiler warning when window scaling is enabled (tcp_sndbuf() should still return u16_t since that value can directly be passed to tcp_write())
2015-08-20 09:18:20 +02:00
goldsimon
5bd262f9e9
fixed passing u16_t 'snmp_varbind->value_len' to functions taking an u8_t only
2015-08-20 08:23:34 +02:00
goldsimon
2b93ef1d75
fixed bug #43790 : Sending octet string of Length >255 from SNMP agent (patch by Manoj Kumar)
2015-08-20 08:12:50 +02:00
sg
05abfc8ded
Fixed icmp.c after 1.4.0-based patch #45120
2015-08-19 22:14:37 +02:00
sg
de8e810792
fixed bug #45120 : Broadcast & multiple interfaces handling
2015-08-19 20:55:03 +02:00
goldsimon
cb28380f47
Add doxygen config + main-file used by Frédéric to create http://www.nongnu.org/lwip/ for 1.3.0 (see https://lists.gnu.org/archive/html/lwip-users/2013-01/msg00062.html ) - just so that it doesn't get lost
2015-08-19 15:43:46 +02:00
goldsimon
d104335501
dns.c: fixed compiler warning
2015-08-19 13:28:03 +02:00
goldsimon
7263cc675b
fixed bug #45004 : dns response without answer might be discarded
2015-08-19 10:33:42 +02:00
Joel Cunningham
d850efdd08
IPv6 sockaddr clean ups
...
This commit address two issues with sockaddr struct implementations for
IPv6:
1) struct sockaddr_in6 should have 32-bit unsigned field sin6_scope_id
as specified in Section 3.4 of RFC 3493 (Basic Socket Interface
Extensions for IPv6)
2) struct sockaddr is not extended in IPv6 to contain space for
struct sockaddr_in6. Applications should be using struct
sockaddr_storage when needing generic storage. This removes the
extra bytes added when LWIP_IPV6 is defined
2015-08-19 10:15:47 +02:00
goldsimon
a6bd0944db
LWIP_NETCONN_SEM_PER_THREAD: ensure sys_sem_valid() is only called for non-NULL pointers (not all ports might check this)
2015-08-19 09:57:59 +02:00
goldsimon
7df2dd67bd
another fix for LWIP_MULTICAST_TX_OPTIONS: without LWIP_IGMP, udp_pcb->mcast_ttl was not initialized
2015-08-19 09:19:08 +02:00
goldsimon
5be95aa377
accidentally committed debug comment //
2015-08-19 08:36:54 +02:00
sg
c2f978bd1e
patch by Chrysn: patch #8704 fix sys_timeouts_sleeptime function
2015-08-18 21:38:08 +02:00
sg
21815a1427
dns: fixed assertion when dns server address is set to ANY (patch #8692 )
2015-08-18 21:30:46 +02:00
chrysn
877fcb35f4
fix return type of netif_add_ip6_address mismatch
...
the netif_add_ip6_address function was declared err_t in
src/include/lwip/netif.h, but defined as s8_t (the default value of
err_t) in its implementation in src/core/netif.c.
this causes "conflicting types for 'netif_add_ip6_address'" errors if
err_t is defined differently in cc.h (as for example recommended in
[1]).
as it only returns error constants, it is changed to use err_t
throughout.
[1] http://lwip.wikia.com/wiki/Porting_For_Bare_Metal
2015-08-18 20:55:30 +02:00
sg
c2f7e166a0
fixed bug #45723 netconn_delete unconditionally uses macro TCP_SLOW_INTERVAL
2015-08-18 20:32:09 +02:00
sg
e171b4e3f0
Fixed usages of SYS_SEM_NULL after using pointers everywhere
2015-08-18 20:29:16 +02:00
goldsimon
2a6f31a84e
fix that LWIP_MULTICAST_TX_OPTIONS must be used in ip4_route instead of LWIP_IGMP
2015-08-18 16:35:06 +02:00
goldsimon
bc4473b275
Fixed that netconn_thread_cleanup() did not call LWIP_NETCONN_THREAD_SEM_FREE() (!= vs ==)
2015-08-18 11:13:38 +02:00
Sylvain Rochet
43c38a5aeb
PPP, Documentation, add that we support MPPE
2015-08-07 16:53:27 +02:00
sg
6e5ff1dbe8
Enable LWIP_HAVE_LOOPIF by default when LWIP_NETIF_LOOPBACK==1 to not make loopback traffic depend on the only netif's link state
2015-08-05 22:56:10 +02:00
sg
4edade8079
allow multicast socket options IP_MULTICAST_TTL, IP_MULTICAST_IF and IP_MULTICAST_LOOP to be used without IGMP
2015-08-05 22:52:23 +02:00
sg
9352988c44
Tried to improve pbuf_type, LWIP_SUPPORT_CUSTOM_PBUF and PBUF_FLAG_IS_CUSTOM documentation
2015-08-05 22:26:57 +02:00
sg
e5e0a21fc6
LWIP_COMPAT_SOCKETS==2: special setting to help code parsers/code completion to show argument names/types for posix socket functions
2015-08-05 21:41:50 +02:00
Edgar Bonet
fb456e00ac
Fix documentation of TCP_WRITE_FLAG_MORE.
...
The description of the flag was erroneous in src/core/tcp_out.c, and
self-contradictory in doc/rawapi.txt.
2015-08-05 21:20:34 +02:00
sg
851e03966d
Fixed more compiler warnings for unit tests
2015-08-05 21:15:41 +02:00
Erik Ekman
38e3299675
test_etharp: Fix warning about braces
...
../../lwip-trunk/test/unit/etharp/test_etharp.c:16:8: warning: missing
braces around initializer [-Wmissing-braces]
struct eth_addr test_ethaddr = {1,1,1,1,1,1};
^
2015-08-05 21:04:33 +02:00
Erik Ekman
dbdeca3032
test_tcp_oos: Remove last_dropped variable, never read
2015-08-05 21:01:17 +02:00
sg
a78e4c6cf3
track bugfixed in CHANGELOG
2015-08-05 20:57:54 +02:00
sg
76e785dd5e
Fix that pbuf_realloc() called mem_trim() for "custom" PBUF_RAM
2015-08-05 20:40:35 +02:00
sg
767d0d9046
Fixed unit tests (compiler errors/warnings, coding style)
2015-08-03 20:41:49 +02:00
Erik Ekman
145efb1a33
Fix edge case in pbuf_take_at()
...
Writes to offsets pointing to the start of a pbuf in the chain
did nothing and just returned ERR_OK.
Added unit tests to verify the fix, and also
that pbuf_get_at()/pbuf_put_at() handles this case.
2015-08-03 20:34:08 +02:00
goldsimon
22d2af2a29
we are moving towards 1.5.0 -> set LWIP_VERSION accordingly
2015-08-03 13:58:48 +02:00
goldsimon
13801ebd74
netif_find(): name parameter can be const
2015-08-03 13:47:25 +02:00
goldsimon
614fa7b853
... and one more change to those nasty ~ operator warnings :-(
2015-08-03 11:12:53 +02:00
goldsimon
4b815eece9
added lwip_socket_thread_init/cleanup to use LWIP_NETCONN_SEM_PER_THREAD/LWIP_NETCONN_FULLDUPLEX without including anything but sockets.h
2015-08-03 10:15:29 +02:00
goldsimon
11f350e63f
Fixed ~ warnings in a different way
2015-08-03 09:10:49 +02:00
goldsimon
4dc3c7a6a0
Fixed warnings about NULL check not required (ip_addr_isany) and implicit conversion (~)
2015-08-03 08:35:01 +02:00
goldsimon
d106053e4c
Removed accidentally committed // comment
2015-08-03 08:27:33 +02:00
goldsimon
5315751dc9
init.c: fixed window scaling range check
2015-08-03 08:24:36 +02:00
Erik Ekman
e448a9a4a9
err, debug: add missing ERR_ALREADY to lwip_strerr()
...
When ERR_ALREADY was added other error codes were renumbered.
The strerr function was not updated so it returned incorrect data
for ERR_CONN - ERR_IF.
2015-07-27 00:49:18 +02:00
Joel Cunningham
5b0d9338fd
netif, loopif: set link up on loopback interface
...
When LWIP_HAVE_LOOPIF is enabled, a separate loopback interface is added
as a netif. A netif need to have its link state set to up to be able to be
selected as a route in ip4_route or ip6_route.
The regression appears to be when bug #43904 (ip_route() and ip6_route()
must detect linkup status) was fixed.
Furthermore, there is no point of having the loopif down by default.
2015-07-27 00:22:30 +02:00
sg
409d7a99f9
Minor coding style fix
2015-07-14 22:17:49 +02:00
Joel Cunningham
f77e581468
Fix netbuf_destport() when LWIP_CHECKSUM_ON_COPY is not enabled
...
This commit fixes a bug in netbuf_destport() where LWIP_NETBUF_RECVINFO is
enabled, but not LWIP_CHECKSUM_ON_COPY is enabled
The flags field is only available when LWIP_CHECKSUM_ON_COPY is enabled. In
this mode, the toport_chksum is dual functioning as storage for port and
checksum
2015-07-14 22:17:06 +02:00
goldsimon
d3217718a9
Reverted fix for bug #38203 since it might be wrong
2015-06-23 09:20:06 +02:00
Stian Skjelstad
7e76480db4
udp: multicast, fix udp_set_multicast_ttl() parameter and structure member conflict
...
Macro-parameter name can not be the same as the structure member to
dereference.
2015-06-16 12:00:00 +02:00
tabascoeye
7856141fc4
icmp: fix checksum on replies of echo request with ID 0, sequence 0 and either no data or any amount of 0x00 Bytes as data ( closes : #45322 )
...
When a client sends an ICMP echo request with ID 0, sequence 0 and
either no data or any amount of 0x00 bytes as data, the checksum in the
reply is wrong (off-by-one).
Expected checksum is 0xffff in that case, observed is 0x0000.
2015-06-15 15:53:14 +02:00
goldsimon
232cf8c28b
Fixed bug #45098 ip_addr_t type field not populated for socket address copies (patch by James Smith)
2015-05-21 15:51:47 +02:00
goldsimon
b51805b87e
fixed bug #45135 getsockopt SO_SNDTIMEO, SO_RCVTIMEO broken
2015-05-21 15:47:21 +02:00
goldsimon
392ef77bc5
Fixed bug #45161 tcp.c / tcp_abandon / pcb->local_port set to zero but needed later for tcp_rst (introduced some months ago when fixing bug #42299 )
2015-05-21 15:45:09 +02:00
goldsimon
de83c3e9e0
fixed bugs #45140 and #45141 (dhcp was not stopped correctly after fixing bug #38204 )
2015-05-19 10:56:08 +02:00
goldsimon
050d233e10
changed dhcp state name defines to include "STATE_" to prevent confusion with message types (e.g. INFORMING vs. INFORM)
2015-05-19 10:32:14 +02:00
Sylvain Rochet
8c1f834a4a
fixed bug #39683 Assertion "seg->tcphdr not aligned" failed with MEM_ALIGNMENT 1 or 2
...
We used a static 4 instead of MEM_ALIGNMENT earlier, however it broke
things for MEM_ALIGNMENT 1 or 2, fixed using a LWIP_MIN(MEM_ALIGNMENT,
4) statement.
2015-05-11 11:21:08 +02:00
Ivan Delamer
cbeb5ab960
Remove 6LowPAN flag that will not be used.
2015-05-05 14:43:58 -06:00
Ivan Delamer
33a51a1bdc
Improved IPv6 address formatting in ip6addr_ntoa_r().
2015-05-05 14:01:38 -06:00
Ivan Delamer
73660f779b
changes to ip6addr_aton() to avoid crash with some ill-formatted
...
strings.
2015-05-05 13:26:17 -06:00
Ivan Delamer
2c79332de7
Only send RS messages if we have a LL address in some state other than
...
invalid.
2015-05-05 13:05:41 -06:00
Ivan Delamer
2aec025e16
Bug fix: properly use unspecified source address for router solicitation
...
if needed.
2015-05-05 13:00:17 -06:00
Ivan Delamer
24f486261a
Small bug fix in ipaddr_ntoa_r when IPv4 and IPv6 are enabled.
2015-05-05 11:57:23 -06:00
Edgar Bonet
f0c4944e2c
sockets: do not assume defined(FD_SET) implies defined(FD_SET_VAL).
2015-05-05 14:08:42 +02:00
Edgar Bonet
cf15872b8d
SNMP, Missing const qualifier on internet_nodes[] in mib2.c.
2015-05-05 13:02:30 +02:00
Sylvain Rochet
78e1b9b7c1
PPP, don't store the name by which the peer authenticated itself to us if multilink support is disabled
...
pcb->peer_authname is only used by multilink support (which we don't
support), don't store the useless peer authname.
2015-05-01 22:51:09 +02:00
Sylvain Rochet
967a8d0678
PPP, opt.h: fixed coding style
2015-05-01 01:01:42 +02:00
Sylvain Rochet
fa44cef27b
PPP, L2TP, added configurable L2TP MRU using opt.h
2015-05-01 00:49:19 +02:00
Sylvain Rochet
29ba3df717
PPP, re-enabled MRU defines in opt.h
2015-05-01 00:08:34 +02:00
Sylvain Rochet
aacc222b7d
PPP, display MTU set through netif_set_mtu() if debug is enabled
2015-04-30 23:41:47 +02:00
Sylvain Rochet
341f0bf9e3
PPP, assert if ppp_fatal() is called
2015-04-30 13:48:08 +02:00
Sylvain Rochet
091c6a3bda
PPP, cleanup unused/redefined/useless limits in ppp_impl.h
2015-04-30 01:07:11 +02:00
Sylvain Rochet
fd53cad208
PPP, sifnpmode() is only useful if on demand is supported, build out if not
...
We don't support PPP on demand, don't build sifnpmode() which is only
useful for on demand if on demand is not supported.
2015-04-30 00:06:24 +02:00
Sylvain Rochet
1b6d6d0dc0
PPP, removed unnecessary memset()
...
Everything is cleared in ppp_clear(), we don't need to clear all
structures twice.
2015-04-29 23:55:23 +02:00
Sylvain Rochet
40c671b1a5
PPP, PPPoS, also clear last_xmit when resetting PPPoS control block
2015-04-29 23:41:23 +02:00
Sylvain Rochet
0a8b1c199d
PPP, added missing cast on pbuf_header()
2015-04-26 23:42:18 +02:00
Sylvain Rochet
3a3c823ddb
PPP, MPPE, try to use pbuf_header() in mppe_compress()
...
If there is enough space in front of the buffer, use it instead of
allocating a new pbuf.
2015-04-26 23:27:31 +02:00
Sylvain Rochet
900f3c9a09
PPP, MPPE, don't issue CCP reset request in stateless mode
...
This is useless, flushed bit is always true in stateless mode, we
don't need to issue a CCP reset request in this case.
2015-04-26 22:13:11 +02:00
Sylvain Rochet
8fe2f747f4
PPP, MPPE, issue CCP reset request if synchronization is lost
...
If MPPE synchronization is lost, it is advised to send a CCP reset
request in order to recover to a clean state.
2015-04-26 22:04:21 +02:00
Sylvain Rochet
adaeff5540
PPP, MPPE, discard late packet in stateless mode
...
When PPP is used over a link which does not guarantee packet ordering,
we might get late MPPE packets. This is a problem because MPPE must be
kept synchronized and the current implementation does not drop them and
rekey 4095 times instead of 0, which is wrong.
In order to prevent rekeying about a whole count space times (~ 4095
times), drop packets which are not within the forward 4096/2 window and
increase sanity error counter.
2015-04-26 20:59:09 +02:00
Sylvain Rochet
d0f91c00cb
PPP, MPPE, sanity error path rework
...
We are going to need sanity error path a little further, rework to be
able to use the sanity error path anywhere in decompressor.
2015-04-26 20:57:01 +02:00
sg
e20a071977
added functions dhcp/autoip_supplied_address() to check for the source of address assignemnt (replacement for NETIF_FLAG_DHCP)
2015-04-24 21:23:15 +02:00
Sylvain Rochet
737a6921c3
PPP, place print packet debug codenames in ROM
2015-04-24 00:13:25 +02:00
Sylvain Rochet
44af6978db
netconn: api_msg.c, fixed warning about unused state variable by using it a little more
2015-04-23 23:31:41 +02:00
Sylvain Rochet
acbdf63a48
debug.h: fixed LWIP_PLATFORM_ERROR macro if LWIP_DEBUG and LWIP_NOASSERT are defined
2015-04-23 23:07:06 +02:00
goldsimon
e59beeb625
fixed "missing braces around initializer" for IN6ADDR_*_INIT macros
2015-04-23 10:08:30 +02:00
goldsimon
f01dc8cc34
more "const" fixes
2015-04-23 09:59:15 +02:00
goldsimon
89f0e45b50
fixed ip_addr_islinklocal macro definition
2015-04-23 09:35:20 +02:00
goldsimon
3f83556128
sockets: IPPROTO_RAW/IPV6_CHECKSUM must be disabled for LWIP_RAW==0;
...
help msvc to not warn about uninitialized variables
2015-04-23 09:14:42 +02:00
goldsimon
1cdafabc7c
added missing braces around macro parameters
2015-04-23 09:04:45 +02:00
goldsimon
f9965b4967
some more compiler warning fixes
2015-04-23 08:44:44 +02:00
goldsimon
0de0942f9c
fixed pppol2tp (IP_IS_V6_L -> IP_IS_V6_VAL)
2015-04-23 07:46:06 +02:00
goldsimon
00a46f104a
changed IP_IS_V6_VAL() to take an instance, not a pointer (to get the _val() functions the same)
2015-04-23 07:26:29 +02:00
goldsimon
009755ba01
fixed broken ip6_addr_debug_print_parts() (broken yesterday)
2015-04-23 07:25:48 +02:00
goldsimon
53a96f69ef
ppp_free: fixed type of local 'err'
2015-04-23 07:25:10 +02:00
goldsimon
e60bc69515
added more missing casts
2015-04-23 07:24:45 +02:00
goldsimon
fbadb8354f
fixed const'ness of syscontact/sysname/syslocation
2015-04-22 16:06:39 +02:00
goldsimon
02dee05c16
Fixed const'ness in snmp (design of sys contact/name/location and snmpenableauthentraps is broken!)
2015-04-22 15:39:56 +02:00
goldsimon
b16316ae37
fixed more (tiny) warnings...
2015-04-22 14:56:58 +02:00
goldsimon
f5077dc982
fixed some more missing casts...
2015-04-22 14:18:54 +02:00
goldsimon
634c438b50
sockets.c: added missing casts after changing storage type of 'err' member in sockets
2015-04-22 13:52:21 +02:00
goldsimon
f468c492b9
fixed missing casts found with msvc /Wall
2015-04-22 13:38:10 +02:00
goldsimon
5410838793
igmp.c: fixed -Waddress, removed dead code
2015-04-22 12:50:26 +02:00
goldsimon
91c2618f21
fixed typo in sockets.h
2015-04-22 12:50:13 +02:00
goldsimon
beabd3c6b7
Added some macros with extension "_val" that work on actual instances and leave away the "if != NULL" check to get rid of gcc "-Waddress" warnings in the core code at least (I might not have caught all of them, yet)
2015-04-22 12:43:03 +02:00
goldsimon
a81c7bf04b
fixed compiling icmp.c (variable has to be declared at the beginning of a scope)
2015-04-22 11:29:35 +02:00
goldsimon
a6c3bb4c6d
revert accidentally committed snmp header files
2015-04-22 10:54:07 +02:00
goldsimon
902d190a11
Many const fixes throughout the stack (although these are not all, yet)
2015-04-22 10:29:43 +02:00
goldsimon
0142f113a3
fixed compiling netdb.c after LWIP_IPV4 changes
2015-04-22 09:17:31 +02:00
goldsimon
fe195a86cd
dhcp: move declaration of "extern void dhcp_set_ntp_servers()" from dhcp.c to dhcp.h to make the function prototype known to implementers
2015-04-22 09:17:06 +02:00
goldsimon
11845cedd6
Added version-independent ip_addr_islinklocal()
2015-04-22 09:16:05 +02:00
Sylvain Rochet
5e43e2d333
PPP, L2TP, minor fixes
...
Check tot_len for ZLB instead of len, it might happens we are just
between 2 pbuf, although almost impossible.
Check buffer is at least 2 byte long before checking address & flags
header.
2015-04-22 00:50:08 +02:00
Sylvain Rochet
15cc47334e
PPP, don't assert if we receive a too short packet in ppp_input(), just drop
...
We might actually receive too short packets through PPPoE or PPPoL2TP,
don't assert on unusal packets, just drop them.
2015-04-22 00:31:14 +02:00
Sylvain Rochet
5989c1883e
PPP, removed useless padding in bitfields
...
Most of them were wrong actually. We have to use unsigned int because
C90 only allows int types for bitfields, so we are stuck to 32-bit
bitfields in most cases.
2015-04-21 22:43:53 +02:00
Sylvain Rochet
632de523de
Fixed PBUF_LINK_ENCAPSULATION_HLEN support
...
PBUF_LINK_ENCAPSULATION_HLEN support was introduced by 6ef7563f and
missed the fact that header size calculation/reservation using
computation like PBUF_LINK_HLEN + PBUF_IP_HLEN + ... are used all over
the source code. Hopefully fixed all of them.
2015-04-20 23:43:33 +02:00
Sylvain Rochet
2db7513590
PPP, VJ, improved opt.h comment about VJ
2015-04-20 21:14:05 +02:00
Sylvain Rochet
ced24f9215
PPP, MPPE, drop unencrypted input packet if MPPE is required
2015-04-20 21:13:34 +02:00
Sylvain Rochet
b302cad46d
PPP, VJ, CCP: rework to fix protocol order
...
We need to do VJ compression before CCP/MPPE compression and VJ
decompression after CCP/MPPE decompression. This leads to a massive
rewrite of how we currently handled VJ only in the PPPoS lower protocol
handler.
Moved VJ structures from pppos to ppp_pcb because we need them back in
PPP core. This is a bit unfortunate because that's not necessary for
PPPoE or PPPoL2TP, but, hey!. Fixed CCP+MPPE+VJ order.
2015-04-20 00:10:35 +02:00
Sylvain Rochet
33838b8c1c
PPP, MPPE, compile-out unused mppe_incomp() function
2015-04-19 22:06:59 +02:00
Sylvain Rochet
42fb74ce22
PPP, CCP, MPPE, handle CCP Reset-Request and Reset-Ack for MPPE
2015-04-19 22:01:58 +02:00
Sylvain Rochet
74670ec07f
PPP, MPPE, MPPE also requires MSCHAP support (therefore CHAP support as well)
2015-04-19 17:06:23 +02:00
Sylvain Rochet
3450a78992
PPP, change ppp_write() return type from int to err_t
...
ppp_write() callback returns err_t, makes ppp_write() consistent with
the callback it is calling.
2015-04-19 16:34:34 +02:00
Sylvain Rochet
f4ef6180b8
PPP, MPPE: allow users to enable CCP and MPPE support in opt.h
...
We are new ready to process CCP and MPPE packets, allow lwIP users to benefit
from those features.
2015-04-19 16:28:48 +02:00
Sylvain Rochet
f0c25aaa60
PPP, MSCHAP, fixed compiler warnings if MPPE support is disabled
2015-04-19 16:28:11 +02:00
Sylvain Rochet
0f63c1ef8f
PPP, CORE, reworked ppp_netif_output* functions to process CCP on all protocols
...
Both IPv4 and IPv6 should be proccessed by CCP, reworked ppp_netif_output*
in a generic way for CCP.
2015-04-19 16:22:20 +02:00
Sylvain Rochet
b27966860e
PPP, CCP, MPPE: added packet plumbing in ppp.c to process MPPE packets
2015-04-19 15:52:46 +02:00
Sylvain Rochet
51566d43bd
PPP, normalized debug messages
2015-04-19 14:24:30 +02:00
Sylvain Rochet
71d085bd13
PPP, CCP, added data packet configuration in ppp_pcb
2015-04-19 14:17:34 +02:00
Sylvain Rochet
ffb10e7aac
PPP, CCP, added receive and transmit chosen protocols in ccp_flags_set() (renamed ccp_set())
...
We need to know which methods were chosen when CCP is up, this used to be done
using ccp_test() which we are in the process of removing.
Using non-existing method 0 instead of -1 in CCP for unset method, allowing
type change from s16_t to u8_t for method.
2015-04-19 13:51:35 +02:00
sg
a5503df32b
Fixed typo in dchp_inform (state is named DHCP_INFORMING, not DHCP_INFORM)
2015-04-19 12:30:20 +02:00
Sylvain Rochet
c8db96705f
PPP, MPPE, close current session using lcp_close() if something went wrong
2015-04-19 02:27:40 +02:00
Sylvain Rochet
f94efab6c3
PPP, CCP, added MPPE user configuration flags
2015-04-19 02:17:43 +02:00
Sylvain Rochet
4c0af0f79e
PPP, MPPE, reworked MPPE debug, using ppp_pcb metadata
2015-04-19 01:49:04 +02:00
Sylvain Rochet
fc7e327d19
PPP, MSCHAP, CCP, MPPE: reworked key passing from CCP to MPPE
...
Removed mutiple copies of keys by pre-setting MPPE keys during MSCHAP
negotiation.
Improved MPPE init so we don't need to pass a buffer formatted in a
special way to MPPE, this is necessary for pppd to talk to the kernel,
we don't need that here.
2015-04-19 01:20:43 +02:00
Sylvain Rochet
045f44c7f9
PPP, MSCHAP, merged mppe_set_keys() to Set_Start_Key(), merged mppe_set_keys2() to SetMasterKeys()
2015-04-19 00:26:25 +02:00
Sylvain Rochet
867d13b007
PPP, CCP, MPPE: calling mppe_init() in ccp.c instead of using ccp_test()
...
We don't need this ccp_test() stuff which is used to test if kernel have
the ability to process MPPE packets. Reworked MPPE so we don't need it.
2015-04-18 23:51:10 +02:00
Sylvain Rochet
40991b93a2
PPP, CCP, reworked ppp_pcb ccp_localstate and all_rejected fields
2015-04-18 19:47:21 +02:00
Sylvain Rochet
949d76b328
PPP, MSCHAP: ensure magic tables are not copied and initialized on stack
2015-04-18 19:14:39 +02:00
Sylvain Rochet
210a2ccfdf
PPP, MSCHAP, MPPE: shared identical mppe_sha1_pad* between MSCHAP and MPPE
2015-04-18 18:51:45 +02:00
Sylvain Rochet
3862aad2f7
PPP, MSCHAP, reworked local functions and constants
...
MSCHAP was written the old-way, with all functions declared non static in
header, independent of their local or global scope status. Same for local
constants. Reworked in a more mordern way.
2015-04-18 17:56:35 +02:00
Sylvain Rochet
2a005c2f11
PPP, MPPE, moved MPPE global variables from MSCHAP to ppp_pcb
2015-04-18 17:41:44 +02:00
Sylvain Rochet
ab46ac9bd8
PPP, CHAP, reworked to pass ppp_pcb pointer to CHAP childs (MD5, MSCHAP, MSCHAPv2)
...
We are going to need ppp_pcb* in MSCHAP and MSCHAPv2 for MPPE for
int mppe_keys_set, u_char mppe_send_key and u_char mppe_recv_key
which are currently global variable which must be moved to ppp_pcb.
2015-04-18 17:29:55 +02:00
Sylvain Rochet
c51ed84fd8
PPP, MPPE, added ppp_mppe_state comp and decomp to ppp.h
2015-04-18 16:13:44 +02:00
Sylvain Rochet
74054ea907
PPP, MPPE, struct ppp_mppe_state to typedef
...
We usually handle "typedefed" struct in lwIP, and I agree this is a cleaner
approach. Replaced struct ppp_mppe_state to ppp_mppe_state.
2015-04-18 14:54:25 +02:00
Sylvain Rochet
f79bc03360
PPP, MPPE, optimized struct ppp_mppe_state size
2015-04-18 13:41:38 +02:00
Sylvain Rochet
b553df860c
PPP, CCP, deflate, BSD compress, predictor 1 & 2 are now optional at compile time
2015-04-18 02:02:00 +02:00
Sylvain Rochet
f753a728dd
PPP, CCP, compile-out a bit more MPPE code if MPPE is disabled
2015-04-18 01:10:25 +02:00
Sylvain Rochet
3f2e8ebcdf
PPP, MPPE, merged mppe_comp_init() and mppe_decomp_init() into mppe_init()
...
Removing a bit of redundancy and previous artefact of a generic kernel
interface. Exporting mppe_init() instead of mppe_comp_init() plus
mppe_decomp_init().
2015-04-18 00:48:26 +02:00
Sylvain Rochet
a1fe83c070
PPP, MPPE, remove dead code
2015-04-18 00:43:24 +02:00
Sylvain Rochet
879c94b01e
PPP, MPPE, removed mppe_alloc() and mppe_free()
...
We are going to use statically allocated struct ppp_mppe_state through PPP PCB,
removed now useless mppe_alloc() and mppe_free().
Merged mppe_alloc() key copy to mppe_init().
2015-04-18 00:33:57 +02:00
Sylvain Rochet
da40445d75
PPP, MPPE, changed API to use struct ppp_mppe_state* instead of void*
...
Now that struct ppp_mppe_state is exported, change MPPE API to use
struct ppp_mppe_state* instead of void*, we don't need that to be generic.
2015-04-18 00:26:15 +02:00
Sylvain Rochet
6235e1ae57
PPP, MPPE, moved struct ppp_mppe_state from mppe.c to mppe.h
...
In order to be able to use struct ppp_mppe_state statically allocated,
export struct ppp_mppe_state.
2015-04-18 00:15:52 +02:00
Sylvain Rochet
3618432107
PPP, MPPE, reworked mppe_rekey()
...
Moved sha1_context from struct ppp_mppe_state to stack, we don't need it past
mppe_rekey(). Moved shared MEMCPY() outside initial_key if block.
2015-04-18 00:02:49 +02:00
Sylvain Rochet
f1cba8a0ea
PPP, MPPE, merged get_new_key_from_sha() to mppe_rekey()
...
get_new_key_from_sha() is only used in mppe_rekey(), merged
2015-04-17 23:53:22 +02:00
Sylvain Rochet
489760d2e3
PPP, CCP, re-added missing ccp_test()
...
ccp_test() is not only used to test kernel support, but also to set MPPE keys,
we will change that further, but for now, re-add the necessary ccp_test()
2015-04-17 23:21:13 +02:00
Sylvain Rochet
caf9fc5687
PPP, MPPE, adapt compressor to use pbuf
...
mppe_compress() now takes a pointer to a pbuf pointer and re-use the
passed buffer for MPPE "compression".
2015-04-16 22:23:57 +02:00
Sylvain Rochet
dc93c2afec
PPP, MPPE, removed address, control and protocol from compressor input
...
Our PPP stack deals with packet without address and control byte nor 2-byte
protocol field, improved mppe_compress() so we don't have to worry about
them.
2015-04-14 22:56:46 +02:00
Sylvain Rochet
9164c4f309
PPP, MPPE, removed address, control and protocol from compressor output
...
Our PPP stack deals with packet without address and control byte nor 2-byte
protocol field, improved mppe_compress() so we don't have to worry about
them.
2015-04-14 22:56:41 +02:00
Sylvain Rochet
e241f880e8
PPP, code cleaning, fixed ppp_input() indentation
2015-04-13 23:19:43 +02:00
Sylvain Rochet
662f1355de
PPP, fixed LWIP_IPV4=1 and PPP_IPV4_SUPPORT=0 support
...
If LWIP_IPV4 is true but PPP_IPV4_SUPPORT is false, we need
a dummy ppp_netif_output_ip4() callback because we don't have
a netif_null_output_ip4() by default like we have for IPv6 with
netif_null_output_ip6().
2015-04-13 23:07:42 +02:00
Sylvain Rochet
c865211c2f
PPP, get_mask() is only used for IPCP, moved to PPP_IPV4_SUPPORT functions group
2015-04-13 22:58:45 +02:00
sg
6324068d34
Worked on IPv6-only stack: netdb should work
2015-04-13 21:29:04 +02:00
sg
e77e18f8c4
Worked on IPv6-only stack:
...
- prepared DNS;
- fixed compiling ppp.c
2015-04-13 21:24:40 +02:00
sg
69c337b31d
Fixed ntoa/aton/ntop/pton definitions after making IPv4 optional
2015-04-13 20:52:42 +02:00
Sylvain Rochet
bc99f75b53
PPP, PPPoL2TP, removed unnecessary single pbuf
...
Removed ppp_singlebuf() in pppol2tp_input(), chained pbuf are perfectly
acceptable for IP data and we are currently supporting them perfectly
for PPPoS. The PPP stack itself (LCP, IPCP et al.) does not support
chained pbuf and is already calling ppp_singlebuf() just before passing
packet to the protocol handler.
Added ppp_singlebuf() in pppol2tp_dispatch_control_packet() because we
do not support chained pbuf in L2TP control packet.
2015-04-12 22:00:43 +02:00
Sylvain Rochet
421582d747
PPP, MPPE, using err_t return for mppe_decompress
2015-04-12 21:09:15 +02:00
Sylvain Rochet
ab1606a0f6
PPP, MPPE, adapt decompressor to use pbuf
...
mppe_decompress() now takes a pointer to a pbuf pointer and re-use the
passed buffer for MPPE "decompression". Removed sub protocol handling
which can be shared among all decompressors in ppp.c
2015-04-12 21:04:22 +02:00
Sylvain Rochet
bcfaeca373
PPP, PPPoE, removed unnecessary single pbuf
...
Removed ppp_singlebuf() in pppoe_data_input(), chained pbuf are
perfectly acceptable for IP data and we are currently supporting them
perfectly for PPPoS. The PPP stack itself (LCP, IPCP et al.) does not
support chained pbuf and is already calling ppp_singlebuf() just before
passing packet to the protocol handler.
2015-04-12 20:08:01 +02:00
Sylvain Rochet
5f0e261f2d
PPP, MPPE, handle packets in decompressor without address and control nor protocol
...
Our PPP stack deals with packet without address and control byte nor 2-byte
protocol field, improved mppe_decompress() so we don't have to worry about
them.
2015-04-12 18:41:21 +02:00
Sylvain Rochet
0e1aec4348
PPP, using ip4_input() instead of ip_input()
...
In PPP, we previously know if we are dealing with a IPv4 or a IPv6 packet,
we don't need to use the ip_input() dispatch function, removing a useless
if and reducing call stack by one.
2015-04-12 13:53:53 +02:00
sg
c1c65777b6
worked on task #13480 : added LWIP_IPV4 define - IPv4 can be disabled, leaving an IPv6-only stack (SNMP is still missing)
2015-04-12 10:43:46 +02:00
Sylvain Rochet
89d666155d
PPP, MPPE, fixed mppe_rekey()
...
Oops, it was introduced when porting to PolarSSL ARC4.
2015-04-12 01:27:05 +02:00
Sylvain Rochet
4d6d65ee33
PPP, MPPE, fixed SHA1 padding
...
SHA1 padding is 40 byte, not 256 byte. Rekeying is done for each
packet in stateless mode, ensure speedness using static table for padding.
2015-04-11 23:57:47 +02:00
Sylvain Rochet
dcdb360a19
ip6_addr.c: fixed IPv6 ip6_addr_any value
...
0000:0000:0000:0000:0000:0000:0000:0000 instead of
0000:000a:0000:000b:0000:000c:0000:000d
2015-04-11 20:24:56 +02:00
Sylvain Rochet
8a73990f51
PPP, PPPoL2TP, improved pppol2tp_create() error path
2015-04-11 14:06:06 +02:00
Sylvain Rochet
efe229a54b
PPP, PPPoL2TP, merged pppol2tp_input_ip() to pppol2tp_input()
...
We don't need anymore an input function for ip4 and an input function
for ip6, work to achieve that was partially done by ce7e31cd .
pppol2tp_input() is now only called by pppol2tp_input_ip(), finishing
dual stack support by merging pppol2tp_input_ip() into pppol2tp_input().
2015-04-11 13:56:41 +02:00
Sylvain Rochet
d6fdf7d4b1
PPP, PPPoL2TP, switched to dual stack IPv4/IPv6
...
Replaced ip4_addr_t to ip_addr_t in pppapi_pppol2tp_create() prototype,
now binding to UDPv6 or UDPv4 depending on the passed ip_addr_t type.
Removed pppol2tp_create_ip6() and pppapi_pppol2tp_create_ip6().
2015-04-11 13:15:06 +02:00
goldsimon
cf180b651b
fixed unit tests after changing ip_addr_t
2015-04-10 08:51:06 +02:00
goldsimon
2e649e1843
Added IP_ADDR4()/IP_ADDR6() initializer macros that initialize ip_addr_t like their counterparts IP4_ADDR()/IP6_ADDR()
2015-04-10 08:49:32 +02:00
goldsimon
1985579148
fixed compiler warning (signed/unsigned comparison) introduced when fixing bug #44766
2015-04-10 07:46:31 +02:00
goldsimon
d31dbc6798
Fixed constant initializer problem in ip_addr_t by having ip6 first
2015-04-10 07:41:40 +02:00
Sylvain Rochet
ffd45a2261
PPP, added new build dependencies in init.c
2015-04-10 01:00:08 +02:00
Sylvain Rochet
135631d29d
fixed some obvious compiler warnings
...
lwip/src/include/lwip/autoip.h:52:1: error: C++ style comments are not allowed in ISO C90 [-Werror]
//#include "lwip/udp.h"
lwip/src/core/ipv4/autoip.c:70:1: error: C++ style comments are not allowed in ISO C90 [-Werror]
//#include "lwip/udp.h"
lwip/src/include/lwip/api.h:239:25: error: declaration of ‘lev’ shadows a previous local [-Werror=shadow]
SYS_ARCH_DECL_PROTECT(lev); \
2015-04-09 23:27:36 +02:00
sg
ce7e31cd04
task #12722 (improve IPv4/v6 address handling): renamed ip_addr_t to ip4_addr_t, renamed ipX_addr_t to ip_addr_t and added IP version;
...
ip_addr_t is used for all generic IP addresses for the API, ip(4/6)_addr_t are only used internally or when initializing netifs or when calling version-related functions
2015-04-09 22:21:15 +02:00
goldsimon
4ff1eb1890
fixed bug #44766 (LWIP_WND_SCALE: tcphdr->wnd was not scaled in two places)
2015-04-08 07:29:11 +02:00
goldsimon
7c47c917b5
dhcp: start discovery with short timeouts on network change, even if already discovering
2015-04-02 11:02:16 +02:00
Sylvain Rochet
7285459375
PPP, MPPE, exported MPPE functions
2015-03-29 12:19:33 +02:00
Sylvain Rochet
52b7ebd4e7
PPP, MPPE, fixed compiler warnings
2015-03-29 12:19:33 +02:00
Sylvain Rochet
ea6f624b58
PPP, MPPE. fixed port mistake on SHA1 computation
2015-03-29 12:19:33 +02:00
Sylvain Rochet
3cf3b78192
PPP, MPPE, commented-in Linux interface calls structure
2015-03-29 12:19:33 +02:00
Sylvain Rochet
cdc2d034de
PPP, MPPE, temporarily replaced kzalloc() with malloc()
2015-03-29 12:19:32 +02:00
Sylvain Rochet
cd8a17d644
PPP, MPPE, removed useless Linux stuff
2015-03-29 12:19:32 +02:00
Sylvain Rochet
57e3e7f150
PPP, MPPE, improved SHA1 padding
...
Don't allocate 512 bytes of RAM for padding. Reduce overall padding
size to 64, therefore using stack instead of RAM or ROM.
2015-03-29 12:19:32 +02:00
Sylvain Rochet
c759639603
PPP, MPPE, removed "compression" stats
...
We don't need "compression" stats on a encryption protocols, as commented
"Since every frame grows by MPPE_OVHD + 2 bytes, this is always going
to look bad ... and the longer the link is up the worse it will get."
2015-03-29 12:19:32 +02:00
Sylvain Rochet
a6c101aeb8
PPP, MPPE, removed now useless setup_sg() function
2015-03-29 12:19:32 +02:00
Sylvain Rochet
7ea8a754c1
PPP, MPPE, using our ARC4 instead of Linux crypto ARC4
2015-03-29 12:19:32 +02:00
Sylvain Rochet
d5667343cb
PPP, updated polarssl readme
2015-03-29 12:19:32 +02:00
Sylvain Rochet
0bfe435c4f
PPP, MPPE, updated polarssl ARC4 for lwIP
2015-03-29 12:19:32 +02:00
Sylvain Rochet
cd39843c75
PPP, MPPE, import unmodified ARC4 from polarssl
2015-03-29 12:19:32 +02:00
Sylvain Rochet
f9ae65acd8
PPP, MPPE, added build macro if MPPE is not enabled
2015-03-29 12:19:32 +02:00
Sylvain Rochet
cfd930cae7
PPP, MPPE, using our SHA1 instead of Linux crypto sha1
2015-03-29 12:19:32 +02:00
Sylvain Rochet
0b7e3610ac
PPP, MPPE, using lwIP ERR_BUF instead of Linux DECOMP_ERROR error type
2015-03-29 12:19:32 +02:00
Sylvain Rochet
10946e7669
PPP, MPPE, removed a bit more Linux stuff
2015-03-29 12:19:32 +02:00
Sylvain Rochet
2dcd8c2729
PPP, MPPE, removed include we don't have
2015-03-29 12:19:32 +02:00
Sylvain Rochet
dcde1c2a8f
PPP, CCP, added missing defines from linux/ppp-comp.h to ccp.h
2015-03-29 12:19:32 +02:00
Sylvain Rochet
0810384555
PPP, MPPE, replaced printk() to PPPDEBUG()
2015-03-29 12:19:32 +02:00
Sylvain Rochet
434fb1e0da
PPP, MPPE, fixed path to mppe.h
2015-03-29 12:19:32 +02:00
Sylvain Rochet
435a0b98ac
PPP, MPPE, cleaning license notice
...
We only need to keep the BSD license part in lwIP, cleaning the part which
is only relevant for the Linux kernel.
2015-03-29 12:19:32 +02:00
Sylvain Rochet
05eda236cc
PPP, MPPE, import unmodified Linux MPPE encoder/decoder
...
This file, which is an unmodified copy of Linux MPPE encoder/decoder, is
licensed under a dual License BSD/GPL model. It was previously in the
pppd source tree and it was removed because this is merged into the Linux
kernel.
2015-03-29 12:19:32 +02:00
goldsimon
c998faeeab
fixed bug #44649 lwip_socket_drop_registered_memberships
2015-03-27 13:18:34 +01:00
Sylvain Rochet
f967933e8b
PPP, PPPoS, protect open flag in connect() and listen()
...
Protect open flag in connect() and listen(), this is a bitfield, it might
not be set atomically on some targets.
2015-03-26 23:30:18 +01:00
Sylvain Rochet
8862a1ac8f
PPP, MPPE, ccp_options->mppe is a bitfield of MPPE_OPT_* and not a boolean, fixed
...
This is actually wrong as well in PPPd, oops.
2015-03-25 00:09:37 +01:00
Sylvain Rochet
ad56a115be
PPP, CCP, moved ccp_test() from ccp_addci() to ccp_resetci()
...
We don't need to test our available compression protocols that much, we know
what we are going to be able to use in embedded. Even PPPd don't need that.
Checking only in ccp_resetci() is enough, this way we know our cilen size
before ccp_addci() is called. PPPd is designed that *_addci() can use less
bytes than it previously asked in *_cilen(), we prefer to avoid that here.
We actually don't need at all ccp_test() calls, we know what we are
able to support at compile time, we don't need to ask the kernel like
PPPd does. This is just the first step in ccp_test() removal.
2015-03-24 23:37:56 +01:00
Sylvain Rochet
c8ed013600
PPP, FSM, added assert to easily track cilen size mismatch
...
See c49fc8d for such a problem which ends up with heap corruption.
2015-03-24 23:10:58 +01:00
Sylvain Rochet
c49fc8db72
PPP, CCP: Fix ccp_cilen returning size if both deflate_correct and deflate_draft are enabled
...
This fixes a bug returning 4 byte less than necessary for the addci buffer
if both deflate_correct and deflate_draft are enabled.
2015-03-24 21:38:33 +01:00
sg
93fa268db1
used ip6_addr_t instead of struct ip6_addr, fix const'ness in ip6_route parameters
2015-03-24 21:30:22 +01:00
sg
521c92764d
loopif is not required for loopback traffic any more but passed through any netif (ENABLE_LOOPBACK has to be enabled) (task #13515 )
2015-03-24 21:22:19 +01:00
sg
71d121fab2
Added input & route hooks for IPv6 to stay in line with IPv4
2015-03-24 20:33:47 +01:00
sg
86970a01d7
etharp: reduce ARP aging timeout from 20 minutes to 5 minutes, since this is a time obviously used in some switches as MAC learning table timeout. Having our ARP timeout higher than this can lead to sending unicast packets to multiple network segments.
2015-03-24 20:04:18 +01:00
Sylvain Rochet
210496f0ca
PPP, IPV6, correct fix for IPV6CP_COMP disabling
2015-03-23 23:48:00 +01:00
sg
2eb0386c2a
fixed bug #36017 ARP might not support duplicate addresses on multiple netifs (tried to correctly handle duplicate AutoIP addresses on multiple netifs, but only if explicitly enabled via ETHARP_TABLE_MATCH_NETIF==1)
2015-03-23 22:04:57 +01:00
sg
440c99100b
fixed bug #34617 : Stable etharp entries that are about to expire are now refreshed using unicast to prevent unnecessary broadcast.
...
Only if no answer is received after 15 seconds, broadcast is used.
2015-03-23 21:38:19 +01:00
sg
33d5e646e5
fixed bug #41318 (Bad memory ref in tcp_input() after tcp_close())
2015-03-21 21:19:10 +01:00
sg
c00a62d37f
fixed bug #38468 (tcp_sent() not called on half-open connection for data ACKed with the same ack as FIN)
2015-03-21 20:56:42 +01:00
Sylvain Rochet
17486408b4
PPP, IPV6, fixed build if VJ support is disabled
2015-03-21 20:41:03 +01:00
Sylvain Rochet
c17594c1d0
PPP, CORE, don't build get_loop_output() if demand support (not supported) is not enabled
2015-03-21 20:12:14 +01:00
sg
4463239d6e
fixed bug #38204 (DHCP lease time not handled correctly)
2015-03-21 10:09:31 +01:00
sg
45d82c8d99
dhcp.c: removed dead code (#if 0)
2015-03-20 21:03:19 +01:00
sg
3e302e8683
fixed bug #38714 (Missing option and client address in DHCPRELEASE message)
2015-03-20 21:02:41 +01:00
sg
d6620f0f3a
fixed bug #38203 (DHCP options are not recorded in all DHCP ack messages)
2015-03-20 20:29:04 +01:00
Sylvain Rochet
f7a5b71dba
nd6: fixed compiler warnings
...
nd6.c: In function ‘nd6_send_rs’:
nd6.c:997:52: warning: suggest parentheses around ‘+’ inside ‘<<’ [-Wparentheses]
p = pbuf_alloc(PBUF_IP, sizeof(struct rs_header) + lladdr_opt_len << 3, PBUF_RAM);
^
nd6.c:998:58: warning: suggest parentheses around ‘+’ inside ‘<<’ [-Wparentheses]
if ((p == NULL) || (p->len < (sizeof(struct rs_header) + lladdr_opt_len << 3))) {
2015-03-20 20:11:59 +01:00
Ivan Delamer
a4d14fc987
fix bug #44586 : nd6_send_rs() pbuf size error
2015-03-20 09:04:22 -06:00
Sylvain Rochet
c8587e1242
tcp_in: typo fix. Fixes bug #4458944589 .
2015-03-20 13:22:47 +01:00
Sylvain Rochet
4e62a88870
PPP, PPPoL2TP, fixed build with IPv6 enabled
2015-03-20 09:48:40 +01:00
Clint Sbisa
32f6e7e231
tcp: Fix ooseq processing when seqno is near 2^32
...
An edge case in out-of-sequence TCP packet processing did not use the
appropriate macro to check if the sender overran the recieve window.
Consequently, this case sometimes evaluated to true when it shouldn't, which
resulted in various bad behavior, including trying to resize a TCP buffer to 4
gigabytes.
2015-03-20 08:32:14 +01:00
goldsimon
94f7bcef67
Fixed tcp unit tests after changing routing to check for link up
2015-03-20 08:31:39 +01:00
Sylvain Rochet
36e90a1bd5
PPP, CCP, add dummy ccp_ functions in ppp.c so it builds if CCP_SUPPORT is set
2015-03-20 00:37:34 +01:00
Sylvain Rochet
9fbe900949
PPP, MPPE, replaced #ifdef MPPE to #if MPPE_SUPPORT
2015-03-20 00:20:12 +01:00
Sylvain Rochet
73f1511ac2
PPP, CORE, removed auth fields from struct ppp_pcb if auth is disabled
2015-03-20 00:00:46 +01:00
Sylvain Rochet
5937932370
PPP, CCP, various fix if MPPE is enabled
2015-03-19 21:45:19 +01:00
Sylvain Rochet
794c93b540
PPP, CCP, various compiler warnings fix
2015-03-19 21:45:19 +01:00
Sylvain Rochet
b92ac33022
PPP, CCP, updated to our utils.c function name
2015-03-19 21:45:19 +01:00
Sylvain Rochet
90bbcbf994
PPP, CCP, updated ccp_printpkt() prototype to match other *_printpkt()
2015-03-19 21:45:19 +01:00
Sylvain Rochet
151995f88c
PPP, CCP, updated ANY_COMPRESS() to use ccp_options*
2015-03-19 21:45:19 +01:00
Sylvain Rochet
611b3c4c2c
PPP, CCP, commented-in unused global variables used for options
2015-03-19 21:45:19 +01:00
Sylvain Rochet
2a6104ab17
PPP, CCP, added ccp.h in ppp.h
2015-03-19 21:45:19 +01:00
Sylvain Rochet
1dcd4cc220
PPP, CCP, reworked to our ppp_pcb* pointer and ppp_pcb->ccp* data field
2015-03-19 21:45:19 +01:00
Sylvain Rochet
7174578ac3
PPP, CCP, moved CCP global variables to ppp_pcb (ppp.h)
2015-03-19 21:45:19 +01:00
Sylvain Rochet
10d09049bb
PPP, CCP, replaced bool to unsigned int in struct ccp_options
2015-03-19 21:45:19 +01:00
Sylvain Rochet
98c6a4e86e
PPP, CCP, updated FSM state with our FSM state define PPP_FSM_x
2015-03-19 21:45:19 +01:00
Sylvain Rochet
3bd52891c5
PPP, CCP, commented-in unused PPP config file parsing
2015-03-19 21:45:19 +01:00
Sylvain Rochet
ee752ab1ce
PPP, PPPoS, renamed PPP_INPROC_MULTITHREADED to PPP_INPROC_IRQ_SAFE
...
Follow-up of the #44565 bug fix, renamed the misnamed
PPP_INPROC_MULTITHREADED to PPP_INPROC_IRQ_SAFE because it is
IRQ safe but not thread safe.
Updated PPP documentation which now clearly state when and how
this feature can be used.
2015-03-19 21:43:55 +01:00
sg
9eb900c448
fixed race conditions in assigning netconn->last_err (fixed bugs #38121 and #37676 )
2015-03-19 21:20:29 +01:00
Sylvain Rochet
0e919d25e9
PPP, PPPoS, improved tcpip input path, fixed bug #44565
...
New input type TCPIP_MSG_INPKT_PPPOS. Removed the netif input pointer usage
which was actually broken by design.
Fixed bug #44565 .
2015-03-19 21:04:21 +01:00
Sylvain Rochet
4ed34d2c6f
PPP, PPPoL2TP, fixed build without IPv6 enabled
2015-03-19 20:43:04 +01:00
Sylvain Rochet
c893b44da2
PPP, PPPoS, struct pbuf *n and u8_t *cur are now unused, removed
2015-03-19 20:29:26 +01:00
Ivan Delamer
d06a736f41
fix bug #44578 : Build fails for IPv6-only configuration
2015-03-19 10:08:49 -06:00
goldsimon
b135a0aa49
pppos_input_tcpip: fix pbuf leak if tcpip_input returns error, use pbuf_take instead of duplicate copy code
2015-03-19 07:14:33 +01:00
Ivan Delamer
c73daef2a1
fixed bug #43843 : ip6_addr_ismulticast_ doesn't allow for transient
...
multicast address
2015-03-18 14:04:39 -06:00
Ivan Delamer
bc08c1d2b7
fixed bug #43095 . Check actual link-layer address option length, versus
...
maximum length defined in struct. Bug would express itself if we have a
netif with 8-byte addresses and other netifs with 6-byte-or-less
addresses.
2015-03-18 13:21:39 -06:00
Ivan Delamer
8451feaa7a
fixed bug #42885 nd6_reachability_hint() accepts an address of an
...
unknown neighbour
2015-03-18 12:22:49 -06:00
Ivan Delamer
e30823769c
renamed ND6_RA_FLAG_OTHER_STATEFUL_CONFIG to ND6_RA_FLAG_OTHER_CONFIG
...
as explained in bug #39963 and RFCs.
2015-03-18 12:01:15 -06:00
Ivan Delamer
12e3b52f4d
fixed bug #39226 : Validity of netif IPv6 address is not always checked
2015-03-18 11:56:48 -06:00
Ivan Delamer
5812b22662
Pending fix for bug #37993 : IPv6 Does Not Subscribe to Link-Local
...
All-Nodes Multicast Group By Default
2015-03-18 11:20:16 -06:00
Ivan Delamer
f139b14a3c
added macros for handling IPv6 multicast filter callback.
2015-03-18 11:08:40 -06:00
Ivan Delamer
291f1382c5
fix ip6 part of bug #43904 : ip_route() and ip6_route() must detect
...
linkup status.
2015-03-18 10:56:02 -06:00
Ivan Delamer
e0fe83740a
fixed bug #44565 : PPPOS support in tcpip thread breaks SLIP
2015-03-18 10:16:14 -06:00
Sylvain Rochet
9012ec5310
PPP, PPPoS, changed pppos_output_append() description to match code change
2015-03-16 21:54:50 +01:00
Sylvain Rochet
c37ecb1552
PPP, cleared warnings if PPP_DEBUG is off
2015-03-15 17:57:16 +01:00
Sylvain Rochet
59d8e76081
PPP, code cleaning, u_char to u8_t
...
Replaced u_char to u8_t in our PPP files.
2015-03-14 14:05:33 +01:00
Sylvain Rochet
5097ac05bf
PPP, fixed warnings if LWIP_SNMP is disabled
2015-03-14 14:01:29 +01:00
Sylvain Rochet
a9c154691b
PPP, PPPoS, code cleaning
2015-03-14 14:01:11 +01:00
Sylvain Rochet
d628a9bc78
PPP, PPPoS, moved common FCS output code in pppos_output_last()
2015-03-14 14:01:11 +01:00
Sylvain Rochet
2fb1859732
PPP, PPPoS, moved checksum computation to pppos_output_append()
...
Output code is slightly smaller this way.
2015-03-14 14:01:07 +01:00
Sylvain Rochet
5f5d16c698
PPP, PPPoS, code cleaning
...
Reduced types that were too large, replace u_char to u8_t, u_short to u16_t.
2015-03-14 13:17:17 +01:00
Sylvain Rochet
f666e772a2
PPP, PPPoL2TP, warning fix if PPP IPv6 is enabled
...
lwip/src/netif/ppp/pppol2tp.c: In function ‘pppol2tp_udp_send’:
lwip/src/netif/ppp/pppol2tp.c:1229:3: warning: ‘err’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return err;
^
2015-03-14 12:48:38 +01:00
Sylvain Rochet
8974b12af5
PPP, PPPoE, removed redundant size check
2015-03-14 01:12:43 +01:00
Sylvain Rochet
f96d5c9633
PPP, PPPoS, code cleaning
...
Renamed pppos_drop() → pppos_input_drop()
Renamed pppos_free_current_input_packet() → pppos_input_free_current_packet()
Moved pppos_output_last() after pppos_output_append()
Moved pppos_input_free_current_packet() before pppos_input_drop()
2015-03-14 01:08:56 +01:00
Sylvain Rochet
50336aaedd
PPP, ppp->last_xmit is only used in PPPoS, moved to PPPoS
...
Only PPPoS need to keep track of last transmitted packet for HDLC flag,
removed from PPPoE and PPPoL2TP and moved to PPPoS.
2015-03-14 01:03:58 +01:00
Sylvain Rochet
6a04357547
PPP, PPPoS, reworked output path, reduced serial tx pbuf buffers to 1
...
We actually allocated a pbuf chain only to iterate later the linked list
calling sio_write() for each pbuf, improved by calling sio_write() when
buffer is full and by recycling the pbuf, therefore only using one pbuf
for PPPoS output path.
Reworked pppos_write() and pppos_netif_output() to share more common
code into pppos_output_append() and pppos_output_last().
2015-03-14 00:37:58 +01:00
Sylvain Rochet
0da64f430e
PPP, Documentation, improved PPP_INPROC_MULTITHREADED part
2015-03-12 00:16:03 +01:00
Sylvain Rochet
e27ab3a24f
PPP, PPPoS, disable TCPIP API if PPP_INPROC_MULTITHREADED is true
...
If PPP_INPROC_MULTITHREADED is true, then user does not what to use
the TCPIP API. Disabling the TCPIP API helps the user to understand
that PPP_INPROC_MULTITHREADED must not be used if he wish to use
the TCPIP API.
2015-03-11 23:52:20 +01:00
Sylvain Rochet
121de4ef47
PPP, PPPoS, now using MEMCPY here, add #include <string.h>
2015-03-11 09:29:44 +01:00
Sylvain Rochet
77f7d99048
PPP, PPPoS, add pppos_input_tcpip() input helper function for !NO_SYS users
2015-03-11 09:28:35 +01:00
Sylvain Rochet
4b035b9902
PPP, PPPoS, PPP_INPROC_MULTITHREADED defaults to 0, explain thread safety issue with it
2015-03-11 01:20:53 +01:00
Sylvain Rochet
9778b1411c
PPP, PPPoS, TCPIP: add packet input path for point to point interfaces (only PPPoS for now) through the TCPIP API
...
!NO_SYS users may now use as well the TCPIP API for PPPoS input data,
this way they can disable PPP_INPROC_MULTITHREADED and run pppos_input()
inside the lwIP thread, which fixes, at least for them, all the
threading issues related to PPP_INPROC_MULTITHREADED.
2015-03-11 00:58:09 +01:00
Sylvain Rochet
636ff411f1
PPP, PPPoS, improve the freeing of remaining RX pbuf if PPP_INPROC_MULTITHREADED is not enabled
...
If PPP_INPROC_MULTITHREADED is not enabled, we can free unfinished
RX pbuf from the pppos_disconnect() function because pppos_input()
is running in the same context. Thanks to the pppos->open flags we
now only need to free remaining pbuf in the disconnect function
if PPP_INPROC_MULTITHREADED is not enabled.
2015-03-10 23:58:16 +01:00
Sylvain Rochet
02598d1e91
PPP, PPPoS, moved pcomp and accomp only used by PPPoS to PPPoS
2015-03-10 23:51:32 +01:00
Sylvain Rochet
31aea3c996
PPP, PPPoS, moved vj_enabled flag from PPP CORE to PPPoS
...
Now that we have flags in PPPoS, moved vj_enabled only used for PPPoS to
PPPoS.
2015-03-10 23:42:14 +01:00
Sylvain Rochet
a60f2588d6
PPP, PPPoE and PPPoL2TP, removed ppp->pcomp usage
...
We refuse protocol compression in both PPPoE and PPPoL2TP, therefore
ppp->pcomp can't be true, removed.
2015-03-10 23:34:11 +01:00
Sylvain Rochet
d518f5f307
PPP, PPPoS, improve thread safety of pppos_input()
...
Don't process input data if PPPoS is closed, it helps using
pppos_input() from a different context to prevent pppos_input() to
modify PPPoS RX machine state on a closed PPPoS session. It also
prevents allocating pbuf (which are going to be tossed out by PPP core)
and parsing serial input on a closed session.
It only mitigates the fact that this function is actually NOT thread
safe in absolutely all cases, it does not fix it but it helps for a low
cost.
For example user application should never call pppos_input() while
pppos_connect() or pppos_listen() is currently running because both of
them are freeing any input pbuf left over from the last session before
resetting the PPPoS state, they really have to to prevent pbuf leaks.
We cannot fix that easily because we don't have spinlock with an
irqsave/irqrestore helper for IRQ contexts. Mutex cannot be used in
interrupt contexts (or again, with an IRQ mutex helper).
We are going to improve the documentation on this point.
2015-03-10 23:20:23 +01:00
Sylvain Rochet
d5cbacba50
PPP, PPPoS, don't protect pppos->in_accm if PPP_INPROC_MULTITHREADED is not enabled
...
If pppos_input() is used without PPP_INPROC_MULTITHREADED, then pppos_input()
is running in the lwIP context, we don't need to protect anything.
2015-03-10 22:35:04 +01:00
Sylvain Rochet
ab0f3da650
Revert "PPP, PPPoS, fixed thread safety of pppos_input()"
...
This reverts commit ea58a8103c .
2015-03-10 21:49:50 +01:00
Sylvain Rochet
52de24b95b
Revert "PPP, PPPoS, added necessary comment about mutex"
...
This reverts commit b23a6172ed .
2015-03-10 21:49:50 +01:00
Sylvain Rochet
70b60bbe16
PPP, display correct pbuf size in ppp_input() debug messages
2015-03-10 21:49:50 +01:00
sg
aff890bce8
Fixed compiler error if LWIP_IPV6==0 but LWIP_IPV6_FRAG==1
2015-03-10 21:42:29 +01:00
sg
905f1609b3
fixed the IPv4 part of bug #43904 (ip_route() must detect linkup status)
2015-03-09 21:35:57 +01:00
goldsimon
c978b25f7f
Enable LWIP_PPP_API by default if (PPP_SUPPORT && (NO_SYS == 0))
2015-03-09 09:13:28 +01:00
Sylvain Rochet
2b526756f0
PPP, updated netif/FILES about PPP
2015-03-09 00:49:08 +01:00
Sylvain Rochet
8a436d5103
PPP, IPV6CP, code cleaning on VJ support
2015-03-08 23:36:28 +01:00
Sylvain Rochet
1dd050aaca
PPP, IPV6CP, build out IPv6 VJ support using the existing IPV6CP_COMP define
2015-03-08 23:17:11 +01:00
Sylvain Rochet
99bcce7892
PPP, IPCP, removed proxy ARP support
2015-03-08 23:00:27 +01:00
Sylvain Rochet
0e2ea94f5e
PPP, IPCP, removed WINS support
2015-03-08 22:53:12 +01:00
Sylvain Rochet
9cd7abdd6e
PPP, IPCP, fully removed DNS support from IPCP if LWIP_DNS is disabled
2015-03-08 22:40:56 +01:00
Sylvain Rochet
dbacfe0a1d
PPP, IPCP, fully removed VJ support from IPCP if VJ_SUPPORT is disabled
2015-03-08 22:40:53 +01:00
Sylvain Rochet
d50494f274
PPP, Documentation, added DNS change
2015-03-08 14:15:20 +01:00
Sylvain Rochet
4b5e867a69
PPP: Documentation: replaced deprecated ip_ntoa() to ipaddr_ntoa()
2015-03-08 13:57:26 +01:00
Sylvain Rochet
969306f0f1
API: netdb: replaced deprecated ip_ntoa() to ipaddr_ntoa()
2015-03-08 13:57:13 +01:00
Sylvain Rochet
af722a2978
PPP, IPv6, reduce size of llv6_ntoa() function
...
Reduced static buffer to the strict necessary (26 bytes), removed
call to eui64_ntoa(), merged eui64_ntoa() into llv6_ntoa().
272 bytes (code + static buffers) to 140 bytes on x86_64.
Improved eui64_ntoa() as well, we don't need it anymore but I'd
like to keep all eui64_* helpers functions.
2015-03-08 13:33:55 +01:00
Sylvain Rochet
7fce9346dc
PPP, improved IPv6 address setting
...
Set IPv6 link local invalid before clearing it. Don't wait sif6up() to set
the link local valid, netif_ip6_addr_set_state() is only an accessor function
so it does not start any discovery whatsoever.
2015-03-08 12:47:09 +01:00
Sylvain Rochet
b23a6172ed
PPP, PPPoS, added necessary comment about mutex
2015-03-08 12:05:13 +01:00
Sylvain Rochet
ea58a8103c
PPP, PPPoS, fixed thread safety of pppos_input()
...
PPPoS was actually not thread safe, pppos_input() can be called from
lwIP user port at any time, whatever the PPP state is. It might even be
called during pppos_connect() and pppos_listen(), this is quite unlikely
the port do that but nothing prevent the user to since we document
pppos_input() as being thread safe.
Added a mutex if PPP_INPROC_MULTITHREADED is set and ensure pppos_input()
is safe in regard to other pppos_* functions.
2015-03-08 02:48:52 +01:00
Sylvain Rochet
7857c22277
PPP, Documentation, updated
2015-03-08 01:09:44 +01:00
Sylvain Rochet
b3c7e948be
PPP, removed now useless struct ppp_addrs from ppp_pcb
...
Saved a few bytes of useless copy.
2015-03-08 00:44:47 +01:00
Sylvain Rochet
c966a538fb
PPP, improved IPv6 address setting
...
Now setting IPv6 addresses in sif6addr() instead of sif6up(),
removed the useless copy of addresses.
2015-03-08 00:40:34 +01:00
Sylvain Rochet
3027a7d7e2
PPP, using DNS API for DNS servers
...
Now setting DNS addresses in sdns() using dns_setserver() instead
of keeping a local copy. This is probably the wanted PPP behavior,
we will see if users want this conditional.
2015-03-08 00:11:52 +01:00
Sylvain Rochet
dd22176935
PPP, improved IPv4 address setting
...
Now setting IPv4 addresses in sifaddr() instead of sifup(),
removed the useless copy of addresses.
2015-03-07 23:53:21 +01:00
Sylvain Rochet
dbf9d0f094
DNS, warning fix, dns_init() -> dns_init(void)
...
lwip/src/core/dns.c: In function ‘dns_init’:
lwip/src/core/dns.c:336:1: warning: old-style function definition [-Wold-style-definition]
dns_init()
2015-03-07 23:28:18 +01:00
Sylvain Rochet
b3218d45f3
PPP, make DNS a little more optional if LWIP_DNS is unset
2015-03-07 23:28:14 +01:00
Sylvain Rochet
3ca5184998
PPP, CORE, separated administrative status from link status of PPP netif
...
This was confusing, recent lwIP changes fixed the meaning as well as
how it is used everywhere, making the administrative status a user-only
controlled flag. Now that it's clear, updated PPP to follow lwIP
core change.
Using netif_set_link_{up,down} instead of netif_set_{up,down} when PPP
reaches/leaves running state. PPP interface is now set to administratively
UP when created with link state down.
2015-03-07 22:24:27 +01:00
sg
007ab69777
Fixed default LWIP_SUPPORT_CUSTOM_PBUF setting for IPv6/frag
2015-03-06 22:09:33 +01:00
sg
12d374d4b7
Added function documentation, fixed coding style
2015-03-06 21:38:57 +01:00
sg
0ddd7de1ba
patch #8359 (Provide utility function to add an IPv6 address to an interface)
2015-03-06 21:30:59 +01:00
sg
f385193a89
Patch #8207 (Don't Use ND6 Prefix Flags Field When LWIP_IPV6_AUTOCONFIG Is Deasserted)
2015-03-06 21:03:21 +01:00
Philip Gladstone
ff078920bc
Patch #8360 (Speed up the acquisition of SLAAC addresses) - adapted to bug #43784
2015-03-06 20:58:30 +01:00
sg
b62f443be5
Fixed comment for NETIF_FLAG_UP after fixing bug #37068
2015-03-06 20:49:47 +01:00
sg
553c4203ab
tcp/udp_netif_ipv4_addr_changed(): don't change specific-address of local tcp_listen/udp_pcb to ANY on address change
2015-03-06 20:25:51 +01:00
goldsimon
df16a7c4f3
Fixed compiler warnings in unit tests
2015-03-06 07:39:06 +01:00
goldsimon
896535fe87
Fixed dhcp unit tests after changing netif up/down handling
2015-03-06 07:38:51 +01:00
Sylvain Rochet
89434f6a2f
PPP, CORE, call netif_set_up() after if4_up and if6_up flags are set, to prevent dropping packets
...
lwIP core might send packet when calling netif_set_up(), don't drop packets
anymore in ppp_netif_output_ip4() and ppp_netif_output_ip6() because flags
are cleared.
2015-03-05 22:00:11 +01:00
sg
4e520cdd30
fixed bug #37068 (netif up/down handling is unclear): correclty separated administrative status of a netif (up/down) from 'valid address' status ATTENTION: netif_set_up() now always has to be called, even when dhcp/autoip is used!
2015-03-05 20:57:43 +01:00
sg
72dcdb7655
fixed bug #43784 (a host should send at least one Router Solicitation)
2015-03-04 21:21:49 +01:00
sg
db5510b866
init.c: raise an error if LWIP_PPP_API==1 but PPP_SUPPORT==0
2015-03-04 21:10:29 +01:00
sg
61e0efa0c7
fixed bug #41094 (Byte-order bug in IPv6 fragmentation header test)
2015-03-04 21:02:52 +01:00
sg
12514c09b2
Fixed bug #39956 (netif_create_ip6_linklocal_address out of bounds access of netif::hwaddr)
2015-03-04 20:58:37 +01:00
sg
90a0590de1
patch by Zach Smith: fixed bug #38153 (nd6_input() byte order issues)
2015-03-04 20:49:02 +01:00
Sylvain Rochet
b09c891290
PPP, PPPoE, removed devname variable from pppoe_disc_input()
...
Only used for debug, reworked in a more clever way. It was actually broken
by design: setting an interface integer into a string without formatting
was quite a dumb idea.
2015-03-02 00:45:19 +01:00
Sylvain Rochet
d28bb04a9c
PPP, PPPoE, improve reliability if we receive a PADT
...
Don't disconnect when we receive a PADT, we let the LCP Echo/Reply find
the fact that PPP session is down. Asking the PPP stack to end the
session require strict checking about the PPP phase to prevent endless
disconnection loops.
Luckily it previously does nothing because PADT frames are rarely sent
with a hunique tag and we only set the sc pointer if we receive a
hunique tag.
2015-03-02 00:16:25 +01:00
Sylvain Rochet
9de1c71ff7
PPP, PPPoE, removed global static buffer only used for debug
...
pppoe_error_tmp[] was only used in one function and only for debug purposes,
moved to stack.
2015-03-02 00:05:55 +01:00
Sylvain Rochet
3ce6dd166c
PPP, L2TP, added link-level IPv6 support
2015-03-01 22:04:24 +01:00
Sylvain Rochet
684bef066f
PPP, L2TP, merged common output code
...
New function: pppol2tp_udp_send(), common output code.
2015-03-01 21:22:21 +01:00
Sylvain Rochet
52f2221be9
PPP, L2TP, check source ip address and port
...
Improve L2TP defensiveness by checking source ip address and port
of input packets.
2015-03-01 21:15:15 +01:00
Sylvain Rochet
1bee131d52
PPP, L2TP, using LNS chosen destination port
...
L2TP LNS might chose its own local port, we actually stored
the port the LNS wanted to use but we never used it.
2015-03-01 21:14:52 +01:00
Sylvain Rochet
2731976a95
PPP, renamed ppp_open to ppp_connect
...
Makes it clear we are initiating the PPP session with ppp_connect
(i.e. acting as a PPP client) so there is no confusion possible
between ppp_connect and ppp_listen.
2015-03-01 10:53:08 +01:00
Sylvain Rochet
f7d5e81130
PPP, SERVER, MSCHAP: move output message from chap_server.message struct to stack
...
chap_server.message is only used in one function, moved to stack.
2015-03-01 00:34:00 +01:00
Sylvain Rochet
371bc91d73
PPP, SERVER: added PPPoS server support
...
New function: ppp_listen(), listen for an incoming PPP connection.
2015-02-28 22:41:18 +01:00
Sylvain Rochet
89771de6d0
PPP, remove VJ callback from link_callbacks if VJ support is not enabled
2015-02-28 21:39:32 +01:00
Sylvain Rochet
71b213df63
PPP, EAP: using MAXNAMELEN define instead of hardcoded 256 size for rhostname
2015-02-28 20:37:41 +01:00
Sylvain Rochet
7f3913ff58
PPP, EAP: removed malloc() and free()
...
Replaced pcb->eap.es_{client,server}.ea_peer pointer to a char table,
replaced strdup() with MEMCPY, etc.
2015-02-28 20:29:40 +01:00
Sylvain Rochet
d884034c9f
PPP, replaced drand48() with magic_pow()
2015-02-28 19:50:25 +01:00
Sylvain Rochet
bec199c4a2
PPP, MAGIC: new function: magic_pow
...
magic_pow() returns a new random number between 0 and (2^pow)-1 included.
2015-02-28 19:36:03 +01:00
Sylvain Rochet
3686110ed2
PPP, SERVER: statically define our name for authentication purposes
...
We don't need that in RAM nor a pointer to a string, a static
define is fine for embedded devices, saved ~257 bytes of RAM.
2015-02-28 18:28:07 +01:00
Sylvain Rochet
708e421ec3
PPP, CORE: code cleaning
2015-02-28 18:08:37 +01:00
Sylvain Rochet
5ae7ee5276
PPP, SERVER: added CHAP authentication support
2015-02-28 17:40:07 +01:00
Sylvain Rochet
65493b421a
PPP, SERVER, CHAP: fixed wrong pointer used on chap_timeout()
2015-02-28 15:36:35 +01:00
Sylvain Rochet
301511a840
PPP, SERVER: added PAP authentication support
...
New ppp auth function: auth_check_passwd() which check the user name and
passwd against configuration.
PAP: check remote user and password
2015-02-28 14:40:09 +01:00
Sylvain Rochet
e86a0a4325
PPP, CORE, SERVER, set auth configuration before auth
...
Set LCP wanted options accordingly to the user auth configuration
if peer is required to authenticate itself.
2015-02-28 13:08:20 +01:00
Sylvain Rochet
8d05279599
PPP, CORE, moved auth configuration from auth_reset() to lcp_resetci()
...
Prepare for PPP_SERVER support, we need to move auth configuration before
lcp_allowoptions is copied into lcp_gotoptions. Restore unused
auth_reset() function using pppd original source code.
2015-02-28 12:59:29 +01:00
Sylvain Rochet
587e0e3e0c
PPP, CORE, beautified ppp_set_auth()
...
Beautified, added PPPAUTHTYPE_MSCHAP_V2 choice support.
2015-02-27 23:55:18 +01:00
Sylvain Rochet
2315f32ca0
PPP, CORE, cleaned struct ppp_settings coding style
2015-02-27 23:12:03 +01:00
Sylvain Rochet
5a71509353
PPP, CORE, IPCP: removed useless ask_for_local boolean
...
We don't need ask_for_local boolean, this is only useful for setup which
can determine the local IP address from the system hostname, which is
probably meaningless for embedded devices (and probably any devices).
It was actually only set by ip_check_options() which is commented out in
lwIP because we don't parse a config file nor check PPP configuration
(user is responsible about writing a configuration which is logical ;-).
Furthermore ask_for_local boolean never set actually had the wrong
default for PPP server setups.
2015-02-27 22:39:42 +01:00
Sylvain Rochet
a310bc19a7
netif: fixed compiler warning
...
lwip/src/core/netif.c: In function ‘netif_set_ipaddr’:
lwip/src/core/netif.c:403:5: warning: implicit declaration of function ‘udp_netif_ipv4_addr_changed’ [-Wimplicit-function-declaration]
udp_netif_ipv4_addr_changed(&netif->ip_addr, ipaddr);
^
2015-02-26 22:45:37 +01:00
sg
0647533f8c
fixed bug #44378 (TCP connections are not aborted on netif remove)
2015-02-26 22:25:39 +01:00
sg
99dd78964a
fixed bug #40753 (re-bind UDP pcbs on change of IP address)
2015-02-26 22:17:30 +01:00
sg
0d1606ff23
Fixed last commit: can only check for bound sockets, not for unbound. There's some work to do for IPv6 in TCP...
2015-02-26 21:31:48 +01:00
sg
a6a92d42f9
Fixed bug #41700 (Call to tcp_listen_dual() should not accept IPv4 listen PCB args)
2015-02-26 21:23:40 +01:00
Sylvain Rochet
2aabe16163
PPP, PPPoS, removed ppp_accm_mask[], saved a few bytes of ROM
...
This was a pretty naive way of doing a bitshift, code is smaller if we let
the compiler decide.
2015-02-25 23:04:55 +01:00
sg
5984c996a8
fixed bug #40177 (System hangs when dealing with corrupted packets), implemented task #12357 (Ensure that malicious packets don't assert-fail): improved some pbuf_header calls to not assert-fail.
2015-02-25 22:58:27 +01:00
sg
c8d126f6ef
work on task #12357 (Ensure that malicious packets don't assert-fail): don't let too short IP packets assert-fail; fix that IPv6 input did not obey VLAN header offset
2015-02-25 22:23:12 +01:00
Joel Cunningham
9004554da3
fixed bug #43028 (IP_MULTICAST_TTL affects unicast datagrams)
2015-02-25 21:59:21 +01:00
Greg Renda
4eb9efdd33
fixed bug #38210 (ip reassembly while remove oldest datagram)
2015-02-25 21:43:39 +01:00
sg
83740d81f2
fixed comment
2015-02-25 21:32:33 +01:00
sg
c8581e4cd9
fixed bug #38165 (socket with mulicast): ensure igmp membership are dropped when socket (not netconn!) is closed.
2015-02-25 21:30:22 +01:00
sg
612e33c499
fixed bug #38061 (wrong multicast routing in IPv4) by adding an optional default netif for multicast routing
2015-02-25 20:58:11 +01:00
sg
3e8ac30940
Fixed bug #44297 (CORE_LOCKING was broken some days ago); fixed that netconn_connect still used message passing for LWIP_TCPIP_CORE_LOCKING==1
2015-02-25 20:34:18 +01:00
Sylvain Rochet
4bcddd72e6
PPP, CORE, cleaned ppp_close() function
...
Calling new_phase() instead of assigning pcb->phase directly.
Removed redundant call to link status callback.
2015-02-24 22:13:04 +01:00
Sylvain Rochet
00bb70a62d
PPP, CORE, functions ppp_set_netif_statuscallback() and ppp_set_netif_linkcallback() replaced with defines
...
PPP is now pointerful for a while, we don't need anymore accessor functions
for the unique PPP local and static control block. Replaced
ppp_set_netif_statuscallback() and ppp_set_netif_linkcallback() functions to
defines.
Removed pppapi_do_ppp_set_netif_statuscallback() and
pppapi_do_ppp_set_netif_linkcallback(), they were useless because
netif_set_status_callback() and netif_set_link_callback() can be
safely called while PPP status is in dead (= non open) state
and even before the PPP session is actually created at all.
2015-02-24 20:41:47 +01:00
Sylvain Rochet
b4990b5bb4
Fixed warnings on whole project introduced by const pointers on ip_addr_t
2015-02-22 22:50:06 +01:00
Sylvain Rochet
65095253a9
PPP, fixed warnings introduced by const pointers on ip_addr_t
2015-02-22 22:38:02 +01:00
sg
c87efb77bc
patch by Jens Nielsen: fixed bug #38803 (Source address in broadcast ping reply)
2015-02-22 22:02:17 +01:00
sg
03159254ce
added proper accessor functions for pcb->multicast_ip (previously used by get/setsockopt only)
2015-02-22 21:49:46 +01:00
sg
ec5cf8593e
Continued chrysn's work: changed nearly all functions taking 'ip(X)_addr_t' pointer to take const pointers (changed user callbacks: raw_recv_fn, udp_recv_fn; changed port callbacks: netif_output_fn, netif_igmp_mac_filter_fn)
2015-02-22 21:46:35 +01:00
chrysn
9f065c0ea5
(api break) qualify ip_addr_t as const where feasible
...
this changes the callback signatures of the ip_output and the
{udp,raw}_recv functions.
changes were made by going through all header files, searching for
occurrences of ip_addr_t, qualifying them as const and if required
modifying the corresponding c files, looking for other uses of ip_addr_t
that would be required.
the following header files were not treated as i'm not using them and
wouldn't see them compiled: api.h api_msg.h dhcp.h dns.h igmp.h
netifapi.h pppapi.h snmp.h snmp_msg.h snmp_structs.h ppp.h pppol2tp.h
test/*
no modifications were done on ip6_addr_t.
2015-02-22 21:46:02 +01:00
Sylvain Rochet
df3f05e824
PPP, apply warnings found by MSVC fixes on other files needing the same fix
2015-02-22 21:39:04 +01:00
sg
9a10afbbc6
PPP: fixed 2 warnings found by MSVC
2015-02-22 21:30:17 +01:00
Sylvain Rochet
8d916b8573
PPP, PPPoS, removed unused next field in pppos_pcb
...
Linked list was removed, we don't need the next pointer anymore.
2015-02-22 16:57:57 +01:00
Sylvain Rochet
653657ae43
PPP, code cleaning
2015-02-22 16:45:38 +01:00
Sylvain Rochet
b0b7240022
PPP, PPPoS, moved advise about modem from pppos_create() to ppp_open()
...
pppos_create() can be called whether the modem is ready to process the
PPP session since pppos_create() does not start the PPP session anymore,
moved the advise from pppos_create() to ppp_open().
2015-02-22 16:20:03 +01:00
Sylvain Rochet
1e82003bf9
CORE, INIT, fail if none of PPP_IPV[46]_SUPPORT are enabled if PPP_SUPPORT is enabled
...
PPP_SUPPORT needs PPP_IPV4_SUPPORT and/or PPP_IPV6_SUPPORT turned on.
2015-02-22 14:30:24 +01:00
Sylvain Rochet
4be7fccad3
PPP, CORE, ppp_close() and ppp_sighup() ended up sharing almost everything, merged
...
Merged ppp_sighup() to ppp_close() using an optional argument "nocarrier"
on ppp_close().
2015-02-22 14:25:36 +01:00
Sylvain Rochet
b040ace4c2
PPP, CORE, carrier lost signal, fixed FSM mismatch
...
ppp_sighup() hard change the PPP FSM phase, it ends up with a FSM
mismatch if PPP is currently connecting or disconnecting.
Only do "sighup" on the stable running phase, fallback to the close
method. Handle special DEAD and HOLDOFF states as well.
2015-02-22 13:54:52 +01:00
Sylvain Rochet
ab572ce5b9
PPP, CORE, fixed PPP phase state machine when ppp_close() is called during HOLDOFF phase
...
Aborting HOLDOFF leaves us at PPP_PHASE_DEAD, fixed.
2015-02-22 13:48:53 +01:00
Sylvain Rochet
ded77f59cd
PPP, FSM, fixed "timeout sending Config-Requests" output
...
\n is not needed, fixed.
2015-02-22 12:12:38 +01:00
Sylvain Rochet
a1c5415f8f
PPP, CORE, disable VJ is PPP IPV4 is compiled out
...
VJ compression is only supported for PPP IPv4, compile out VJ support
if PPP IPv4 is not compiled.
2015-02-22 02:34:45 +01:00
Sylvain Rochet
00e8988b52
PPP, IPv4 support is now optional
...
New compile time option: PPP_IPV4_SUPPORT
PPP IPv4 support can now be compiled out.
2015-02-22 02:28:04 +01:00
Sylvain Rochet
5680808fb6
PPP, CORE, ppp_ioctl PPPCTLG_UPSTATUS command now returns true if only IPv6 is up
...
PPPCTLG_UPSTATUS ioctl didn't return true if IPv6 was up and IPv4 down, fixed.
2015-02-22 01:34:47 +01:00
Sylvain Rochet
814bcc04ad
PPP, CORE, using ip*_set_* functions instead of IP4_ADDR and SMEMCPY
...
Now using lwIP helper functions on ip_addr_t and ip6_addr_t.
2015-02-22 01:33:02 +01:00
Sylvain Rochet
a8cbff08ef
PPP, IPV6, enable PPP IPv6 by default if LWIP_IPV6 is set
2015-02-22 00:25:23 +01:00
Sylvain Rochet
ee8a05c3c7
PPP, CORE, removed if_up and if6_up checks in sifdown() and sif6down()
...
It can't hurt us, checking is useless.
2015-02-21 23:53:40 +01:00
Sylvain Rochet
46d7f6f95d
PPP, IPv6, fixed unicode in file headers
2015-02-21 23:49:57 +01:00
Sylvain Rochet
30c89310a6
PPP, CORE, IPv6, if_up flag used instead of if6_up for outgoing IPv6 packets, fixed
...
We can have an IPv6 only PPP interface, checking if6_up instead of if_up fixes
IPv6 only setup.
ppp_netif_output() which were only used for common code between
ppp_netif_output_ip4() and ppp_netif_output_ip6() is not necessary
anymore, removed, reducing call stack by one.
2015-02-21 23:34:45 +01:00
Sylvain Rochet
d6e1b86147
PPP, CORE, improved, re-ordered and re-numbered IOCTL commands
2015-02-21 21:52:39 +01:00
Sylvain Rochet
a8e973f5d7
PPP, CORE, remove the user ability to set the PPP error code (PPPCTLS_ERRCODE)
...
This is now totally useless, it was used for the PPP core code but it is not
used anymore, remove then the user ability to set the PPP error code through
PPPCTLS_ERRCODE.
2015-02-21 21:48:53 +01:00
Sylvain Rochet
c4d1354c54
PPP, CORE, don't use ppp_ioctl() from PPP core, assign pcb->err_code instead
...
Removed useless calls to ppp_ioctl(pcb, PPPCTLS_ERRCODE, …), we now assign
pcb->err_code directly instead. ppp_ioctl() is not linked anymore if user
application don't use it.
2015-02-21 21:42:59 +01:00
Sylvain Rochet
dc2e700057
PPP, CORE, using u8_t on ioctl command instead of int
...
We don't need an int here, all commands are between 0 and 255.
2015-02-21 21:37:08 +01:00
Sylvain Rochet
bfe0c3a8e0
opt.h: fixed warnings if PPP auth support is not enabled
...
lwip/src/netif/ppp/polarssl/md4.c:43:20: warning: "LWIP_INCLUDED_POLARSSL_MD4" is not defined [-Wundef]
lwip/src/netif/ppp/polarssl/sha1.c:42:20: warning: "LWIP_INCLUDED_POLARSSL_SHA1" is not defined [-Wundef]
lwip/src/netif/ppp/polarssl/des.c:43:20: warning: "LWIP_INCLUDED_POLARSSL_DES" is not defined [-Wundef]
2015-02-21 19:43:04 +01:00
Sylvain Rochet
a387270b76
PPP, PPPoS, fixed PPP_INPROC_MULTITHREADED support
...
Oops.
2015-02-21 19:38:47 +01:00
Sylvain Rochet
59b659b027
PPP, CORE, compile out auth support if none of auth protocols are enabled
...
Added macro PPP_AUTH_SUPPORT, if none of auth protocols are enabled
(PAP, CHAP, EAP) we reduce PPP memory usage by compiling out all
struct fields and source code used for authentication.
2015-02-21 19:32:38 +01:00
Sylvain Rochet
973472c51e
opt: clarified VJ support
...
VJ is only supported for PPPoS, RFCs does not say VJ is forbidden on
PPPoE or PPPoL2TP (looks like it is strongly discouraged though, due
to checksum issues when using VJ).
2015-02-21 18:43:31 +01:00
Sylvain Rochet
9052511c86
PPP, Documentation, fixed PPP_INPROC_MULTITHREADED default status
2015-02-21 18:41:39 +01:00
Sylvain Rochet
f57d4818a4
PPP, using PPP netif->num number instead of ppp->num
...
Saved 2 bytes of RAM if debug is enabled, we are now using the
netif->num number instead of using our own ppp->num
2015-02-21 01:21:24 +01:00
Sylvain Rochet
c5973dd411
PPP, Documentation, minor fixes
2015-02-21 00:05:38 +01:00
Sylvain Rochet
e5f38bf391
PPP, added PPP documentation
2015-02-21 00:01:43 +01:00
Sylvain Rochet
6b4db944dd
PPP, using err_t return code instead of PPPERR_
...
Standardised PPP API to follow lwIP already used return codes.
PPPERR_ are now used only on link status callback.
2015-02-20 21:24:58 +01:00
Sylvain Rochet
0a761d238a
PPP, using err_t return type on ppp_ioctl()
2015-02-20 21:01:24 +01:00
Sylvain Rochet
c8f026c382
PPP, PPPoS, removed PPPERR_ on err_t return type
2015-02-20 20:54:05 +01:00
Sylvain Rochet
2c70c12814
PPP, PPPoL2TP, removed PPPERR_ usage
...
Low level protocol callbacks are using err_t returns type,
don't use PPPERR_ on them.
2015-02-20 20:52:10 +01:00
Sylvain Rochet
b31f6eb45f
PPP, PPPoE, removed PPPERR_ usage
...
Low level protocol callbacks are using err_t returns type,
don't use PPPERR_ on them.
2015-02-20 20:51:37 +01:00
Sylvain Rochet
d387c1c83a
PPP, PPPoS, added missing static modifier on pppos_netif_input()
2015-02-20 19:35:12 +01:00
Sylvain Rochet
7a1a2b9aa6
PPP, PPPoS, code cleaning
2015-02-20 01:00:48 +01:00
Sylvain Rochet
444da3ecec
PPP, CORE, we don't need PPP_LINK_ENABLED_NUMBER anymore
2015-02-20 00:44:58 +01:00
Sylvain Rochet
1918914598
PPP, PPPoS, removed linked list
...
We don't need anymore the PPPoS linked list since we have callbacks
for everything.
2015-02-20 00:40:45 +01:00
Sylvain Rochet
29f3f2e1d8
PPP, PPPoS, moved VJ protocol handler to PPPoS
...
New callback, netif input, allow low level drivers to extend
ppp_input call, moved PPPoS VJ support to pppos.c.
2015-02-20 00:40:45 +01:00
Sylvain Rochet
759d11ce1a
PPP, CORE, beautified ppp_ioctl()
2015-02-20 00:40:45 +01:00
Sylvain Rochet
729e24da78
PPP, PPPoS, added sub-ioctl commands
...
Allow low level drivers to extend ioctl call, moved PPPoS ioctl
commands to pppos.c.
2015-02-20 00:40:45 +01:00
Sylvain Rochet
ec362536f5
PPP, uniformised callbacks naming
2015-02-20 00:40:45 +01:00
Sylvain Rochet
b92fe3eecb
PPP, CORE, new callbacks, send_config, recv_config, vj_config
...
Removed some calls from PPP core to PPPoS low level protocols,
the const struct allows us to have more and more callbacks
without using more RAM.
2015-02-20 00:40:44 +01:00
Sylvain Rochet
985de035bc
PPP, CORE, now using const callbacks struct from lower level protocols
...
Saving some RAM by using callbacks struct in rodata for required
callbacks called by PPP core to PPP low level protocols.
2015-02-20 00:40:44 +01:00
Sylvain Rochet
2e40ceaaa4
CORE, enabling only PPPoL2TP is also a valid choice
2015-02-20 00:40:44 +01:00
Ivan Delamer
02a797f9f9
Modified netif flag values.
2015-02-19 16:25:30 -07:00
Ivan Delamer
b938154f6b
Removed unused netif flag for DHCP
2015-02-19 16:22:19 -07:00
Ivan Delamer
e312ebcb57
Removed unused netif flag for point to point connections
2015-02-19 16:19:29 -07:00
Sylvain Rochet
02cf50063e
PPP, PPPoX, added warnings about functions in headers which should not be called from lwIP user application
2015-02-18 23:14:30 +01:00
Sylvain Rochet
f511bec26c
PPP, PPPoS, only check PPPoS PCB pointer if PPPoS is not the only enabled lower protocol
...
We only need to keep track of existing PPPoS interfaces if PPPoS
is not the only enabled protocol.
PPP CORE does not have callbacks pointers for all PPPoS callbacks
which should actually be required for PPPoS (VJ config, asyncmap, ...),
there is too much callbacks to create and PPPoS must be kept light,
especially for users who are only using PPPoS.
But there is a drawback, PPP CORE does not know which
lower protocols it is talking to thanks to the abstraction,
therefore if PPPoS is enabled as well as PPPoE or PPPoL2TP there
might be situation where PPP CORE calls pppos_ config functions
on interfaces which are NOT PPPoS one. This is very unlikely to
happen because protocols not supported by PPPoE or PPPoL2TP are
disabled at LCP/IPCP negotiation but we are better safe than sorry.
So we check if passed PPP pointer to PPPoS configuration functions
is a PPPoS interface by checking against a linked list of existing
PPPoS interfaces.
2015-02-18 23:14:30 +01:00
Sylvain Rochet
9f93c16bbf
PPP, CORE, beautified auth protocols debug
2015-02-18 23:14:29 +01:00
Sylvain Rochet
892e75ca92
PPP, CORE, removed useless include of chap-new.h
2015-02-18 23:14:29 +01:00
Sylvain Rochet
5e73068e09
PPP, CORE, Removed (*datainput) from struct protent if not used
...
Data input is only used by CCP and ECP, which are not supported at this time,
remove this entry from struct protent to save some flash.
2015-02-18 23:14:29 +01:00
Sylvain Rochet
b71d9ce3f6
PPP, CORE, Removed useless enabled_flag from struct protent
...
Our struct protent are const everywhere to save RAM, enable/disable
flag on a const struct is useless, saving some flash, removed.
2015-02-18 23:14:29 +01:00
sg
730529353d
fixed bug #37958 "netconn API doesn't handle correctly connections half-closed by peer"
2015-02-18 22:21:26 +01:00
sg
101f57d5e0
tcp_alloc() prefers killing CLOSING/LAST_ACK over active connections (see bug #39565 ) (tcp_kill_prio(): back to old implementation)
2015-02-18 21:30:45 +01:00
sg
2cfc9e286e
"Not connected" shouldn't be fatal (as opposed to "closed")
2015-02-18 20:39:20 +01:00
sg
998ed99288
Fixed select not reporting received FIN as 'readable' in certain rare cases (bug #43779 : select(), close(), and TCP retransmission error)
2015-02-18 20:38:42 +01:00
goldsimon
9048a7f021
fixed compiler warning in dhcp.c
2015-02-18 09:02:37 +01:00
Sylvain Rochet
1c91bb5a20
PPP, PPPoS, fixed warnings with PPPDEBUG disabled
2015-02-18 00:59:27 +01:00
Sylvain Rochet
b957a81ea5
PPP, modified CHANGELOG about the previous large PPP rework
...
Done!, this is way better than before, I had this rework in mind
for a couple of years and I finally found the time to do it :-)
2015-02-17 23:25:10 +01:00
Sylvain Rochet
19fdeae4ba
PPP, chained returns up to ppp_free()
...
ppp_free() now returns lower level protocol return value if something failed.
2015-02-17 23:22:15 +01:00
Sylvain Rochet
50ecd2c12c
PPP, CORE, removed useless st variable in ppp_close()
...
Code cleaning.
2015-02-17 23:22:15 +01:00
Sylvain Rochet
07f9212799
PPP, chained returns up to ppp_open()
...
ppp_open() now returns lower level protocol return value if something failed.
2015-02-17 23:22:15 +01:00
Sylvain Rochet
8a8cba75a2
PPP, lower protocols, chained returns from local functions to callback caller
...
PPPoS,PPPoE,PPPoL2TP functions using non-void returns are now propagated
to callback caller (PPP core).
2015-02-17 23:22:15 +01:00
Sylvain Rochet
1ae3808e13
PPP, CORE, prepared for lower protocols callbacks returning state
...
Until now, callbacks used void return, preparing callbacks to return
PPPERR_ status.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
ee2936ffbf
PPP, all protocols, uniformised naming
...
Uniformised fonction naming between and inside PPPoS, PPPoE, PPPoL2TP.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
5b29f1cdec
PPP, CORE, Fixed warning with PPP_PROTOCOLNAME enabled
...
lwip/src/netif/ppp/ppp.c: In function ‘ppp_input’:
lwip/src/netif/ppp/ppp.c:769:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
const char *pname = protocol_name(protocol);
^
2015-02-17 23:22:14 +01:00
Sylvain Rochet
bce29ac353
PPP, CORE, code cleaning
...
Reordered functions in the order they are declared in headers.
Removed useless ppp_link_down() function.
Merged ppp_stop() and ppp_close().
Merged ppp_hup() and ppp_sighup().
2015-02-17 23:22:14 +01:00
Sylvain Rochet
f7584fa883
PPP, CORE, fixed callbacks return value
...
Fixed return value in case of abnormal termination.
Set pcb->err_code in case of failed setup link.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
18074ff98f
PPP, PPPoE, improved removal from linked list
...
Replaced naive link list removal code to a more clever one.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
4ad60b477c
PPP, PPPoS, structure size optimisation
...
Reordered PPPoS structure so there is no alignment hole for 32 and 64 bits
systems. Reduced types which were too large.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
69469496e2
PPP, PPPoS, moved out_accm from PPP core to PPPoS
...
Last PPPoS variable in PPP core moved to PPPoS.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
baaa2592a6
PPP, PPPoS, removed xmit_accm, almost duplicate of out_accm
...
xmit_accm was meant to be a user configurable asyncmap, it was actually
broken since the introduction of ppp_new by the way we now reset the PPP
initial state, looks like no one until now is needing it anymore. If
necessary we will reintroduce this feature later properly instead of a
dirty and ugly hack into the PPP code.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
ecb8aa6fc1
PPP, PPPoS, merged ppp(os)_pcb_rx to pppos_pcb
...
Merged ppp(os)_pcb_rx to pppos_pcb, saved 8 bytes of pointers
and unecessary init steps.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
34210901bf
PPP, PPPoS, moved ppp.rx to pppos.rx
...
PPP rx control block moved to PPPoS
2015-02-17 23:22:14 +01:00
Sylvain Rochet
7132893863
PPP, PPPoS, re-enabled PPPCTLG_FD
...
Found a fine way to get PPP fd without making this call crash for for PPPoE
or PPPoL2TP.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
cfe04d4453
PPP, PPPoS, using PPPoS PCB pointer on VJ and pppos_ configuration functions
...
Slightly more consistent this way, and prevent using link_ctx_cb pointer
from PPPoS protocol file.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
f98f2890f3
PPP, PPPoS, check if PPPoS configuration functions are used on PPPoS
...
We don't have callbacks which can be set or cleared for PPPoS
configuration, there is too much callbacks to create and PPPoS must be
kept light, therefore PPPoS functions can be called when PPP core
configure a PPPoE or PPPoL2TP interface, this is very unlikely to
happens because protocols not supported by PPPoE or PPPoL2TP are
disabled at LCP/IPCP negotiation but being safe is still better.
Check if passed PPP pointer to PPPoS configuration functions is a PPPoS
interface by using a linked list of exiting PPPoS interfaces.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
d93c21349f
PPP, PPPoS, fixed build with PPP_FCS_TABLE=1
...
Oops, I managed to break builds with PPP_FCS_TABLE=1, fixed.
2015-02-17 23:22:14 +01:00
Sylvain Rochet
9358dbbd99
PPP, PPPoS, various static and const added
...
ppp_get_fcs() is now static, const modifier added on ppp_accm_mask
2015-02-17 23:22:13 +01:00
Sylvain Rochet
2b9d304816
PPP, PPPoS, renamed *sc pointer to *pppos, renamed *pcb pointers to *pppos and *ppp
...
It was a bit confusing and error prone having *pcb pointers for both
ppp_pcb* and pppos_pcb*, fixed confusion with a strict naming for both.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
e6465a6f44
PPP, PPPoS, moved VJ from PPP core to PPPoS
...
VJ is only available for PPPoS, moved VJ from PPP CORE to PPPoS.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
4aa9244b92
PPP, PPPoS moved fd from ppp_pcb to pppos_pcb
...
Moved fd from ppp_pcb to pppos_pcb.
However PPP ioctl PPPCTLG_FD is temporarily disabled until I found a
better solution.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
1ac4d1b793
PPP, PPPoS needs vj.h
2015-02-17 23:22:13 +01:00
Sylvain Rochet
ea205f2fcd
PPP, add PPPoS CB for PPPoS private data
...
Created a new PPPoS CB going to have PPPoS private data, so allocating a
PPPoE or a PPPoL2TP interface does not allocate as well PPPoS variables.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
9c15ffbb74
PPP: Moved PPPoS from ppp.c to pppos.c
...
Started removing from PPP core most of low level protocol PPPoS
handling to separate files, using the new low level PPP callbacks.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
09b4485870
PPP, generalized callbacks calls from PPP core, removed all PPPoE and PPPoL2TP references
...
Almost there, removed all PPPoE and PPPoL2TP references from PPP core,
using the generic callbacks interface everywhere.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
19282d6d6c
PPP, moved low level protocol connect init to low level protocol files
...
Low level protocol init machine state does not belong to PPP core,
moved those init to respective low level protocol files.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
ee85aaccd2
PPP, removed low level create functions from PPP core
...
ppp_over_ethernet_create() moved from ppp.c to pppoe.c
ppp_over_l2tp_create() moved from ppp.c to pppol2tp.c
2015-02-17 23:22:13 +01:00
Sylvain Rochet
0afc34f6fc
PPP, moved ppp_write and ppp_netif_output low level protocols functions to respective low level protocol files
...
Moved ppp_write_over_ethernet() and ppp_netif_output_over_ethernet() to pppoe.c
Moved ppp_write_over_l2tp() and ppp_netif_output_over_l2tp() to pppol2tp.c
2015-02-17 23:22:13 +01:00
Sylvain Rochet
45bfccfddc
PPP, prepare new callbacks for low level protocols
...
New callbacks: write and netif_output
2015-02-17 23:22:13 +01:00
Sylvain Rochet
f8501478f6
PPP: prepared callbacks from PPP core to low level protocols
...
New PPP callback from PPP core to low level protocols, first
step about removing named calls to low level protocols from PPP core.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
a5582e0960
PPP: re-order functions in the common sense API order
...
Re-order ppp.[ch] functions in the order functions should be called from
user application. Moved create functions, which actually return a PPP
control block before functions needing a PPP control block.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
b4fe72c4a2
PPP: removed duplicated code in ppp_close()
...
Looks like previous refactoring and cleaning made ppp_close()
consistent for all our low level protocol backends, cleaned
up duplicated code.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
48f7678771
PPP: re-order prototypes, ppp_init before ppp_new
...
Cosmetic only.
2015-02-17 23:22:13 +01:00
Sylvain Rochet
808098413c
PPP: removed PPPoE and PPPoL2TP callback status notifier
...
Added necessary PPP core functions for PPPoE and PPPoL2TP status
notificaton (ppp_link_failed and ppp_link_end), removed callback,
low level protocol are now calling PPP core "link" functions.
2015-02-17 23:22:12 +01:00
Sylvain Rochet
74fd2dc9ad
PPP: moved ppp_new() to low level protocol init for PPPoE and PPPoL2TP
...
First step of a rework of how low level protocols are using the
PPP core. Low level protocols are now going to use the core instead
of core using the low level protocols.
Final goal: separate PPP core code from low level protocols.
2015-02-17 23:22:12 +01:00
Sylvain Rochet
443b2551c7
PPP: moved duplicated init code from ppp_over_X_create() to ppp_new()
...
Some init code were duplicated for all low-level PPP protocols, moved
uselessly duplicated code to ppp_new().
2015-02-17 23:22:12 +01:00
Sylvain Rochet
7b681bc94a
PPP: re-order functions in the common sense API order
...
Re-order ppp.[ch] functions in the order functions should be called from
user application. Moved create functions, which actually return a PPP
control block before functions needing a PPP control block.
2015-02-17 23:22:12 +01:00
Sylvain Rochet
bd29f7168c
PPP: ppp_init() is not a public function, moving it in private part
...
ppp_init() is not a public fonction anymore, move this function
in ppp.c "private" functions.
2015-02-17 23:22:12 +01:00
Sylvain Rochet
c8c0dc2f53
PPP: using a macro for ppp_set_default() instead of a function
...
This function is only calling netif_set_default(), a macro
is adequate.
2015-02-17 23:22:12 +01:00
Sylvain Rochet
17c6be6a9b
PPP: removed ppp_delete(), merged with ppp_free()
...
The only benefit of ppp_delete() call was about having a persistent
netif interface. netif was moved out of PPP pcb so we don't need
ppp_delete() anymore, second step in simplifying the weird
new/open/free/delete PPP API.
2015-02-17 23:22:12 +01:00
Sylvain Rochet
318e752fd6
PPP: removed ppp_new(), merged with ppp_over_X_create()
...
The only benefit of ppp_new() call was about having a persistent netif
interface. netif was moved out of PPP pcb so we don't need ppp_new()
anymore, first step in simplifying the weird new/open/free/delete PPP
API.
2015-02-17 23:22:12 +01:00
Sylvain Rochet
3dcfd7ba41
PPP: moved netif out of PPP control block
...
Users might want to share a netif control block between an Ethernet
interface and a PPPoS interface (I want actually) in case PPP is just
used as redundancy if Ethernet is down (eg. PPPoS GPRS fail over).
Moved netif out of PPP control block in a similar way it is currently
done for Ethernet interfaces. Furthermore, this is a first step on
removing the "new/create/free/delete" API which is awful but currently
necessary to handle fail over from PPPoX to another PPPoX (eg. from PPoE
on xDSL to PPPoS on GPRS fail over) without free()ing the netif which
might be used on udp_sendto() or L2TP VPN links.
2015-02-17 23:22:12 +01:00
sg
604a92dc3d
fixed bug #38853 "connect() use a wrong errno": return ERR_ALREADY/EALRADY during connect, ERR_ISCONN/EISCONN when already connected
2015-02-17 22:10:23 +01:00
sg
b146ae96a7
sockets.c: removed LWIP_TCPIP_CORE_LOCKING hack in lwip_sendto(): since all functions are static when LWIP_NETCONN==0, the speedup gained by this hack should now be minimal and not worth the duplicate code.
2015-02-17 21:26:40 +01:00
goldsimon
0963e91c34
api_msg_c: fixed compiler warning (added brackets in if statement)
2015-02-17 09:38:20 +01:00
goldsimon
5d13b5a2fb
fixed bug #37614 "Errors from ipX_output are not processed". Now tcp_output(_segment) checks for the return value of ipX_output and does not try to send more on error. A netif driver can call tcp_txnow() (from tcpip_thread!) to try to send again if TX buffers are available again.
2015-02-17 08:02:34 +01:00
sg
90db821036
patch #8361 "Add support for NTP option in DHCP" (slighly modified)
2015-02-16 21:23:06 +01:00
Sylvain Rochet
99d1fdd270
snmp: syntax error fix on endif comment
...
*/ omitted on comment, added.
2015-02-14 19:38:35 +01:00
Sylvain Rochet
10ab72855d
opt: fix build without SNMP_COMMUNITY_EXT
...
define value omitted on #define SNMP_COMMUNITY_EXT in opt.h, default is 0
2015-02-14 19:38:29 +01:00
sg
0d18516af8
added support for write-access community and dedicated community for sending traps
2015-02-14 15:44:32 +01:00
sg
e22c815444
patch by Freddie Chopin: SNMP: const-correctness around snmp traps and enterprise
2015-02-14 15:11:44 +01:00
sg
e579e98469
minor coding style fix: tab -> spaces
2015-02-14 15:05:12 +01:00
sg
723eaa1f40
Fixed compiler warning in snmp.h introduced by last patches
2015-02-14 15:04:55 +01:00
Freddie Chopin
4ebeeaf1e0
msg_in.c, msg_in.c: add snmp_get_community() and snmp_set_community() accessors
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com >
2015-02-14 14:49:42 +01:00
Freddie Chopin
2c9ceea3cf
msg_in.c, snmp_msg.h: convert snmp_community to a modifiable pointer
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com >
2015-02-14 14:49:41 +01:00
Freddie Chopin
c289872ab7
msg_in.c, msg_out.c, snmp_msg.h: rename snmp_publiccommunity to snmp_community, update descriptions
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com >
2015-02-14 14:49:39 +01:00
Freddie Chopin
9469bdc93e
msg_in.c, snmp_msg.h: don't hardcode size of community string
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com >
2015-02-14 14:47:55 +01:00
Freddie Chopin
9b4564d7f3
snmp_trap_header_sum(): use strlen() to get the length of community string
...
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com >
2015-02-14 14:46:51 +01:00
sg
b5b5844119
added hook LWIP_HOOK_MEMP_AVAILABLE() to get informed when a memp pool was empty and an item is now available
2015-02-13 21:53:55 +01:00
sg
6ef7563f53
Added the option PBUF_LINK_ENCAPSULATION_HLEN to allocate additional header space for TX on netifs requiring additional headers
2015-02-13 21:42:04 +01:00
sg
e3e3200f95
fixed bug #22070 "MIB_OBJECT_WRITE_ONLY not implemented in SNMP"
2015-02-13 21:12:23 +01:00
sg
7a0f814043
introduce sys_timeouts_sleeptime (returns the time left before the next timeout is due, for NO_SYS==1)
2015-02-12 22:14:28 +01:00
sg
80b62df0a9
fixed bug #36403 "ip4_input() and ip6_input() always pass inp to higher layers": now the accepting netif is passed up, but the input netif is available through ip_current_input_netif() if required.
2015-02-12 22:04:10 +01:00
chrysn
81d4e201bb
include the memp struct list once before actually using it
...
when custom lwipopts.h files are used (MEMP_USE_CUSTOM_POOLS), there is
typically the need to use sizeof(some_struct) in there, but on structs
that are not already declared in lwip; thus, they use #include on custom
headers.
even if the included files have proper include guards, the way memp
headers are used (
typedef enum {
#define LWIP_MEMPOOL(name,num,size,desc) MEMP_##name,
#include "lwip/memp_std.h"
MEMP_MAX
} memp_t;
) breaks when fresh includes are involved. in this patch, this gets
circumvented by including lwip/memp_std.h once with an empty
LWIP_MEMPOOL definition, so that all the includes from custom
lwippools.h files can be handled safely.
2015-02-11 23:10:15 +01:00
sg
8155b8cfb3
patch #7702 "Include ability to increase the socket number with defined offset"
2015-02-11 23:05:52 +01:00
sg
276e35ecfb
Fixed a bug in linger-closing when LWIP_TCPIP_CORE_LOCKING==1
2015-02-11 22:53:19 +01:00
sg
7d8657287e
patch #8362 Add defines for well known ethernet packet types
2015-02-11 21:59:48 +01:00
sg
f7905582db
More tiny code cleanups...
2015-02-11 21:53:12 +01:00
Fred Baksik
f12e6837be
LWIP_PLATFORM_DIAG: check if LWIP_PLATFORM_DIAG is defined as needed.
...
-- LWIP_STATS and LWIP_DEBUG require this macro
2015-02-11 21:44:43 +01:00
Fred Baksik
3870031c6e
LWIP_ASSERT: check for LWIP_PLATFORM_ASSERT if LWIP_NOASSERT is not defined.
...
-- add comment about usage of LWIP_NOASSERT
2015-02-11 21:43:40 +01:00
sg
060a1fc727
patch #8481 Fix a couple of c&p mistakes in the error prints
2015-02-11 21:39:45 +01:00
sg
28783abbe2
fixed bug #43094 "The function tcpip_input() forget to handle IPv6"
2015-02-11 21:36:46 +01:00
sg
974a853f40
patch #8423 "arch/perf.h" should be made an optional item
2015-02-11 21:25:47 +01:00
sg
7ff9825f55
started to implement fullduplex sockets/netconns (note that this is highly unstable yet!)
2015-02-11 21:18:15 +01:00
sg
04b4971d8c
Added comment that sys_thread_new must not fail (ports have to assert this!)
2015-02-11 21:12:49 +01:00
sg
6c3f6cfd89
netconn/socket api: fixed bug #44225 "closing TCP socket should time out eventually", implemented task #6930 "Implement SO_LINGER": closing TCP sockets times out after 20 seconds or after the configured SND_TIMEOUT or depending on the linger settings; fixed that netconn_close/netconn_delete still used message passing for LWIP_TCPIP_CORE_LOCKING==1
2015-02-10 22:15:54 +01:00
sg
ee833ea594
changed comment in struct linger
2015-02-10 21:40:27 +01:00
goldsimon
338feef70e
memp: also export memp_sizes[] if MEMP_USE_CUSTOM_POOLS==1
2015-02-10 15:18:14 +01:00
sg
ec68aaf43b
fixed that SHUT_RD followed by SHUT_WR was different to SHUT_RDWR, fixed return value of lwip_netconn_do_close on unconnected netconns
2015-01-27 21:28:39 +01:00
goldsimon
24df78bcbc
fixed that lwip_netconn_do_delconn() did not set msg->err on success (just introduced that bug this weekend...)
2015-01-20 14:01:16 +01:00
goldsimon
e926a93568
tcp_kill_prio(): prefer nearly-closed connections (waiting for the last ACK only) over established connections when out of tcp pcbs
2015-01-20 12:45:26 +01:00
sg
28476e3b7b
Fixed bug #38315 tcp_eff_send_mss_impl() always subtract the difference in IPv6 header size
2015-01-18 14:08:11 +01:00
sg
05aa0ad114
netconn_delete(): check for errors returned by lwip_netconn_do_delconn() and don't call netconn_free() on error
2015-01-17 21:54:17 +01:00
sg
5ceaed291f
fixed bug #43361 select() crashes with stale FDs
2015-01-17 21:02:58 +01:00
sg
48934414b2
patch #8479 Fixed a visibility scope that caused a compile error in some configurations (by Constantine <nongnusucks>)
2015-01-17 14:55:32 +01:00
sg
c1804810d8
allow enabling socket API without (public) netconn API - netconn API is still used by sockets, but keeping it private (static) should allow better compiler optimizations
2015-01-17 14:42:50 +01:00
sg
69ee35c909
tcp_close_shutdown: remove invalid comment on linger: we cannot support linger for the raw API since linger implies blocking
2015-01-17 14:36:39 +01:00
sg
5d2e93e5f0
fixed bug #40788 "lwip_setsockopt_internal() crashes" by rewriting set/getsockopt functions to combine checks with the actual code and add more NULL checks; this also fixes that CORE_LOCKING used message passing for set/getsockopt.
2015-01-17 14:18:27 +01:00
goldsimon
1cbd2121e2
Allow to overrid the check for p->ref==1 in TX packets (there *are* netif drivers that can handle this)
2015-01-16 17:58:07 +01:00
goldsimon
c0d9e3231b
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2015-01-16 17:38:20 +01:00
goldsimon
2775fb5a45
fixed bug #20506 "Initial congestion window is very small" again by implementing the calculation formula from RFC3390
2015-01-16 17:38:07 +01:00
Sylvain Rochet
6ca8bc4037
inet_checksum: fixed prototype of lwip_standard_chksum() when LWIP_CHKSUM_ALGORITHM == 1
2015-01-10 13:59:55 +01:00
Sylvain Rochet
5dd6b1effc
PPP, updated pppd followup
2014-12-24 23:23:36 +01:00
Sylvain Rochet
369e9fbf08
PPP, from PPPD upstream, Eliminate some unnecessary ifdefs
2014-12-24 23:12:30 +01:00
Sylvain Rochet
e39d012312
PPP, from PPPD upstream, separate IPv6 handling for sifup/sifdown
...
The current code is buggy regarding handling of link state when using
both IPCP and IPv6CP: if IPv6CP has been set up and if during IPCP
negociation, ipcp_up() fails, it will incorrectly take the interface
down. The simple solution here is to change the platform code to do the
same as on Solaris: separate IPv6CP up/down state handling with sif6up()
and sif6down(), so that we really know when the interface is allowed to
go down.
(Based from pppd commit b04d2dc6df5c6b5650fea44250d58757ee3dac4a)
2014-12-24 23:01:06 +01:00
Sylvain Rochet
7d077a2260
PPP,SLIP include lwip/sio.h after lwip/sys.h to prevent functions prototype collision
...
User port may redefine sio_* functions, we must ensure we are loading
user functions prototypes before loading default prototypes.
2014-12-24 21:23:54 +01:00
Sylvain Rochet
b30faa577d
PPP, moved ppp_init() from public API (ppp.h) to private API (ppp_impl.h)
...
ppp_init() is called by lwip_init(), users don't need to init PPP by themselves
2014-12-24 19:08:58 +01:00
Sylvain Rochet
91356d2d03
PPPAPI, added const modifier on auth strings
2014-12-24 19:05:19 +01:00
Sylvain Rochet
61f0231ce0
PPP, fixed more compiler warnings
...
Using -Wall -pedantic -Wparentheses -Wsequence-point
-Wswitch-default -Wextra -Wundef -Wshadow -Wpointer-arith
-Wbad-function-cast -Wc++-compat -Wwrite-strings -Wold-style-definition
-Wmissing-prototypes -Wredundant-decls -Wnested-externs -Wno-address
2014-12-24 18:14:10 +01:00
Sylvain Rochet
482a18e6de
PPP, added const modifier on auth strings
2014-12-24 17:17:00 +01:00
Sylvain Rochet
382ddac1a1
CORE: fixed missing prototype for pbuf_header_impl() function
...
lwip/src/core/pbuf.c:502:1: warning: no previous prototype for ‘pbuf_header_impl’ [-Wmissing-prototypes]
2014-12-24 15:18:21 +01:00
Sylvain Rochet
2b3e020152
PPP, fixed some compiler warnings
...
Using -Wall -pedantic -Wparentheses -Wsequence-point
-Wswitch-default -Wextra -Wundef -Wshadow -Wpointer-arith
-Wbad-function-cast -Wc++-compat -Wwrite-strings -Wold-style-definition
-Wmissing-prototypes -Wredundant-decls -Wnested-externs -Wno-address
2014-12-24 15:16:03 +01:00
goldsimon
01391f0234
etharp: fixed casting 'ctime' from u16_t to u8_t in local variables (introduced when fixing bug #34682 )
2014-12-22 11:21:18 +01:00
goldsimon
32c6f96000
prevent dhcp from starting when netif link is down (only when LWIP_DHCP_CHECK_LINK_UP==1, which is disabled by default for compatibility reasons)
2014-12-19 16:04:48 +01:00
goldsimon
a883fe7b8e
sockets.c: fixed assert check after changing type of sock->select_waiting to unsigned
2014-12-17 16:21:44 +01:00
goldsimon
5d74d97fe1
TCP_OVERSIZE: make segment size allocated by TCP_OVERSIZE overridable for tests
2014-12-17 09:32:08 +01:00
goldsimon
db4844e3f0
fixed bug #43840 Checksum error for TCP_CHECKSUM_ON_COPY==1 for no-copy data with odd length
2014-12-17 09:26:17 +01:00
sg
7ca4fd817e
- fixed bug #43797 set/getsockopt: SO_SNDTIMEO/SO_RCVTIMEO take int as option but should take timeval (LWIP_SO_SNDRCVTIMEO_STANDARD==0 can be used to revert to the old 'winsock' style behaviour);
...
- Fixed implementation of SO_ACCEPTCONN to just look at the pcb state;
- cleaned up the SO/SOF defines (only 3 left a ip_pcb level);
2014-12-10 21:46:49 +01:00
sg
8e13bcd43d
fixed indentation
2014-12-10 21:24:02 +01:00
sg
cacdbb5262
added option LWIP_NETCONN_SEM_PER_THREAD to use a semaphore per thread instead of using one per netconn and per select call
2014-12-10 20:45:01 +01:00
goldsimon
35729f0870
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2014-12-10 09:49:12 +01:00
goldsimon
0ff98eb2f5
mem: added an MEMP_OVERFLOW_CHECK implementation for MEM_USE_POOLS; added another unit test
2014-12-10 09:48:50 +01:00
goldsimon
dbe33783c9
stats: place 'err' in stats_mem more at the front to better see it in debugger overview window
2014-12-10 09:48:00 +01:00
sg
f38352f1af
fixed bug #43596 IGMP queries from 0.0.0.0 are discarded
2014-12-09 20:56:39 +01:00
goldsimon
1bf2e313f6
sockets.c: fixed using unsigned constant 'FIONBIO' in switch on (signed) long
2014-12-08 15:01:18 +01:00
goldsimon
ca26fd17a7
fixed bug #43778 : IPv6 header version not set on 16-bit platform (macro IP6H_VTCFL_SET())
2014-12-08 15:00:37 +01:00
goldsimon
4085a3fad4
task #11472 Support PBUF_REF for RX (IPv6 and IPv4/v6 reassembly might not work yet)
2014-12-08 14:45:36 +01:00
chrysn
36f470383b
use u32_t instead of u_int32_t
...
The style u_int32_t is not used anywhere else in the project, and is not
supported by the C standard, now using lwIP u32_t type. It was introduced
in 25e398a .
2014-11-11 16:28:27 +01:00
Sylvain Rochet
52dc9ef418
slightly improved compiler warning fixes
2014-11-07 16:26:15 +01:00
goldsimon
bada7e0f92
mem.h: fixed constants to be unsinged to fix compiler warning
2014-11-07 16:01:19 +01:00
goldsimon
ec93b03d8d
Fixed multiple smaller compiler warnings
2014-11-07 14:29:53 +01:00
goldsimon
a5e748de84
CHANGELOG: fixed date
2014-11-06 14:15:52 +01:00
goldsimon
2809405164
lwip_socket_init() is not needed any more -> compatibility define
2014-11-06 14:14:58 +01:00
goldsimon
79ecf2edb7
SNMP: added missing casts to int for printf arguments
2014-11-03 09:23:50 +01:00
Sylvain Rochet
c2ebf5544b
fixed cosmetic bug #43499 : wrong argument order in src/include/netif/etharp.h defines
2014-10-29 18:56:33 +01:00
sg
d6fbe2a5ad
fixed bugs #41495 Possible threading issue in select() and #43278
...
event_callback() handle context switch when calling sys_sem_signal()
2014-10-28 22:28:50 +01:00
sg
b89e10c3e6
fixed comment (bug #43481 MEMP_SYS_TIMEOUTS is not for NO_SYS=0 only)
2014-10-28 21:26:49 +01:00
goldsimon
5a6c64cc28
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2014-10-21 11:09:30 +02:00
goldsimon
aecbce283d
fixed bug #38219 Assert on TCP netconn_write with sndtimeout set
2014-10-21 11:09:07 +02:00
Sylvain Rochet
60f920df0e
fixed bug #43235 , checking for non-existent preprocessor macros is non-standard, added predefinition for all affected macros
2014-10-12 20:51:58 +02:00
Sylvain Rochet
da19974e81
fixed bug #43235 , cleared compiler warnings when using gcc with -Wextra option
2014-10-12 19:54:43 +02:00
Simon Goldschmidt
ab9feb2e35
fixed bug #43173 , pppos_input() corrupts memory if IP_FORWARD is enabled
2014-10-12 18:23:10 +02:00
goldsimon
b8d798158b
fixed bug #43389 dns_recv() res_idx calculate error
2014-10-09 10:13:50 +02:00
Simon Goldschmidt
82d7c78b0c
Reverted typo fix for vj.c which is in the original sources: no need to add a diff only because of a typo...
2014-09-18 21:25:19 +02:00
Simon Goldschmidt
0074b7becb
More of patch #8397 Typos corrected in comments and text outputs
2014-09-18 21:23:19 +02:00
Simon Goldschmidt
33237419c1
Parts of patch #8397 Typos corrected in comments and text outputs
2014-09-18 21:15:13 +02:00
Simon Goldschmidt
aa6f6bc3aa
patch #8480 Fix handling of dns_seqno wraparound
2014-09-17 22:52:58 +02:00
Simon Goldschmidt
f1e023af85
init.c: LWIP_PPP_API needs NO_SYS==0
2014-09-17 21:30:41 +02:00
Simon Goldschmidt
f71a590375
tabs -> spaces in opt.h (ppp-related)
2014-09-16 21:59:07 +02:00
Simon Goldschmidt
9f48488d87
minor: fixed coding style in pppapi.h/.c
2014-09-16 21:57:52 +02:00
Simon Goldschmidt
085c1594de
fixed bug #43192 tcp_enqueue_flags() should not check TCP_SND_QUEUELEN when sending FIN
2014-09-16 20:18:25 +02:00
Simon Goldschmidt
56c6301089
dns.c: change dns_send/dns_recv to operate on pbuf, not on contiguous buffer -> dns_payload_buffer/DNS_MSG_SIZE can be removed
2014-09-16 19:33:20 +02:00
Simon Goldschmidt
e303f30d10
added pbuf_take_at() and pbuf_put_at() (in preparation for dns.c changes)
2014-09-16 19:22:46 +02:00
Simon Goldschmidt
4b9883a573
DNS: does not support IPv6, may return a name cased different than the request (when multiple requests are combined to one)
2014-09-15 21:56:29 +02:00
Simon Goldschmidt
9fb46e1206
added source port randomization to make the DNS client more robust (see bug #43144 )
2014-09-15 21:50:41 +02:00
Simon Goldschmidt
8216303524
revert accidentally committed test code
2014-09-05 21:17:20 +02:00
Simon Goldschmidt
6c7357bbf9
DNS: minor coding style fix: pEntry -> entry
2014-09-05 21:15:50 +02:00
Simon Goldschmidt
13add693db
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2014-09-05 21:13:03 +02:00
Simon Goldschmidt
a491aa0f6a
DNS: split request callback information from actual DNS table to be able to optimize memory usage for multiple parallel requests (and clean up the code a bit)
2014-09-05 21:11:57 +02:00
goldsimon
e8f49f1b95
update CHANGELOG and fix coding style (fixed bug #39355 SNMP Memory Leak in case of error)
2014-09-03 08:10:07 +02:00
Fatih Aşıcı
0a8c53575c
snmp: Fix a memory leak
...
Check the value of vbi->ident before replacing it with vbo->ident.
2014-09-03 08:01:25 +02:00
Simon Goldschmidt
3c40d93f36
fixed bug #43110 (call getpeername() before listen() will cause a error) by re-sorting the error numbers and letting listen() continue on ERR_CONN
2014-09-02 22:34:53 +02:00
Simon Goldschmidt
4335e99f2e
netconn_gethostbyname() needs to check for name length when LWIP_MPU_COMPATIBLE==1
2014-09-02 21:40:05 +02:00
Simon Goldschmidt
1fd4b851f5
Moved #define NETDB_ELEM_SIZE from dns.h to netdb.h, where it belongs, and use sizeof() instead of hacked constants that are wrong on 64-bit platforms
2014-09-02 21:27:24 +02:00
Simon Goldschmidt
142cc8fe2a
minor: fixed a comment typo only
2014-09-02 21:26:35 +02:00
Simon Goldschmidt
5c37c63cef
fixed bug #42117 lwip_fcntl does not set errno
2014-09-02 21:08:30 +02:00
Simon Goldschmidt
39caf630a9
fixed bug #42299 tcp_abort() leaves freed pcb on tcp_bound_pcbs list
2014-09-02 20:59:00 +02:00
goldsimon
b0502d1f3b
added optional macros PACK_STRUCT_FLD_8() and PACK_STRUCT_FLD_S() to prevent gcc 4 from warning about struct members that do not need packing
2014-09-02 13:04:36 +02:00
Simon Goldschmidt
7c9b545b30
Fixed CHANGELOG to correctly show the differences to 1.4.1 (got messed up because git master was developed in parallel to the 1.4.1 branch, both starting at 1.4.0)
2014-09-01 21:35:10 +02:00
goldsimon
678dcc2ca5
Moved IPv4/IPv6 headers to common include folder, now that their names are unique -> no need to add 3 directories to the include path when compiling lwIP
2014-09-01 17:19:08 +02:00
goldsimon
54d4d9a881
Fix warning for compilers propagating ~'ed u8_t to int...
2014-09-01 15:57:56 +02:00
Simon Goldschmidt
a5e06ed5b7
fixed bug #42987 lwIP is vulnerable to DNS cache poisoning due to non-randomized TXIDs
2014-08-31 20:29:56 +02:00
Erik Ekman
63038e0305
Restore DHCP relay test packet numbers
...
These were updated in commit e1225cec5f together with other fixes
without any clear reason, and cause the test to fail.
2014-08-20 21:33:58 +02:00
goldsimon
7cea4d7df6
bug #42998 : made NETIF_MAX_HWADDR_LEN overridable for some special networks
2014-08-19 16:09:00 +02:00
goldsimon
936066aa03
tiny formatting correction
2014-08-19 14:25:57 +02:00
Simon Goldschmidt
e7f3224091
again bug #26069 : Documentation of tcp_connect() incorrectly describes handling of errors
2014-06-04 20:54:02 +02:00
Simon Goldschmidt
974f6982a1
fixed bug #37969 SYN packet dropped as short packet in tcp_input function
2014-06-03 21:07:49 +02:00
Sylvain Rochet
7fe7e1e984
Merge branch 'ppp-new'
...
Based from pppd 2.4.5, released 2009-11-17, with huge changes to match
code size and memory requirements for embedded devices, including:
- Gluing together the previous low-level PPP code in lwIP to pppd 2.4.5, which
is more or less what pppd sys-* files are, so that we get something working
using the unix port.
- Merged some patchs from lwIP Git repository which add interesting features
or fix bugs.
- Merged some patchs from Debian pppd package which add interesting features
or fix bugs.
- Ported PPP timeout handling to the lwIP timers system
- Disabled all the PPP code using filesystem access, replaced in necessary cases
to configuration variables.
- Disabled all the PPP code forking processes.
- Removed IPX support, lwIP does not support IPX.
- Ported and improved random module from the previous PPP port.
- Removed samba TDB (file-driven database) usage, because it needs a filesystem.
- MS-CHAP required a DES implementation, we added the latest PolarSSL DES
implementation which is under a BSD-ish license.
- Also switched to PolarSSL MD4,MD5,SHA1 implementations, which are meant to be
used in embedded devices with reduced memory footprint.
- Removed PPP configuration file parsing support.
- Added macro definition EAP_SUPPORT to make EAP support optional.
- Added macro definition CHAP_SUPPORT to make CHAP support optional.
- Added macro definition MSCHAP_SUPPORT to make MSCHAP support optional.
- Added macro definition PAP_SUPPORT to make PAP support optional.
- Cleared all Linux syscall calls.
- Disabled demand support using a macro, so that it can be ported later.
- Disabled ECP support using a macro, so that it can be ported later.
- Disabled CCP support using a macro, so that it can be ported later.
- Disabled CBCP support using a macro, so that it can be ported later.
- Disabled LQR support using a macro, so that it can be ported later.
- Print packet debug feature optional, through PRINTPKT_SUPPORT
- Removed POSIX signal usage.
- Fully ported PPPoS code from the previous port.
- Fully ported PPPoE code from the previous port.
- Fully ported VJ compression protocol code from the previous port.
- Removed all malloc()/free() use from PPP, replaced by stack usage or PBUF.
- Disabled PPP server support using a macro, so that it can be ported later.
- Switched all PPP debug to lwIP debug system.
- Created PPP Control Block (PPP PCB), removed PPP unit integer everywhere,
removed all global variables everywhere, did everything necessary for
the PPP stack to support more than one PPP session (pppd only support
one session per process).
- Removed the statically allocated output buffer, now using PBUF.
- Improved structure size of all PPP modules, deep analyze of code to reduce
variables size to the bare minimum. Switched all boolean type (char type in
most architecture) to compiler generated bitfields.
- Added PPP IPv6 support, glued lwIP IPv6 support to PPP.
- Now using a persistent netif interface which can then be used in lwIP
functions requiring a netif.
- Now initializing PPP in lwip_init() function.
- Reworked completely the PPP state machine, so that we don't end up in
anymore in inconsistent state, especially with PPPoE.
- Improved the way we handle PPP reconnection after disconnect, cleaning
everything required so that we start the PPP connection again from a
clean state.
- Added PPP holdoff support, allow the lwIP user to wait a little bit before
reconnecting, prevents connection flood, especially when using PPPoL2TP.
- Added PPPoL2TP LAC support (a.k.a. UDP tunnels), adding a VPN client
feature to lwIP, L2TP being a widely used tunnel protocol.
- Switched all used PPP types to lwIP types (u8t, u16t, u32t, ...)
- Added PPP API "sequential" thread-safe API, based from NETIFAPI.
2014-05-22 21:25:58 +02:00
Simon Goldschmidt
9148ab79f3
fixed bug #37184 tcp_write problem for pcbs in the SYN_SENT state
2014-05-20 22:12:36 +02:00
goldsimon
1204f15bfa
bug #35874 reserved identifier violation, 2nd part
2014-05-20 12:27:18 +02:00
goldsimon
f1c7e73bef
fixed last commit (copy & paste from patch broke the code)
2014-05-20 12:22:13 +02:00
Simon Goldschmidt
c18abd4fbe
Fixed bug #41686 (ipv4 ip_reass() crash error) introduced some months ago while fixing bug #41041...
2014-05-19 22:07:57 +02:00
Simon Goldschmidt
c3ac875055
Fixed typo-bug introduced some months ago while fixing bug #41041...
2014-05-19 22:03:19 +02:00
Simon Goldschmidt
dbd125c714
Fixed bug #35874 reserved identifier violation (removed leading underscores from header include guards)
2014-05-19 21:46:18 +02:00
Simon Goldschmidt
695e001984
lwip_gethostbyname: fixed using uninitialized variable when LWIP_DNS_API_HOSTENT_STORAGE==1
2014-05-15 21:17:41 +02:00
Sylvain Rochet
33b42872e5
Merge branch 'master' into ppp-new
2014-05-08 14:25:30 +02:00
goldsimon
8bb7602145
SNMP: fix "uninitialized variable" warning
2014-05-06 09:42:41 +02:00
Sylvain Rochet
d9e2edd1df
Merge branch 'master' into ppp-new
2014-05-05 20:55:18 +02:00
Simon Goldschmidt
f9d80d5bd2
try to fix another warning from static code analysis
2014-04-30 22:11:49 +02:00
goldsimon
406874b6c2
snmp: added missing default cases (only used for trace output)
2014-04-30 13:50:18 +02:00
goldsimon
e4ddd6cb6d
Multiple fixes found by coverity scan
2014-04-30 12:22:31 +02:00
Sylvain Rochet
a7745e9a86
PPP, PPPoE, fixed bug #42138 , pppoe_destroy() called with wrong pointer, PPPoE control block was never freed
2014-04-19 23:38:24 +02:00
Sylvain Rochet
3fd7bc8058
PPP, updated pppd followup
2014-04-15 22:57:59 +02:00
Sylvain Rochet
25e398a8f0
PPP, from PPPD upstream, accept IPCP ConfAck packets containing MS-WINS options
...
pppd: Accept IPCP ConfAck packets containing MS-WINS options
Since last week I'm seeing IPCP negotiations going like this (and
eventually failing) when connecting to my ISP:
Jul 11 20:03:25 * pppd[4833]: sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-dns2 0.0.0.0>]
Jul 11 20:03:26 * pppd[4833]: sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-dns2 0.0.0.0>]
Jul 11 20:03:26 * pppd[4833]: rcvd [IPCP ConfNak id=0x2 <addr 10.167.246.198>
<ms-dns1 213.162.69.1> <ms-dns2 213.162.69.169> <ms-wins 124.6.168.55> <ms-wins
17.17.17.17>]
Jul 11 20:03:26 * pppd[4833]: sent [IPCP ConfReq id=0x3 <addr 10.167.246.198>
<ms-dns1 213.162.69.1> <ms-dns2 213.162.69.169> <ms-wins 124.6.168.55> <ms-wins
17.17.17.17>]
Jul 11 20:03:26 * pppd[4833]: rcvd [IPCP ConfAck id=0x3 <addr 10.167.246.198>
<ms-dns1 213.162.69.1> <ms-dns2 213.162.69.169> <ms-wins 124.6.168.55> <ms-wins
17.17.17.17>]
Jul 11 20:03:27 * pppd[4833]: sent [IPCP ConfReq id=0x3 <addr 10.167.246.198>
<ms-dns1 213.162.69.1> <ms-dns2 213.162.69.169> <ms-wins 124.6.168.55> <ms-wins
17.17.17.17>]
...
with the last two lines repeating until the IPCP error limit is
reached. As you can see, the peer added two extra fields in the
ConfNak reply. This is allowed, and indeed the following sent
ConfReq packet reflects this. However, when the ConfAck packet
is received, pppd discards it as invalid, because of the ms-wins
fields.
This fixes it.
2014-04-15 22:55:28 +02:00
Sylvain Rochet
c31b03327f
PPP, from PPPD upstream, Don't crash if NULL pointer passed to vslprintf for %q or %v
...
pppd: Don't crash if NULL pointer passed to vslprintf for %q or %v
This is to avoid crashes like that reported in
https://bugs.launchpad.net/ubuntu/+source/ppp/+bug/1244714
2014-04-15 22:50:53 +02:00
Sylvain Rochet
f6d56e2937
PPP, from PPPD upstream, take out unused %r conversion completely,
...
pppd: Take out unused %r conversion completely
This just removes some code surrounded by #if 0/#endif, which Fedora
apparently feels the need to patch...
2014-04-15 22:34:24 +02:00
Sylvain Rochet
ca7769e041
Merge branch 'master' into ppp-new
2014-04-12 01:25:00 +02:00
Sylvain Rochet
c0aef7dd6b
PPP, VJ compression enabled, fixed IP forward from PPP to Ethernet by allocating a PBUF_LINK instead of a PBUF_RAW if IP forwarding is enabled
2014-04-12 01:23:57 +02:00
Sylvain Rochet
4283ecf774
PPP, PPPoS, fixed IP forward from PPP to Ethernet by allocating PBUF_LINK instead of PBUF_RAW if IP forwarding is enabled
2014-04-11 22:31:01 +02:00
Simon Goldschmidt
88a57dc98d
Fixed bug #36167 tcp server crash when client closes (maximum window)
2014-04-08 21:26:27 +02:00
Simon Goldschmidt
035ecef8a5
Fixed bug #36210 lwIP does not elicit an empty ACK when received unacceptable ACK
2014-04-06 22:40:51 +02:00
Simon Goldschmidt
4c3b6814dc
Fixed compiling broken ip6.c after last commit
2014-04-06 22:33:27 +02:00
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
08dd32d32d
PPP, most PPP headers are using u_long, u_int, u_short and u_char types, moved typedef of those types before we include any PPP header
2014-04-04 20:42:01 +02:00
Sylvain Rochet
b49584457a
Merge branch 'master' into ppp-new
2014-03-23 13:17:55 +01:00
goldsimon
40d25adb88
Added LWIP_HOOK_ETHARP_GET_GW to implement IPv4 routing with multiple gateways
2014-03-17 12:53:31 +01: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
c065427ebe
fixed bug #35928 BSD sockets functions must set errno for POSIX-compliance (patch by Mason)
2014-03-11 20:53:44 +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
c60635855d
fixed bug #38404 getpeeraddr returns success on unconnected/listening TCP sockets
2014-02-27 21:28:15 +01:00
Simon Goldschmidt
2666d6df90
fixed bug #41729 Some socket functions return Exyz instead of -1
2014-02-27 20:57:37 +01:00
Simon Goldschmidt
8558fa0bcf
etharp_entry::ctime must be u16_t after changing ARP_TMR_INTERVAL from 5 seconds to 1 second when fixing bug #34682
2014-02-26 21:51:56 +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
Simon Goldschmidt
fbdea8dc71
fixed bug #39076 ETHARP_STATS is not defined when LWIP_STATS is 0
2014-02-25 22:14:26 +01:00
Sylvain Rochet
58d0e8b28f
Merge branch 'master' into ppp-new
2014-02-24 20:21:47 +01:00
Simon Goldschmidt
07fbe82305
fixed bug #34681 Limit ARP queue length by ARP_QUEUE_LEN (=3)
2014-02-22 21:38:56 +01:00
Simon Goldschmidt
05a967564a
fixed bug #34682 Limit ARP request flood for unresolved entry
2014-02-22 21:23:06 +01:00
Sylvain Rochet
75ef1278e6
Merge branch 'master' into ppp-new
2014-02-21 20:37:10 +01:00
Simon Goldschmidt
fc158ad5c0
Fixed netconn_gethostbyname for LWIP_MPU_COMPATIBLE: removed invalid check on 'addr', copy 'name' since it could be located on the caller's stack
2014-02-21 09:04:39 +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
9572db262c
Fixed bug #39718 : disconnecting an UDP socket reports an error
2014-02-20 22:32:57 +01:00
Simon Goldschmidt
515e4b9187
fixed bug #39882 No function shall set errno to 0
2014-02-20 22:23:40 +01:00
Simon Goldschmidt
c1dc1a20d6
fixed bug #40050 SNMP problem with MIB arrays > 255
2014-02-20 22:14:10 +01:00
Simon Goldschmidt
a58083b11e
Fixed comment on LWIP_HAVE_LOOPIF
2014-02-20 22:09:38 +01:00
Simon Goldschmidt
0f24fba28a
IGMP: fixed !define LWIP_RAND case
2014-02-20 22:07:58 +01:00
Simon Goldschmidt
4d774e275d
netconn::recv_avail: forgot one line
2014-02-20 22:01:13 +01:00
Simon Goldschmidt
a2d6a50dff
fixed bug #41499 netconn::recv_avail can overflow
2014-02-20 21:55:11 +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
Erik Ekman
e432014a88
netif: Update header file documentation
...
IPv6 output method referenced old method name.
2014-02-20 21:22:39 +01:00
Simon Goldschmidt
a89db9872d
Added missing IPPROTO_RAW
2014-02-20 21:13:13 +01:00
Simon Goldschmidt
6dcc85dcf4
patch #7993 : Added support for transmitting packets with VLAN headers via hook function LWIP_HOOK_VLAN_SET and to check them via hook function LWIP_HOOK_VLAN_CHECK
2014-02-20 21:08:50 +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
cffe54d094
Patch #7815 by James Smith: added inet_ntop/inet_pton
2014-02-20 16:10:55 +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
a80c4d147c
Unit test patch by Erik Ekman: use macro to store correct testcase name
2014-02-12 21:52:21 +01:00
Erik Ekman
ad66b2bf13
Don't mark arrays as const since they are modified by the test
2014-02-12 21:44:51 +01:00
Simon Goldschmidt
ef6ec9de01
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2014-02-12 21:34:43 +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
Sylvain Rochet
a6b48d5273
normalize to LF (auto cleaned due to git attributes and must be commited before switching branch)
2014-02-09 16:34:47 +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
a32afb28c0
Added .gitattributes to normalize CRLF
2014-02-07 09:36:03 +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
33086e6db0
patch #7920 thread-safe api dhcp calls for dhcp_infor, dhcp_renew and dhcp_release
2014-01-18 22:48:15 +01:00
Simon Goldschmidt
d7a951996b
Updated CHANGELOG
2014-01-18 22:41:52 +01:00
Stathis Voukelatos
38bfe50508
Fixed size calculation in MALLOC memory pool creation macro.
...
The LWIP_MALLOC_MEMPOOL macro needs to use the aligned size of the
memp_malloc_helper structure, since mem_alloc() uses it to calculate
the required pool element size. If LWIP_MEM_ALIGN_SIZE(x) is redefined
to align to something larger than 4, then in some cases
the current code can lead to unexpected mem_alloc() failures.
For example:
#define LWIP_MEM_ALIGN_SIZE(size) (((size) + 31) & ~31)
and the largest MALLOC pool is of size 60 bytes, e.g.:
#define LWIP_MALLOC_MEMPOOL(256, 60)
then the following call:
mem_malloc(58)
will cause an assertion.
2014-01-18 22:40:16 +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
db472c73c1
patch #8021 Add INET[6]_ADDRSTRLEN Preprocessor Definitions If Not Previously Defined
2014-01-18 22:02:32 +01:00
Grant Erickson
29824f9baa
This patch addresses the following error when compiled against clang/LLVM 3.3 with -std=c++11:
...
error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
2014-01-18 21:44:44 +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
Grant Erickson
8ae472821f
autoip: add autoip_remove_struct
...
Added previously-missing autoip_remove_struct as a companion to
autoip_set_struct and to parallel dhcp_{set,remove}_struct.
2014-01-17 22:19:12 +01:00
Simon Goldschmidt
26911ff21c
patch #8160 (by Valery Ushakov): Simplify ip6_addr_set_solicitednode() and ip6_addr_cmp_solicitednode().
2014-01-17 22:05:54 +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
Simon Goldschmidt
8b63a89267
patch #7912 by Grant Erickson: Add a macro for introspecting the IPv6 loopback address.
2014-01-16 21:50:53 +01:00
Simon Goldschmidt
94eff945b4
Updated CHANGELOG
2014-01-16 21:42:10 +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
Simon Goldschmidt
08370c7230
Patch #7904 by Grant Erickson: Add mnemonics for IPPROTO_{ICMP,ICMPV6}
2014-01-16 21:28:38 +01:00
Simon Goldschmidt
2f9b28c0fc
Updated CHANGELOG
2014-01-14 21:53:40 +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
Simon Goldschmidt
2cf5eec62f
patch by Thomas Faber: patch #8241 : Fix implicit declaration of ip_input with LWIP_TCPIP_CORE_LOCKING_INPUT disabled
2014-01-14 21:32:45 +01:00
Simon Goldschmidt
51012d07cc
updated CHANGELOG
2014-01-14 21:27:40 +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
357b28f675
PPP, fixed VJ compression/decompression output IP path
2014-01-14 18:20:18 +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
ae300c98a4
partially fixed bug #37585 : IPv6 compatibility (in socket structs)
2013-06-29 21:47:22 +02:00
Simon Goldschmidt
748b70311e
bug #37585/task #12600 : fixed struct in6_addr.s6_addr to conform to spec
2013-06-29 21:16:59 +02:00
Simon Goldschmidt
8d0664186a
- removed include instead of commenting it out;
...
- CHANGELOG should contain worthy entries only, a complete log of all source code changes can be found in git (I'm not saying this has always been observed, but I'd like to keep the list of changes as short as possible for anyone to read if interested)
2013-06-19 22:26:29 +02:00
Simon Goldschmidt
2fb5a71efd
patch #8030 : fixed spelling of "received"
2013-06-19 22:23:05 +02:00
Sylvain Rochet
4fda366b67
PPP, added PPP notify phase support
...
PPP notify phase support, using compile-time PPP_NOTIFY_PHASE macro.
This can be used for example to set a LED pattern depending on the
current phase of the PPP session.
Callback example:
static void ppp_notify_phase_cb(ppp_pcb *pcb, u8_t phase, void *ctx) {
switch(phase) {
case PPP_PHASE_DEAD: /* Kept off */
case PPP_PHASE_MASTER:
/* LED Off */
break;
case PPP_PHASE_INITIALIZE: /* Session opened */
/* LED FastBlink */
break;
case PPP_PHASE_RUNNING: /* Session running */
/* LED On */
break;
default:
/* LED SlowBlink */
}
}
2013-04-30 15:16:09 +02:00
Sylvain Rochet
2ceae6014e
PPP, reduced by one buffer PPPoS RX requirements in multithreaded context
...
Removed one unecessary allocated PBUF per PPPoS RX packet if PPP_INPROC_MULTITHREADED is set by adding the necessary data for
pppos_input_callback() in front of the first pbuf instead of allocating a new buffer.
2013-04-26 23:24:08 +02:00
Sylvain Rochet
cf3162cff1
PPP, moved PPP_INPROC_MULTITHREADED compile time option from ppp.h to opt.h
2013-04-26 21:55:30 +02:00
Sylvain Rochet
2350d941a5
PPP, added PPP_USE_PBUF_RAM compile time option
...
pbuf_type PPP is using for LCP, PAP, CHAP, EAP, IPCP and IP6CP packets.
Memory allocated must be single buffered for PPP to works, it requires pbuf
that are not going to be chained when allocated. This requires setting
PBUF_POOL_BUFSIZE to at least 512 bytes, which is quite huge for small systems.
Setting PPP_USE_PBUF_RAM to 1 makes PPP use memory from heap where continuous
buffers are required, allowing you to use a smaller PBUF_POOL_BUFSIZE.
2013-04-26 21:51:15 +02:00
Sylvain Rochet
25f9f55878
PPP, removed PPP_INPROC_OWNTHREAD feature, which almost only make things harder
...
I consider to remove the PPP_INPROC_OWNTHREAD crap in ppp-new,
as said in bugs #37278 and #37353 .
1. It requires the ppp_input_thread() function to be modified to match
user system, like some did by adding the vTaskDelete(NULL); FreeRTOS
call at the end of the function, for example.
This is a tiny-tiny fonction that should be, in my opinion, on the user
port, like the Ethernet input thread we see in many Ethernet port.
2. It is actually not that thread safe.
2.1. pcb->phase IS modified by the lwIP core thread so it should at
least be set to volatile, otherwise the pcb->phase copy may live
indefinitely in CPU register. It works because of the sio_read()
function call which without doubt flush pcb->phase copy from CPU
register. I dont want to set ppp_pcb struct to volatile for obvious
performance reasons.
2.2. This function assume PCB still exists whatever is happening, which
is not the case after you called ppp_delete() function outside of this
thread. If sio_read() is blocking waiting data and pcb destroyed, it is
going to read a deallocated pcb which luckily should still have
pcb->phase set to 0 (=PHASE_DEAD) due to preallocated "control block"
structures of lwIP. Even with sio_read_abort(), there might be timings
issue due to a lack of a synchronization mechanism.
3. I dislike the sys_msleep(1), it means that systems should have at
least a 11 chr buffer at 115200/10 byte/s, and bigger with higher serial
speed, for example with 3G/HSDPA modems accessed through SPI, at 20
Mbits/s this is a ~2000 bytes buffer required to keep incoming data
during this sleep, I don't see why we require systems to do so,
sio_read() should obviously be a blocking call. I cannot easily
remove this sleep because some systems might have wrongfully used this
call as a CPU idle feature with a non blocking sio_read() call.
2013-04-26 20:30:01 +02:00
Sylvain Rochet
07540f3386
Merge branch 'master' into ppp-new
2013-04-26 20:01:18 +02:00
Sylvain Rochet
fe63f36656
picked up the wrong commit date in CHANGELOG, fixed
2013-04-26 19:59: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
549f97b54a
cleared compilation warning, C++ style comments are not allowed in ISO C90
2013-04-26 19:48:57 +02:00
Sylvain Rochet
f47a93b0c1
PPP, cleared compilation warning about unused variable 'pcb' in ppp_drop() if neither VJ nor SNMP support are enabled
2013-04-26 14:02:30 +02:00
Sylvain Rochet
3fe5a99dab
Merge branch 'master' into ppp-new
2013-04-25 00:36:12 +02:00
Simon Goldschmidt
097bc4c622
patch #8008 Fix a potential null pointer dereference in assert
2013-04-24 22:28:22 +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
Simon Goldschmidt
eb6bcdb3ee
Removed the demand to post trivial patches to lwip-users, things keep getting lost there.
2013-04-24 20:55:45 +02:00
Sylvain Rochet
a1555e0615
PPP, added ppp_free()
...
Free the control block, clean everything except the PPP PCB itself
and the netif, it allows you to change the underlying PPP protocol
(eg. from PPPoE to PPPoS to switch from DSL to GPRS) without losing
your PPP and netif handlers.
2013-04-23 00:19:07 +02:00
Sylvain Rochet
44b527415f
PPP, slight API change, great code factorisation
...
Created new ppp_over_X_create() functions which only prepare the PPP session without starting it
Removed ppp_reopen() and all of its sub ppp_over_X_reopen()
Removed PPPoL2TP reconnect() function, merged to connect()
Added ppp_open() able to start or restart any session
2013-04-22 23:58:51 +02:00
Sylvain Rochet
ed294c5945
PPP, removed ppposapi_input(), unnecessary because pppos_input() is already thread-safe
2013-04-22 21:21:04 +02:00
Sylvain Rochet
bd3ade31fa
PPP, added define for u_long, u_int, u_short, u_char for compilers or toolchains which don't have them
2013-04-22 21:16:02 +02:00
Sylvain Rochet
d03d2e6d3d
PPP, added ppp_addrs() macro to get the pointer of the ppp->addrs struct
2013-04-22 21:09:28 +02:00
Sylvain Rochet
58ffa8d526
PPP, free input pbuf left in ppp_delete()
2013-02-27 22:29:22 +01:00
Sylvain Rochet
bfe8c15a29
PPP, fixed return code coherency for ppp_netif_output_*() callbacks (using ERR_* as expected by lwIP core instead of PPPERR_*)
2013-02-22 11:52:44 +01:00
Sylvain Rochet
2fa7e003b1
PPP, fixed LCP delayed up feature
...
LCP is stealing a bit from fsm->flags struct member for LCP delayed up feature.
Bit stealed used to be the 9th bit (0x100) but fsm->flags was reduced to u8_t to save memory,
we are now stealing the 8th bit (0x80).
2013-01-31 15:36:30 +01:00
Sylvain Rochet
ba948669cd
Merge branch 'master' into ppp-new
2013-01-29 10:59:39 +01:00
goldsimon
666e84eef2
Improved/fixed comments about timeout.
2013-01-24 09:02:19 +01: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
b844129649
fixed bug #38097 pbuf_free_ooseq() warning
2013-01-15 21:07:01 +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
de1375201f
PPP, "try" variable used in LCP might conflict with some buggy C++ compiler
2013-01-04 23:08:11 +01:00
Sylvain Rochet
13ba8810c7
PPP, fixed one more IAR warnings
2013-01-04 22:51:13 +01:00
Sylvain Rochet
bdfbac2aa6
PPP, added missing semicolon (dammit)
2012-12-23 22:58:52 +01:00
Sylvain Rochet
6bd0bd2ed1
Merge branch 'master' into ppp-new
2012-12-23 22:56:51 +01:00
Sylvain Rochet
211a889528
PPP, fixed some IAR warnings
...
these are the compiler warnings I get with the head of ppp-new. All
of them are trivial, [...] (I'm using IAR EWARM 6.4).
ppp.c
Warning[Pe550]: variable "c" was set but never used
lwip\src\netif\ppp\ppp.c 1012
Warning[Pe111]: statement is unreachable
lwip\src\netif\ppp\ppp.c 1132
Warning[Pe111]: statement is unreachable
lwip\src\netif\ppp\ppp.c 1377
Warning[Pe111]: statement is unreachable
lwip\src\netif\ppp\ppp.c 1412
utils.c
Warning[Pe186]: pointless comparison of unsigned integer with zero
lwip\src\netif\ppp\utils.c 210
2012-12-23 22:52:58 +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
6751ac4970
PPP, moved FSM configuration to ppp_settings struct
2012-12-09 22:25:28 +01:00
Sylvain Rochet
6764957d06
PPP, moved EAP configuration to ppp_settings struct
2012-12-09 21:45:14 +01:00
Sylvain Rochet
c719ba7bf3
PPP, moved PAP configuration to ppp_settings struct
2012-12-09 21:22:19 +01:00
Sylvain Rochet
31d7293b17
PPP, moved EAP timeouts and max requests default values to opt.h
2012-12-09 20:40:41 +01:00
Sylvain Rochet
defef2222a
PPP, improved PAP and CHAP timeout/request/maxrequests configuration values
2012-12-09 20:24:22 +01:00
Sylvain Rochet
63459f65fb
PPP, moved DEFLOOPBACKFAIL from ppp/lcp.h to lwip/opt.h
2012-12-09 19:28:53 +01:00
Sylvain Rochet
c68e1ceb64
PPP, using timeouts values defined in opt.h instead of values defined in PPP headers or statically assigned values
2012-12-09 18:42:06 +01:00
Sylvain Rochet
07e72d2ac8
PPP, correctly cast int to u8_t in PPPCTLS_ERRCODE in ppp_ioctl()
2012-11-08 14:39:30 +01:00
Sylvain Rochet
7f97e354b4
PPP, switched chap_digests linked list to a const table in .rodata/flash, saving about 100 bytes in .data segment if chap(md5) and mschap is enabled
2012-10-14 02:04:36 +02:00
Sylvain Rochet
e5a554f0b5
PPP, adding const pragma to FSM callbacks, saving about 350 bytes in .data segment
2012-10-13 18:54:25 +02:00
Sylvain Rochet
9e4aa79278
PPP, adding const pragma to struct protent, saving about 200 bytes in .data segment
2012-10-13 18:38:18 +02:00
Sylvain Rochet
a0298728df
PPP, disable persist mode by default, so the default behavior does not look like a buggy behavior. Fixes bug #37279 .
2012-10-12 20:32:05 +02:00
Mark Lakata
0eb83f6ee6
PPP, IAR EWARM won't compile ppp-new due to keyword clash
...
The word "class" is reserved in IAR's EWARM compiler since it looks like c++.
This causes a failure to compile in the lcp code.
Arguably it is a bug in the compiler, but it is easy to work around with a
name change in the lcp.[ch] code. I fixed it by changing "class" to "class_".
2012-10-12 20:17:40 +02:00
Sylvain Rochet
e81f092520
PPP, changed all the code enclosed between PPP_SERVER #if macro to our PPP PCB structure, making it easier to support PPP server in the future
2012-09-27 23:53:20 +02:00
Sylvain Rochet
7fb874ad28
Merge branch 'master' into ppp-new
2012-09-27 21:32:27 +02:00
goldsimon
a4a41b9023
fixed bug #37405 'err_tcp()' uses already freed 'netconn' object
2012-09-26 21:50:42 +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
af56eebc6a
PPP, cleaned MTU,MRU variables
2012-09-01 19:44:43 +02:00
Sylvain Rochet
387c778496
PPP, added PPPoS reopen support
2012-09-01 19:29:17 +02:00
Sylvain Rochet
fbbde125d9
PPP, removed unnecessary ethif from ppp_pcb
2012-09-01 15:05:21 +02:00
Sylvain Rochet
dbaefd6126
PPP, cleaned persist and holdoff features
2012-09-01 14:43:31 +02:00
Sylvain Rochet
a1c87f7c49
PPP, improved fsm_sconfreq() allocated buffer size
2012-08-27 19:10:09 +02:00
Sylvain Rochet
045ee53468
PPP, using PBUF_POOL instead of PBUF_RAM pbufs for PPP negociation packets
...
PPP stack does not handle chained pbuf, but PPP negociation packets
are at most ~40 bytes long, so we are only checking if the payload
can fit into the allocated pbuf (p->tot_len == p->len).
2012-08-27 00:47:21 +02:00
Sylvain Rochet
b84ab718b0
PPP, ppp_input() code cleaning, removed dead code, fixed indentation
2012-08-25 20:38:54 +02:00
Sylvain Rochet
6144deb6b6
PPP, moved out PPPoS code into their own functions, improved ppp.c readability
2012-08-25 20:30:14 +02:00
Sylvain Rochet
19864a4a08
PPP L2TP, only skip HDLC header if necessary
...
RFC 2661 does not specify whether the PPP frame in the L2TP payload should
have a HDLC header or not. We handle both cases for compatibility.
2012-08-25 18:15:15 +02:00
Sylvain Rochet
7920b6e163
PPP, don't allocate twice struct eth_hdr per PPPoE pbuf
2012-08-25 16:21:58 +02:00
Sylvain Rochet
4928166593
Merge branch 'master' into ppp-new
2012-08-23 20:51:53 +02:00
Sylvain Rochet
ad5f520c68
PPP, updated pppapi_reopen() to follow ppp_reopen() prototype change
2012-08-23 20:47:14 +02:00
goldsimon
150b4fb4f6
fixed bug #37166 : memp_sanity check loops itself
2012-08-22 21:59:02 +02:00
Sylvain Rochet
4f8198b298
Added ChangeLog entry reporting all the work done in the ppp-new branch.
2012-08-22 20:14:45 +02:00
Sylvain Rochet
076f177100
Added PPPd follow-up file, so that we can track what is happening on pppd.
...
The lwIP PPP support is based from pppd 2.4.5 (http://ppp.samba.org ) with
huge changes to match code size and memory requirements for embedded devices.
Anyway, pppd has a mature codebase for years and the average commit count
is getting low on their Git repositories, meaning that we can follow what
is happening on their side and merge what is relevant for lwIP.
So, here is the pppd follow up, so that we don't get away too far from pppd.
2012-08-22 17:40:23 +02:00
Sylvain Rochet
3b939480a4
PPP, added missing entry in pppapi.h
2012-08-22 11:41:07 +02:00
Sylvain Rochet
773a2767c7
PPP, added missing pppapi_delete() thread safe function
2012-08-21 20:26:37 +02:00
Sylvain Rochet
e9b29184d0
PPP, renamed all functions using common names in utils.c that can conflict with lwIP user code during link operation
2012-08-21 20:21:38 +02:00
Sylvain Rochet
0d02b8d1f6
added <stdlib.h> to ppp_impl.h, some PPP modules are using strtol()
2012-08-21 20:03:57 +02:00
Sylvain Rochet
98c0fcc659
Added <string.h> header to ppp_impl.h, this appears to be required, found out by Ivan Delamer.
2012-08-18 22:43:23 +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
1adb900561
Moved the include of lwip_md5.h or md5.h into the #if PPP_MD5_RANDM block, as suggested by Ivan Delamer
2012-08-18 12:56:59 +02:00
Sylvain Rochet
c5c1012ddd
removed some compiler warnings in pppoe_disconnect()
2012-08-17 23:42:14 +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
a070751061
fixed bug #37052 : "netconn_alloc: undefined netconn_type" assertion skipped
2012-08-13 21:17:17 +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
Sylvain Rochet
c58c27ed8b
removed time-based PPP phase state machine hacks from PPPoE dans PPPoL2TP
...
Our PPP phase state machine is now clean, we can safely remove time based
hacks in PPPoE dans PPPoL2TP.
2012-07-24 22:50:17 +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
59567b43b0
pcb->link_status_cb must be set, we don't need to check each time we use it if not NULL
2012-07-23 00:55:24 +02:00
Sylvain Rochet
e067e84d69
switch to phase dead if PPPoE or PPPoL2TP failed to connect
2012-07-23 00:48:27 +02:00
Sylvain Rochet
35c670513f
fixed some more PPP phase state machine issues
...
The only way PPPoE or PPPoL2TP disconnect it through ppp_link_terminated(),
therefore PPP is always already down, so we don't need to ask PPP to hup or stop.
2012-07-22 23:53:27 +02:00
Sylvain Rochet
8ec92b6fe7
don't call ppp_hup() and ppp_stop() if PPPoE or PPPoL2TP failed to connect
...
This is useless because PPP is not started yet, it confuses the PPP phase
state machine.
2012-07-22 23:37:35 +02:00
Sylvain Rochet
5552f082e8
handle cases when ppp_close() is called while session is in dead or holdoff phase
2012-07-22 21:42:56 +02:00
Sylvain Rochet
3c122117fc
improved PPP API, added ppp_reopen()
...
This is now the user choice to re-establish the session in the link status callback
by either calling the ppp_reopen() to re-establish or ppp_delete() to free the PPP
control block. Without user intervention, the PPP control block now stay in the dead
phase, allowing the user to re-establish or delete the control block later.
2012-07-22 20:53:54 +02:00
Sylvain Rochet
a467d21eba
ppp_close() PPPoL2TP support added
2012-07-22 18:05:19 +02:00
Sylvain Rochet
bc724ea206
Do not destroy the PPP control block automatically anymore, added ppp_delete() API function.
...
Without that, PPP user don't know when and how the PPP control block is free()ed, which
can lead to hard fault.
2012-07-22 17:20:40 +02:00
Sylvain Rochet
4ea5c1d973
improved persist mode, we now clear everything we can in the PPP control block structure, ensuring we start a new session from a clean state
2012-07-21 00:26:23 +02:00
Sylvain Rochet
c65883a727
UCHAR_MAX is defined in limits.h, I do not want to add any system include, replaced to 0xff
2012-07-16 20:09:49 +02:00
Sylvain Rochet
a4f6146667
removed some FIXME that are not relevant anymore
2012-07-15 15:57:54 +02:00
Sylvain Rochet
936c6c0d5c
reduced call stack by one when receiving a PPPoE disc packet
2012-07-15 15:12:40 +02:00
Sylvain Rochet
91af8878e1
saved some bytes from PPPoE control block, improved PADI retries
2012-07-15 15:07:07 +02:00
Sylvain Rochet
d2b2ae09e6
saving 14 bytes per PPPoE pbuf; not allocating struct eth_hdr two times per packet
2012-07-15 14:56:30 +02:00
Sylvain Rochet
94c35184a9
replaced PPPoL2TP printf() used to debug to PPPDEBUG a/o deletion
2012-07-14 17:47:30 +02:00
Sylvain Rochet
9e021cd1a8
improved PPP default interface management, added ppp_set_default() API call
2012-07-14 17:25:24 +02:00
Sylvain Rochet
78565026ac
L2TP output netif is now selectable, making it useful to select a default route for the L2TP tunnel, in case the default interface is set to the L2TP PPP interface
2012-07-12 01:11:08 +02:00
Sylvain Rochet
de6be743c6
added holdoff support for PPPoE and PPPoL2TP when persist mode is used
2012-07-11 23:50:33 +02: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
0797ab6bc6
some buggy compiler get confused with duplicated labels used in enum tcp_state and fsm.h, prepending PPP's ones
2012-07-09 22:12:14 +02:00
Sylvain Rochet
b4df26a75d
some buggy compiler get confused with duplicated labels used in enum tcp_state and fsm.h, prepending PPP's ones
2012-07-09 22:04:09 +02:00
Sylvain Rochet
d92c462466
added PPP Sequential API module, based from the Network Interface Sequential API module
2012-07-07 19:50:56 +02:00
Sylvain Rochet
f31b905847
initialize PPP in the lwip_init() function
2012-07-07 17:33:34 +02:00
Sylvain Rochet
572e457e77
improved PPP API header documentation
2012-07-07 15:05:15 +02:00
Sylvain Rochet
be9b23a082
fixed LCP Echo Request/Reply feature
2012-07-07 12:16:48 +02:00
Sylvain Rochet
c9e7531251
Merge branch 'master' into ppp-new
2012-07-04 00:22:33 +02:00
Sylvain Rochet
90faecd86e
replaced u_int{8,16,32}_t to lwIP u{8,16,32}_t types
...
added padding to compiler generated bitfield, this is seen as best practice,
maybe it helps buggy compilers
2012-07-03 22:59:50 +02:00
Ivan Delamer
6c12e5bfbe
Allow setting/getting socket option IPV6_V6ONLY for stream sockets
...
only, as datagram sockets do not support dual IP versions yet.
Change-Id: I2d89bdaa06b19dc0c553c7be6ac6e9a71d3ce8a5
2012-07-03 14:39:25 -06:00
Sylvain Rochet
2e069429c2
removed bool type, replaced by u8_t
2012-07-03 22:03:51 +02:00
James Smith
e65202f825
Applied patch by James Smith to implement IPV6_V6ONLY support in
...
sockets and netconns.
Change-Id: I2ecd8e218703114890b2d678cc1ccf997a16f5e3
2012-07-03 13:16:04 -06:00
Erik Ekman
11a3057e8e
PPP: Add option to skip FCS table
...
Option PPP_FCS_TABLE is created which controls if PPPoS FCS calculation
should be done against precalculated table or by using a short algorithm.
Default value is 1, keeps old behaviour.
Setting it to 0 saves around 0.5 kB flash.
2012-06-23 15:11:49 +02:00
Sylvain Rochet
ba0c619844
clarified PPP_INPROC_OWNTHREAD documentation
2012-06-23 13:46:51 +02:00
Sylvain Rochet
a83fb30836
fixed PPPoS multithread support
2012-06-23 13:07:43 +02:00
Sylvain Rochet
dc092653f4
now displaying sent packet before PPPoS add its escaping, trailing flags, ...
2012-06-23 12:04:27 +02:00
Sylvain Rochet
25c6278000
fixed some endianess issues with PPPoS
2012-06-23 02:27:03 +02:00
Sylvain Rochet
5033e0e752
display IPV6CP packets
2012-06-23 01:44:52 +02:00
Sylvain Rochet
295eeef9b6
"ISO C forbids conversion of function pointer to object pointer type" - removed callback function pointer display in debug messages. Anyway, this is quite a meaningless information.
2012-06-22 21:48:21 +02:00
Sylvain Rochet
f63b87e28b
setting tot_len before using it, oops
2012-06-22 21:43:22 +02:00
Sylvain Rochet
1f780e86d5
PPP timeouts required depend on the number of allowed PPP sessions
...
Furthermore we need up to 6 timeouts per PPP (AUTH + PAP|CHAP|EAP + LCP + IPCP + IP6CP + PPPoE)
This can be improved with more conditions.
2012-06-22 21:29:12 +02:00
Sylvain Rochet
408a56ffaf
phase must be set to initalize each time we try to reconnect
2012-06-22 20:48:08 +02:00
Sylvain Rochet
a84f5d52ff
added ppp_pcb to ppp callback
2012-06-22 19:59:46 +02:00
Sylvain Rochet
fb6eed0087
set LL addresses before bringing the interface up for IPv6
2012-06-22 19:45:45 +02:00
Sylvain Rochet
dc242a01b4
don't build ppp_netif_output_ip6() if PPP IPV6 support is disabled
2012-06-22 19:29:55 +02:00
Sylvain Rochet
074d3dd2b1
moved ipv6cp global variables to ppp_pcb
2012-06-22 19:27:03 +02:00
Sylvain Rochet
807afbc879
improved FSM structure size
2012-06-22 18:50:09 +02:00
Sylvain Rochet
8f1eeb1025
improved ipv6cp_options struct size
2012-06-22 18:23:07 +02:00
Sylvain Rochet
dd288f70ec
fixed sent PPPoE dump packet and copy everything we need after pppoe_xmit() free'd the pbuf
2012-06-22 18:07:59 +02:00
Sylvain Rochet
6a11134a18
fixed PPPoS suppport compilation
2012-06-22 17:53:39 +02:00
Sylvain Rochet
9b60b55f03
SNMP prefers tot_len
2012-06-22 17:48:31 +02:00
Sylvain Rochet
77aa06df64
improved ppp_write_over_ethernet(), don't MEMCPY the entire packet into a new pbuf
2012-06-22 17:03:59 +02:00
Sylvain Rochet
9b7860d6ec
merged ppp_write and ppp_write_pbuf
2012-06-22 14:17:35 +02:00
Sylvain Rochet
bda73b1bc9
replaced call from ppp_write to ppp_write_pbuf
2012-06-21 23:31:23 +02:00
Sylvain Rochet
8576ee0981
randomized seed when using MD5 random support and PPPoE
2012-06-21 23:08:20 +02:00
Sylvain Rochet
8093b55e86
don't destroy and create the PPP interface each time sifup() is called (it is actually called twice with IPv4 + IPv6 enabled)
2012-06-21 22:28:52 +02:00
Sylvain Rochet
b6db4a0e2e
PPP IPv6 local link support added
2012-06-21 18:05:17 +02:00
Sylvain Rochet
cd7894dfc9
added compilation macro to eui64.[ch] and cleaned unix-dependant code
2012-06-20 13:39:08 +02:00
Sylvain Rochet
c36d73f42a
added raw IPv6 PPP files
2012-06-20 13:29:21 +02:00
Sylvain Rochet
9871c4ff06
improved IPCP control structure size
2012-06-20 00:10:08 +02:00
Sylvain Rochet
e330983408
improved lcp_options structure size
2012-06-20 00:03:08 +02:00
Sylvain Rochet
4bbf443ba2
improved CHAP structure size, however there is not much we can do
2012-06-19 23:42:41 +02:00
Sylvain Rochet
0234c62c3e
improved PAP control structure size
2012-06-19 23:37:33 +02:00
Sylvain Rochet
0bdc27186d
some more improvements to ppp_pcb
2012-06-19 23:31:20 +02:00
Sylvain Rochet
c51c55b782
LCP and IPCP variable size improved
2012-06-19 23:25:57 +02:00
Sylvain Rochet
26250f1953
removed pcb->chap_mdtype_all
2012-06-19 23:14:31 +02:00
Sylvain Rochet
7ecfe6304a
reduced MTU/MRU variables
2012-06-19 23:03:47 +02:00
Sylvain Rochet
b7be03801c
improved much more ppp_pcb entry size
2012-06-19 22:53:38 +02:00
Sylvain Rochet
b21cb8a396
removed pcb->num if PPP debug is not compiled
2012-06-19 22:08:14 +02:00
Sylvain Rochet
eadd56a376
replaced exit code (pcb->status) with ppp_ioctl()
2012-06-19 22:00:12 +02:00
Sylvain Rochet
2aa9a66c57
don't duplicate user and password anymore, anyway, the PPP user will have them already allocated as static strings or from configuration flash/file
2012-06-19 21:26:52 +02:00
Sylvain Rochet
8e9c07df39
more idle time limit macros
2012-06-19 18:02:23 +02:00
Sylvain Rochet
1d392f0e76
removed useless flags from ppp_settings
2012-06-19 17:54:29 +02:00
Sylvain Rochet
08cbc1b22b
idle time limit and connect time limit are now compile time options
2012-06-19 17:50:02 +02:00
Sylvain Rochet
f744d7a789
reduced ppp_settings types size
2012-06-19 17:42:13 +02:00
Sylvain Rochet
ff2a737094
ppp_settings.remote_name is now a compile time option
2012-06-19 17:38:02 +02:00
Sylvain Rochet
111a1cef52
moved ppp_settings.lax_recv and ppp_settings.noendpoint bool types (so char) to the ppp_settings bitfield
2012-06-19 17:07:02 +02:00
Sylvain Rochet
a44b56dc61
pcb->nak_buffer replaced with a pbuf
2012-06-19 15:36:53 +02:00
Sylvain Rochet
1b586b69bc
do not allocated pbuf of more than pcb->peer_mru instead of PPP_MRU, to save some memory
2012-06-18 15:07:48 +02:00
Sylvain Rochet
4a7f2ffc5e
pcb->outpacket_buf replaced by pbuf everywhere it was used
2012-06-18 02:21:18 +02:00
Sylvain Rochet
503162ec54
CHAP is now using pbuf instead of pcb->outpacket_buf
2012-06-18 01:18:24 +02:00
Sylvain Rochet
22fad86453
PAP is now using pbuf instead of pcb->outpacket_buf
2012-06-18 01:10:21 +02:00
Sylvain Rochet
8641b8a36e
PPP_PCB are now allocated using memp_alloc()
2012-06-17 23:48:55 +02:00
Sylvain Rochet
be2d3b5886
moved back temporarily moved structure definitions from various headers to ppp.h during unit to ppp_pcb transition
2012-06-17 02:33:47 +02:00
Sylvain Rochet
3120487243
cleanified old style C function declaration from utils.c
2012-06-17 01:47:45 +02:00
Sylvain Rochet
4404ef0281
prevent conflict with existing (md4|md5|sha1|des) object file if polarssl is already used elsewhere in the project
2012-06-17 00:55:11 +02:00
Sylvain Rochet
0c68fc409e
fixed pppoe_find_softc_by_session() when we have the same PPPoE session id on 2 ethif
2012-06-17 00:33:02 +02:00
Sylvain Rochet
ea7bf19057
fixed most "unit 0" used instead of pcb pointer
2012-06-17 00:17:22 +02:00
Sylvain Rochet
99bf9775d9
NUM_PPP is defined is opt.h, clearing from ppp_impl.h
2012-06-16 18:45:53 +02:00
Sylvain Rochet
0e2d5f9d0e
removed unused inpacket_buf in ppp_pcb
2012-06-16 14:53:13 +02:00
Sylvain Rochet
3065b9f968
no more pcb->unit, new user selectable pcb->num for debugging purpose (like netif does)
2012-06-16 04:12:10 +02:00
Sylvain Rochet
cce5fbc7b1
fixed PPPoS xmit_accm ppp_pcb variable access
2012-06-16 03:58:48 +02:00
Sylvain Rochet
82a4d4ec65
LCP global variables moved to ppp_pcb as well as input/output buffers
2012-06-16 03:53:05 +02:00
Sylvain Rochet
708147625f
FSM global variables moved to ppp_pcb
2012-06-16 03:30:36 +02:00
Sylvain Rochet
93559a54e9
IPCP global variables moved to ppp_pcb
2012-06-16 03:25:31 +02:00
Sylvain Rochet
f10ddea305
removed fsm->unit
2012-06-16 03:14:26 +02:00
Sylvain Rochet
4a8ff6d824
protent prototype switched from unit to ppp_pcb
2012-06-16 02:43:13 +02:00
Sylvain Rochet
4b7e3af77c
IPCP and LCP structures moved to ppp_pcb
2012-06-16 02:13:50 +02:00
Sylvain Rochet
19238a910c
global variables removed from chap support
2012-06-15 01:22:01 +02:00
Sylvain Rochet
2deb13df43
EAP is now using ppp_pcb as well
2012-06-15 01:06:27 +02:00
Sylvain Rochet
1ece33e79a
PAP and CHAP are now using ppp_pcb*
2012-06-15 00:24:39 +02:00
Sylvain Rochet
844f5e5af1
moved auth.c global variables to ppp_pcb
2012-06-14 00:25:45 +02:00
Sylvain Rochet
51bfac71b0
auth.c functions now use ppp_pcb* as first argument
2012-06-14 00:08:56 +02:00
Sylvain Rochet
81a0fd782f
removed unit from ppp_ioctl()
2012-06-13 00:12:55 +02:00
Sylvain Rochet
3a30e5bf78
removed ppp_input_header, replaced using 2 chained pbuf the only area we need it
2012-06-12 23:28:09 +02:00
Sylvain Rochet
a87096cdc9
fixed PPPoS support, improved ppp_input()
2012-06-12 00:59:02 +02:00
Sylvain Rochet
527d99fd39
removed all PPP unit in ppp.c except pih->unit and unit used in debugging output
2012-06-12 00:55:53 +02:00
Sylvain Rochet
6e2722a6d3
started the unit to ppp_pcb replacement
2012-06-11 01:39:03 +02:00
Sylvain Rochet
8694deaabb
don't add ppp_pcb_rx to ppp_pcb struct if PPPOS support is disabled
2012-06-10 21:06:02 +02:00
Sylvain Rochet
a226099b04
ppp_close() on PPPoE actually works,
...
clear persist mode if user asked the connection to shutdown
2012-06-10 01:45:29 +02:00
Sylvain Rochet
336ba8f419
pppoe now have access to the ppp_pcb structure, removed "persist" option copy
2012-06-10 01:08:37 +02:00
Sylvain Rochet
5abdc99f3e
no more PPP unit number in PPPoE, now using ppp_pcb
2012-06-10 01:00:50 +02:00
Sylvain Rochet
f7ef9887d7
improved ppp_set_auth() mschap support
2012-06-09 23:38:38 +02:00
Sylvain Rochet
fed76f29d0
added missing EAP_SUPPORT macro
2012-06-09 23:38:26 +02:00
Sylvain Rochet
a3cfbfc6ba
ppp_set_auth() modified to handle new handled authtype (mschap + eap)
2012-06-09 23:32:31 +02:00
Sylvain Rochet
444646b65e
renamed ppp_control to ppp_pcb, replaced unit number to ppp_pcb in all ppp.h declared functions
2012-06-09 23:06:45 +02:00
Sylvain Rochet
8bd508a73d
moved ppp_settings to ppp_control, improved PPP API to really allow multiple PPP sessions
2012-06-09 18:06:55 +02:00
Sylvain Rochet
1cceb4e0ad
moved hide_password global variable to ppp_options
2012-06-09 17:05:19 +02:00
Sylvain Rochet
c2d2034ae8
PPPoE persist is working, removing FIXME comments about that
2012-06-09 16:56:32 +02:00
Sylvain Rochet
f94ed922e5
moved exit status global variable to ppp_control
2012-06-09 16:43:12 +02:00
Sylvain Rochet
7a57d28db4
moved listen_time global variable to ppp_settings
2012-06-09 16:18:01 +02:00
Sylvain Rochet
ce5121e659
removed unused "unsuccess" global variable
2012-06-09 16:00:22 +02:00
Sylvain Rochet
a7d7158b05
removed useless error_count global variable from ppp.c
2012-06-09 15:58:51 +02:00
Sylvain Rochet
6b8c78bacc
moved remote_name and explicit_remote global variable to ppp_settings
2012-06-09 15:55:01 +02:00
Sylvain Rochet
2da930ba4c
removed some useless extern
2012-06-09 15:45:52 +02:00
Sylvain Rochet
772cac7946
removed useless error_count global variable
2012-06-09 15:42:57 +02:00
Sylvain Rochet
42f672d85d
phase global variable moved to ppp_control structure
2012-06-09 15:39:16 +02:00
Sylvain Rochet
945f2912a7
using PPP_DEBUG instead of debug global variable
2012-06-09 15:09:00 +02:00
Sylvain Rochet
1ccf516c5e
options.c is now empty, removed
2012-06-09 14:43:56 +02:00
Sylvain Rochet
fb396b8fac
moved debug option from options.c to ppp.c
2012-06-09 14:42:31 +02:00
Sylvain Rochet
6db3026d47
using our_name from ppp_settings (only used in server mode and disabled by default)
2012-06-09 14:39:44 +02:00
Sylvain Rochet
becc306300
using idle_time_limit from ppp_settings
2012-06-09 14:35:06 +02:00
Sylvain Rochet
4e7ce11684
removed holdoff support, can be handled without persist mode outside lwIP
2012-06-09 14:31:45 +02:00
Sylvain Rochet
6589cf9d8e
removed useless options
2012-06-09 14:16:59 +02:00
Sylvain Rochet
552589f098
removed multilink option when multilink support is not compiled
2012-06-09 14:14:06 +02:00
Sylvain Rochet
2ec79c03a0
unused ifunit global variable removed
2012-06-09 01:26:21 +02:00
Sylvain Rochet
21653f0f91
pr_log is unused, don't even try to build it
2012-06-09 01:20:01 +02:00
Sylvain Rochet
b922eaa754
print packet is working back, at least for PPPoE
2012-06-09 00:52:20 +02:00
Sylvain Rochet
d27da93c33
now using maxconnect from ppp_settings
2012-06-07 23:34:06 +02:00
Sylvain Rochet
2e6fa7f8a3
dns server support is done, clearing FIXME entries
2012-06-07 23:05:19 +02:00
Sylvain Rochet
302184938a
removed malloc() from ms chap
2012-06-07 23:02:08 +02:00
Sylvain Rochet
e5355cc45f
PPP server support is now optional (disabled by default, not working until PPP have a "listen" support)
2012-06-07 22:22:57 +02:00
Sylvain Rochet
2fe778507a
fixed randm if random MD5 support is not enabled
2012-06-07 22:19:25 +02:00
Sylvain Rochet
4077422ae2
fixed pbuf leaks in ppp_input() in case of packets not expected
2012-06-07 20:41:21 +02:00
Sylvain Rochet
a9ac45c5f0
added PPPoE persist support (don't timeout sending PADI packets)
2012-06-07 01:48:12 +02:00
Sylvain Rochet
7ef99ee6f3
added a persist option (enabled by default for now until we add a way for users to pass a ppp_settings structure)
...
improved PPPoE state machine and added persist mode support
2012-06-07 00:46:19 +02:00
Sylvain Rochet
e44aada634
improved PPPoE callback with state values, so that PPP know exactly what is happening on the PPPoE side
2012-06-06 23:42:20 +02:00
Sylvain Rochet
ac0a864e14
fixed typos s/parms/params/g
2012-06-06 22:36:23 +02:00
Sylvain Rochet
3c3331d5ed
fixed some debug strings
2012-06-06 22:34:16 +02:00
Sylvain Rochet
6f21f48937
added MTU support (using MRU from the peer)
2012-06-05 23:10:38 +02:00
Sylvain Rochet
2e227f868b
PPPoE is now guessing its MTU from the underlying netif MTU (in most cases 1500 minus 8 = 1492, which is the most common PPPoE MTU)
2012-06-05 22:22:35 +02:00
Sylvain Rochet
7d7513c71c
re-enabled DNS support
2012-06-04 23:19:23 +02:00
Sylvain Rochet
d95f1e9913
added missing initialisation in ppp_init.c
2012-06-04 22:48:12 +02:00
Sylvain Rochet
1013b49ab7
disabled ppp_over_ethernet_close(), which is not exported and probably bogus, until we fix it
2012-06-04 22:23:10 +02:00
Sylvain Rochet
dc0e15a74e
we should reduce nak_buffer[] size
2012-06-04 22:22:37 +02:00
Sylvain Rochet
d6e5ca722f
setting default route by default
2012-06-04 19:00:36 +02:00
Sylvain Rochet
cd3ba00479
get_mask now returns "255.255.255.255" by default, which is what we want in almost all cases on a PPP link
2012-06-04 18:58:05 +02:00
Sylvain Rochet
c549dba725
re-enabled LCP echo interval / echo fail
2012-06-04 16:25:16 +02:00
Sylvain Rochet
ca1ad99bea
PPPoE reauth bug fixed
2012-06-04 15:31:29 +02:00
Sylvain Rochet
2c7bd7e591
fixed print_string() prototype
2012-06-04 01:45:33 +02:00
Sylvain Rochet
bea45b3c30
cleared IDE warnings
2012-06-04 00:59:24 +02:00
Sylvain Rochet
093c7b4386
cleaned depreacted __P() and __V() macros, removed the legacy varargs.h header
2012-06-04 00:34:28 +02:00
Sylvain Rochet
8332a5aa53
disabled all plugins hooks
2012-06-04 00:12:45 +02:00
Sylvain Rochet
eb020656d2
disabled all plugins hooks
2012-06-04 00:12:17 +02:00
Sylvain Rochet
31456a6dfe
removed CamelCase in ppp.c and ppp_impl.h, added compat macro in ppp.h (but disabled for now)
2012-06-03 23:56:56 +02:00
Sylvain Rochet
03fda0f803
removed CamelCase for all ppp.h declared functions
2012-06-03 21:48:10 +02:00
Sylvain Rochet
c09f03f6e8
VJ support is back!
2012-06-03 20:44:47 +02:00
Sylvain Rochet
3bad9ff50a
ppp_impl.h is back!
2012-06-03 20:25:32 +02:00
Sylvain Rochet
0663421d01
re-added PPPoS code from the previous port, it builds, maybe it works
2012-06-03 20:05:40 +02:00
Sylvain Rochet
10175caa38
fixed MD5 Random enabling conditions
2012-06-03 16:59:50 +02:00
Sylvain Rochet
103ad75c50
automatically enable MD5 Random support if CHAP or EAP is enabled
2012-06-03 16:51:03 +02:00
Sylvain Rochet
2f5f86d6fc
don't build any PPP file if PPP support is disabled
2012-06-03 16:38:26 +02:00
Sylvain Rochet
89d2c2917f
more ppp.[ch] cleaning
2012-06-03 16:24:33 +02:00
Sylvain Rochet
05817aa3b9
LQR (Link Quality Report) support is now optional
2012-06-03 14:02:25 +02:00
Sylvain Rochet
5464ed6661
removed all useless header files, merged ppp_defs.h to ppp.h
...
removed session.[ch] and tty.c which are Unix-centric files and disabled
2012-06-03 13:53:45 +02:00
Sylvain Rochet
05c84a147d
added ECP_SUPPORT in opt.h (disabled by default); renamed MD5_SUPPORT to PPP_MD5_RANDM, which is more meaningful
2012-06-03 13:07:46 +02:00
Sylvain Rochet
9c35403b98
clarified a bit more ppp.[ch]
2012-06-03 01:46:46 +02:00
Sylvain Rochet
b5b075eb04
demystified a bit the PPP impl, renamed output() to ppp_output() to prevent conflict
2012-06-03 00:30:12 +02:00
Sylvain Rochet
e1261c9620
removed all system headers except the strict minimum
2012-06-02 23:29:40 +02:00
Sylvain Rochet
5531bca078
make it build with avr32-gcc
...
Disabled Unix-centric non necessary include files
Changed some include paths
Removed all printf() I put there and there for debugging.
It builds with the avr32 gcc toolchain, meaning we removed
all the pppd code requiring a unix base.
2012-06-02 23:04:03 +02:00
Sylvain Rochet
28b9dd50ff
build PolarSSL MD5 if MD5_SUPPORT is enabled (for randm)
2012-06-02 21:31:13 +02:00
Sylvain Rochet
44c2a0a7fc
fixed most PPP compilation warnings with -pedantic
2012-06-02 21:25:58 +02:00
Sylvain Rochet
d143acfc76
fixed all PPP compilation warnings with -Wall
2012-06-02 20:46:52 +02:00
Sylvain Rochet
b4d59fd52d
removed headers that were initially copied but not used (yet)
2012-06-02 19:37:40 +02:00
Sylvain Rochet
2ee2a1b730
removed sys-linux.c
2012-06-02 19:34:37 +02:00
Sylvain Rochet
86ebc8e46c
removed pppd.h and ppp.c, renamed pppmy.c to ppp.c and pppmy.h to ppp.h
2012-06-02 19:30:31 +02:00
Sylvain Rochet
29c5ee6b19
pppd.h disabled, renamed MAX() to LWIP_MAX()
2012-06-02 19:19:51 +02:00
Sylvain Rochet
323aebf1f5
cleaning unused stuff in pppd.h, syslog() is no more used
2012-06-02 18:47:53 +02:00
Sylvain Rochet
a5dd1ccfaa
ppp.c disabled, everything required for lwIP moved to our impl
2012-06-02 18:07:34 +02:00
Sylvain Rochet
4dd297cef2
protent table moved to our PPP impl
2012-06-02 17:22:12 +02:00
Sylvain Rochet
7f9fea18ae
added pppmy.h in all .c files to easily find conflicts
2012-06-02 17:12:55 +02:00
Sylvain Rochet
adb8b881b4
resolve conflit, ipcp.c defines ip_ntoa() which is already defined by lwIP, disabled ipcp.c::ip_ntoa() and using lwIP one
2012-06-02 17:04:46 +02:00
Sylvain Rochet
d3d1b69c7a
more ppp.c cleaning
2012-06-02 16:56:20 +02:00
Sylvain Rochet
922d3716ff
PPP statistics optional (non working) compile time option added
2012-06-02 16:41:09 +02:00
Sylvain Rochet
4158222e86
moved new_phase() to our own implementation, re-enabled new_phase() support
2012-06-02 15:00:18 +02:00
Sylvain Rochet
6727c43441
PPP notifier support is now a compile time option
...
However, as of now, the notify() function is empty, so it requires
some work if someone want to use it.
The notify feature allows someone to be able to follow the
state of the PPP stack (auth ok, ipcp up, initialise, ...), this
is like the callback feature set by pppOverEthernetOpen() and others,
but with more details.
2012-06-02 14:48:04 +02:00
Sylvain Rochet
55c1ec2925
re-enabled auth notifiers
2012-06-02 14:12:54 +02:00
Sylvain Rochet
0f1c18e675
PPP interval timeout support disabled (using lwIP timeout support), protocol_name() moved to our PPP impl and disabled by default
2012-06-02 13:46:45 +02:00
Sylvain Rochet
0de1293ff5
clarifying what is actually the "datainput" entry in protent
2012-06-02 13:03:43 +02:00
Sylvain Rochet
89ab390719
added necessary pppSingleBuf() call before passing the packet to the appropriate PPP subsystem
2012-06-02 02:44:18 +02:00
Sylvain Rochet
88ef3ffa50
POSIX signal support removed
2012-06-02 02:30:43 +02:00
Sylvain Rochet
668d5d9d92
removed set/getenv functions
2012-06-02 02:23:56 +02:00
Sylvain Rochet
6c908ac727
removed more protent fields only used by print packets functions
2012-06-02 02:14:19 +02:00
Sylvain Rochet
2c4bd7162f
print packet functions are now optional
2012-06-02 02:07:49 +02:00
Sylvain Rochet
cf18e0776d
removed demand prototypes if not compiled-in
2012-06-02 01:55:24 +02:00
Sylvain Rochet
8b866beaeb
demand support is now a compile-time option
...
Obviously, it requires some wiring to know if there is new activity
on a not-yet established PPP interface with the default route
already set.
I don't think any lwIP user will ever need that, all should know
when to bring the link up and down.
2012-06-02 00:53:25 +02:00
Sylvain Rochet
ee5fca7a2b
removed pathnames.h and pidfile support
2012-06-02 00:33:37 +02:00
Sylvain Rochet
fc074937f5
Linux ioctl() gone, ECP support optional, CCP support optional
...
Removed all the used Linux ioctl(), sys_linux.c is entirely disabled.
Replaced unecessary functions to set up a PPP link to null fonctions,
however all stuff necessary to shutdown a PPP link should be done.
Some utils functions related to I/O files are disabled too.
ECP and CCP support only set PPP attributes into the PPP kernel support,
they are now compile-time options and are disabled by default and
obviously not supported (yet? :p)
2012-06-02 00:19:40 +02:00
Sylvain Rochet
a17ea13453
autoselecting which PolarSSL files to use support added
2012-06-01 01:10:02 +02:00
Sylvain Rochet
8bb4ea85b8
removed some useless Linux calls
2012-06-01 01:07:27 +02:00
Sylvain Rochet
26e8372c75
changed PolarSSL compile-time condition
2012-06-01 00:59:15 +02:00
Sylvain Rochet
4704efa32a
PAP support is now an optional compile-time feature
2012-05-30 23:32:30 +02:00
Sylvain Rochet
339925e835
CHAP support is now an optional compile-time feature
2012-05-24 00:52:20 +02:00
Sylvain Rochet
28360a7f26
MSCHAP is now an optional compile-time feature
2012-05-23 23:29:19 +02:00
Sylvain Rochet
49bb62d221
and less and less useless auth code (will this end ?)
2012-05-23 00:51:59 +02:00
Sylvain Rochet
04f121b88f
less and less auth code
2012-05-23 00:04:07 +02:00
Sylvain Rochet
6ce5c8eb78
disabled upap_rauthreq()
2012-05-22 23:07:28 +02:00
Sylvain Rochet
7736cdae1c
replaced BCOPY to lwip-MEMCPY
2012-05-22 23:02:02 +02:00
Sylvain Rochet
05aa1f1ae4
using MEMCPY() instead of memcpy()
2012-05-22 22:13:41 +02:00
Sylvain Rochet
42827cdea2
more and more ppp options removal
2012-05-22 21:59:23 +02:00
Sylvain Rochet
b88dad4034
disabled almost all PPP options strings and support as well as useless file-based auth code
2012-05-22 01:28:30 +02:00
Sylvain Rochet
d0645273df
removed HMAC support from ciphers
2012-05-21 23:02:27 +02:00
Sylvain Rochet
dea27e105d
cleaned PolarSSL files
2012-05-21 22:48:41 +02:00
Sylvain Rochet
0bfad4392a
Commit to prouve we copied the raw BSD PolarSSL files
2012-05-21 22:33:37 +02:00
Sylvain Rochet
4c1b507c07
fixed MS-CHAP and MS-CHAP-V2, MD4 polarssl uses bytes as input length, not bits
2012-05-21 22:26:20 +02:00
Sylvain Rochet
0289055948
Revert "Revert "Added PolarSSL DES library, which is necessary for MSCHAP.""
...
This reverts commit a820f32ec9 .
2012-05-21 22:15:40 +02:00
Sylvain Rochet
83a48dafea
Revert "Revert "Replaced md4/md5/sha1 implementations to PolarSSL ones""
...
This reverts commit ca2fd867b8 .
2012-05-21 22:14:29 +02:00
Sylvain Rochet
a7a20a9de4
Revert "now using OpenBSD DES implementation"
...
This reverts commit a9672e1a21 .
2012-05-21 22:14:13 +02:00
Sylvain Rochet
82b67b01ff
Revert "removed salted DES ( known as crypt() function ), we don't need it"
...
This reverts commit 517659640e .
2012-05-21 22:14:02 +02:00
Sylvain Rochet
b896203dcf
Revert "Removed all stuff requiring encryption."
...
This reverts commit c268c5e07c .
Conflicts:
src/netif/ppp/auth.c
src/netif/ppp/ppp.c
src/netif/ppp/pppmy.c
src/netif/ppp/pppmy.h
2012-05-21 22:04:04 +02:00
Sylvain Rochet
795d5807b5
EAP support is now optional
2012-05-21 01:18:36 +02:00
Sylvain Rochet
7d43f4a1f4
removed useless system header from EAP
2012-05-21 00:03:18 +02:00
Sylvain Rochet
c268c5e07c
Removed all stuff requiring encryption.
...
OpenBSD DES require more than 70 kB of static memory.
The GNU libcrypt DES, for information, require more than 131 kB,
so this is probably the case with all non memory optimised DES.
PolarSSL only required 132 bytes of stack with some kB of .rodata
precomputed tables :-)
I personally don't need MS CHAP v1 or MS CHAP v2, and that was not
supported in the previous PPP port, so there is no regression,
I feel comfortable about removing those hard to port stuff.
If someone want to do the MS CHAP port, he first have to find or
do a small memory footprint DES implementation.
2012-05-20 23:23:14 +02:00
Sylvain Rochet
517659640e
removed salted DES ( known as crypt() function ), we don't need it
2012-05-20 22:47:12 +02:00
Sylvain Rochet
a9672e1a21
now using OpenBSD DES implementation
2012-05-20 22:32:24 +02:00
Sylvain Rochet
4570f71f21
modified auth_reset() so that we can choose which auth we want
2012-05-20 20:46:45 +02:00
Sylvain Rochet
ca2fd867b8
Revert "Replaced md4/md5/sha1 implementations to PolarSSL ones"
...
This reverts commit aa2656cb9e .
Licence issue, we cannot include GPLed source code.
2012-05-20 20:40:27 +02:00
Sylvain Rochet
624da03bad
Revert "modified auth_reset() so that we can choose which auth we want"
...
This reverts commit bf10a27db8 .
Licence issue, we cannot include GPLed source code.
2012-05-20 20:40:08 +02:00
Sylvain Rochet
a820f32ec9
Revert "Added PolarSSL DES library, which is necessary for MSCHAP."
...
This reverts commit de70b710af .
Licence issue, we cannot include GPLed source code.
2012-05-20 20:39:15 +02:00
Sylvain Rochet
f5dc6e80c0
Removed uneeded crypt() from auth.c and session.c
2012-05-20 20:04:05 +02:00
Sylvain Rochet
de70b710af
Added PolarSSL DES library, which is necessary for MSCHAP.
...
Added a README about our PolarSSL included files, clarifying what we did.
Removed crypt(), -lcrypt ( setkey() / encrypt() ) dependencies.
2012-05-20 19:57:37 +02:00
Sylvain Rochet
bf10a27db8
modified auth_reset() so that we can choose which auth we want
...
also fixed MS-CHAP and MS-CHAP-V2, MD4 polarssl uses bytes as input
length, not bits
2012-05-20 15:27:52 +02:00
Sylvain Rochet
aa2656cb9e
Replaced md4/md5/sha1 implementations to PolarSSL ones
...
Using cleaned PolarSSL md4/md5/sha1 implementations, without changing the API,
so that lwIP users already doing SSL or using PolarSSL don't need to compile
md4/md5/sha1 twice.
Added to that, we need a DES library for MSCHAP, and PolarSSL provided
a DES support.
And finally, PolarSSL is outstanding :-)
2012-05-20 01:44:22 +02:00
Sylvain Rochet
adf2b2bf03
don't compile wkmodulus[] if SRP is not used
2012-05-19 22:59:08 +02:00
Sylvain Rochet
6773326d96
replaced MIN to LWIP_MIN
2012-05-17 23:41:39 +02:00
Sylvain Rochet
1d7efce0dc
Removed TDB code, which we cannot port, because it needs a filesystem.
...
About multilink support.
Multilink uses Samba TDB (Trivial Database Library), which
we cannot port, for the above reason.
We have to choose between doing a memory-shared TDB-clone,
or dropping multilink support at all.
2012-05-17 23:21:09 +02:00
Sylvain Rochet
1a1deb5d58
reworked magic/randm
2012-05-17 22:42:07 +02:00
Sylvain Rochet
bcba806ef0
ported randm module from previous PPP port
2012-05-17 21:45:02 +02:00
Sylvain Rochet
00648c27eb
world changed, removed IPX support
2012-05-17 20:22:17 +02:00
Sylvain Rochet
4885b39121
removed run_program() support
2012-05-17 20:17:31 +02:00
Sylvain Rochet
0f3e70b679
removed user and passwd globals
2012-05-17 20:05:37 +02:00
Sylvain Rochet
372a0f9eea
moved refuse_mschap, refuse_mschap_v2, refuse_eap from globals to ppp_settings
2012-05-17 19:41:34 +02:00
Sylvain Rochet
2a44bad2e7
removed passwd_from_file usage, removed some of unused PAP file fetch code
2012-05-17 19:29:54 +02:00
Sylvain Rochet
33e8472473
CHAP auth is now working
2012-05-17 19:05:47 +02:00
Sylvain Rochet
8834a8b216
using UNTIMEOUT macro instead of timeout()
2012-05-17 16:36:59 +02:00
Sylvain Rochet
db794c2d32
PPPoL2TP patch from Debian, not used yet, but already fixed
2012-05-17 16:29:00 +02:00
Sylvain Rochet
a1d80c29de
fixed demand_rexmit() with new IP addr, maybe we will never support demand or drop it, but it is already patched just in case
2012-05-17 16:23:32 +02:00
Sylvain Rochet
bea796ebc0
pppd: Terminate correctly if lcp_lowerup delayed calling fsm_lowerup
2012-05-17 16:14:30 +02:00
Sylvain Rochet
d4978210f0
using rp-pppoe pppd exits with EXIT_OK after receiving a timeout waiting for PADO due to no modem attached, from Debian patches
...
http://ppp.samba.org/cgi-bin/ppp-bugs/incoming?id=2211
Using rp-pppoe pppd exits with exitcode 0, whenever there is no modem connected
and pppd get's a timeout while waiting for a PADO.
This happens because status is set to EXIT_OK in main.c at the beginning of the
procedures. Within start_link(), connect() will be called as one of the first
calls.
If that call fails (no pppoe discovery for example), jumps to "fail", which
returns without setting the status variable to failure. So at the end pppd exits
with EXIT_OK.
I moved the status = EXIT_NEGOTIATION_FAILED which will be set later within
start_link, at the top of it. That seems to work out, patch is attached:
2012-05-17 15:56:35 +02:00
Sylvain Rochet
ef59e952d8
added IPCP no/replace default route option from Debian patches, I like the idea
2012-05-17 15:55:27 +02:00
Sylvain Rochet
54d5ee5562
added LCP adaptive echo from Debian patches, I like the idea
2012-05-17 15:50:15 +02:00
Sylvain Rochet
eb75ae05c6
Early development stage of an attempt to port PPPd 2.4.5 to lwIP.
...
PPPoE works, PPPoS code is not ported at all.
I am using the RP-PPPoE server to do my tests using the following
configuration:
$ cat /etc/ppp/pppoe-server-options
debug
login
lcp-echo-interval 10
lcp-echo-failure 10
ms-dns 192.168.4.130
ms-dns 192.168.4.231
netmask 255.255.255.0
defaultroute
noipdefault
usepeerdns
$ cat /etc/ppp/allip
192.168.4.1-200
$ pppoe-server -C isp -L 192.168.4.254 -p /etc/ppp/allip -I tap0
Plus the usual auth-lines in /etc/ppp/pap-secrets and
/etc/ppp/chap-secrets .
And the unix port minimal "echo" project slightly modified to use
the "tcpip" API, so with threads, which I am going to commit with
NO_SYS as a -Dmacro.
It still use some of the linux'ism, such as syslog() and crypt(),
I do not want to drop the syslog() supports at the moment, this is
pretty useful to debug, and we may just convert the way the syslog() is
done to provide a trace feature to our PPP users, as a compile-time
option.
2012-05-16 02:02:02 +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
fe9c716fbe
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2012-05-11 22:37:30 +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
goldsimon
3e41f36ef5
Added a readme.txt about the PPP code.
2012-05-07 22:12:01 +02:00
goldsimon
8d2131884c
Added missing name (patch by)
2012-05-05 09:28:24 +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
Ivan Delamer
3dcd33b08f
Fix bug #36391 - inet6_addr_to_ip6addr()
...
Change-Id: I2ab73901a8552e3c247d95985f6ce5d6ef7d4599
2012-05-04 17:33:06 -06:00
goldsimon
3ac81e9d7c
patch by Sylvain Rochet: fixed bug #36283 (PPP struct used on header size computation and not packed)
2012-05-03 20:39:43 +02:00
goldsimon
1704d21356
dhcp: check array bounds before accessing it (bug #36170 )
2012-05-03 20:21:50 +02:00
goldsimon
d690775ca1
Added unit test that pbuf_copy returns a correct error code for pbuf queues ending with a zero-length pbuf.
2012-05-03 20:11:23 +02:00
goldsimon
fb07a28c99
fixed bug #36388 (PPP: checksum-only in last pbuf leads to pbuf with zero length)
2012-05-03 19:45:22 +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
e5d54f5344
fixed bug #35756 header length calculation problem in ppp/vj.c - removed unused/invalid defines TCPH_OFFSET(_SET).
2012-03-27 20:42:46 +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
84d8760561
dhcp unit test: fixed 2 consts, use udp checksum 0x0000 in handcrafted packets so that CHECKSUM_CHECK_UDP==0 is not necessary
2012-03-25 17:18:58 +02:00
goldsimon
e1225cec5f
new dhcp unit test: fix compilation for strict C, made local functions static, made some variables and parameters const
2012-03-25 17:15:56 +02:00
goldsimon
5db6bb02d6
TCP unit tests: fix that ip.rterr stats are increased (some unit tests had no netif set)
2012-03-25 17:12:02 +02:00
Erik Ekman
679d3fd5b3
Add unit tests for DHCP
...
Three simple tests that test the basic functionality of the DHCP client.
They require that UDP checksums are off for now.
2012-03-25 15:34:31 +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
d910786034
added posix-compatibility include files posix/netdb.h and posix/sys/socket.h which are a simple wrapper to the correct lwIP include files.
2012-03-25 15:02:58 +02:00
goldsimon
8dbf572ea5
Fixed bug #35817 : do_connect() invalidly signals op_completed for UDP/RAW with LWIP_TCPIP_CORE_LOCKING==1
2012-03-25 14:56:41 +02:00
goldsimon
f8af1a7443
fixed bug #35931 : Name space pollution in api_msg.c and netifapi.c
2012-03-25 14:41:27 +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
goldsimon
c6e4b8f829
patch by Mason: fixed bug #35907 : lwip_gethostbyname_r returns an invalid h_addr_list
2012-03-20 22:06:32 +01:00
goldsimon
52d41d19d3
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2012-03-12 16:43:23 +01:00
goldsimon
0e7df4b193
Removed unnecessary global variable "subnetMask", which is only used in one function (GetMask)
2012-03-12 16:42:18 +01:00
goldsimon
2c9b3b35d1
patch by Bostjan Meglic: fixed bug #35809 : PPP GetMask(): Compiler warning on big endian, possible bug on little endian system
2012-03-12 16:39:52 +01: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
c6605766e7
Fixed unused variable warnings produced with the last commit
2012-03-01 19:10:52 +01:00
goldsimon
4fca628d36
Speed up LWIP_TCPIP_CORE_LOCKING by directly calling functions in api_msg.c instead of calling via function pointer.
2012-02-28 12:45:59 +01:00
goldsimon
7f81c62bf0
fixed bug #35595 : Impossible to send broadcast without a gateway (introduced when fixing bug# 33551)
2012-02-23 10:14:27 +01:00
goldsimon
fc7da615fb
unit tests lwipopts.h: NO_SYS==1, disable netconn and sockets (not tests) -> lwipopts.h is now usable for unix unit test makefile, too
2012-02-22 21:47:33 +01:00
goldsimon
86766f4e20
Minor: cosmetic source code layout changes
2012-02-22 21:35:04 +01:00
goldsimon
8cb0b7d043
Fixed unit tests: adapted lwipopts.h and fixed test_tcp_new_counters_pcb() after adding snd_wnd_max to struct tcp_pcb.
2012-02-22 21:34:22 +01:00
goldsimon
b6cdeeef8e
Added lwipopts.h file for unit tests
2012-02-16 13:11:04 +01:00
goldsimon
ac2175fa7d
fixed pbuf leak when PPP session is aborted through pppSigHUP() (bug #35541 : PPP Memory Leak)
2012-02-16 12:55:14 +01:00
goldsimon
5816bab6a2
fixed bug #35531 : Impossible to send multicast without a gateway (introduced when fixing bug# 33551)
2012-02-16 12:30:52 +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
f6582fd229
Correctly calculate the default value of MEMP_NUM_SYS_TIMEOUT as needed
2012-02-13 21:38:48 +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
c279692cfe
Fixed unused local variable warning (patch #7711 )
2012-02-13 20:41:58 +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
16555ad12e
tcp pcb: persist_cnt can be u8_t instead of u32_t (since it is compared against u8_t only)
2012-02-12 14:04:59 +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
8114627d6a
Fixed typo in define check: LWIP_IPv6_FRAG -> LWIP_IPV6_FRAG
2011-12-14 21:42:51 +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
Ivan Delamer
85f8a59d7f
Added parenthesis to netif/ip6 macros.
...
Change-Id: I32d7f28c9e106641e3d5be8342d2c884e166bb0e
2011-11-28 14:07:53 -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
14c766e750
fix for bug #34684 was wrong (netif for arp table entries was only set/reset with SNMP enabled)
2011-11-24 21:11:11 +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
goldsimon
d12e742373
Fixed bug #34733 Null pointer exception with SOCKET_DEBUG.
2011-11-13 17:06:19 +01:00
goldsimon
7aa7c0f481
SEQ-comparing defines: cast parameters to u32_t for clarity
2011-10-29 21:43:13 +02:00
Ivan Delamer
b3ffa16315
Use pppRecvWakeup only if PPP_INPROC_OWNTHREAD is defined.
...
Change-Id: Ie800289eb5f6a64d0be1d38eab7154d4aa473d57
2011-10-28 16:22:54 -06:00
Ivan Delamer
09d1f55bce
Conditional compilation in ppp.c according to PPP_ options.
...
Change-Id: I466ce2b0114c9428f5e21bd0a09bb221f40bfc3e
2011-10-28 14:23:20 -06: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
78f0307246
Slipif: fixed IPv6 support
2011-10-23 17:38:23 +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
3d1a306518
SLIP netif: add support for multiple input strategies (threaded, polling, RX from ISR)
2011-10-21 22:25:44 +02:00
goldsimon
2750d61e92
added missing valid/set_invalid defines for NO_SYS
2011-10-21 19:47:37 +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
goldsimon
309e936ad9
Fix default value of TCP_SNDLOWAT for small values of TCP_SND_BUF (broken with my 2nd-last commit)
2011-10-19 12:55:32 +02:00
Simon Goldschmidt
d00fa906cf
fixed bug #34592 : lwip_gethostbyname_r uses nonstandard error value, removed those unused (nonstandard?) error values from arch.h
2011-10-18 20:56:08 +02:00
Simon Goldschmidt
01839b9c14
fixed default values of TCP_SNDLOWAT and TCP_SNDQUEUELOWAT for small windows (bug #34176 select after non-blocking send times out)
2011-10-18 20:22:09 +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
goldsimon
2f58ef781c
fixed bug #34581 missing parentheses in udplite sockets code
2011-10-18 11:04:08 +02:00
goldsimon
8b9f70ac08
fixed bug #34580 fcntl() is missing in LWIP_COMPAT_SOCKETS
2011-10-18 11:00:10 +02:00
Simon Goldschmidt
e039d4103f
fixed bug #34569 : shutdown(SHUT_WR) crashes netconn/socket api
2011-10-17 19:38:47 +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
dc34636598
fixed bug #34540 : compiler error when CORE_LOCKING is used and not all protocols are enabled
2011-10-13 19:25:11 +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
ab51f3bec0
added unit test cases for seqno wraparound on fast-rexmit and rto-rexmit (unsent/unacked lists must be correctly sorted)
2011-10-11 21:43:27 +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
ce98df59f1
Added unit test case for persist timer / zero window probes
2011-10-10 21:06:50 +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
7524f9006e
added unit tests for data-after-FIN
2011-09-26 22:10:11 +02:00
Simon Goldschmidt
bcfe3dacc6
fixed unit tests (one TCP test failed, removed comma at the end of array initializers)
2011-09-26 22:09:27 +02:00
Simon Goldschmidt
6c56151d27
fixed bug #34377 MEM_SIZE_F is not defined if MEM_LIBC_MALLOC==1
2011-09-24 13:59:33 +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
e145c1d31c
Fixed tcp_accepted define (need brackets around the parameter)
2011-09-22 19:19:07 +02:00
Simon Goldschmidt
bb5d0c5c4a
fixed bug #34355 : nagle does not take snd_buf/snd_queuelen into account
2011-09-22 18:50:18 +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
a2aa43a426
Implemented timeout on send (TCP only, bug #33820 )
2011-09-21 19:36:09 +02:00
Simon Goldschmidt
8d5514603e
fixed default value of TCP_SND_BUF to not violate the sanity checks in init.c
2011-09-21 18:47:44 +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
d6227aece6
splitted ppp.h to an internal and external header file to get a clear separation of which functions an application or port may use (task #11281 )
2011-09-11 19:30:28 +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
5be300736e
lwip_accept: fixed warning about accessing uninitialized 'port' when SOCKETS_DEBUG is enabled
2011-09-09 23:20:34 +02:00
Simon Goldschmidt
1b98a64e90
Fixed typo: TCP_SNDQUEUELOWAT must be less than TCP_SND_QUEUELEN (as checked in init.c), not greater
2011-09-09 22:28: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
17a5ba08e4
unit tests: correctly handle small PBUF_POOL_BUFSIZE settings, prevent NULL-pointer-deref. (ooseq test is still not running correctly...)
2011-09-03 21:25:51 +02:00
Simon Goldschmidt
d0877153bf
netconn_alloc(): return on invalid protocol instead of initializing mbox size to 0
2011-09-03 21:24:06 +02:00
Simon Goldschmidt
55011e5308
fixed bug #31809 LWIP_EVENT_API in opts.h is inconsistent compared to other options
2011-09-01 22:25:03 +02:00
Simon Goldschmidt
2697b3c7da
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/lwip
2011-09-01 21:01:38 +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
goldsimon
aea17bfae2
Fixed bogus IPH_V/HL and IPH_VHL_SET endianess dependency
2011-08-30 13:15:10 +02:00
Simon Goldschmidt
0a5755145c
added netif remove callback (bug #32397 )
2011-08-24 22:00:10 +02:00
Simon Goldschmidt
249e19769b
fixed bug #34124 struct in6_addr does not conform to the standard
2011-08-24 21:40:09 +02:00
Simon Goldschmidt
f64808c385
fixed bug #33956 Wrong error returned when calling accept() on UDP connections
2011-08-24 21:12:12 +02:00
Simon Goldschmidt
2e69b54a4f
fixed bug #34057 socklen_t should be a typedef
2011-08-24 20:22:21 +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
b5305d5a8c
Initialize recvmbox size for undefined netconn type, to supress
...
compiler warning.
Change-Id: I14c3f1786a8ca3513b5d4cf375c4951e4c09ebd6
2011-08-12 09:04:29 -06:00
Ivan Delamer
17efa04ea6
Add cast to IP6_ADDR_BLOCKx
2011-08-09 13:55:40 -06: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
c9e1d6cca8
adapted unit tests to changes after adding IPv6 support
2011-07-26 21:55:32 +02:00
Simon Goldschmidt
242dc34115
ETHARP_SUPPORT_VLAN: add support for an external VLAN filter function instead of only checking for one VLAN (define ETHARP_VLAN_CHECK_FN)
2011-07-26 21:03:27 +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
d79c5baa1b
Removed commas from the end of enum lists
2011-07-24 17:18:55 +02:00
Simon Goldschmidt
46af0d38fa
fixed bug #31084 (socket API returns always EMSGSIZE on non-blocking sockets if data size > send buffers) -> now lwip_send() sends as much as possible for non-blocking sockets and only returns EWOULDBLOCK if the buffers are full
2011-07-22 22:05:24 +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
d94bdb75c8
forgot CHANGELOG: 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:07:09 +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
860072aaaf
correctly prefix all functions with 'etharp_' (also static functions)
2011-07-21 21:16:04 +02:00
Simon Goldschmidt
2694a409c6
ETHARP_STATE_STABLE_REREQUESTING: no need for member 'netif' in 'struct etharp_entry' if we re-request only from etharp_output() and use etharp_tmr() to reset the state of such entries to ETHARP_STATE_STABLE: that way, we also only send one ARP request per ARP_TMR_INTERVAL, but only if the entry is really still used.
2011-07-21 20:47:29 +02:00
Simon Goldschmidt
206b1f4631
ETHARP_SUPPORT_STATIC_ENTRIES: don't need the member 'static_entry' on struct etharp_entry, we can use 'state' to mark them as static
2011-07-21 20:40:30 +02:00
Simon Goldschmidt
ef9891e8ff
fixed bug #33551 (ARP entries may time out although in use) by sending an ARP request when an ARP entry is used in the last minute before it would time out.
2011-07-21 20:28:18 +02:00
Simon Goldschmidt
bd69890ccd
(bug #30185 ): added LWIP_FIONREAD_LINUXMODE that makes ioctl/FIONREAD return the size of the next pending datagram.
2011-07-21 20:15:39 +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
Simon Goldschmidt
fb0ad2f9ea
Fixed bug #33802 tcpip: tcpip_callbackmsg_new sets msg->type to wrong type
2011-07-19 21:52:40 +02:00
goldsimon
7385449f33
Fixed wrong endianess of port in bind() and connect() broken with the last commit
2011-07-06 07:18:06 +00:00
goldsimon
1f4b814d0b
Include opt.h so that LWIP_ERROR works correctly
2011-07-06 07:13:45 +00:00
goldsimon
a93d9c4310
Fixed bug #33561 bugs in recvfrom() and sendto()
2011-07-05 19:42:23 +00:00
goldsimon
1813d11b9d
Fixed invalid SOCK_ADDR_TYPE_MATCH check in lwip_sendto()
2011-07-04 19:39:16 +00:00
goldsimon
09ac68c196
Fixed documentation after changing sys arch prototypes for 1.4.0
2011-07-04 19:33:33 +00: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
4b934945f3
Slightly reorderd fields of struct tcp_pcb to plug holes introduced by member alignment (to reduce RAM usage)
2011-06-26 17:53:45 +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
goldsimon
12c2d7e4cf
- changed "struct ip_addr" to "ip_addr_t";
...
- tcp_accepted(): added a note to call this on the listening pcb, not the connection pcb;
- tcp_write(): change last parameter from "copy" to "apiflags", documented the apiflags
2011-06-25 18:39:37 +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
0f56d838ec
Process IPv6 packets arriving from non-Ethernet links.
2011-06-17 11:06:06 +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
2911c84a69
Fixed compilation error after converting sockaddr_aligned from struct to union
2011-06-12 11:57:34 +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
e584557afe
- sockaddr_aligned: use a union instead of a manually aligned struct;
...
- fixed compilation for different configurations
2011-06-07 19:36:05 +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
5a674f419d
Restructured the code a bit to help my dump compiler not creating a jump table in ROM
2011-06-07 19:07:00 +00:00
goldsimon
d30246dc05
Fixed bug #33492 (fixed stats for IPv6 protocols)
2011-06-07 19:05:22 +00:00
goldsimon
af5a913019
Fixed compilation with LWIP_IPV6==0
2011-06-06 16:04:06 +00:00
goldsimon
604e69c7ae
- fixed bug #33485 (forgot '!' before SOCK_ADDR_MATCH*);
...
- fixed 'cast increases alignment' by casting via 'void*';
- introduced 'struct sockaddr_aligned' where the 'base' type is instantiated to make sure the alignment is correct;
2011-06-06 16:00:06 +00:00
goldsimon
d765c9de37
Fixed ipX_netif_get_local_ipX for LWIP_IPV6==0
2011-05-28 09:32:42 +00:00
goldsimon
98b6e2bcce
Fixed ip_2_ipX() and ip6_2_ipX() macros #if !LWIP_ALLOW_STATIC_FN_IN_HEADER
2011-05-28 09:32:07 +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
1b2b054139
Fixed bug #33337 (which is #32906 reappearing after adding IPv6 support)
2011-05-25 17:40:42 +00:00
goldsimon
853d1eac96
Fixed pointless conversion when checking TCP port range (bug #33398 )
2011-05-25 17:22:56 +00:00
goldsimon
2ef29d6839
Use conversion defines instead of casting IP addresses
2011-05-25 17:22:13 +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
5852993243
Removed files of old IPv6 implementation
2011-05-17 19:56:08 +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
33a587d97e
Added a test for fast-rexmit
2011-05-14 15:26:43 +00:00
goldsimon
a444ec5111
patch #7449 allow tcpip callback from interrupt with static memory message
2011-05-14 12:23:10 +00:00
kieranm
5ead1bf5c8
Update version numbers for 1.4.1 development
2011-05-06 09:07:38 +00:00
kieranm
3a267586f4
Update CHANGELOG and version numbers for 1.4.0 release
2011-05-06 08:48:37 +00:00
goldsimon
52271e0366
Used upper case 'L' instead of lower case 'l' for long constant for better readability
2011-04-29 11:37:29 +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
80b344e9fc
Fixed printf-format error (bug #33079 )
2011-04-21 05:15:45 +00:00
goldsimon
036cb26fa3
sys_arch_timeouts() is not needed any more.
2011-04-20 11:31:07 +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
791505ab6e
Fixed tcp unit tests after introducing ip_addr_p_t and letting tcp_input check for broadcasts by using current_iphdr_dest.
2011-03-30 18:50:00 +00:00
goldsimon
88e1719d8e
Fixed etharp unit test after changing struct etharp_hdr
2011-03-30 18:47:20 +00:00
goldsimon
0885555521
Fixed broken VLAN support.
2011-03-29 18:56:26 +00:00
goldsimon
36c1750b8f
ethernet_input: check for minimum packet length to prevent assertions from firing.
2011-03-29 07:55:16 +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
b5dd87b184
Fixed bug #32280 (ppp: a pbuf is freed twice)
2011-03-27 13:58:26 +00:00
goldsimon
b54c7bedfd
Fixed bug #32906 : lwip_connect+lwip_send did not work for udp and raw pcbs with LWIP_TCPIP_CORE_LOCKING==1.
2011-03-27 13:36:32 +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
3f849848a4
Fixed bug #32648 (PPP code crashes when terminating a link) by only calling sio_read_abort() if the file descriptor is valid.
2011-03-22 20:59:49 +00:00
goldsimon
7203680146
fixed bug #31748 (Calling non-blocking connect more than once can render a socket useless) since it mainly involves changing "FATAL" classification of error codes: ERR_USE and ERR_ISCONN just aren't fatal.
2011-03-14 21:21:26 +00:00
goldsimon
d793ed3b9b
fixed bug #32769 (ESHUTDOWN is linux-specific) by fixing err_to_errno_table (ERR_CLSD: ENOTCONN instead of ESHUTDOWN), ERR_ISCONN: use EALRADY instead of -1
2011-03-13 11:21:06 +00:00
goldsimon
c6de17d1e5
netconn_accept: return ERR_ABRT instead of ERR_CLSD if the connection has been aborted by err_tcp (since this is not a normal closing procedure).
2011-03-13 11:17:18 +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
4e3b2b9f6b
Fixed bug #32561 tcp_poll argument definition out-of-order in documentation
2011-02-21 19:26:57 +00:00
goldsimon
856ccb5bb7
Added missing U/UL modifiers to fix 16-bit-arch portability.
2011-02-18 13:31:28 +00:00
goldsimon
dbf5659cd9
Indentation changed
2011-02-18 13:30:35 +00:00
goldsimon
fee0c6afe9
Fixed constant not being 32 bit.
2011-02-17 17:03:12 +00:00
kieranm
fb7d3a159a
Update version for 1.4.0 rc2
2011-02-03 12:46:56 +00:00
goldsimon
dc6b4e65e0
Adde missing extern "C"
2011-01-25 11:35:48 +00:00
goldsimon
17d4ef4053
Added missing "extern "C" {"
2011-01-25 06:18:50 +00:00
goldsimon
03be8f88fe
Fixed bug #31741 : lwip_select seems to have threading problems
2011-01-24 19:28:28 +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
1bd06bee82
Added note about changed ARP_QUEUEING==0
2010-12-02 20:09:58 +00:00
goldsimon
92cdc1e33f
Fixed ERR_IS_FATAL so that ERR_WOULDBLOCK is not fatal.
2010-12-02 07:07:18 +00:00
goldsimon
377628216e
Fixed bug #31590 : getsockopt(... SO_ERROR ...) gives EINPROGRESS after a successful nonblocking connection.
2010-11-22 20:55:57 +00:00
goldsimon
f7627929d5
Fixed bug #31722 : IP packets sent with an AutoIP source addr must be sent link-local
2010-11-22 19:55:05 +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
e52730d1fb
Fixed bug #31170 : lwip_setsockopt() does not set socket number
2010-11-20 18:01:01 +00:00
goldsimon
d2679e58a6
Fixed bug #31304 : Changed SHUT_RD, SHUT_WR and SHUT_RDWR to resemble other stacks.
2010-11-20 17:48:10 +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
704d90f693
Fixed bug #31385 : sizeof(struct sockaddr) is 30 but should be 16
2010-10-20 17:58:52 +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
229137cad1
Applied patch #7264 (PPP protocols are rejected incorrectly on big endian architectures)
2010-08-01 11:15:48 +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
kieranm
960fb14bf5
Update release number for 1.4.0 release candidate 1
2010-07-16 12:50:29 +00:00
kieranm
21e17f649a
Fixed SNMP ASN constant defines to not use ! operator
2010-07-16 12:14:01 +00:00
goldsimon
9782c40d21
fixed the change not about tcp_close chang (bug #30444 )
2010-07-14 15:53:44 +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
9f457d3331
Updated to current CHANGELOG
2010-07-06 20:18:12 +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
48be546357
fixed bug #30300 (shutdown parameter was not initialized in netconn_delete)
2010-06-30 08:33:14 +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
1fba33628d
Fixed compilation error due to unexpected include order
2010-06-25 18:59:29 +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
6929a786aa
Fixed bug #10088 : Correctly implemented shutdown at socket level.
2010-06-24 19:33:14 +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
6ccc2ef804
Removed leading underscore from struct name, added a comment
2010-06-15 20:33:40 +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
24d823dae6
bug #30129 : struct _ip_addr should be struct ip_addr
2010-06-14 19:52:45 +00:00
goldsimon
2c60a48d02
ip_addr_set_any does not work on pointers...
2010-06-14 19:52:17 +00:00
goldsimon
4b0be4a477
Fixed invalid fix for bug #30038
2010-06-14 19:18:11 +00:00
goldsimon
505dd10d3c
Fixed bug #29979 (lwip_sendto did not check parameter "to" != NULL)
2010-06-12 18:46:19 +00:00
goldsimon
ddd2b69f27
bug #29976 : forgot some places using the changed IP address (copy vs. pointer)
2010-06-12 18:37:41 +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
9bfeb4e5af
Minor: added some spaces for indentation
2010-05-22 21:01:38 +00:00
goldsimon
d3e5ade2da
Correctly NULL-terminate h_addr_list
2010-05-17 12:36:45 +00:00
goldsimon
3833dd86aa
Added LWIP_DEBUGF warning if dns_send returns an error
2010-05-17 12:29:31 +00:00
goldsimon
25f33c8444
struct etharp_hdr: split _hwlen_protolen into two u8_t's to prevent using htons on little-endian platforms
2010-05-16 16:26:12 +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
81df8bdabd
Added PP_HTONx/PP_NTOHx macros that can be calculated by the preprocessor (used for constants only)
2010-05-16 15:55:45 +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
290bd400c3
No need to call pppoe_init any more (since the linked list is implicitly initialized to zero by the loader)
2010-05-16 14:35:03 +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
16434568b0
Use a simple linked list (next pointer) instead of sys/queue.h (from BSD)
2010-05-16 14:24:40 +00:00
goldsimon
c0e7d54e37
Removed 2 mem_mallocs: error string can be a global variable, include memory for sc_ac_cookie in struct pppoe_softc; commented out unused code (sc_service_name/sc_concentrator_name)
2010-05-16 14:11:53 +00:00
goldsimon
ccb53d9e7d
DNS_LOCAL_HOSTLIST_IS_DYNAMIC uses its own MEMP pool instead of the heap
2010-05-16 14:06:46 +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
f3face9f0c
Fix printf-formatter for sio_fd_t/size_t
2010-05-12 07:48:30 +00:00
goldsimon
2edd5230c9
auth_withpeer_fail(): call lcp_close(), like pppd 2.4.5 does
2010-05-11 18:11:46 +00:00
goldsimon
1551bb702d
Fixed bug #29855 : PPP: Backport a bugfix in LcpSendEchoRequest from pppd
2010-05-11 16:53:41 +00:00
goldsimon
d656e9f28e
Added option LWIP_ARP_FILTER_NETIF to use multiple IPs on one hardware interface (by using multiple netifs, each with its own IP)
2010-05-10 14:10:46 +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
4d1ff2418e
Fixed bug #29271 (Application can't re-use pbufs) by updating the doc to not allow reusing pbufs after passing them to a send function
2010-05-04 19:36:49 +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
4b7288e8f4
use checksum-on-copy for sending UDP data for LWIP_NETIF_TX_SINGLE_PBUF==1
2010-05-02 17:25:33 +00:00
goldsimon
108ed3c81a
struct netbuf: reorder members to save some space
2010-05-02 09:10:58 +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
3685bc4828
fixed a type
2010-04-30 20:37:22 +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
51061fb61e
Fixed bug #29617 (sometime cause stall on delete listening connection)
2010-04-21 19:59:40 +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
f1bc73c3ed
Fixed compilation errors
2010-04-02 16:48:53 +00:00
goldsimon
a96fa7d221
Fixed compilation of debug log code (that is currently commented out)
2010-04-02 16:17:51 +00:00
goldsimon
cc3e01a9f5
Fixed compilation (removed extra tokens after #endif)
2010-03-28 18:47:37 +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
d778fbb24f
Speedup TX by moving code from find_entry to etharp_output/etharp_query to prevent unnecessary function calls (inspired by patch #7135 ).
2010-03-27 16:51:27 +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
7e9eb55350
Added printf format modifier for mem_size_t depending on heap size
2010-03-26 15:38:01 +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
25f59761b3
fixed bug #29346 (removed comma after last enum member)
2010-03-26 14:05:22 +00:00
goldsimon
4b038f13de
sys_thread_new: name is a const pointer
2010-03-26 14:04:03 +00:00
goldsimon
da3d84d1dc
Fix compilation if ETHARP_SUPPORT_STATIC_ENTRIES==0
2010-03-26 13:40:31 +00:00
goldsimon
5ef976aed5
Fixed bug #29332 : lwip_select() processes readset incorrectly
2010-03-25 12:19:39 +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
d861daeb4e
Removed function prototype that had no corresponding implementation (pbuf_ref_chain)
2010-03-22 15:46:09 +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
40946a79d3
Removed duplicate TCP_REG/TCP_RMV macros, fixed debug macro implementation
2010-03-22 12:27:38 +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
a5b0ea97d6
Updated netconn_write doc/comment about api_flags
2010-03-21 12:19:56 +00:00
goldsimon
0a49f2e068
Corrected spelling of ERR_WOULDBLOCK (D was missing)
2010-03-20 12:56:47 +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
75bb43698c
Disable MEMP_TCPIP_MSG_INPKT pool for LWIP_TCPIP_CORE_LOCKING_INPUT==1
2010-03-20 11:57:34 +00:00
goldsimon
f70014b8ea
Added an option to disable tcpip_(un)timeout code since the linker cannot do this automatically to save space.
2010-03-20 11:55:41 +00:00
goldsimon
5fd410db4b
Added support for static ARP table entries (added option ETHARP_SUPPORT_STATIC_ENTRIES) (+ added test); refactored the etharp code a bit
2010-03-20 11:45:25 +00:00
goldsimon
385d044f7d
Corrected spelling of milliseconds (my dictionary tells me to use two l's :)
2010-03-20 11:34:50 +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
4e764017c1
Fixed bug #29148 (Incorrect PBUF_POOL_BUFSIZE for ports where ETH_PAD_SIZE > 0) by moving definition of ETH_PAD_SIZE to opt.h and basing PBUF_LINK_HLEN on it.
2010-03-14 10:16:43 +00:00
goldsimon
67f5e17588
Bug #29210 : check alignment of struct sockaddr vs. struct sockaddr_in
2010-03-14 09:54:47 +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
9f0b7261e5
Fix calculation of tcp_mss(): when timestamps are on, this is pcb->mss - 12 or else NOCOPY-apps might generate unperformant PBUF_REF chains
2010-03-13 15:04:08 +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
79d3b41e13
Reverted the change in struct sockaddr since it wasn't compatible to the standard (bug #29210 )
2010-03-13 14:09:52 +00:00
goldsimon
839befe68a
Corrected comment
2010-03-12 16:06:08 +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
90c7d3aaff
Temporary upgrade helper: define format string for u8_t as hex if not defined in cc.h
2010-03-10 16:18:12 +00:00
goldsimon
2621e3fa19
Use a union to let struct sockaddr have the same alignment requirements as struct sockaddr_in
2010-03-10 10:53:14 +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
d47a04456b
bug #29105 : Review printf formatters
2010-03-08 17:07:35 +00:00
goldsimon
b9499d07c2
bug #29105 : Review printf formatters: added X8_F to cc.h and use it in etharp.c
2010-03-08 17:04:27 +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
d5531a239b
bug #28775 (select/event_callback: only check select_cb_list on change) plus use SYS_LIGHTWEIGHT_PROT to protect the select code. This should speed up receiving data on sockets as the select code in event_callback is only executed when select is waiting.
2010-03-07 18:40:54 +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
99ff7efe80
Use braces for if-blocks
2010-03-06 12:26:20 +00:00
goldsimon
43a08bef14
tcp_accepted(): check pcb state to verify it isn't called on a connection-pcb
2010-03-06 12:06:27 +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
f5b783d107
Fixed LWIP_NETIF_TX_SINGLE_PBUF for LWIP_TCPIP_CORE_LOCKING
2010-03-06 11:52:55 +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
38fcfcdfac
task #10167 (sockets: speed up TCP recv by not allocating a netbuf): added function netconn_recv_tcp_pbuf() for tcp netconns to receive pbufs, not netbufs; use that function for tcp sockets.
2010-03-06 11:29:01 +00:00
goldsimon
957f4d8096
renamed struct lwip_socket to struct lwip_sock to avoid duplicate names (function lwip_socket)
2010-03-06 10:21:03 +00:00
goldsimon
5d4438e652
Don't try to forward link-local addresses
2010-03-06 10:15:39 +00:00
goldsimon
4649c14856
Correctly identify link-local addresses when sending ARP packets
2010-03-06 09:56:52 +00:00
goldsimon
fcf6434b4b
Fixed bug #29087 : etharp: don't send packets for LinkLocal-addresses to gw
2010-03-06 09:33:17 +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
0b5d60db5e
Correctly set TCP_WRITE_FLAG_MORE when netconn_write is split into multiple calls to tcp_write.
2010-03-05 11:34:43 +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
8d9fa63460
PPP: use LWIP_DEBUGF() instead of ppp_trace()
2010-02-22 20:16:39 +00:00
goldsimon
52b87b751f
Added a note about socket recv/accept timeout errno value
2010-02-22 19:12:21 +00:00
goldsimon
e934f8aac6
Added/improved comments and debug output; renamed 'pc' to 'pcrx' where appropriate to reflect the variable type
2010-02-22 17:58:05 +00:00
goldsimon
311d16df7d
Fixed compilation error after splitting tcp.h/tcp_impl.h
2010-02-22 17:52:09 +00:00
goldsimon
ea78d69c6d
Added debug output and missing casts
2010-02-22 17:49:49 +00:00
goldsimon
402597c2cb
Fixed bug #28970 (invalid preprocessor macro introduced with LWIP_TCPIP_CORE_LOCKING_INPUT)
2010-02-22 12:57:00 +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
19a9b52c06
Corrected comment
2010-02-21 19:28:46 +00:00
goldsimon
db38ee6630
Added define LWIP_TCPIP_CORE_LOCKING_INPUT that lets tcpip_input omit the thread-change to tcpip_thread and instead lock the core
2010-02-21 12:38:08 +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
7c57ee0c17
Use tcp_debug_state_str() instead of tcp_debug_print_state()
2010-02-21 10:56:00 +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
eae9798276
Fixed pcb leak when accept-callback is NULL and asserts are disabled
2010-02-20 17:27:08 +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
36043a92e7
Restructured TCP_PCB_COMMON for a smaller size (u16_t at the end)
2010-02-20 10:01:43 +00:00
goldsimon
9b48657444
Added UPGRADING doc file that should help to upgrade apps/ports from older versions of lwIP
2010-02-20 09:36:40 +00:00
goldsimon
52970c2459
Renamed mem_realloc() to mem_trim() to prevent confusion with realloc()
2010-02-19 16:23:46 +00:00
goldsimon
8336796c1a
Add matching comment to #endif
2010-02-16 21:05:06 +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
e983865ad5
Disable ETHARP_TRUST_IP_MAC by default since it slows down packet reception and is not really necessary
2010-02-14 18:10:34 +00:00
goldsimon
4c9fe60693
Fixed ARP input processing: only add a new entry if a request was directed as us (RFC 826, Packet Reception), otherwise only update existing entries; internalized some functions
2010-02-14 18:08:16 +00:00
goldsimon
c5dfa4099d
Fixed bug #28183 (ARP and TCP/IP cannot be disabled on netif used for PPPoE) by adding a new netif flag (NETIF_FLAG_ETHERNET) that tells the stack the device is an ethernet device but prevents usage of ARP (so that ethernet_input can be used for PPPoE).
2010-02-14 16:44:47 +00:00
goldsimon
524b7bc36b
Documented the use of netif flags
2010-02-14 16:00:46 +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
7e0204bb7b
Improved some defines working on ip addresses, added faster macro to copy addresses that cannot be NULL
2010-02-14 12:41:46 +00:00
goldsimon
dfb80c6b86
fixed compilation for LWIp_SNMP && PPP_INPROC_MULTITHREADED
2010-02-14 12:26:01 +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
a61f5f3a78
Fixed old comments
2010-02-13 17:26:08 +00:00
goldsimon
0792effc2a
task #7865 (implement non-blocking send operation)
2010-02-13 17:08:40 +00:00
goldsimon
49c6ce3703
Add a new err_t, ERR_WOULDBLOCK in preparation for non-blocking send
2010-02-13 16:03:12 +00:00
goldsimon
0f05a6aede
Fixed compilation for LWIP_DNS==1 after changing sys layer
2010-02-13 15:43:19 +00:00
goldsimon
7ccf8cb731
Fixed compilation with LWIP_DNS==1 after changing sys layer
2010-02-13 15:01:55 +00:00
goldsimon
7c28c66d32
Don't use C++ reserved keyword 'class'
2010-02-13 14:51:46 +00:00
goldsimon
c49a3ab2d6
Fixed compilation for LWIP_SO_RCVBUF==0
2010-02-13 10:06:42 +00:00
goldsimon
8fbaf0304a
Added a minimal version of posix fctl() to have a standardised way to set O_NONBLOCK for nonblocking sockets.
2010-02-12 17:59:20 +00:00
goldsimon
f89c08872c
Fixed indentation
2010-02-12 17:57:02 +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
bd3f86e505
Code layout: splitted long line
2010-02-12 16:31:18 +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
c73b1b4fa2
Fixed bug #28865 (Cannot close socket/netconn in non-blocking connect)
2010-02-12 15:21:37 +00:00
goldsimon
39df7d048c
Added comment about mem_realloc() vs. realloc()
2010-02-12 14:56:34 +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
2d1631792a
struct netconn.socket is only used with LWIP_SOCKET; added comments
2010-02-12 09:58:44 +00:00
goldsimon
b6babe38ea
Use braces for if blocks
2010-02-12 09:51:30 +00:00
goldsimon
df7e435b86
Fixed bug #28866 (mem_realloc function defined in mem.h)
2010-02-12 09:30:31 +00:00
goldsimon
9e59f661bc
Fixed a compiler warning (comparison between signed and unsigned)
2010-02-10 08:11:18 +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
45e51d1929
Removed sys_sem_wait_timeout, added comments to the port-supplied sys(-arch)-functions
2010-02-09 21:05:39 +00:00
goldsimon
59a623e648
Use sys_arch_sem_wait instead of sys_sem_wait_timeout (same function, different name)
2010-02-09 21:04:50 +00:00
goldsimon
306f2203fa
Fixed bug #22110 (recv() makes receive window update for data that wasn't received by application); added function-like macros to correctly access/change conn->recv_timeout and conn->recv_bufsize
2010-02-09 20:23:39 +00:00
goldsimon
7699b59e27
Another fix for bug #28853 (recv returns 0 on recv-timeout or any other error), fixed err_to_errno_table: ERR_TIMEOUT is EWOULDBLOCK, not ETIMEDOUT
2010-02-09 20:17:06 +00:00
goldsimon
1550c4215d
Fixed bug #28853 (lwip_recvfrom() returns 0 on receive time-out or any netconn_recv() error)
2010-02-09 18:46:54 +00:00
goldsimon
a84590273d
Merge 3 u8_t for netconn-internal status into one u8_t 'flags' to prevent waisting memory when adding more flags
2010-02-09 18:41:07 +00:00
goldsimon
6fe258c6bc
task #10154 (PPP: Update snmp in/out counters for tx/rx packets)
2010-02-09 18:21:21 +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
3f8e6c423c
Fixed unit tests after changing struct ip_addr to ip_addr_t
2010-02-09 16:40:52 +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
68ab197b68
Fixed a missing cast warning
2010-02-09 11:38:00 +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
49274c1507
added netif_s/get_igmp_mac_filter() macros
2010-02-08 19:32:40 +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
b0b4290c29
Reduced the time SYS_ARCH_PROTECT is protecting the socket array
2010-02-08 17:25:57 +00:00
goldsimon
90bed0c5ac
Added yet another IP-address-modifying define, ip_addr_set_any()
2010-02-08 17:24:08 +00:00
goldsimon
b3caddab30
Minor: source code layout
2010-02-08 17:12:45 +00:00
goldsimon
1017279e68
Minor: removed one space
2010-02-08 17:12:14 +00:00
goldsimon
f74cebcbcd
Minot: Fixed comments and code style
2010-02-08 16:53:47 +00:00
goldsimon
848debf999
Fixed bug #28818 (New connection probably not marked writable on accept()) introduced a week ago while implementing non-blocking connect
2010-02-08 12:33:28 +00:00
goldsimon
47756a8faa
Fixed macro ip_addr_set_loopback(): htonl was missing (fixes bug #28828 : ip_addr.h some macro error)
2010-02-08 12:25:01 +00:00
goldsimon
6c027c153b
Fixed compiler warnings
2010-02-08 12:24:29 +00:00
goldsimon
28dc5f491c
Correctly initialize netif flags in pppifNetifInit
2010-02-05 11:20:49 +00:00
goldsimon
758e99f362
Added function-like macros to get/set the hostname on a netif
2010-02-05 11:17:55 +00:00
goldsimon
010dc6258e
Fixed another compiler warning (missing cast)
2010-02-05 10:35:47 +00:00
goldsimon
a5c5949009
Added missing casts to suppress compiler warnings (this mainly satisfies MSVC - the double casts are a bit ugly but don't hurt...)
2010-02-05 10:09:38 +00:00
goldsimon
d51d6b2d89
Use macros to compare IP addresses
2010-02-05 10:08:49 +00:00
goldsimon
c58dfa2156
Added missing casts to suppress compiler warnings
2010-02-05 10:08:41 +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
24fcf9a86e
Accidentally changed the member name of struct ip_addr for testing...
2010-02-04 17:25:22 +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
2e8de4f601
Updated comment about recv_bufsize
2010-01-30 15:20:01 +00:00
goldsimon
c22d3b4c98
Use SYS_LIGHTWEIGHT_PROT instead of a semaphore to protect the sockets array since the protection time is short
2010-01-30 15:01:29 +00:00
goldsimon
f8c22c7428
Moved freeing a socket to its own function (free_socket, like alloc_socket
2010-01-30 14:19:18 +00:00
goldsimon
855dcadf7a
Added except set support in select (patch #6860 )
2010-01-29 23:05:33 +00:00
goldsimon
9c41e1eea3
Replaced tabs with spaces
2010-01-29 23:04:06 +00:00
goldsimon
c70c3eac62
Added function-like macro for struct netconn::non_blocking
2010-01-29 22:21:45 +00:00
goldsimon
e58f4c567a
Add non-blocking support for connect (partly from patch #6860 ) plus many cleanups in socket & netconn API
2010-01-29 22:09:31 +00:00
goldsimon
1dd8300e69
Added comments
2010-01-29 14:41:54 +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
32c16fad42
igmp related: renamed netif pointers from 'interface' to 'netif' to not use keywords (or at least my editor highlights it as one...)
2010-01-28 18:42:40 +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
d587940801
Keep 'const' of varius snmp structs the same throughout 'derived structs'
2010-01-28 12:04:06 +00:00
goldsimon
f5d4f3d83c
For wrong configurations, let the test fail instead of the compiler
2010-01-27 20:37:02 +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
a5463f0400
Moved missing include
2010-01-26 16:09:03 +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
1811a344f5
Renamed the private mib node from 'private' to 'mib_private' to *not* use reserved C/C++ keywords
2010-01-24 17:25:22 +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
61e5301d49
bug #26523 : Compiler Warnings
2010-01-24 13:19:34 +00:00
goldsimon
408829bcf6
Fixed compilation for LWIP_TCPIP_CORE_LOCKING
2010-01-23 18:13:55 +00:00
goldsimon
dbcce3a4be
bug #26523 : Compiler Warnings
2010-01-23 17:48:36 +00:00
goldsimon
426dd9bfad
Fixed bug #28716 : select() returns 0 after waiting for less than 1 ms
2010-01-23 15:01:15 +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
60696a8485
Removed unused function declaration for netbuf_len (is a macro now)
2010-01-21 17:18:15 +00:00
goldsimon
7044385d8e
Fixed netconn_err() macro
2010-01-20 07:37:24 +00:00
goldsimon
a7139ef06b
Added missing include
2010-01-20 07:36:45 +00:00
goldsimon
52389fc09a
Fixed bug #27316 (netconn: Possible deadlock in err_tcp) by using sys_mbox_trypost in err_tcp
2010-01-19 18:34:01 +00:00
goldsimon
972ca9e6c1
reorganised PPP sourcecode to 2.3.11 including some bugfix backports from 2.4.x.
2010-01-18 20:49:43 +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
cc1e9370af
Minor: fixed argument casts for mbox_fetch parameters (to fix compiler warnings)
2010-01-18 08:11:39 +00:00
goldsimon
34139606ca
task #10102 : "netconn: clean up conn->err threading issues" by adding error return value to struct api_msg_msg
2010-01-17 18:28:56 +00:00
goldsimon
3e1cca65bd
task #10102 : "netconn: clean up conn->err threading issues" by adding error return value to struct api_msg_msg
2010-01-17 18:28:56 +00:00
goldsimon
0e3c256667
Added comment
2010-01-17 17:37:10 +00:00
goldsimon
618355f5a7
Minor: source code layout
2010-01-17 16:23:26 +00:00
goldsimon
ca11baf1cd
Changed netconn_recv() and netconn_accept() to return err_t (bugs #27709 and #28087 )
2010-01-17 16:21:07 +00:00
goldsimon
7ede02ca8b
Fixed bug #27856 : PPP: Set netif link- and status-callback by adding ppp_set_netif_statuscallback()/ppp_set_netif_linkcallback()
2010-01-14 20:04:52 +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
b463562241
Use protocol definition from tcp.h, not from sockets.h
2010-01-14 19:59:28 +00:00
goldsimon
04f17c4709
Improved includes in snmp
2010-01-14 19:59:03 +00:00
goldsimon
97f797e859
do_connect(): set conn->err to an error if conn->pcb is NULL
2010-01-14 19:49:27 +00:00
goldsimon
9521f54741
Another fix for bug #28562 : Segfault @ err_tcp
2010-01-14 15:43:11 +00:00
goldsimon
0e38a52edc
Again: Fixed bug #26672 (close connection when receive window = 0) by correctly draining recvmbox/acceptmbox
2010-01-13 15:59:47 +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
67c587f9f7
Fixed NO_SYS==0: starting pppInputThread failed; fixed some comments
2010-01-13 11:19:03 +00:00
goldsimon
052be0a328
Added comments
2010-01-13 11:16:47 +00:00
goldsimon
68ddcc6ca7
Fixed bug #13315 (PPP PAP authentication can result in erroneous callbacks) by copying the code from recent pppd
2010-01-11 16:38:56 +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
13c9d2dade
Added/changed comments
2010-01-10 11:48:28 +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
aa7dd9a8ad
Forgot one line & comments
2010-01-10 10:32:56 +00:00
goldsimon
27c9670718
Fixed bug #28529 : macro LWIP_DEBUG_TIMERNAMES in timers.h
2010-01-09 19:14:23 +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
53bc34f3e2
Fixed bug #28195 (PPP: remove duplicate TCP/IP protocol header definitions - use the lwIP ones) - deleted unused header file
2010-01-09 12:45:23 +00:00
goldsimon
81640c4a83
Fixed compilation of VJ_SUPPORT after separating tx and rx
2010-01-08 15:52:17 +00:00
goldsimon
533e6b5f8d
Fixed bug #26672 (close connection when receive window = 0) by correctly draining recvmbox/acceptmbox
2010-01-08 15:10:03 +00:00
goldsimon
28f0bbd575
Fixed bug #28519 (lwip_recvfrom bug with len > 65535)
2010-01-08 14:51:14 +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
cfe4a12a46
Fixed bug #28496 : missing include guards in netdb.h
2010-01-06 16:30:23 +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
9c51487d1a
Renamed PPP tasks from "pppMain" to "pppInputThread"
2009-12-31 17:21:11 +00:00
goldsimon
3ba5ddefa7
Removed unnecessary tcpip-callbacks: this whole module runs inside the tcpip-thread. This also makes PPPoE usable with NO_SYS==1
2009-12-31 17:18:09 +00:00
goldsimon
1d45aa8d45
Reorganised PPP source code from ucip structure to pppd structure to easily compare our code against the pppd code (around v2.3.1)
2009-12-31 17:08:08 +00:00
goldsimon
a7bcdf4398
Remove warning for TCP_LISTEN_BACKLOG==0
2009-12-31 16:51:17 +00:00
goldsimon
9a0dac5885
Removed unused test function
2009-12-31 16:50:11 +00:00
goldsimon
c9e0652526
Remove C++-style comments
2009-12-31 16:49:36 +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
1740b0d421
Some functions were located outside extern "C" {}
2009-12-31 15:57:22 +00:00
goldsimon
802a048302
Commented 2 variables
2009-12-31 15:12:00 +00:00
goldsimon
fa08823ac4
Added an additional option LWIP_ETHERNET to support ethernet without ARP (necessary for pure PPPoE)
2009-12-27 11:42:16 +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
dc8639bc06
Update version numbering for 1.4.0 CVS development
2009-12-24 15:49:12 +00:00
kieranm
125efd8396
Update CHANGELOG for 1.3.2
2009-12-24 15:33:19 +00:00
kieranm
4a9557fa84
Update version information for 1.3.2
2009-12-24 15:32:19 +00:00
kieranm
6b6c82aaee
BUG28241: improve oos sequence processing with patches from Oleg Tyshev.
2009-12-24 15:31:44 +00:00
goldsimon
feca27d69e
Slightly modified the out-of-sequence-FIN test: receive packets with FIN & data and with FIN alone
2009-12-11 13:07:47 +00:00
goldsimon
fbef894674
tcp_set_state: fail on unimplemented state
2009-12-11 13:07:06 +00:00
goldsimon
2e4bb8b3b7
Added explicit check for number of segments and seqno/len of each segment on pcb->ooseq
2009-12-10 17:34:11 +00:00
goldsimon
e9940acb54
Updated comments on which sio-functions are used
2009-12-07 18:58:13 +00:00
goldsimon
957331fff4
Added a note why MSCHAP currently doesn't work with lwIP PPP
2009-12-07 07:50:24 +00:00
goldsimon
faba395cae
Added description about the PPP stack
2009-12-07 07:28:27 +00:00
goldsimon
1d5809679b
Various small improvements from patch #6965 (removed _inet_ntoa, set PPP netif down before removing, change log message and comment)
2009-12-06 11:59:56 +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
b1ad36eece
Fixed bug #27079 (Yet another leak in PPP): outpacket_buf can be statically allocated (like in ucip)
2009-12-06 11:12:18 +00:00
goldsimon
1b42286bda
pppInit: Remove zeroing the stats - no protocol does that
2009-12-06 10:56:28 +00:00
goldsimon
5da0620c6b
Fixed checking input packet length (20 bytes is a valid packet and is used e.g. with MS RAS server)
2009-12-06 10:14:46 +00:00
goldsimon
96e8f16c05
Sligthly reordered struct netif's members to better meet alignment requirements
2009-12-06 08:58:41 +00:00
goldsimon
b5d28e0a9c
patch #6969 : PPP: missing PAP authentication UNTIMEOUT
2009-12-04 15:41:26 +00:00
goldsimon
73251bc9c1
PPP: Make MAXNAMELEN/MAXSECRETLEN overridable in lwipopts.h
2009-12-04 09:00:55 +00:00
goldsimon
3fa63b35b3
The guy's name is Van Jacobson (not Jabobsen or Jacobsen :-)
2009-12-04 08:57:22 +00:00
goldsimon
65f006e52e
Moved the function definitions so that other modules can use the ICMP protocol header definitions when LWIP_ICMP==0
2009-12-04 08:11:57 +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
c5d2e536cf
Worked on tcp_oos unit tests, nearly all TCP_QUEUE_OOS code is covered now
2009-11-29 13:20:13 +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
902ad897b8
Initial check-in of some unit tests
2009-11-27 08:03:53 +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
43fd5c28b5
Fixed bug #28098 : Nagle can prevent fast retransmit from sending segment by basing the nagle-decision on TF_INFR also
2009-11-26 16:42:13 +00:00
goldsimon
4391463832
Got the tcp_nagle_*() defines wrong (inverted) :-(
2009-11-26 15:51:29 +00:00
goldsimon
c8d2d2a8ea
Fixed bug #28099 (API required to disable Nagle algorithm at PCB level): added tcp_nagele_*() function-like macros
2009-11-26 15:19:30 +00:00
goldsimon
6795aabecf
Fixed filename in last comment
2009-11-22 17:57:19 +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
10edf64873
Fixed bug #27851 (TCP_EVENT_RECV(pcb, NULL,...) results in unreachable code warning) by calling tcp_recv_null if pcb->recv is null.
2009-11-22 16:17:55 +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
8a81cb4ba0
Fixed bug #27955 : netconn_close may nether return when LWIP_TCPIP_CORE_LOCKING enabled
2009-11-22 16:08:52 +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
88d02a624a
Clarified debug levels by renaming level OFF to ALL (the old define still exists for now to prevent breaking old code)
2009-11-22 13:14:57 +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
goldsimon
94a7fee8c8
Fixed bug #28062 : Data received directly after accepting does not wake up select
2009-11-20 16:16:20 +00:00
goldsimon
6f38b63a47
Fixed bug #27994 : incorrect define for freeaddrinfo(addrinfo)
2009-11-11 16:52:05 +00:00
goldsimon
70b05c8096
Increased default value for TCP_MSS to 536, updated default value for TCP_WND to 4*TCP_MSS to keep delayed ACK working.
2009-10-30 10:02:06 +00:00
goldsimon
28ac4347d4
Fixed wrong filename
2009-10-29 17:10:19 +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
6d73f82f41
Update version for 1.3.2 rc 1
2009-10-28 15:17:16 +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
e2de2c6bb2
Added netifapi_netif_set_addr()
2009-10-27 20:29:16 +00:00
goldsimon
2ff0ce2d0a
Minor: Improved memory layout/alignment of struct dhcp for 32-bit platforms
2009-10-26 09:59:54 +00:00
goldsimon
b09b8a0ccc
Tiny code size improvement using goto instead of duplicating code
2009-10-26 09:55:46 +00:00
goldsimon
db259c3557
Improved heap usage of lwip_getaddrinfo by only allocating one block of memory per call.
2009-10-26 09:30:50 +00:00
goldsimon
bcc87ef851
bug-fix in the TCP_EVENT_RECV macro (has to call tcp_recved if pcb->recv is NULL to keep rcv_wnd correct)
2009-10-25 18:47:44 +00:00
goldsimon
650f16b6d9
Minor: fixed typo
2009-10-25 16:47:41 +00:00
goldsimon
ae2dd38e0d
Another fix for bug #26251 : RST process in TIME_WAIT TCP state
2009-10-25 11:45:11 +00:00
kieranm
0319c1cf90
Update link to wiki in README file
2009-10-23 15:23:23 +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
a9740c6a44
Fixed bug #27709 : conn->err race condition on netconn_recv() timeout by directly returning when sys_arch_mbox_fetch times out.
2009-10-15 14:33:18 +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
c0e22c255c
Fixed default values of some stats to only be enabled if used Fixes bug #27338 : sys_stats is defined when NO_SYS = 1
2009-10-09 20:18:15 +00:00
goldsimon
1309e5e86f
Accidentally endabled to compile the code -> back to #if 0
2009-10-09 20:16:26 +00:00
goldsimon
c34c024dd5
Updated comment in low_level_input() about pbuf len vs. tot_len if using preallocated pbufs (as requested in bug #27576 : pbuf_realloc will assert or crash on a non-chained pbuf list)
2009-10-09 19:56:54 +00:00
goldsimon
6ef69ece95
patch #6930 : [PATCH trivial] TCP_RMV remove unnecessary check - removed two checks for NULL which are not necessary.
2009-10-07 18:04:24 +00:00
goldsimon
a9cbdc141b
patch #6888 : Patch for UDP Netbufs to support dest-addr and dest-port
2009-10-07 17:58:30 +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
8a7c1c4926
do_connect: LWIP_ERROR on invalid/disabled protocol
2009-08-30 20:24:08 +00:00
goldsimon
cff3e0cad2
bug #26397 : Added SLIP polling support (uses sio_tryread)
2009-08-26 21:06:18 +00:00
stoklund
b55cfbc342
Add patch #6725 to CHANGELOG
2009-08-26 07:18:50 +00:00
goldsimon
3115087d26
Commented the functions, added sio_tryread() for non-blocking read (to be used in slipif-polling mode)
2009-08-25 17:54:28 +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
goldsimon
2c618705f0
task #9033 : Support IEEE 802.1q tagged frame (VLAN), New configuration options ETHARP_SUPPORT_VLAN and ETHARP_VLAN_CHECK.
2009-08-25 15:24:49 +00:00
goldsimon
bc10ad2356
patch #6900 : added define ip_ntoa(struct ip_addr*)
2009-08-25 14:53:25 +00:00
stoklund
857fac1168
Add C++ guards to autoip.h header.
2009-08-24 13:17:42 +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
e7d5739ce7
Fixed bug #27078 : Possible memory leak in pppInit()
2009-08-23 17:40:29 +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
ce3082976c
Fixed bug #27266 : wait-state debug message in pppMain occurs every ms
2009-08-23 12:37:36 +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
0e91e2adf2
bug #27267 : Added include to string.h where needed
2009-08-23 11:24:51 +00:00
goldsimon
4d49d952b6
patch #6843 : tcp.h macro optimization patch (for little endian)
2009-08-23 11:13:19 +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
4f265dce60
Update version number for CVS development
2009-08-18 12:53:35 +00:00
kieranm
bd96db8c9f
Update version number of 1.3.1 final release
2009-08-18 12:47:13 +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
7feb116bae
Fixed bug #27105 : "realloc() cannot replace mem_realloc()" by making mem_realloc static doing nothing when MEM_LIBC_MALLOC==1
2009-07-28 17:18:46 +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