Dirk Ziegelmeier
a929f418e7
Fix format string in httpd.c (clang)
2016-06-24 21:16:44 +02:00
Dirk Ziegelmeier
0116c3cd76
Fix "no newline at end of file" warnings (clang)
2016-06-24 21:16:12 +02:00
Dirk Ziegelmeier
2c1bd363e6
Try again - fix bug #48300 : Private mempools allocate foreign memory
2016-06-24 12:33:20 +02:00
Sylvain Rochet
224d5a9f33
PPP, fix comment about opt.h (moved to ppp_opts.h)
...
PPP defines were moved from opt.h to ppp_opts.h but comments
referencing opt.h in PPP were not updated.
2016-06-23 23:17:39 +02:00
Dirk Ziegelmeier
98c741976b
Fix bug #48300 : Private mempools allocate foreign memory
...
Add padding to memory pool mem according to alignment
2016-06-23 20:20:19 +02:00
Dirk Ziegelmeier
502f08cb92
ip.h doxygen documentation updates
2016-06-22 21:22:47 +02:00
Dirk Ziegelmeier
1af40e7de2
SNMP doxygen updates
2016-06-22 21:11:59 +02:00
Dirk Ziegelmeier
75c5829a57
Lots of documentation updates
2016-06-22 20:46:19 +02:00
Dirk Ziegelmeier
8dc77ef558
doxygen updates - include IPv6 in documentation. Exclude include/netif/ppp/polarssl.
...
Convert TODO -> @todo
2016-06-22 20:18:23 +02:00
Sylvain Rochet
cfe5182380
timers: fix wrong timings for !NO_SYS targets
...
issue 1:
sys_arch_sem_wait() is supposed to return an elapsed time in ms, what could
happen given a > 1 kHz calling rate for high throughput systems is that it
might always returns 0 ms. This is a problem for systems which compute the
elapsed time from a high precision clock source.
This is what is currently happening in the unix port in sys_arch_sem_wait():
start time -> 1000000000; // ns
-- less than a ms before an event arrive --
end time -> 1000xxxxxx; // ns
return value -> (end time - start time)/1000000 -> 0
The return value is used to reduce the next timer interval, if
sys_arch_sem_wait() always return 0 no more timers are fired anymore
issue 2:
The current timer implementation for !NO_SYS targets only count elapsed
time while -waiting- for semaphore and doesn't count at all the time
spent by the stack to process packets. For CPU bound traffic patterns no
more timers are fired anymore.
Both are serious design issues which cannot be easily fixed without reworking
everything. This patch uses the properly implemented timers for NO_SYS targets
for !NO_SYS targets and merge them both into one single timers implementation.
2016-06-20 16:17:55 +02:00
Sylvain Rochet
2040f4f0b1
PPP, trivial debug messages fixes/add
...
This change only add one debug message to ppp_link_start function
and fix the message debug string of ppp_link_failed and ppp_link_end.
2016-06-20 00:42:17 +02:00
Sylvain Rochet
7b4bd3343b
PPP, rename ppp_clear function to ppp_link_start
...
This function does not clear anything anymore. What it is now is an
optional way to notify PPP that link layer is started, changing the
PPP state from "dead" to "initialize". Rename it accordingly to what
the function really is.
2016-06-20 00:32:54 +02:00
Sylvain Rochet
1d108b400f
PPP, move various connect cleanup from ppp_clear to ppp_start
...
What we really need here is to cleanup the PPP environment before
starting LCP, we don't care about the PPP state before LCP is
started. Move cleanups from ppp_clear to ppp_start to clean them
just before we need them cleaned.
2016-06-20 00:25:59 +02:00
Sylvain Rochet
42d50eba4e
PPP, move protocols initialization from ppp_clear to ppp_new
...
What protocols init functions are meant to is to be called once to set
the default configuration before user specific configuration is set.
Until now, we reset to the default configuration just before
reconnecting, thus without allowing any time frame to let users change
it. That was fine until one user asked to be able to do that.
This change move protocols init functions calls from ppp_clear to
ppp_new, meaning user configuration is not overwritten anymore.
2016-06-19 23:48:08 +02:00
Sylvain Rochet
7df5496e7b
PPP, rework initial/reconnect cleanup
...
Our previous way of doing it was to clear everything except a small part
of the ppp_pcb structure and then populate the structure with default
values using protocols init functions.
But it means the user is currently not allowed to change the default
configuration except the few flags and values that are currently
available in the ppp_settings structure.
Instead of adding more and more fields to the ppp_settings structure,
actually making them duplicate of already existing structure members
of ppp_pcb, but unfortunately cleaned, we carefully checked that
everything is properly cleaned during protocol lowerdown/close and
replaced our giant memset to selective memset of the few ppp_pcb
members that are not properly cleaned.
2016-06-19 23:26:47 +02:00
Sylvain Rochet
c751802fad
PPP, CCP, move user configuration from ccp_init to ccp_resetci
...
ccp_init() is meant to be called once, providing default configuration
before user specific configuration is applied. In pppd user configuration
is set just after all protocol init functions are called, in lwIP we
use protocol reset functions to do that, which is more or less the same.
Therefore, be consistent and move CCP user configuration from ccp_init
to ccp_resetci.
2016-06-19 19:49:46 +02:00
goldsimon
6d95a34971
icmp ping response: fix invalid checksum (and possible assertion failure) when ip header contains options (is it correct that we mirror back all options)
2016-06-17 10:07:49 +02:00
goldsimon
61e067b98a
Check for minimum IPv4 header length in rx packets
2016-06-17 09:36:14 +02:00
goldsimon
fda778f6b6
ip6_reass: don't crash if frag header isn't the first (or not in the first pbuf)
2016-06-16 13:51:38 +02:00
Erik Ekman
d98e25a783
nd6: Handle incorrect ICMP option length in RA
...
Make sure ICMPv6 options have a valid length before
parsing them.
Found with afl-fuzz.
2016-06-14 15:06:49 +02:00
sg
4e241fbf14
some minor improvements to the tcp options checking code
2016-06-13 20:41:58 +02:00
Henrik Persson
b9a2ee8aaa
[PATCH] Drop instead of ASSERT in tcp_input header parsing
...
Since allowing input validation to trip the ASSERT handler is bad,
let's just drop the packets instead if validation fails.
Signed-off-by: sg <goldsimon@gmx.de>
2016-06-13 20:08:43 +02:00
Erik Ekman
25652254a5
Update PPP after DNS api change
2016-06-13 10:35:27 +02:00
Dirk Ziegelmeier
5e7b343d52
Fix dns_getserver to return a pointer, not a value
2016-06-13 09:00:46 +02:00
Dirk Ziegelmeier
9ddde3ef4a
Fix doxygen warnings
2016-06-11 22:57:55 +02:00
goldsimon
5d9f59daa4
httpd makefsdata: make http response server string configurable via command line, tiny fixes to usage and command interpretation
2016-06-10 13:35:38 +02:00
goldsimon
076f1ee89e
minor: coding style cleanup in snmp code
2016-06-09 14:28:04 +02:00
goldsimon
010b0e2972
snmp: don't assert-fail on zero-length OID
2016-06-09 11:47:15 +02:00
goldsimon
952da88b84
httpd: explicitly added 2 includes that came in through tcp.h by accident...
2016-05-31 16:18:14 +02:00
Dirk Ziegelmeier
9be133777b
Add threading note to api.h
2016-05-25 21:42:59 +02:00
Dirk Ziegelmeier
6be7e221a5
Fix a few doxygen warnings
2016-05-24 22:29:18 +02:00
Dirk Ziegelmeier
451277e7f0
Include all lwIP files in doxygen documentation
2016-05-24 21:03:41 +02:00
Dirk Ziegelmeier
51f3cdfd5a
Fix UTF-8 encoding of sntp files (Frédéric Bernon)
2016-05-24 13:14:18 +02:00
goldsimon
344de0e119
fixed comments on netconn_shutdown to prevent using full-duplex wording...
2016-05-24 10:01:03 +02:00
Jan Breuer
bfd3baa20e
netif: add additional getters/setters
2016-05-23 22:29:53 +02:00
sg
631c458c55
Fixed invalid DEBUGF level SERIOUS when pbuf_header fails (it returns '1': this is not serious!)
2016-05-23 22:06:02 +02:00
Dirk Ziegelmeier
6c8c3fd48c
Fix more doxygen errors
2016-05-23 21:38:18 +02:00
Dirk Ziegelmeier
90a656ed78
Fix several doxygen errors all over the code
2016-05-23 21:18:16 +02:00
Dirk Ziegelmeier
59af802fb6
Add spaces around string concatenation macro (fixes compile on some compilers)
2016-05-23 10:34:58 +02:00
Jan Breuer
ebd103775d
ipv6_addr: Render last zero in ip6addr_ntoa_r if not in first empty block
2016-05-23 09:54:54 +02:00
goldsimon
bd177ff38f
added comment, fixed coding style
2016-05-23 09:47:14 +02:00
Jan Breuer
ac21a5f370
nd6: add cleanup function
2016-05-23 09:44:27 +02:00
Dirk Ziegelmeier
ac0af0d7c7
Fix return value of sntp_getserver() call to return a pointer
2016-05-20 11:02:02 +02:00
Dirk Ziegelmeier
8e7b8a32f9
Rename LwipMibViewer to MibViewer since it does not depend on lwip specific code
2016-05-15 13:09:57 +02:00
Axel Lin
ab989c3551
PPP: Use LWIP_ARRAYSIZE at appropriate places
...
Use LWIP_ARRAYSIZE to simplify the code.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Sylvain Rochet <gradator@gradator.net>
[Sylvain Rochet <gradator@gradator.net>: added missing casts]
Signed-off-by: Sylvain Rochet <gradator@gradator.net>
2016-05-12 23:08:34 +02:00
Axel Lin
8c0f620d83
dns: Use LWIP_ARRAYSIZE instead of open coded
...
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-05-11 12:20:15 +02:00
Axel Lin
7e9377a9c7
dhcp: Use LWIP_ARRAYSIZE to get the number of array entries
...
dhcp_discover_request_options is u8_t array, so the result is the same.
But use LWIP_ARRAYSIZE to get the number of array entries is better
because it works for all types.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-05-11 12:15:12 +02:00
goldsimon
c6949d88d9
fixed unused variable warning in tcpip_api_call() for certain configurations
2016-05-11 09:43:06 +02:00
Sylvain Rochet
b9389c6eaf
PPP: remove sio.h from included files
...
PPP is not using the SIO API anymore for quite a while. Remove now
useless sio.h from included files.
2016-05-11 00:19:27 +02:00
Sylvain Rochet
b08f73be44
snmpv3: replace arch/cc.h to lwip/arch.h in included files
...
Only "lwip/arch.h" is expected to include "arch/cc.h". This is the same
spirit than "lwip/opt.h" for "lwipopts.h" and "lwip/sys.h" for
"arch/sys_arch.h".
2016-05-10 23:25:14 +02:00
Sylvain Rochet
33fc20cca2
PPP: use mbed TLS sanitize functions if available
...
mbed TLS offers sanitize functions to zero-ise memory containing
cryptographic keys, use them if built with external mbed TLS library.
2016-05-08 21:58:56 +02:00
Sylvain Rochet
5df4f70a96
PPP: add a new LWIP_USE_EXTERNAL_MBEDTLS PPP option
...
PPP users can now choose to use an external mbed TLS copy instead of using
our internal old version (but released under a BSDish license) PolarSSL copy.
2016-05-08 21:26:19 +02:00
Sylvain Rochet
9f3aff0cdf
PPP: add a new LWIP_USE_EXTERNAL_POLARSSL PPP option
...
In order to welcome mbed TLS, we need to ease the switch to:
- embedded PolarSSL 0.10.1-bsd copy
or - external PolarSSL
or - external mbed TLS
This change cleanup all our previously used LWIP_INCLUDED_POLARSSL_* defines,
which were not really useful after all, making them internal build triggers
only, and this change provides a new unique global flag to use an external
PolarSSL copy.
2016-05-08 20:23:21 +02:00
Sylvain Rochet
3417a02b25
PPP: add a function map for hashes and ciphers to prepare for mbed TLS support
...
Unfortunately, all functions were renamed when PolarSSL was renamed to
mbed TLS, breaking the API. In order to continue supporting our embedded
PolarSSL copy while allowing our users to use mbed TLS, we need a function
map to deal with the API break.
This commit add a function map for all hashes and ciphers we are currently
using.
2016-05-08 20:20:42 +02:00
Sylvain Rochet
1dcd5d31d7
pbuf: fix undefined PBUF_POOL_FREE_OOSEQ if TCP_QUEUE_OOSEQ is disabled
...
lwip/src/core/timers.c: In function ‘sys_check_timeouts’:
lwip/src/core/timers.c:328:5: error: "PBUF_POOL_FREE_OOSEQ" is not defined [-Werror=undef]
#if PBUF_POOL_FREE_OOSEQ
Fix it by declaring an empty PBUF_CHECK_FREE_OOSEQ() function if feature is
not enabled.
2016-05-08 03:09:51 +02:00
Sylvain Rochet
73b8026cb9
PPP, code cleaning
...
lwIP indentation is 2 characters, fix ppp_init indentation.
2016-05-07 01:51:52 +02:00
Sylvain Rochet
fc2701ae03
PPP, ppp_init function is back, re-add magic_init
...
Work on PPP MEMPOOL re-added the previously removed ppp_init function
because we considered it useless. Re-add magic_init which was
previously in ppp_init and removed in commit 15fbfb7363
, it does
not hurt doing so and might fill the gap if we failed understanding
the crypto implication about removing it.
2016-05-07 01:48:17 +02:00
Dirk Ziegelmeier
4a6c444a17
httpd: Use newly created LWIP_VERSION_STRING
2016-05-04 10:24:12 +02:00
goldsimon
05961a27cf
d'OH! (forgot end of comment)
2016-05-04 10:10:13 +02:00
goldsimon
93665a7659
Change version info from 1.5.0(dev) to 2.0.0(dev), added LWIP_VERSION_STRING ("1.2.3" with a suffix for git dev or rcX unless release version)
2016-05-04 10:03:48 +02:00
Dirk Ziegelmeier
49badf39a1
Fix bug #47805 : dhcp_recv can dereference NULL pointer
2016-04-29 11:16:33 +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
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
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
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