- replace "cgi" from standard library, for this use the header parser
from email.message is a usable alternative. unbreaks with py3.13
- replace pkg_resources, will be removed in setuptools sometime
ok?
(alternatively: is this still useful to have?)
Index: Makefile
===================================================================
RCS file: /cvs/ports/security/wfuzz/Makefile,v
diff -u -p -r1.10 Makefile
--- Makefile 17 Jun 2025 12:52:34 -0000 1.10
+++ Makefile 12 Feb 2026 11:09:12 -0000
@@ -2,7 +2,7 @@ COMMENT = web fuzzer
MODPY_DISTV = 3.1.0
DISTNAME = wfuzz-${MODPY_DISTV}
-REVISION = 6
+REVISION = 7
CATEGORIES = security www
@@ -13,16 +13,16 @@ MAINTAINER = Sebastian Reitenbach <sebas
# GPLv2
PERMIT_PACKAGE = Yes
-MODPY_PI = Yes
+MODPY_PI = Yes
-MODULES = lang/python
+MODULES = lang/python
MODPY_PYBUILD = setuptools
-RUN_DEPENDS = devel/py-parsing \
- devel/py-six \
- net/py-curl \
- textproc/py-chardet
+RUN_DEPENDS = devel/py-parsing \
+ devel/py-six \
+ net/py-curl \
+ textproc/py-chardet
-BUILD_DEPENDS = ${RUN_DEPENDS}
+#BUILD_DEPENDS = ${RUN_DEPENDS}
.include <bsd.port.mk>
Index: patches/patch-src_wfuzz_externals_reqresp_Response_py
===================================================================
RCS file: patches/patch-src_wfuzz_externals_reqresp_Response_py
diff -N patches/patch-src_wfuzz_externals_reqresp_Response_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_wfuzz_externals_reqresp_Response_py 12 Feb 2026
11:09:12 -0000
@@ -0,0 +1,22 @@
+suggested replacement for removed API:
+https://peps.python.org/pep-0594/#cgi
+
+Index: src/wfuzz/externals/reqresp/Response.py
+--- src/wfuzz/externals/reqresp/Response.py.orig
++++ src/wfuzz/externals/reqresp/Response.py
+@@ -1,5 +1,5 @@
+ import re
+-import cgi
++from email.message import Message
+
+ from io import BytesIO
+ import gzip
+@@ -22,7 +22,7 @@ def get_encoding_from_headers(headers):
+ if not content_type:
+ return None
+
+- content_type, params = cgi.parse_header(content_type)
++ content_type, params = Message(content_type)
+
+ if "charset" in params:
+ return params["charset"].strip("'\"")
Index: patches/patch-src_wfuzz_helpers_file_func_py
===================================================================
RCS file: patches/patch-src_wfuzz_helpers_file_func_py
diff -N patches/patch-src_wfuzz_helpers_file_func_py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_wfuzz_helpers_file_func_py 12 Feb 2026 11:09:12
-0000
@@ -0,0 +1,32 @@
+pkg_resources will go away
+
+Index: src/wfuzz/helpers/file_func.py
+--- src/wfuzz/helpers/file_func.py.orig
++++ src/wfuzz/helpers/file_func.py
+@@ -1,7 +1,6 @@
+ import os
+ import sys
+ import re
+-import pkg_resources
+
+ from chardet.universaldetector import UniversalDetector
+ import chardet
+@@ -10,15 +9,9 @@ from ..exception import FuzzExceptInternalError
+
+
+ def get_filter_help_file():
+- FILTER_HELP_FILE = "advanced.rst"
+- FILTER_HELP_DEV_FILE = "../../../docs/user/advanced.rst"
+-
+- filter_help_text = None
+- try:
+- fname = pkg_resources.resource_filename("wfuzz", FILTER_HELP_FILE)
+- filter_help_text = open(fname).read()
+- except IOError:
+- filter_help_text = open(get_path(FILTER_HELP_DEV_FILE)).read()
++ ref = importlib_resources.files('wfuzz') / 'advanced.rst'
++ with importlib_resources.as_file(ref) as path:
++ filter_help_text = open(path).read()
+
+ return filter_help_text
+