From: Stuart Henderson Subject: unbreak wfuzz To: Sebastian Reitenbach Cc: ports Date: Thu, 12 Feb 2026 11:14:44 +0000 - 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 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 +