Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@ofalk
Copy link
Owner

@ofalk ofalk commented Jul 13, 2025

Ensure latest fixed from devel are integrated and build targets are finally corrected.

ofalk and others added 24 commits March 15, 2024 16:31
wrong size of fields for icmp4 timestamp message
16bits are enough for Id/Seq.
The `len` parameter of `NLMSG_LENGTH`  was size of Netlink header instead of RtNetlink header.

Also make it more clear that the parameter of the macro is the payload size, which is RtNetlink message in this case.
…ompiler (#104)

* python/dnet.pyx: fix incompatible-function-pointer-types for modern compiler

which is error now, see https://bugs.gentoo.org/933360,
clang 19 (maybe earlier) has the same problem too

* python/dnet.pyx: fix -Wincompatible-pointer-types reported by gcc14

./dnet.c:8451:52: error: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
 8451 |   __pyx_t_1 = (PyObject_AsReadBuffer(__pyx_v_pkt, (&__pyx_v_p), (&__pyx_v_n)) == 0);
      |                                                   ~^~~~~~~~~~~
      |                                                    |
      |                                                    char **
/usr/include/python3.12/abstract.h:370:52: note: expected ‘const void **’ but argument is of type ‘char **’
  370 |                                       const void **buffer,
      |                                       ~~~~~~~~~~~~~^~~~~~
./dnet.c:8451:66: error: passing argument 3 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
 8451 |   __pyx_t_1 = (PyObject_AsReadBuffer(__pyx_v_pkt, (&__pyx_v_p), (&__pyx_v_n)) == 0);
      |                                                                 ~^~~~~~~~~~~
      |                                                                  |
      |                                                                  int *
/usr/include/python3.12/abstract.h:371:51: note: expected ‘Py_ssize_t *’ {aka ‘long int *’} but argument is of type ‘int *’
  371 |                                       Py_ssize_t *buffer_len);
      |                                       ~~~~~~~~~~~~^~~~~~~~~~

Signed-off-by: Z. Liu <[email protected]>
* m4/acinclude.m4: write `ETH_P_ALL` check as function body, not function definition

- Fixes #109

- `AC_TRY_COMPILE` macro's second argument is a function body, not a
  complete function definition. Placing a complete function defintion
  here results in m4 generating a malformed test program with a function
  definition inside another function defintion, which would break the
  check to make it always evaluate false whenever Clang is used, since
  Clang rejects programs that use GCC-only extensions like function
  definition inside another function definition.

* tree-wide: regenerate autotools files

- Necessary to apply the `ETH_P_ALL` function body change to the
  `configure` script, in order to fix #109

- `aclocal --force` run

- `autoreconf -fi` run

- `autom4te.cache`, which appeared afterward, added to `.gitignore`
@ofalk ofalk self-assigned this Jul 13, 2025
@ofalk ofalk merged commit 989edf8 into master Jul 13, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants