1{ 2 lib, 3 asn1crypto, 4 buildPythonPackage, 5 cryptography, 6 dnspython, 7 fetchFromGitHub, 8 hatchling, 9 minikerberos, 10 msldap, 11 pyasn1, 12 pytestCheckHook, 13 pythonOlder, 14 winacl, 15}: 16 17buildPythonPackage rec { 18 pname = "bloodyad"; 19 version = "2.1.9"; 20 pyproject = true; 21 22 disabled = pythonOlder "3.8"; 23 24 src = fetchFromGitHub { 25 owner = "CravateRouge"; 26 repo = "bloodyAD"; 27 tag = "v${version}"; 28 hash = "sha256-XqCP2GfS8hxlFU4Mndeh+7Ll2kXJ3Dei+AGp/oy0PUg="; 29 }; 30 31 pythonRelaxDeps = [ "cryptography" ]; 32 33 build-system = [ hatchling ]; 34 35 dependencies = [ 36 asn1crypto 37 cryptography 38 dnspython 39 minikerberos 40 msldap 41 winacl 42 ]; 43 44 nativeCheckInputs = [ pytestCheckHook ]; 45 46 pythonImportsCheck = [ "bloodyAD" ]; 47 48 disabledTests = [ 49 # Tests require network access 50 "test_01AuthCreateUser" 51 "test_02SearchAndGetChildAndGetWritable" 52 "test_03UacOwnerGenericShadowGroupPasswordDCSync" 53 "test_04ComputerRbcdGetSetAttribute" 54 "test_06AddRemoveGetDnsRecord" 55 ]; 56 57 meta = with lib; { 58 description = "Module for Active Directory Privilege Escalations"; 59 homepage = "https://github.com/CravateRouge/bloodyAD"; 60 changelog = "https://github.com/CravateRouge/bloodyAD/releases/tag/v${version}"; 61 license = licenses.mit; 62 maintainers = with maintainers; [ fab ]; 63 }; 64}