Commit Graph

6897 Commits

Author SHA1 Message Date
Erik Ekman
8e75a40acf nd6: Add helper copying link-layer addresses
Making sure to only read within the supplied option.

Closes bug #68144 (and duplicate #68316)
2026-06-04 20:50:08 +02:00
Erik Ekman
db4e4c9d0e nd6: add cast of nd6_find_option to struct pointer
GCC compiler complained:

../../../../src/core/ipv6/nd6.c:861:16: error: request for implicit conversion from ‘void *’ to ‘struct lladdr_option *’ not permitted in C++ [-Werror=c++-compat]
  861 |     lladdr_opt = nd6_find_option(p, sizeof(*redir_hdr), ND6_OPTION_TYPE_TARGET_LLADDR);
      |                ^
cc1: all warnings being treated as errors
2026-06-02 23:04:23 +02:00
Erik Ekman
0a65e65494 nd6: Parse options instead of only using first
When parsing Neighbor Solicitation, Neighbor Advertisement and Redirect
messages, options will be searched through for the expected link-layer
address type instead of just using the first option.
2026-06-02 22:52:04 +02:00
Erik Ekman
0f8331d47b netif: Verify NETIF_MAX_HWADDR_LEN on netif add 2026-06-01 21:45:51 +02:00
Erik Ekman
ab2f69c7d8 mdns: Fix copying of invalid search result domains
Fixes bugs #68314 and #68365
2026-05-27 00:11:34 +02:00
0rbitingZer0
0c957ec030 snmpv3: fix handling packets with invalid msgAuthenticationParameters length
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-13 22:40:03 +02:00
Simon Goldschmidt
dcd7b1db45 makefsdata: fix ISO C90 error in last commits
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-13 21:51:14 +02:00
xchglabs
614420f82c smtp: fix server-driven AUTH line overflow into tx_buf
See bug #68313

Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-12 22:03:56 +02:00
Simon Goldschmidt
c4d3527a11 Fix compiling on MS VS 2022 (64-Bit) without type conversion warnings 2026-05-12 21:29:38 +02:00
Gang Zhuo
0c3a93efe3 timeouts: sys_check_timeouts: return wait time for next loop
see patch #10133

So that can do:

void my_loop() {
  long timeout;
  while (1) {
    timeout = sys_check_timeouts();
    if (timeout == SYS_TIMEOUTS_SLEEPTIME_INFINITE)
      timeout = 100;
    WaitForEvent(timeout);
  }
}

Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-12 20:53:04 +02:00
Shawn Silverman
5d32779c1b Fix stats_display_memp() to avoid accessing NULLs
It's possible for pool pointers to be NULL.

Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-12 20:37:12 +02:00
Samuel Martin
13d7ac3363 ip4: tcp: send zero IP_ID for small packets
... especially the TCP control ones (SYNACK, RST, etc).

This change makes the system useless as a zombie machine in idle-scan
attempts.

This approach is inspired by what is done in other network stack (such
as the linux kernel one).

This approach is a low-cost CPU solution, compared to generating a
random IP ID value for every single IP packet.

See patch #10270

Signed-off-by: Samuel Martin <samuel.martin@netatmo.com>
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-12 20:24:42 +02:00
Samuel Martin
ad897db7ea ip4: Add IP4_MIN_MTU_LENGTH definition
See patch #10270

Signed-off-by: Samuel Martin <samuel.martin@netatmo.com>
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-12 18:52:47 +02:00
Samuel Martin
afb07bb12f ip4: Add IP_MIN_FRAG_LENGTH definition
Also uses it in the IPH_OFFSET_BYTES definition.
See patch #10270

Signed-off-by: Samuel Martin <samuel.martin@netatmo.com>
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-12 18:52:47 +02:00
William Lin
aab56d21f0 patch #10206: Fixed Signed/Unsigned Comparison Warning
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2026-05-08 22:38:09 +02:00
Simon Goldschmidt
d82e428723 httpd: fix compiling last commit with LWIP_HTTPD_HEADERS_BEFORE_FILE_OPEN==0 2026-05-08 21:54:16 +02:00
Mike Kleshov
5a0007f083 httpd: Add callbacks for GET header processing 2026-04-16 16:11:03 +03:00
Sebastian Huber
4599f551de dhcp: Clear flags
Do not assume that mem_malloc() returns cleared memory.
2025-08-03 11:35:52 +02:00
Sergey Fionov
41a36098b3 tcp: Fix TCP timestamps for big-endian systems
Current parsing code is building reverse-order integer, and then calls htonl()
to assign right value to "ts_recent" field of pcb.

This works correctly on little-endian machines, where htonl() reverses bytes.
However, on big-endian machines, htonl() is no-op, so bytes stay reversed.

This patch fixes it by building non-reversed integer.
2025-08-03 11:33:53 +02:00
David Cermak
e7ab7e0773 autoip: Choose next address after rate limit
AutoIP now selects a new address after rate limit timeout,
AutoIP tries a new address by incrementing the tried_llipaddr counter
in the ACD_DECLINE case of the callback.

In lwIP pre-2.2.0, address conflict detection was handled within autoip.c, and
the incrementing happened in autoip_restart() (line 150). When ACD was
extracted into a separate module in 2.2.0, this increment was missing for the
rate-limiting path.

Without this change, devices continuously retry the same IP address after rate
limiting, causing them to fail Bonjour Conformance Tests.
2025-08-03 11:24:55 +02:00
Jerome Forissier
b1edb7780f tftp: bind to TFTP port only when in server mode
The TFTP app should not bind to the TFTP server port when configured as
a client. Instead, the local port should be chosen from the dynamic
range (49152 ~ 65535) so that if the application is stopped and started
again, the remote server will not consider the new packets as part of
the same context (which would cause an error since a new RRQ would be
unexpected).

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-07-15 22:09:27 +02:00
Simon Goldschmidt
56b29f8bcf ip4_frag/ip6_frag: fix potential NULL-pointer access on memory errors 2025-06-03 21:04:39 +02:00
Erik Ekman
92522e4538 codeql: Use ubuntu-latest instead of 20.04 2025-05-26 19:15:39 +02:00
Alexey Lapshin
571c46253f src/core: fix gcc analyzer warning
Make ip4_addr_isany check first to avoid warning:
"check of 'ipaddr' for NULL after already dereferencing it [-Werror=analyzer-deref-before-check]"
2025-05-26 19:10:03 +02:00
Mike Kleshov
ca0395c5ae Revert "Apply patch #10511: remove code with no effect in httpd.c"
This reverts commit f877b457a1.
2025-04-02 10:22:43 +03:00
MinghaoWang
31d8988f89 Apply patch #10358: preserve dhcp memory type flag 2025-03-21 22:34:52 +03:00
Mike Kleshov
f877b457a1 Apply patch #10511: remove code with no effect in httpd.c 2025-03-21 19:35:05 +03:00
Mike Kleshov
6c8874bf5d Apply patch #10047: HTTP11_CONNECTIONKEEPALIVE2 not needed any more 2025-03-21 19:25:31 +03:00
Oswin Bult
8459488006 Apply patch #10406: simplify sign extension 2025-03-21 18:48:50 +03:00
Simon Goldschmidt
ffce5ab1c7 try to fix unit test compiling with clang 2025-03-03 21:45:32 +01:00
Jarno Malmari
e55896319b Fix compilation with LWIP_DEBUG
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2025-02-24 21:52:41 +01:00
Matthias Dietrich
ba306bcdaa Fix missing END_TEST in test_ip6_reass unit test
Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2025-02-24 21:32:58 +01:00
Simon Goldschmidt
554e104095 next release will probably be 2.2.2 2025-02-06 08:34:57 +01:00
Simon Goldschmidt
77dcd25a72 Prepare 2.2.1 release STABLE-2_2_1_RELEASE 2025-02-05 20:38:17 +01:00
Simon Goldschmidt
b6c6098964 Update CHANGELOG in preparation for 2.2.1 release 2025-02-05 20:34:17 +01:00
Jan Breuer
fbd597e450 snmp: Mention struct field removal in UPGRADING 2024-11-29 18:26:58 +01:00
Jan Breuer
5ee5801c2c snmp: remove unused prev field from snmp_varbind 2024-11-29 18:26:07 +01:00
Jan Breuer
f05e20101e snmp: remove handling of varbind->prev because it is never used
No code in snmp traverses varbinds backwards so prev is never used.
This also fixes false positive dangling pointer detection by GCC.
2024-11-29 18:26:07 +01:00
Jan Breuer
52bb3eedd7 snmp: fix dangling pointer in snmp_traps 2024-11-29 18:26:07 +01:00
Arne Schwabe
c06cc7655d Support FreeBSD in the default configuration
FreeBSD support is basically just very small changes related to
some different includes and one define to not hide non-standard defines
like B115200.

Signed-off-by: Arne Schwabe <arne@rfc2549.org>
2024-11-26 23:52:59 +01:00
Erik Ekman
3cae475d63 apps/snmp: Remove @retval tags on void methods
Fixing clang 19.1.0 error:
src/apps/snmp/snmp_traps.c:140:15: error: empty paragraph passed to '@retval' command [-Werror,-Wdocumentation]
2024-11-26 23:45:57 +01:00
scribam
41b8f785c3 cmake: create dist target if not exists 2024-11-26 23:18:43 +01:00
Erik Ekman
5d1b34f581 Bump versions in codeql action 2024-11-26 23:10:47 +01:00
Sebastian Huber
c24678acd2 test/unit: Fix DHCP tests
On big-endian targets, the htonl() function is a no operation.  We need
another way to get a bad XID.  Add get_bad_xid() to avoid code
duplication.
2024-11-26 23:01:11 +01:00
Sebastian Huber
80cfb002f9 test/unit: Fix test_ip4_frag
Reset linkoutput_byte_ctr for this test case.
2024-11-23 10:42:14 +01:00
Erik Ekman
73fcf72792 Stop running codeql every 24h
Only run on push/pull requests
2024-06-30 22:05:50 +02:00
Erik Ekman
4f9484f5ab Run ci job on github pull requests 2024-06-30 22:01:59 +02:00
jeans
86c9f79991 refactor: added apple macro for fs handling 2024-05-14 13:53:42 +02:00
jeans
8e1a247c1f refactor: added macOS include file
MacOS supports util.h as well
2024-05-14 13:53:42 +02:00
Erik Ekman
1cc1536e6a test/unit: fix inconsistent nullness check error
Inside a testcase, but still. Trying to address #160
2024-04-09 20:11:39 +02:00