Hello Sorry for the missing information.
Here is the debdiff Sophie
diff -Nru pocsuite3-2.0.3/debian/changelog pocsuite3-2.0.3/debian/changelog --- pocsuite3-2.0.3/debian/changelog 2025-02-13 18:30:48.000000000 +0100 +++ pocsuite3-2.0.3/debian/changelog 2025-05-28 09:39:45.000000000 +0200 @@ -1,3 +1,17 @@ +pocsuite3 (2.0.3-3) unstable; urgency=medium + + * Fix NameError: name 'split_first' is not defined + * Add missing dependency python3-six + + -- Sophie Brun <sop...@offensive-security.com> Wed, 28 May 2025 09:39:45 +0200 + +pocsuite3 (2.0.3-2) unstable; urgency=medium + + * Team Upload + * Add a patch to remove requirement of mmh3 + + -- Sophie Brun <sop...@offensive-security.com> Thu, 22 May 2025 14:57:08 +0200 + pocsuite3 (2.0.3-1) unstable; urgency=medium * New upstream version 2.0.3 diff -Nru pocsuite3-2.0.3/debian/control pocsuite3-2.0.3/debian/control --- pocsuite3-2.0.3/debian/control 2024-11-26 23:28:56.000000000 +0100 +++ pocsuite3-2.0.3/debian/control 2025-05-28 09:39:45.000000000 +0200 @@ -22,6 +22,7 @@ Depends: binutils, nasm, python3-openssl, + python3-six, python3-zombie-telnetlib, ${misc:Depends}, ${python3:Depends} diff -Nru pocsuite3-2.0.3/debian/patches/Fix-a-NameError-in-hook_urllib3_parse_url.py.patch pocsuite3-2.0.3/debian/patches/Fix-a-NameError-in-hook_urllib3_parse_url.py.patch --- pocsuite3-2.0.3/debian/patches/Fix-a-NameError-in-hook_urllib3_parse_url.py.patch 1970-01-01 01:00:00.000000000 +0100 +++ pocsuite3-2.0.3/debian/patches/Fix-a-NameError-in-hook_urllib3_parse_url.py.patch 2025-05-28 09:39:45.000000000 +0200 @@ -0,0 +1,111 @@ +From: Sophie Brun <sop...@offensive-security.com> +Date: Wed, 28 May 2025 08:57:29 +0200 +Subject: Fix a NameError in hook_urllib3_parse_url.py + +File "/usr/lib/python3/dist-packages/requests/sessions.py", line 484, in prepare_request + p.prepare( + ~~~~~~~~~^ + method=request.method.upper(), + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ...<10 lines>... + hooks=merge_hooks(request.hooks, self.hooks), + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ + File "/usr/lib/python3/dist-packages/requests/models.py", line 367, in prepare + self.prepare_url(url, params) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/requests/models.py", line 433, in prepare_url + scheme, auth, host, port, path, query, fragment = parse_url(url) + ~~~~~~~~~^^^^^ + File "/usr/lib/python3/dist-packages/pocsuite3/lib/request/patch/hook_urllib3_parse_url.py", line 191, in patched_parse_url + url, path_, delim = split_first(url, ['/', '?', '#']) + ^^^^^^^^^^^ +NameError: name 'split_first' is not defined +--- + .../lib/request/patch/hook_urllib3_parse_url.py | 65 +++++++++++----------- + 1 file changed, 32 insertions(+), 33 deletions(-) + +diff --git a/pocsuite3/lib/request/patch/hook_urllib3_parse_url.py b/pocsuite3/lib/request/patch/hook_urllib3_parse_url.py +index ad35c71..53e3458 100644 +--- a/pocsuite3/lib/request/patch/hook_urllib3_parse_url.py ++++ b/pocsuite3/lib/request/patch/hook_urllib3_parse_url.py +@@ -115,39 +115,6 @@ class Url(namedtuple('Url', url_attrs)): + return self.url + + +-def split_first(s, delims): +- """ +- Given a string and an iterable of delimiters, split on the first found +- delimiter. Return two split parts and the matched delimiter. +- +- If not found, then the first part is the full input string. +- +- Example:: +- +- >>> split_first('foo/bar?baz', '?/=') +- ('foo', 'bar?baz', '/') +- >>> split_first('foo/bar?baz', '123') +- ('foo/bar?baz', '', None) +- +- Scales linearly with number of delims. Not ideal for large number of delims. +- """ +- min_idx = None +- min_delim = None +- for d in delims: +- idx = s.find(d) +- if idx < 0: +- continue +- +- if min_idx is None or idx < min_idx: +- min_idx = idx +- min_delim = d +- +- if min_idx is None or min_idx < 0: +- return s, '', None +- +- return s[:min_idx], s[min_idx + 1:], min_delim +- +- + def patched_parse_url(url): + """ + Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is +@@ -165,6 +132,38 @@ def patched_parse_url(url): + Url(scheme=None, host=None, port=None, path='/foo', query='bar', ...) + """ + ++ def split_first(s, delims): ++ """ ++ Given a string and an iterable of delimiters, split on the first found ++ delimiter. Return two split parts and the matched delimiter. ++ ++ If not found, then the first part is the full input string. ++ ++ Example:: ++ ++ >>> split_first('foo/bar?baz', '?/=') ++ ('foo', 'bar?baz', '/') ++ >>> split_first('foo/bar?baz', '123') ++ ('foo/bar?baz', '', None) ++ ++ Scales linearly with number of delims. Not ideal for large number of delims. ++ """ ++ min_idx = None ++ min_delim = None ++ for d in delims: ++ idx = s.find(d) ++ if idx < 0: ++ continue ++ ++ if min_idx is None or idx < min_idx: ++ min_idx = idx ++ min_delim = d ++ ++ if min_idx is None or min_idx < 0: ++ return s, '', None ++ ++ return s[:min_idx], s[min_idx + 1:], min_delim ++ + # While this code has overlap with stdlib's urlparse, it is much + # simplified for our needs and less annoying. + # Additionally, this implementations does silly things to be optimal diff -Nru pocsuite3-2.0.3/debian/patches/Remove-mmh3-requirements.patch pocsuite3-2.0.3/debian/patches/Remove-mmh3-requirements.patch --- pocsuite3-2.0.3/debian/patches/Remove-mmh3-requirements.patch 1970-01-01 01:00:00.000000000 +0100 +++ pocsuite3-2.0.3/debian/patches/Remove-mmh3-requirements.patch 2025-05-28 09:39:45.000000000 +0200 @@ -0,0 +1,93 @@ +From: Sophie Brun <sop...@offensive-security.com> +Date: Mon, 3 Mar 2025 14:09:54 +0100 +Subject: Remove mmh3 requirements + +--- + .../nuclei/protocols/common/expressions/__init__.py | 21 ++++++++++----------- + requirements.txt | 1 - + setup.py | 3 +-- + tests/test_nuclei_helper_functions.py | 2 +- + 4 files changed, 12 insertions(+), 15 deletions(-) + +diff --git a/pocsuite3/lib/yaml/nuclei/protocols/common/expressions/__init__.py b/pocsuite3/lib/yaml/nuclei/protocols/common/expressions/__init__.py +index 27df717..46a76f9 100644 +--- a/pocsuite3/lib/yaml/nuclei/protocols/common/expressions/__init__.py ++++ b/pocsuite3/lib/yaml/nuclei/protocols/common/expressions/__init__.py +@@ -13,7 +13,7 @@ import urllib.parse + import zlib as py_built_in_zlib + from typing import Union + +-import mmh3 as py_mmh3 ++#import mmh3 as py_mmh3 + from pkg_resources import parse_version + + from pocsuite3.lib.core.log import LOGGER as logger +@@ -314,15 +314,15 @@ def md5(inp: Union[str, bytes]) -> str: + return m.hexdigest() + + +-def mmh3(inp: Union[str, bytes]) -> int: +- """ +- Calculates the MMH3 (MurmurHash3) hash of an input +- +- Example: +- Input: mmh3("Hello") +- Output: 316307400 +- """ +- return py_mmh3.hash(inp) ++#def mmh3(inp: Union[str, bytes]) -> int: ++# """ ++# Calculates the MMH3 (MurmurHash3) hash of an input ++# ++# Example: ++# Input: mmh3("Hello") ++# Output: 316307400 ++# """ ++# return py_mmh3.hash(inp) + + + def print_debug(*args) -> None: +@@ -776,7 +776,6 @@ def evaluate(inp: str, dynamic_values: dict = None) -> str: + 'html_escape': html_escape, + 'html_unescape': html_unescape, + 'md5': md5, +- 'mmh3': mmh3, + 'print_debug': print_debug, + 'rand_base': rand_base, + 'rand_char': rand_char, +diff --git a/requirements.txt b/requirements.txt +index 679d11c..d8562b3 100644 +--- a/requirements.txt ++++ b/requirements.txt +@@ -14,4 +14,3 @@ pycryptodomex >= 3.9.0 + dacite >= 1.6.0 + PyYAML >= 6.0 + lxml >= 4.6.0 +-mmh3 >= 3.0.0 +diff --git a/setup.py b/setup.py +index 1b52e48..2eea5c0 100644 +--- a/setup.py ++++ b/setup.py +@@ -56,8 +56,7 @@ setup( + "pycryptodomex", + "dacite", + "PyYAML", +- "lxml", +- "mmh3" ++ "lxml" + ], + extras_require={ + 'complete': [ +diff --git a/tests/test_nuclei_helper_functions.py b/tests/test_nuclei_helper_functions.py +index 00cd54a..2169da6 100644 +--- a/tests/test_nuclei_helper_functions.py ++++ b/tests/test_nuclei_helper_functions.py +@@ -73,7 +73,7 @@ class TestCase(unittest.TestCase): + def test_md5(self): + self.assertEqual(md5("Hello"), "8b1a9953c4611296a827abf8c47804d7") + +- def test_mmh3(self): ++ def Xtest_mmh3(self): + self.assertEqual(mmh3("Hello"), 316307400) + + def test_rand_base(self): diff -Nru pocsuite3-2.0.3/debian/patches/series pocsuite3-2.0.3/debian/patches/series --- pocsuite3-2.0.3/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ pocsuite3-2.0.3/debian/patches/series 2025-05-28 09:39:45.000000000 +0200 @@ -0,0 +1,2 @@ +Remove-mmh3-requirements.patch +Fix-a-NameError-in-hook_urllib3_parse_url.py.patch
OpenPGP_signature.asc
Description: OpenPGP digital signature