Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:mnhauke:security
passivedns
0002-Add-support-for-loopback-devices.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-Add-support-for-loopback-devices.patch of Package passivedns
From 55ed09ab48c617f392bf3cc08bc02ea8249578c7 Mon Sep 17 00:00:00 2001 From: Shawn Michael <blkmajik@monkeyspunk.net> Date: Wed, 8 Dec 2021 16:27:58 -0700 Subject: [PATCH 2/3] Add support for loopback devices --- src/passivedns.c | 14 ++++++++++++++ src/passivedns.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/passivedns.c b/src/passivedns.c index b2c2a03..b05d3ba 100644 --- a/src/passivedns.c +++ b/src/passivedns.c @@ -66,6 +66,7 @@ uint8_t signal_reopen_log_files = 0; static void usage(); static void show_version(); void check_vlan (packetinfo *pi); +void prepare_null (packetinfo *pi); void prepare_raw (packetinfo *pi); void prepare_sll (packetinfo *pi); void prepare_eth (packetinfo *pi); @@ -141,6 +142,9 @@ void got_packet(u_char *useless, const struct pcap_pkthdr *pheader, config.inpacket = 1; switch (config.linktype) { + case DLT_NULL: + prepare_null(pi); + break; case DLT_RAW: prepare_raw(pi); break; @@ -173,6 +177,16 @@ void got_packet(u_char *useless, const struct pcap_pkthdr *pheader, config.inpacket = 0; } +void prepare_null(packetinfo *pi) +{ + pi->eth_hlen = LOOPBACK_HDR_LEN; + if ((u_int32_t)*pi->packet == AF_INET) { + pi->eth_type = ETHERNET_TYPE_IP; + } else { + pi->eth_type = ETHERNET_TYPE_IPV6; + } +} + void prepare_raw(packetinfo *pi) { pi->eth_hlen = 0; diff --git a/src/passivedns.h b/src/passivedns.h index 1031104..594852d 100644 --- a/src/passivedns.h +++ b/src/passivedns.h @@ -54,6 +54,7 @@ #define IP6_PROTO_ICMP 58 #define SLL_HDR_LEN 16 +#define LOOPBACK_HDR_LEN 4 #define IP4_HEADER_LEN 20 #define IP6_HEADER_LEN 40 #define TCP_HEADER_LEN 20 -- 2.37.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor