Import of pkgsrc-2013Q2

This commit is contained in:
2013-09-26 17:14:40 +02:00
commit 785076ae39
74991 changed files with 4380255 additions and 0 deletions

3
net/scapy/DESCR Normal file
View File

@@ -0,0 +1,3 @@
Scapy is a powerful interactive packet manipulation program. It is able
to forge or decode packets of a wide number of protocols, send them on
the wire, capture them, match requests and replies, and much more.

42
net/scapy/Makefile Normal file
View File

@@ -0,0 +1,42 @@
# $NetBSD: Makefile,v 1.15 2013/06/15 20:24:19 adam Exp $
DISTNAME= scapy-2.2.0
CATEGORIES= net
MASTER_SITES= http://www.secdev.org/projects/scapy/files/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.secdev.org/projects/scapy/
COMMENT= Interactive packet manipulation program
LICENSE= gnu-gpl-v2
DEPENDS+= ${PYPKGPREFIX}-libpcap-[0-9]*:../../net/py-libpcap
DEPENDS+= ${PYPKGPREFIX}-libdnet-[0-9]*:../../net/py-libdnet
DEPENDS+= ${PYPKGPREFIX}-readline-[0-9]*:../../devel/py-readline
NO_BUILD= yes
INSTALLATION_DIRS+= share/examples/scapy
.include "options.mk"
CONF_FILES= ${PREFIX}/share/examples/scapy/ethertypes \
${PKG_SYSCONFDIR}/ethertypes
SUBST_CLASSES+= config
SUBST_STAGE.config= post-patch
SUBST_FILES.config= scapy/data.py
SUBST_SED.config= -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
SUBST_MESSAGE.config= Fixing paths.
post-extract:
${CP} ${FILESDIR}/ethertypes ${WRKSRC}
post-install:
${INSTALL_DATA} ${WRKSRC}/ethertypes ${DESTDIR}${PREFIX}/share/examples/scapy/
do-test:
cd ${WRKSRC}/test && ${SETENV} PYTHON=${PYTHONBIN} ./run_tests
.include "../../lang/python/application.mk"
.include "../../lang/python/distutils.mk"
.include "../../mk/bsd.pkg.mk"

252
net/scapy/PLIST Normal file
View File

@@ -0,0 +1,252 @@
@comment $NetBSD: PLIST,v 1.7 2012/04/08 20:21:54 wiz Exp $
bin/UTscapy
bin/scapy
${PYSITELIB}/${EGG_FILE}
${PYSITELIB}/scapy/__init__.py
${PYSITELIB}/scapy/__init__.pyc
${PYSITELIB}/scapy/__init__.pyo
${PYSITELIB}/scapy/all.py
${PYSITELIB}/scapy/all.pyc
${PYSITELIB}/scapy/all.pyo
${PYSITELIB}/scapy/ansmachine.py
${PYSITELIB}/scapy/ansmachine.pyc
${PYSITELIB}/scapy/ansmachine.pyo
${PYSITELIB}/scapy/arch/__init__.py
${PYSITELIB}/scapy/arch/__init__.pyc
${PYSITELIB}/scapy/arch/__init__.pyo
${PYSITELIB}/scapy/arch/bsd.py
${PYSITELIB}/scapy/arch/bsd.pyc
${PYSITELIB}/scapy/arch/bsd.pyo
${PYSITELIB}/scapy/arch/linux.py
${PYSITELIB}/scapy/arch/linux.pyc
${PYSITELIB}/scapy/arch/linux.pyo
${PYSITELIB}/scapy/arch/pcapdnet.py
${PYSITELIB}/scapy/arch/pcapdnet.pyc
${PYSITELIB}/scapy/arch/pcapdnet.pyo
${PYSITELIB}/scapy/arch/solaris.py
${PYSITELIB}/scapy/arch/solaris.pyc
${PYSITELIB}/scapy/arch/solaris.pyo
${PYSITELIB}/scapy/arch/unix.py
${PYSITELIB}/scapy/arch/unix.pyc
${PYSITELIB}/scapy/arch/unix.pyo
${PYSITELIB}/scapy/arch/windows/__init__.py
${PYSITELIB}/scapy/arch/windows/__init__.pyc
${PYSITELIB}/scapy/arch/windows/__init__.pyo
${PYSITELIB}/scapy/as_resolvers.py
${PYSITELIB}/scapy/as_resolvers.pyc
${PYSITELIB}/scapy/as_resolvers.pyo
${PYSITELIB}/scapy/asn1/__init__.py
${PYSITELIB}/scapy/asn1/__init__.pyc
${PYSITELIB}/scapy/asn1/__init__.pyo
${PYSITELIB}/scapy/asn1/asn1.py
${PYSITELIB}/scapy/asn1/asn1.pyc
${PYSITELIB}/scapy/asn1/asn1.pyo
${PYSITELIB}/scapy/asn1/ber.py
${PYSITELIB}/scapy/asn1/ber.pyc
${PYSITELIB}/scapy/asn1/ber.pyo
${PYSITELIB}/scapy/asn1/mib.py
${PYSITELIB}/scapy/asn1/mib.pyc
${PYSITELIB}/scapy/asn1/mib.pyo
${PYSITELIB}/scapy/asn1fields.py
${PYSITELIB}/scapy/asn1fields.pyc
${PYSITELIB}/scapy/asn1fields.pyo
${PYSITELIB}/scapy/asn1packet.py
${PYSITELIB}/scapy/asn1packet.pyc
${PYSITELIB}/scapy/asn1packet.pyo
${PYSITELIB}/scapy/automaton.py
${PYSITELIB}/scapy/automaton.pyc
${PYSITELIB}/scapy/automaton.pyo
${PYSITELIB}/scapy/autorun.py
${PYSITELIB}/scapy/autorun.pyc
${PYSITELIB}/scapy/autorun.pyo
${PYSITELIB}/scapy/base_classes.py
${PYSITELIB}/scapy/base_classes.pyc
${PYSITELIB}/scapy/base_classes.pyo
${PYSITELIB}/scapy/config.py
${PYSITELIB}/scapy/config.pyc
${PYSITELIB}/scapy/config.pyo
${PYSITELIB}/scapy/crypto/__init__.py
${PYSITELIB}/scapy/crypto/__init__.pyc
${PYSITELIB}/scapy/crypto/__init__.pyo
${PYSITELIB}/scapy/crypto/cert.py
${PYSITELIB}/scapy/crypto/cert.pyc
${PYSITELIB}/scapy/crypto/cert.pyo
${PYSITELIB}/scapy/dadict.py
${PYSITELIB}/scapy/dadict.pyc
${PYSITELIB}/scapy/dadict.pyo
${PYSITELIB}/scapy/data.py
${PYSITELIB}/scapy/data.pyc
${PYSITELIB}/scapy/data.pyo
${PYSITELIB}/scapy/error.py
${PYSITELIB}/scapy/error.pyc
${PYSITELIB}/scapy/error.pyo
${PYSITELIB}/scapy/fields.py
${PYSITELIB}/scapy/fields.pyc
${PYSITELIB}/scapy/fields.pyo
${PYSITELIB}/scapy/layers/__init__.py
${PYSITELIB}/scapy/layers/__init__.pyc
${PYSITELIB}/scapy/layers/__init__.pyo
${PYSITELIB}/scapy/layers/all.py
${PYSITELIB}/scapy/layers/all.pyc
${PYSITELIB}/scapy/layers/all.pyo
${PYSITELIB}/scapy/layers/bluetooth.py
${PYSITELIB}/scapy/layers/bluetooth.pyc
${PYSITELIB}/scapy/layers/bluetooth.pyo
${PYSITELIB}/scapy/layers/dhcp.py
${PYSITELIB}/scapy/layers/dhcp.pyc
${PYSITELIB}/scapy/layers/dhcp.pyo
${PYSITELIB}/scapy/layers/dhcp6.py
${PYSITELIB}/scapy/layers/dhcp6.pyc
${PYSITELIB}/scapy/layers/dhcp6.pyo
${PYSITELIB}/scapy/layers/dns.py
${PYSITELIB}/scapy/layers/dns.pyc
${PYSITELIB}/scapy/layers/dns.pyo
${PYSITELIB}/scapy/layers/dot11.py
${PYSITELIB}/scapy/layers/dot11.pyc
${PYSITELIB}/scapy/layers/dot11.pyo
${PYSITELIB}/scapy/layers/gprs.py
${PYSITELIB}/scapy/layers/gprs.pyc
${PYSITELIB}/scapy/layers/gprs.pyo
${PYSITELIB}/scapy/layers/hsrp.py
${PYSITELIB}/scapy/layers/hsrp.pyc
${PYSITELIB}/scapy/layers/hsrp.pyo
${PYSITELIB}/scapy/layers/inet.py
${PYSITELIB}/scapy/layers/inet.pyc
${PYSITELIB}/scapy/layers/inet.pyo
${PYSITELIB}/scapy/layers/inet6.py
${PYSITELIB}/scapy/layers/inet6.pyc
${PYSITELIB}/scapy/layers/inet6.pyo
${PYSITELIB}/scapy/layers/ir.py
${PYSITELIB}/scapy/layers/ir.pyc
${PYSITELIB}/scapy/layers/ir.pyo
${PYSITELIB}/scapy/layers/isakmp.py
${PYSITELIB}/scapy/layers/isakmp.pyc
${PYSITELIB}/scapy/layers/isakmp.pyo
${PYSITELIB}/scapy/layers/l2.py
${PYSITELIB}/scapy/layers/l2.pyc
${PYSITELIB}/scapy/layers/l2.pyo
${PYSITELIB}/scapy/layers/l2tp.py
${PYSITELIB}/scapy/layers/l2tp.pyc
${PYSITELIB}/scapy/layers/l2tp.pyo
${PYSITELIB}/scapy/layers/llmnr.py
${PYSITELIB}/scapy/layers/llmnr.pyc
${PYSITELIB}/scapy/layers/llmnr.pyo
${PYSITELIB}/scapy/layers/mgcp.py
${PYSITELIB}/scapy/layers/mgcp.pyc
${PYSITELIB}/scapy/layers/mgcp.pyo
${PYSITELIB}/scapy/layers/mobileip.py
${PYSITELIB}/scapy/layers/mobileip.pyc
${PYSITELIB}/scapy/layers/mobileip.pyo
${PYSITELIB}/scapy/layers/netbios.py
${PYSITELIB}/scapy/layers/netbios.pyc
${PYSITELIB}/scapy/layers/netbios.pyo
${PYSITELIB}/scapy/layers/netflow.py
${PYSITELIB}/scapy/layers/netflow.pyc
${PYSITELIB}/scapy/layers/netflow.pyo
${PYSITELIB}/scapy/layers/ntp.py
${PYSITELIB}/scapy/layers/ntp.pyc
${PYSITELIB}/scapy/layers/ntp.pyo
${PYSITELIB}/scapy/layers/pflog.py
${PYSITELIB}/scapy/layers/pflog.pyc
${PYSITELIB}/scapy/layers/pflog.pyo
${PYSITELIB}/scapy/layers/ppp.py
${PYSITELIB}/scapy/layers/ppp.pyc
${PYSITELIB}/scapy/layers/ppp.pyo
${PYSITELIB}/scapy/layers/radius.py
${PYSITELIB}/scapy/layers/radius.pyc
${PYSITELIB}/scapy/layers/radius.pyo
${PYSITELIB}/scapy/layers/rip.py
${PYSITELIB}/scapy/layers/rip.pyc
${PYSITELIB}/scapy/layers/rip.pyo
${PYSITELIB}/scapy/layers/rtp.py
${PYSITELIB}/scapy/layers/rtp.pyc
${PYSITELIB}/scapy/layers/rtp.pyo
${PYSITELIB}/scapy/layers/sctp.py
${PYSITELIB}/scapy/layers/sctp.pyc
${PYSITELIB}/scapy/layers/sctp.pyo
${PYSITELIB}/scapy/layers/sebek.py
${PYSITELIB}/scapy/layers/sebek.pyc
${PYSITELIB}/scapy/layers/sebek.pyo
${PYSITELIB}/scapy/layers/skinny.py
${PYSITELIB}/scapy/layers/skinny.pyc
${PYSITELIB}/scapy/layers/skinny.pyo
${PYSITELIB}/scapy/layers/smb.py
${PYSITELIB}/scapy/layers/smb.pyc
${PYSITELIB}/scapy/layers/smb.pyo
${PYSITELIB}/scapy/layers/snmp.py
${PYSITELIB}/scapy/layers/snmp.pyc
${PYSITELIB}/scapy/layers/snmp.pyo
${PYSITELIB}/scapy/layers/tftp.py
${PYSITELIB}/scapy/layers/tftp.pyc
${PYSITELIB}/scapy/layers/tftp.pyo
${PYSITELIB}/scapy/layers/vrrp.py
${PYSITELIB}/scapy/layers/vrrp.pyc
${PYSITELIB}/scapy/layers/vrrp.pyo
${PYSITELIB}/scapy/layers/x509.py
${PYSITELIB}/scapy/layers/x509.pyc
${PYSITELIB}/scapy/layers/x509.pyo
${PYSITELIB}/scapy/main.py
${PYSITELIB}/scapy/main.pyc
${PYSITELIB}/scapy/main.pyo
${PYSITELIB}/scapy/modules/__init__.py
${PYSITELIB}/scapy/modules/__init__.pyc
${PYSITELIB}/scapy/modules/__init__.pyo
${PYSITELIB}/scapy/modules/geoip.py
${PYSITELIB}/scapy/modules/geoip.pyc
${PYSITELIB}/scapy/modules/geoip.pyo
${PYSITELIB}/scapy/modules/nmap.py
${PYSITELIB}/scapy/modules/nmap.pyc
${PYSITELIB}/scapy/modules/nmap.pyo
${PYSITELIB}/scapy/modules/p0f.py
${PYSITELIB}/scapy/modules/p0f.pyc
${PYSITELIB}/scapy/modules/p0f.pyo
${PYSITELIB}/scapy/modules/queso.py
${PYSITELIB}/scapy/modules/queso.pyc
${PYSITELIB}/scapy/modules/queso.pyo
${PYSITELIB}/scapy/modules/voip.py
${PYSITELIB}/scapy/modules/voip.pyc
${PYSITELIB}/scapy/modules/voip.pyo
${PYSITELIB}/scapy/packet.py
${PYSITELIB}/scapy/packet.pyc
${PYSITELIB}/scapy/packet.pyo
${PYSITELIB}/scapy/plist.py
${PYSITELIB}/scapy/plist.pyc
${PYSITELIB}/scapy/plist.pyo
${PYSITELIB}/scapy/pton_ntop.py
${PYSITELIB}/scapy/pton_ntop.pyc
${PYSITELIB}/scapy/pton_ntop.pyo
${PYSITELIB}/scapy/route.py
${PYSITELIB}/scapy/route.pyc
${PYSITELIB}/scapy/route.pyo
${PYSITELIB}/scapy/route6.py
${PYSITELIB}/scapy/route6.pyc
${PYSITELIB}/scapy/route6.pyo
${PYSITELIB}/scapy/sendrecv.py
${PYSITELIB}/scapy/sendrecv.pyc
${PYSITELIB}/scapy/sendrecv.pyo
${PYSITELIB}/scapy/supersocket.py
${PYSITELIB}/scapy/supersocket.pyc
${PYSITELIB}/scapy/supersocket.pyo
${PYSITELIB}/scapy/themes.py
${PYSITELIB}/scapy/themes.pyc
${PYSITELIB}/scapy/themes.pyo
${PYSITELIB}/scapy/tools/UTscapy.py
${PYSITELIB}/scapy/tools/UTscapy.pyc
${PYSITELIB}/scapy/tools/UTscapy.pyo
${PYSITELIB}/scapy/tools/__init__.py
${PYSITELIB}/scapy/tools/__init__.pyc
${PYSITELIB}/scapy/tools/__init__.pyo
${PYSITELIB}/scapy/tools/check_asdis.py
${PYSITELIB}/scapy/tools/check_asdis.pyc
${PYSITELIB}/scapy/tools/check_asdis.pyo
${PYSITELIB}/scapy/utils.py
${PYSITELIB}/scapy/utils.pyc
${PYSITELIB}/scapy/utils.pyo
${PYSITELIB}/scapy/utils6.py
${PYSITELIB}/scapy/utils6.pyc
${PYSITELIB}/scapy/utils6.pyo
${PYSITELIB}/scapy/volatile.py
${PYSITELIB}/scapy/volatile.pyc
${PYSITELIB}/scapy/volatile.pyo
man/man1/scapy.1
share/examples/scapy/ethertypes

11
net/scapy/distinfo Normal file
View File

@@ -0,0 +1,11 @@
$NetBSD: distinfo,v 1.5 2013/06/15 20:24:19 adam Exp $
SHA1 (scapy-2.2.0.tar.gz) = ae0a9947a08a01a84abde9db12fed074ac888e47
RMD160 (scapy-2.2.0.tar.gz) = 0cb0e14e6e84ba6a22b0afd7f2913a98888a418e
Size (scapy-2.2.0.tar.gz) = 972996 bytes
SHA1 (patch-aa) = 37bb1d60a04604c26a518dc0d13d5df601fd295c
SHA1 (patch-ab) = 12f7c4d0ae505d357692c05de658e393a0526ba1
SHA1 (patch-ac) = d8ad1882d9b31e65dc3f7636e4caac9377805daf
SHA1 (patch-ad) = f3647e471ba1168e054a5160d47fb0870243fb4b
SHA1 (patch-ae) = bedc1c849c53648f394ebf843435c675729e69e7
SHA1 (patch-af) = 7dbdecbdfbc5348d0e0f2276113cac88ff766580

View File

@@ -0,0 +1,37 @@
#
# Ethernet frame types
# This file describes some of the various Ethernet
# protocol types that are used on Ethernet networks.
#
# This list could be found on:
# http://www.iana.org/assignments/ethernet-numbers
#
# <name> <hexnumber> <alias1>...<alias35> #Comment
#
IPv4 0800 ip ip4 # Internet IP (IPv4)
X25 0805
ARP 0806 ether-arp #
FR_ARP 0808 # Frame Relay ARP [RFC1701]
BPQ 08FF # G8BPQ AX.25 Ethernet Packet
DEC 6000 # DEC Assigned proto
DNA_DL 6001 # DEC DNA Dump/Load
DNA_RC 6002 # DEC DNA Remote Console
DNA_RT 6003 # DEC DNA Routing
LAT 6004 # DEC LAT
DIAG 6005 # DEC Diagnostics
CUST 6006 # DEC Customer use
SCA 6007 # DEC Systems Comms Arch
TEB 6558 # Trans Ether Bridging [RFC1701]
RAW_FR 6559 # Raw Frame Relay [RFC1701]
AARP 80F3 # Appletalk AARP
ATALK 809B # Appletalk
802_1Q 8100 8021q 1q 802.1q dot1q # 802.1Q Virtual LAN tagged frame
IPX 8137 # Novell IPX
NetBEUI 8191 # NetBEUI
IPv6 86DD ip6 # IP version 6
PPP 880B # PPP
ATMMPOA 884C # MultiProtocol over ATM
PPP_DISC 8863 # PPPoE discovery messages
PPP_SES 8864 # PPPoE session messages
ATMFATE 8884 # Frame-based ATM Transport over Ethernet
LOOP 9000 loopback # loop proto

28
net/scapy/options.mk Normal file
View File

@@ -0,0 +1,28 @@
# $NetBSD: options.mk,v 1.2 2011/10/16 04:16:49 obache Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.scapy
PKG_SUPPORTED_OPTIONS= scapy-crypto gnuplot scapy-pyx
.include "../../mk/bsd.options.mk"
###
### Add in crypto support for WEP operations
###
.if !empty(PKG_OPTIONS:Mscapy-crypto)
DEPENDS+= ${PYPKGPREFIX}-amkCrypto-[0-9]*:../../security/py-amkCrypto
.endif
###
### Add in gnuplot support for plotting
###
.if !empty(PKG_OPTIONS:Mgnuplot)
DEPENDS+= ${PYPKGPREFIX}-gnuplot-[0-9]*:../../graphics/py-gnuplot
.endif
###
### Add in TeX support for psdump() and/or pdfdump()
###
.if !empty(PKG_OPTIONS:Mscapy-pyx)
DEPENDS+= ${PYPKGPREFIX}-X-[0-9]*:../../textproc/py-X
.endif

View File

@@ -0,0 +1,21 @@
$NetBSD: patch-aa,v 1.5 2013/06/15 20:24:19 adam Exp $
--- scapy/arch/__init__.py.orig 2010-08-10 23:09:39.000000000 +0000
+++ scapy/arch/__init__.py
@@ -50,6 +50,7 @@ NETBSD = sys.platform.startswith("netbsd
DARWIN=sys.platform.startswith("darwin")
SOLARIS=sys.platform.startswith("sunos")
WINDOWS=sys.platform.startswith("win32")
+DRAGONFLY=sys.platform.startswith("dragonfly")
X86_64 = not WINDOWS and (os.uname()[4] == 'x86_64')
@@ -71,7 +72,7 @@ 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:
+elif OPENBSD or FREEBSD or NETBSD or DARWIN or DRAGONFLY:
from bsd import *
elif SOLARIS:
from solaris import *

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-ab,v 1.2 2013/06/15 20:24:19 adam Exp $
--- scapy/arch/unix.py.orig 2009-02-01 22:30:20 +0200
+++ scapy/arch/unix.py 2009-06-09 14:33:21 +0300
@@ -163,7 +163,7 @@ def read_routes6():
lspl = l.split()
d,nh,fl = lspl[:3]
dev = lspl[5+mtu_present+prio_present]
- else: # FREEBSD or DARWIN
+ else: # FREEBSD or DARWIN or DRAGONFLY
d,nh,fl,dev = l.split()[:4]
if filter(lambda x: x[2] == dev, lifaddr) == []:
continue

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-ac,v 1.3 2013/06/15 20:24:19 adam Exp $
--- scapy/sendrecv.py.orig 2009-12-30 22:21:13.000000000 +0000
+++ scapy/sendrecv.py
@@ -121,7 +121,7 @@ def sndrcv(pks, pkt, timeout = None, int
if remaintime <= 0:
break
r = None
- if arch.FREEBSD or arch.DARWIN:
+ if arch.FREEBSD or arch.DARWIN or arch.DRAGONFLY:
inp, out, err = select(inmask,[],[], 0.05)
if len(inp) == 0 or pks in inp:
r = pks.nonblock_recv()

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-ad,v 1.3 2013/06/15 20:24:19 adam Exp $
--- scapy/data.py.orig 2009-09-23 14:27:36.000000000 +0000
+++ scapy/data.py
@@ -180,7 +180,7 @@ if WINDOWS:
MANUFDB = load_manuf(os.environ["ProgramFiles"] + "\\wireshark\\manuf")
else:
IP_PROTOS=load_protocols("/etc/protocols")
- ETHER_TYPES=load_ethertypes("/etc/ethertypes")
+ ETHER_TYPES=load_ethertypes("@PKG_SYSCONFDIR@/ethertypes")
TCP_SERVICES,UDP_SERVICES=load_services("/etc/services")
MANUFDB = load_manuf("/usr/share/wireshark/wireshark/manuf")

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-ae,v 1.3 2013/06/15 20:24:19 adam Exp $
--- setup.py.orig 2011-02-28 02:11:55.000000000 +0000
+++ setup.py
@@ -49,7 +49,7 @@ setup(
version = '2.2.0',
packages=['scapy','scapy/arch', 'scapy/arch/windows', 'scapy/layers','scapy/asn1','scapy/tools','scapy/modules', 'scapy/crypto'],
scripts = SCRIPTS,
- data_files = [('share/man/man1', ["doc/scapy.1.gz"])],
+ data_files = [('man/man1', ["doc/scapy.1.gz"])],
# Metadata
author = 'Philippe BIONDI',

View File

@@ -0,0 +1,16 @@
$NetBSD: patch-af,v 1.2 2011/02/25 15:43:51 drochner Exp $
--- test/run_tests.orig 2009-04-13 23:10:43.000000000 +0000
+++ test/run_tests
@@ -1,8 +1,8 @@
#! /bin/sh
DIR=$(dirname $0)/..
-if [ "$*" == "" ]
+if [ "$*" = "" ]
then
-PYTHONPATH=$DIR exec python ${DIR}/scapy/tools/UTscapy.py -t regression.uts -f html -o /tmp/scapy_regression_test_$(date +%Y%M%d-%H%H%S).html
+PYTHONPATH=$DIR exec ${PYTHON} ${DIR}/scapy/tools/UTscapy.py -t regression.uts -f html -o /tmp/scapy_regression_test_$(date +%Y%M%d-%H%H%S).html
else
-PYTHONPATH=$DIR exec python ${DIR}/scapy/tools/UTscapy.py "$@"
+PYTHONPATH=$DIR exec ${PYTHON} ${DIR}/scapy/tools/UTscapy.py "$@"
fi