[PATCH libnetfilter_queue 00/32] Convert libnetfilter_queue to not need libnfnetlink

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hi Pablo,

On Wed, Feb 14, 2024 at 11:47:30AM +0100, Pablo Neira Ayuso wrote:
> Hi Duncan,
> On Wed, Feb 14, 2024 at 08:07:06AM +1100, Duncan Roe wrote:
> > And no libnfnetlink headers either.
> > Submitted as a single patch because the first change essentially broke
> > it until the job was nearly finished.
> This is too large. Can you start with smaller chunks?
> For example, use mnl_attr_get_*(), then pick the next target
> incrementally, so there is a chance of evaluating what could break,
> because this conversion to libmnl _cannot_ break existing userspace
> applications, that's the challenge.

This series is a re-spin of
 "Convert libnetfilter_queue to use entirely libmnl functions".

This time, I managed to convert nfq_open_nfnl(). Existing userspace
applications that use nfq_open_nfnl() or any other functions from
libnfnetlink should continue to run just fine.

However many patches you apply, the library will keep working with the
unpatched functions using libnfnetlink.

To assist with patch review, these patches don't contain any documentation
updates except for the nlif subsystem. I have plenty of documentation
updates ready to go but can defer them until you have committed the code.

Cheers ... Duncan.

Duncan Roe (32):
  src: Convert nfq_open() to use libmnl
  src: Convert nfq_open_nfnl() to use libmnl
  src: Convert nfq_close() to use libmnl
  src: Convert nfq_create_queue(), nfq_bind_pf() & nfq_unbind_pf() to
    use libmnl
  src: Convert nfq_set_queue_flags() & nfq_set_queue_maxlen() to use
  src: Convert nfq_handle_packet(), nfq_get_secctx(), nfq_get_payload()
    and all the nfq_get_ functions to use libmnl
  src: Convert nfq_set_verdict() and nfq_set_verdict2() to use libmnl if
    there is no data
  src: Incorporate nfnl_rcvbufsiz() in libnetfilter_queue
  src: Convert nfq_fd() to use libmnl
  src: Convert remaining nfq_* functions to use libmnl
  src: Fix checkpatch whitespace and block comment warnings
  src: Copy nlif-related code from libnfnetlink
  include: Cherry-pick macros and functions that nlif will need
  doc: Add linux_list.h to the doxygen system
  doc: Eliminate doxygen warnings from linux_list.h
  doc: Eliminate doxygen warnings from iftable.c
  whitespace: remove trailing spaces from iftable.c
  include: Use libmnl.h instead of libnfnetlink.h
  src: Convert all nlif_* functions to use libmnl
  src: Delete rtnl.c
  build: Remove libnfnetlink from the build
  include: Remove the last remaining use of a libnfnetlink header
  doc: Get doxygen to document useful static inline functions
  doc: SYNOPSIS of linux_list.h nominates
  doc: Move nlif usage description from libnetfilter_queue.c to
  build: Shave some time off build
  doc: Resolve most issues with man page generated from linux_list.h
  build: Get real & user times back to what they were
  doc: Cater for doxygen variants w.r.t. #define stmts
  doc: Fix list_empty() doxygen comments
  src: Use a cast in place of convoluted construct
  whitespace: Fix more checkpatch errors & warnings

 Make_global.am                                |   2 +-
 configure.ac                                  |   1 -
 doxygen/Makefile.am                           |   5 +
 doxygen/build_man.sh                          |  44 +-
 doxygen/doxygen.cfg.in                        |  11 +-
 .../libnetfilter_queue/libnetfilter_queue.h   |  39 +-
 include/libnetfilter_queue/linux_list.h       | 192 +++++++
 .../linux_nfnetlink_queue.h                   |   3 +-
 libnetfilter_queue.pc.in                      |   2 -
 src/Makefile.am                               |   3 +-
 src/iftable.c                                 | 376 +++++++++++++
 src/libnetfilter_queue.c                      | 515 +++++++++++-------
 12 files changed, 987 insertions(+), 206 deletions(-)
 create mode 100644 include/libnetfilter_queue/linux_list.h
 create mode 100644 src/iftable.c


[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux