Files
passivedns/0002-Add-support-for-loopback-devices.patch
Martin Hauke 21d3f9806d - Add patches:
* https://patch-diff.githubusercontent.com/raw/gamelinux/passivedns/pull/128.patch
  * 0001-Fix-compiler-warning-about-excessive-parenthesis.patch
  * 0002-Add-support-for-loopback-devices.patch
  * 0003-Declare-signal_reopen_log_files-as-a-sig_atomic_t.patch
  * 0001-Added-patch-for-GCC-10-by-acoul.patch

OBS-URL: https://build.opensuse.org/package/show/home:mnhauke:security/passivedns?expand=0&rev=5
2022-10-05 19:03:10 +00:00

65 lines
1.8 KiB
Diff

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