From 6d6dba222509bec6a01b5f7414685b7d59bb7fc9 Mon Sep 17 00:00:00 2001
From: Guillaume Valadon <guillaume@valadon.net>
Date: Wed, 30 Mar 2016 15:07:05 +0200
Subject: [PATCH] Functions from the unix module can be imported without
 importing pcapdnet

Replacing | with or

Useless line break
---
 scapy/arch/__init__.py | 24 ++++++++++++++----------
 scapy/arch/bsd.py      |  4 +---
 scapy/arch/unix.py     |  5 +----
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/scapy/arch/__init__.py b/scapy/arch/__init__.py
index 577b20a9..2dc13750 100644
--- a/scapy/arch/__init__.py
+++ b/scapy/arch/__init__.py
@@ -40,7 +40,6 @@ def str2mac(s):
     return ("%02x:"*6)[:-1] % tuple(map(ord, s)) 
 
 
-    
 def get_if_addr(iff):
     return socket.inet_ntoa(get_if_raw_addr(iff))
     
@@ -52,13 +51,14 @@ def get_if_hwaddr(iff):
         raise Scapy_Exception("Unsupported address family (%i) for interface [%s]" % (addrfamily,iff))
 
 
-LINUX=sys.platform.startswith("linux")
-OPENBSD=sys.platform.startswith("openbsd")
-FREEBSD= "freebsd" in sys.platform
-NETBSD=sys.platform.startswith("netbsd")
-DARWIN=sys.platform.startswith("darwin")
-SOLARIS=sys.platform.startswith("sunos")
-WINDOWS=sys.platform.startswith("win32")
+LINUX = sys.platform.startswith("linux")
+OPENBSD = sys.platform.startswith("openbsd")
+FREEBSD = "freebsd" in sys.platform
+NETBSD = sys.platform.startswith("netbsd")
+DARWIN = sys.platform.startswith("darwin")
+SOLARIS = sys.platform.startswith("sunos")
+WINDOWS = sys.platform.startswith("win32")
+BSD = DARWIN or FREEBSD or OPENBSD or NETBSD
 
 X86_64 = not WINDOWS and (os.uname()[4] == 'x86_64')
 ARM_64 = not WINDOWS and (os.uname()[4] == 'aarch64')
@@ -81,8 +81,12 @@ if LINUX:
     from linux import *
     if scapy.config.conf.use_pcap or scapy.config.conf.use_dnet:
         from pcapdnet import *
-elif OPENBSD or FREEBSD or NETBSD or DARWIN:
-    from bsd import *
+elif BSD:
+    from bsd import LOOPBACK_NAME
+    from unix import read_routes, read_routes6, in6_getifaddr
+    scapy.config.conf.use_pcap = True
+    scapy.config.conf.use_dnet = True
+    from pcapdnet import *
 elif SOLARIS:
     from solaris import *
 elif WINDOWS:
diff --git a/scapy/arch/bsd.py b/scapy/arch/bsd.py
index 1be7bd73..937c5b07 100644
--- a/scapy/arch/bsd.py
+++ b/scapy/arch/bsd.py
@@ -7,6 +7,4 @@
 Support for BSD-like operating systems such as FreeBSD, OpenBSD and Mac OS X.
 """
 
-LOOPBACK_NAME="lo0"
-
-from unix import *
+LOOPBACK_NAME = "lo0"
diff --git a/scapy/arch/unix.py b/scapy/arch/unix.py
index 88acdb04..949ff1ea 100644
--- a/scapy/arch/unix.py
+++ b/scapy/arch/unix.py
@@ -14,10 +14,7 @@ import scapy.config
 import scapy.utils
 import scapy.utils6
 import scapy.arch
-
-scapy.config.conf.use_pcap = 1
-scapy.config.conf.use_dnet = 1
-from pcapdnet import *
+from scapy.config import conf
 
 
 ##################
-- 
GitLab