Age | Commit message (Collapse) | Author | Files | Lines |
|
Do not needlessly duplicate code between the oui and the lookup module.
Instead, add an additional lookup table for OUIs to the lookup module.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
It's not only ports we look up, make the names a bit more generic.
Preparatory patch before moving OUI lookup to the lookup module.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Since commit 1cc762a ("lookup: Move UDP/TCP port and Ethernet type
lookup into own module") the netsniff-ng tool is the only one using the
dissector infrastructure. Thus we no longer need to conditionally device
HAVE_DISSECTOR_PROTOS, since netsniff-ng is the only tool defining this.
While at it, also remove the __WITH_PROTOS macro which is checked in
dissector_init_ethernet/dissector_cleanup_ethernet but is defined
nowhere. This will cause the functions to be called from both the
ethernet and ieee80211 dissectors, thus make sure we check the
initialization state before freeing as well.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Up to now, the lookup of TCP/UDP port names and Ethernet types was
tightly integrated with the dissector infrastructure, since it is its
main user. However, flowtop also makes use of the name lookup
functionality without needing the actual dissector infrastructure. Thus,
the basic dissector infrastructure also needs to be linked into flowtop
without actually being used.
Fix this by extracting the port/ethertype lookup into an own module
which can then be used either directly (for flowtop) or as part of the
dissector infrastructure (for netsniff-ng).
This also reverts the quick & dirty fix introduced in commit f3322c6
("flowtop: Include netlink dissector to fix build temporarily").
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Currently, the path to the configuration files is hardcoded to
$PREFIX/etc/netsniff-ng.
If we want to keep the configuration files outside of prefix (e.g.
during development), we need to pass the complete path as specified in
$ETCDIRE (and $ETCDIR respectively, which could e.g. be overriden on the
command line during build install) as a preprocessor define.
This way, we can e.g. install the configuration files to /etc while
installing the binaries in /usr/local with:
$ make PREFIX=/usr/local ETCDIR=/etc
$ make PREFIX=/usr/local ETCDIR=/etc install
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
This header is actually only needed in dissector_eth and
dissector_80211, so remove the other users accordingly.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
In order to avoid compiler warnings when compiling with
-W/-Wunused-parameter, mark unused function parameters with
__maybe_unused.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
This fixes the following sparse warnings:
dissector_eth.c:43:16: warning: Using plain integer as NULL pointer
dissector_eth.c:48:16: warning: Using plain integer as NULL pointer
dissector_eth.c:53:16: warning: Using plain integer as NULL pointer
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
|
|
To be more consistent with config.h, rename __WITH_PROTOS into
HAVE_DISSECTOR_PROTOS.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
|
|
We would currently leak the record in case we skip a line, fix
this by xfree()ing the memory in these cases.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Follow commit bdb9efef ("oui: Make parsing of oui.conf more robust") and
make parsing the upd.conf, tcp.conf and ether.conf files more robust
against format flaws. ALso here, in the worst case, we would end up
dereferencing a null pointer.
The null pointer dereference was found by the Coverity scanner.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
|
Break out all string handling functions and lockme stuff in order
to further eliminate the big code blob in xutils, so that it can
be easier maintained.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
|
|
When setting a prefix from the build system, also pass this through the
hard coded strings for config file locations in the toolkit, so that the
installed files (which use PREFIX) can be properly found.
Suggested-by: Peter Stuge <peter@stuge.se>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
|
|
We decided to get rid of the old Git history and start a new one for
several reasons:
*) Allow / enforce only high-quality commits (which was not the case
for many commits in the history), have a policy that is more close
to the one from the Linux kernel. With high quality commits, we
mean code that is logically split into commits and commit messages
that are signed-off and have a proper subject and message body.
We do not allow automatic Github merges anymore, since they are
total bullshit. However, we will either cherry-pick your patches
or pull them manually.
*) The old archive was about ~27MB for no particular good reason.
This basically derived from the bad decision that also some PDF
files where stored there. From this moment onwards, no binary
objects are allowed to be stored in this repository anymore.
The old archive is not wiped away from the Internet. You will still
be able to find it, e.g. on git.cryptoism.org etc.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|