security/w3af: 1.0-rc4 -> 1.6.49
- move from SF to new official repo at Github - set LICENSE_FILE - add 12 new dependencies - remove do-patch section - change BUILD_DEPENDS to RUN_DEPENDS - apply shebangfix on tools/* - add DOCS option - submitter becomes maintainer PR: 211061 Changes: https://github.com/andresriancho/w3af/blob/master/doc/CHANGELOG Submitted by: Danilo G. Baio <dbaio@bsd.com.br>
This commit is contained in:
parent
a837c37202
commit
951a132e81
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=419486
@ -2,17 +2,16 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= w3af
|
||||
DISTVERSION= 1.0-rc4
|
||||
PORTREVISION= 6
|
||||
PORTVERSION= 1.6.49
|
||||
CATEGORIES= security python www
|
||||
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}%20${DISTVERSION}
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
MAINTAINER= dbaio@bsd.com.br
|
||||
COMMENT= Web Application Attack and Audit Framework
|
||||
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/doc/GPL
|
||||
|
||||
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=2.1:devel/py-lxml \
|
||||
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=2.1:devel/py-lxml \
|
||||
${PYTHON_PKGNAMEPREFIX}simplejson>=2.0:devel/py-simplejson \
|
||||
${PYTHON_PKGNAMEPREFIX}openssl>=0:security/py-openssl \
|
||||
${PYTHON_PKGNAMEPREFIX}soappy>=0:net/py-soappy \
|
||||
@ -23,60 +22,75 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=2.1:devel/py-lxml \
|
||||
${PYTHON_PKGNAMEPREFIX}pdf>0:print/py-pdf \
|
||||
scapy>0:net/scapy \
|
||||
${PYTHON_PKGNAMEPREFIX}wordnet>0:textproc/py-wordnet \
|
||||
${PYTHON_PKGNAMEPREFIX}yaml>0:devel/py-yaml
|
||||
RUN_DEPENDS:= ${BUILD_DEPENDS}
|
||||
${PYTHON_PKGNAMEPREFIX}yaml>0:devel/py-yaml \
|
||||
${PYTHON_PKGNAMEPREFIX}pyClamd>=0.2.2:security/py-pyclamd \
|
||||
${PYTHON_PKGNAMEPREFIX}pygithub>=1.21:devel/py-pygithub \
|
||||
${PYTHON_PKGNAMEPREFIX}GitPython>=0.3.2:devel/py-gitpython \
|
||||
${PYTHON_PKGNAMEPREFIX}pybloom>=0.3.11:math/py-pybloom \
|
||||
${PYTHON_PKGNAMEPREFIX}esmre>=0.3.1:textproc/py-esmre \
|
||||
${PYTHON_PKGNAMEPREFIX}phply>=0.9.1:devel/py-phply \
|
||||
${PYTHON_PKGNAMEPREFIX}stopit>=1.1.0:devel/py-stopit \
|
||||
${PYTHON_PKGNAMEPREFIX}chardet>=2.1.1:textproc/py-chardet \
|
||||
${PYTHON_PKGNAMEPREFIX}tblib>=0.2.0:devel/py-tblib \
|
||||
${PYTHON_PKGNAMEPREFIX}pdfminer=20140328:textproc/py-pdfminer \
|
||||
${PYTHON_PKGNAMEPREFIX}futures>=2.1.5:devel/py-futures \
|
||||
${PYTHON_PKGNAMEPREFIX}ndg_httpsclient>=0.3.3:net/py-ndg_httpsclient \
|
||||
${PYTHON_PKGNAMEPREFIX}pyasn1>=0.1.3:devel/py-pyasn1 \
|
||||
${PYTHON_PKGNAMEPREFIX}lxml>=0.3.2:devel/py-lxml \
|
||||
${PYTHON_PKGNAMEPREFIX}guess-language>=0.2:textproc/py-guess-language \
|
||||
${PYTHON_PKGNAMEPREFIX}cluster>=1.1.1b3:devel/py-cluster \
|
||||
${PYTHON_PKGNAMEPREFIX}msgpack-python>=0.4.4:devel/py-msgpack-python \
|
||||
${PYTHON_PKGNAMEPREFIX}python-ntlm>=1.0.1:net/py-python-ntlm \
|
||||
${PYTHON_PKGNAMEPREFIX}halberd>=0.2.4:security/py-halberd \
|
||||
${PYTHON_PKGNAMEPREFIX}darts.util.lru>=0.5:devel/py-darts.util.lru \
|
||||
${PYTHON_PKGNAMEPREFIX}Jinja2>=2.7.3:devel/py-Jinja2 \
|
||||
${PYTHON_PKGNAMEPREFIX}vulndb>=0.0.17:security/py-vulndb \
|
||||
${PYTHON_PKGNAMEPREFIX}markdown>=2.6.1:textproc/py-markdown
|
||||
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}
|
||||
USES= gettext python tar:bzip2
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= andresriancho
|
||||
|
||||
OPTIONS_DEFINE= GUI
|
||||
USES= gettext python tar:bzip2 shebangfix
|
||||
SHEBANG_FILES= tools/*
|
||||
NO_BUILD= yes
|
||||
|
||||
OPTIONS_DEFINE= GUI DOCS
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
GUI_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}graphviz>0:graphics/py-graphviz
|
||||
GUI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pygraphviz>0:graphics/py-pygraphviz \
|
||||
${PYTHON_PKGNAMEPREFIX}gtksourceview>=2.10.1:x11-toolkits/py-gtksourceview \
|
||||
${PYTHON_PKGNAMEPREFIX}xdot>=0.7:x11/py-xdot \
|
||||
${PYTHON_PKGNAMEPREFIX}webkitgtk>=1.1.8:www/py-webkitgtk
|
||||
|
||||
GUI_USE= GNOME=pygtk2
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
do-patch:
|
||||
.for f in SOAPpy fpconst-0.7.2 nltk nltk_contrib pyPdf scapy yaml
|
||||
@${RM} -rf ${WRKSRC}/extlib/${f}
|
||||
.endfor
|
||||
@${GREP} -lr '/usr/bin/python' ${WRKSRC} | \
|
||||
${XARGS} ${REINPLACE_CMD} -i "" \
|
||||
-E "s!/usr/bin/python2?!${PYTHON_CMD}!"
|
||||
do-build:
|
||||
@${MKDIR} ${WRKDIR}/build
|
||||
@${MKDIR} ${WRKSRC}/build/extlib
|
||||
@${CP} ${WRKSRC}/w3af_console ${WRKDIR}/build/w3af_console.py
|
||||
.if ${PORT_OPTIONS:MGUI}
|
||||
@${CP} ${WRKSRC}/w3af_gui ${WRKDIR}/build/w3af_gui.py
|
||||
.endif
|
||||
.for f in core locales plugins profiles readme scripts tools
|
||||
@${MKDIR} ${WRKDIR}/build/${f}
|
||||
@(cd ${WRKSRC}/${f}/ && ${COPYTREE_SHARE} \* ${WRKDIR}/build/${f})
|
||||
.endfor
|
||||
.for ext in cluster gtkcodebuffer ntlm socksipy xdot
|
||||
@${MKDIR} ${WRKDIR}/build/extlib/${ext}
|
||||
@(cd ${WRKSRC}/extlib/${ext}/ && ${COPYTREE_SHARE} \* ${WRKDIR}/build/extlib/${ext})
|
||||
.endfor
|
||||
@${CP} ${WRKSRC}/extlib/__init__.py ${WRKDIR}/build/extlib/
|
||||
@${PYTHON_CMD} -m compileall ${WRKDIR}/build
|
||||
@${PYTHON_CMD} -O -m compileall ${WRKDIR}/build
|
||||
.for f in w3af_console w3af_gui
|
||||
@${SED} -e 's:%%PATH%%:${PYTHONPREFIX_SITELIBDIR}/${PORTNAME}/:' \
|
||||
-e 's:%%PYTHON_CMD%%:${PYTHON_CMD}:' \
|
||||
< ${FILESDIR}/${f}.sh > ${WRKDIR}/${f}.sh
|
||||
.endfor
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME}
|
||||
@(cd ${WRKDIR}/build && ${COPYTREE_SHARE} \* \
|
||||
@(cd ${WRKSRC}/w3af && ${COPYTREE_SHARE} \* \
|
||||
${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME})
|
||||
@${INSTALL_SCRIPT} ${WRKDIR}/w3af_console.sh \
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/w3af_console \
|
||||
${STAGEDIR}${PREFIX}/bin/w3af_console
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}
|
||||
.for f in base64decode base64encode gencc md5hash sha1hash urldecode urlencode
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/tools/${f} \
|
||||
${STAGEDIR}${PREFIX}/libexec/${PORTNAME}/${f}
|
||||
.endfor
|
||||
.for f in extras profiles scripts
|
||||
@${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME}/${f}
|
||||
@(cd ${WRKSRC}/${f}/ && ${COPYTREE_SHARE} \* \
|
||||
${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME}/${f})
|
||||
.endfor
|
||||
.if ${PORT_OPTIONS:MGUI}
|
||||
@${INSTALL_SCRIPT} ${WRKDIR}/w3af_gui.sh \
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/w3af_gui \
|
||||
${STAGEDIR}${PREFIX}/bin/w3af_gui
|
||||
.endif
|
||||
.if ${PORT_OPTIONS:MDOCS}
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
.for d in CHANGELOG CONTRIBUTORS GPL INSTALL README TODO
|
||||
@${INSTALL_DATA} ${WRKSRC}/doc/${d} ${STAGEDIR}${DOCSDIR}
|
||||
.endfor
|
||||
.endif
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,2 +1,3 @@
|
||||
SHA256 (w3af-1.0-rc4.tar.bz2) = e36997741f1b457a6eefa1e1c8454ef87e0d9023592db876a6c300d82d468b24
|
||||
SIZE (w3af-1.0-rc4.tar.bz2) = 19197699
|
||||
TIMESTAMP = 1467339448
|
||||
SHA256 (andresriancho-w3af-1.6.49_GH0.tar.gz) = f3a7a6d1d86cb68927fc54a50e2a66f270cf93a36b26717bbdc49343a4633679
|
||||
SIZE (andresriancho-w3af-1.6.49_GH0.tar.gz) = 23523892
|
||||
|
13
security/w3af/files/patch-w3af__console
Normal file
13
security/w3af/files/patch-w3af__console
Normal file
@ -0,0 +1,13 @@
|
||||
--- w3af_console.orig 2015-04-07 15:04:48 UTC
|
||||
+++ w3af_console
|
||||
@@ -9,8 +9,8 @@ import base64
|
||||
|
||||
|
||||
# Check if I have all needed dependencies
|
||||
-from w3af.core.controllers.dependency_check.dependency_check import dependency_check
|
||||
-dependency_check()
|
||||
+#from w3af.core.controllers.dependency_check.dependency_check import dependency_check
|
||||
+#dependency_check()
|
||||
|
||||
from w3af.core.ui.console.console_ui import ConsoleUI
|
||||
from w3af.core.controllers.misc.get_w3af_version import get_w3af_version
|
13
security/w3af/files/patch-w3af__gui
Normal file
13
security/w3af/files/patch-w3af__gui
Normal file
@ -0,0 +1,13 @@
|
||||
--- w3af_gui.orig 2015-04-07 15:04:48 UTC
|
||||
+++ w3af_gui
|
||||
@@ -9,8 +9,8 @@ import base64
|
||||
|
||||
# Perform the GTK UI dependency check, this will verify that the current system
|
||||
# has all the modules required to run w3af (including the core dependencies)
|
||||
-from w3af.core.ui.gui.dependency_check.dependency_check import dependency_check
|
||||
-dependency_check()
|
||||
+#from w3af.core.ui.gui.dependency_check.dependency_check import dependency_check
|
||||
+#dependency_check()
|
||||
|
||||
import w3af.core.controllers.output_manager as om
|
||||
|
70
security/w3af/files/patch-w3af_plugins_grep_clamav.py
Normal file
70
security/w3af/files/patch-w3af_plugins_grep_clamav.py
Normal file
@ -0,0 +1,70 @@
|
||||
--- w3af/plugins/grep/clamav.py.orig 2015-04-07 15:04:48 UTC
|
||||
+++ w3af/plugins/grep/clamav.py
|
||||
@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin St, Fifth
|
||||
|
||||
"""
|
||||
import threading
|
||||
-import clamd
|
||||
+import pyclamd
|
||||
|
||||
# Installed as a clamd dependency by pip
|
||||
from six import BytesIO
|
||||
@@ -55,7 +55,7 @@ class clamav(GrepPlugin):
|
||||
|
||||
# User configured settings
|
||||
# Default for ubuntu installation
|
||||
- self._clamd_socket = '/var/run/clamav/clamd.ctl'
|
||||
+ self._clamd_socket = '/var/run/clamav/clamd.sock'
|
||||
|
||||
def grep(self, request, response):
|
||||
"""
|
||||
@@ -113,7 +113,7 @@ class clamav(GrepPlugin):
|
||||
"""
|
||||
try:
|
||||
cd = self._get_connection()
|
||||
- return cd.ping() == u'PONG'
|
||||
+ return cd.ping()
|
||||
except:
|
||||
return False
|
||||
|
||||
@@ -123,7 +123,7 @@ class clamav(GrepPlugin):
|
||||
Thought about having a connection pool, but it doesn't make
|
||||
much sense; plus it adds complexity due to the threads.
|
||||
"""
|
||||
- return clamd.ClamdUnixSocket(path=self._clamd_socket)
|
||||
+ return pyclamd.ClamdUnixSocket(self._clamd_socket)
|
||||
|
||||
def _get_clamd_version(self):
|
||||
"""
|
||||
@@ -145,7 +145,7 @@ class clamav(GrepPlugin):
|
||||
|
||||
try:
|
||||
cd = self._get_connection()
|
||||
- result_dict = cd.instream(BytesIO(body))
|
||||
+ result_dict = cd.scan_stream(body)
|
||||
except Exception, e:
|
||||
msg = 'The ClamAV plugin failed to connect to clamd using'\
|
||||
' the provided unix socket: "%s". Please verify your'\
|
||||
@@ -185,12 +185,9 @@ class clamav(GrepPlugin):
|
||||
|
||||
:return: A namedtuple with the scan result
|
||||
"""
|
||||
- try:
|
||||
- signature = result['stream'][1]
|
||||
- found = result['stream'][0] == 'FOUND'
|
||||
- return ScanResult(found, signature)
|
||||
- except:
|
||||
- om.out.debug('Invalid response from clamd: %s' % result)
|
||||
+ signature = result['stream'][1]
|
||||
+ found = result['stream'][0] == 'FOUND'
|
||||
+ return ScanResult(found, signature)
|
||||
|
||||
def set_options(self, options_list):
|
||||
self._clamd_socket = options_list['clamd_socket'].get_value()
|
||||
@@ -232,4 +229,4 @@ class clamav(GrepPlugin):
|
||||
This plugin was sponsored by http://scoresecure.com/ .
|
||||
"""
|
||||
|
||||
-ScanResult = namedtuple('ScanResult', ['found', 'signature'])
|
||||
\ No newline at end of file
|
||||
+ScanResult = namedtuple('ScanResult', ['found', 'signature'])
|
@ -0,0 +1,36 @@
|
||||
--- w3af/plugins/tests/grep/test_clamav.py.orig 2015-04-07 15:04:48 UTC
|
||||
+++ w3af/plugins/tests/grep/test_clamav.py
|
||||
@@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth
|
||||
"""
|
||||
import unittest
|
||||
import time
|
||||
-import clamd
|
||||
+import pyclamd
|
||||
|
||||
from nose.plugins.attrib import attr
|
||||
from itertools import repeat
|
||||
@@ -69,7 +69,7 @@ class TestClamAV(unittest.TestCase):
|
||||
@patch('w3af.plugins.grep.code_disclosure.is_404', side_effect=repeat(False))
|
||||
@need_clamav
|
||||
def test_clamav_eicar(self, *args):
|
||||
- body = clamd.EICAR
|
||||
+ body = pyclamd.EICAR
|
||||
url = URL('http://www.w3af.com/')
|
||||
headers = Headers([('content-type', 'text/html')])
|
||||
response = HTTPResponse(200, body, headers, url, url, _id=1)
|
||||
@@ -151,7 +151,7 @@ class TestClamAV(unittest.TestCase):
|
||||
|
||||
@patch('w3af.plugins.grep.code_disclosure.is_404', side_effect=repeat(False))
|
||||
def test_no_clamav_eicar(self, *args):
|
||||
- body = clamd.EICAR
|
||||
+ body = pyclamd.EICAR
|
||||
url = URL('http://www.w3af.com/')
|
||||
headers = Headers([('content-type', 'text/html')])
|
||||
response = HTTPResponse(200, body, headers, url, url, _id=1)
|
||||
@@ -213,4 +213,4 @@ class TestClamAVScan(PluginTest):
|
||||
for finding in findings:
|
||||
self.assertIn(finding.get_url().get_file_name(), EXPECTED_FILES)
|
||||
self.assertEqual(finding.get_name(), 'Malware identified')
|
||||
- self.assertIn('ClamAV identified malware', finding.get_desc())
|
||||
\ No newline at end of file
|
||||
+ self.assertIn('ClamAV identified malware', finding.get_desc())
|
@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
cd %%PATH%%
|
||||
exec %%PYTHON_CMD%% -O w3af_console.py
|
@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
cd %%PATH%%
|
||||
exec %%PYTHON_CMD%% -O w3af_gui.py
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user