1{
2 lib,
3 buildPythonPackage,
4 charset-normalizer,
5 dsinternals,
6 fetchPypi,
7 flask,
8 ldap3,
9 ldapdomaindump,
10 pyasn1,
11 pycryptodomex,
12 pyopenssl,
13 pythonOlder,
14 setuptools,
15 pytestCheckHook,
16 six,
17}:
18
19buildPythonPackage rec {
20 pname = "impacket";
21 version = "0.11.0";
22 pyproject = true;
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-7kA5tNKu3o9fZEeLxZ+qyGA2eWviTeqNwY8An7CQXko=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 charset-normalizer
35 dsinternals
36 flask
37 ldap3
38 ldapdomaindump
39 pyasn1
40 pycryptodomex
41 pyopenssl
42 setuptools
43 six
44 ];
45
46 nativeCheckInputs = [ pytestCheckHook ];
47
48 pythonImportsCheck = [ "impacket" ];
49
50 disabledTestPaths = [
51 # Skip all RPC related tests
52 "tests/dcerpc/"
53 "tests/SMB_RPC/"
54 ];
55
56 meta = with lib; {
57 description = "Network protocols Constructors and Dissectors";
58 homepage = "https://github.com/SecureAuthCorp/impacket";
59 changelog =
60 "https://github.com/fortra/impacket/releases/tag/impacket_"
61 + replaceStrings [ "." ] [ "_" ] version;
62 # Modified Apache Software License, Version 1.1
63 license = licenses.free;
64 maintainers = with maintainers; [ fab ];
65 };
66}