python3Packages.wfuzz: fix screenshot plugin on Python 3.13
`pipes` was deprecated in Python 3.11 (PEP 594) and removed in 3.13; src/wfuzz/plugins/scripts/screenshot.py imports it and fails to load on 3.13 with `No module named 'pipes'`. The module loader catches the ImportError and silently drops the plugin, so `wfuzz -e scripts` no longer lists `screenshot`. Replace `pipes.quote` with `shlex.quote` (the documented stdlib replacement; identical semantics for the single argument used here). Reported upstream at xmendez/wfuzz#380.
This commit is contained in:
@@ -35,6 +35,9 @@ buildPythonPackage (finalAttrs: {
|
||||
url = "https://github.com/xmendez/wfuzz/commit/f4c028b9ada4c36dabf3bc752f69f6ddc110920f.patch?full_index=1";
|
||||
hash = "sha256-t7pUMcdFmwAsGUNBRdZr+Jje/yR0yzeGIgeYNEq4hFE=";
|
||||
})
|
||||
# replace removed `pipes` stdlib module with `shlex` for Python >= 3.13
|
||||
# https://github.com/xmendez/wfuzz/issues/380
|
||||
./python-313-shlex.patch
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
Replace removed `pipes` stdlib module with `shlex` in screenshot plugin.
|
||||
|
||||
`pipes` was deprecated in Python 3.11 (PEP 594) and removed in 3.13;
|
||||
`shlex.quote` is the documented stdlib replacement and behaves identically
|
||||
for the single argument used here.
|
||||
|
||||
Reported upstream: https://github.com/xmendez/wfuzz/issues/380
|
||||
|
||||
diff --git a/src/wfuzz/plugins/scripts/screenshot.py b/src/wfuzz/plugins/scripts/screenshot.py
|
||||
--- a/src/wfuzz/plugins/scripts/screenshot.py
|
||||
+++ b/src/wfuzz/plugins/scripts/screenshot.py
|
||||
@@ -3,7 +3,7 @@ from wfuzz.externals.moduleman.plugin import moduleman_plugin
|
||||
|
||||
import subprocess
|
||||
import tempfile
|
||||
-import pipes
|
||||
+import shlex
|
||||
import os
|
||||
import re
|
||||
|
||||
@@ -42,7 +42,7 @@ class screenshot(BasePlugin):
|
||||
subprocess.call(
|
||||
[
|
||||
"cutycapt",
|
||||
- "--url=%s" % pipes.quote(fuzzresult.url),
|
||||
+ "--url=%s" % shlex.quote(fuzzresult.url),
|
||||
"--out=%s" % filename,
|
||||
"--insecure",
|
||||
"--print-backgrounds=on",
|
||||
Reference in New Issue
Block a user