Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate modifications applied by Nmap #69

Open
florianernst opened this issue Mar 4, 2022 · 5 comments
Open

Investigate modifications applied by Nmap #69

florianernst opened this issue Mar 4, 2022 · 5 comments
Assignees

Comments

@florianernst
Copy link
Contributor

Hello there,

I couldn't find whether this has already been covered, so filing an issue just to be sure. Apologies in advance if this is a known topic.

Nmap ships their own stripped-down version of libdnet, based on libdnet 1.12, but with additional modifications as outlined in their NMAP_MODIFICATIONS. Those mostly seem to deal with win32 compatibility, and yet that might still be worth checking out whether it provides any additional value for libdnet in general. Also there is some IVMPv6 coverage as per RFC 4443, and Daniel Roethlisberger's SCTP addition that is part of libdnet 1.14 is included as well, just as is crc32ct.h and several other changes.

Nmap allows building against a system version of libdnet, but in their configure.ac they specifically advise against it while stating

[...]
# Unlike the other included libraries (pcap, pcre, lua), we prefer our local
# copy of libdnet. That is, with the other libraries we check for a system
# version by default, whereas with dnet we use the local version unless
# specifically asked to use a system version.  This is because we have
# made many improvements and fixes to our version of dnet.
AC_ARG_WITH(libdnet,
AC_HELP_STRING([--with-libdnet=DIR], [Use an existing (compiled) dnet lib from DIR/include and DIR/lib. This is NOT RECOMMENDED because we have made many important fixes to our included libdnet, as described at ./libdnet-stripped/NMAP_MODIFICATIONS])
AC_HELP_STRING([--with-libdnet=included], [Use the libdnet version included with Nmap (default)]),
[...]

Cheers,
Flo

@ofalk ofalk self-assigned this Apr 5, 2022
@ofalk
Copy link
Owner

ofalk commented Apr 5, 2022

I'd love to see the (relevant) changes included in our upstream project, but I'd need someone who actually provides the pull request against the current HEAD.

@ofalk
Copy link
Owner

ofalk commented Jan 11, 2023

Are there any nmap developers out there, willing to look into this? Help would be greatly appreciated!

@ofalk
Copy link
Owner

ofalk commented Apr 18, 2023

@florianernst Not sure if you've seen the latest comments, hence mentioning you here explicitly.

@florianernst
Copy link
Contributor Author

Well, preparing pull requests that actually make sense means making up my mind about which parts of the many many changes Nmap applied to their copy of libdnet as listed in their NMAP_MODIFICATIONS preferably should become part of upstream after all.

And I strongly feel I - for one, being a mere libdnet user - cannot make that call, and thus I was merely pointing to the changes.

@ofalk
Copy link
Owner

ofalk commented May 15, 2023

I completely understand @florianernst that you don't want to decide which parts of the NMAP modifications shall be pulled in. The idea was more about: If there are any particular changes that you'd like to be pulled, then I'd appreciate if you could create the PRs accordingly.

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

No branches or pull requests

2 participants