Unverified Commit 83a5a36a authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

python3Packages.bloodyad: 2.1.21 -> 2.5.0 (includes fixes to dependencies) (#457902)

parents 3e65de10 d7547e78
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -4,21 +4,21 @@
  asysocks,
  buildPythonPackage,
  fetchFromGitHub,
  minikerberos-bad,
  kerbad,
  setuptools,
  unicrypto,
}:

buildPythonPackage rec {
  pname = "asyauth-bad";
  version = "0.0.20";
buildPythonPackage {
  pname = "badauth";
  version = "0.1.4-unstable-2025-10-09";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "CravateRouge";
    repo = "asyauth-bAD";
    tag = version;
    hash = "sha256-NX6bvOxA4Y5KRPCIsI+o0cB4dFOXlV89iH7YqNDdaXE=";
    repo = "badauth";
    rev = "86d6091470c98e1a5f6dc4b8749053189372bb53"; # no tag available
    hash = "sha256-p7V5WkQ48b1IqCPwmJfbCiyqekfp9zW41J81JHyZNUQ=";
  };

  build-system = [ setuptools ];
@@ -26,19 +26,18 @@ buildPythonPackage rec {
  dependencies = [
    asn1crypto
    asysocks
    minikerberos-bad
    kerbad
    unicrypto
  ];

  # Module doesn't have tests
  doCheck = false;

  pythonImportsCheck = [ "asyauth" ];
  pythonImportsCheck = [ "badauth" ];

  meta = {
    description = "Unified authentication library";
    homepage = "https://github.com/CravateRouge/asyauth-bAD";
    changelog = "https://github.com/CravateRouge/asyauth-bAD/releases/tag/${src.tag}";
    homepage = "https://github.com/CravateRouge/badauth";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ fab ];
  };
+21 −16
Original line number Diff line number Diff line
{
  lib,
  asn1crypto,
  asyauth-bad,
  asysocks,
  buildPythonPackage,
  fetchFromGitHub,
  minikerberos-bad,
  prompt-toolkit,

  # build-system
  setuptools,

  # dependencies
  asn1crypto,
  asysocks,
  badauth,
  kerbad,
  prompt-toolkit,
  tabulate,
  tqdm,
  unicrypto,
  unidns,
  wcwidth,
  winacl,
}:

buildPythonPackage rec {
  pname = "msldap-bad";
  version = "0.5.10";
buildPythonPackage {
  pname = "badldap";
  version = "0.7.1-unstable-2025-10-28";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "CravateRouge";
    repo = "msldap-bAD";
    tag = version;
    hash = "sha256-CnHXEE1tdIXv+Qb3pS+cNxVtcTOVaq6mrQxu3wr1Xxo=";
    repo = "badldap";
    rev = "65af61fd7daf7dc7bef9c6248553398e6f604d43"; # no tag available
    hash = "sha256-14mV+EBrpoR9suPmOYdt2ro1Gcrpj3tuVx/meaVKC2c=";
  };

  build-system = [ setuptools ];

  dependencies = [
    asyauth-bad
    asn1crypto
    asysocks
    minikerberos-bad
    badauth
    kerbad
    prompt-toolkit
    tabulate
    tqdm
    unicrypto
    unidns
    wcwidth
    winacl
  ];
@@ -45,12 +51,11 @@ buildPythonPackage rec {
  # Module doesn't have tests
  doCheck = false;

  pythonImportsCheck = [ "msldap" ];
  pythonImportsCheck = [ "badldap" ];

  meta = {
    description = "LDAP library for auditing MS AD";
    homepage = "https://github.com/CravateRouge/msldap-bAD";
    changelog = "https://github.com/CravateRouge/asyauth-bAD/releases/tag/${src.tag}";
    homepage = "https://github.com/CravateRouge/badldap";
    license = lib.licenses.mit;
    maintainers = [ ];
  };
+39 −20
Original line number Diff line number Diff line
{
  lib,
  asn1crypto,
  stdenv,
  buildPythonPackage,
  certipy,
  cryptography,
  dnspython,
  fetchFromGitHub,

  # build-system
  hatchling,
  minikerberos-bad,
  msldap-bad,
  pyasn1,
  pytestCheckHook,
  pythonOlder,

  # dependencies
  asn1crypto,
  badldap,
  cryptography,
  dnspython,
  kerbad,
  winacl,

  # test
  certipy,
  pytestCheckHook,
}:

buildPythonPackage rec {
  pname = "bloodyad";
  version = "2.1.21";
  version = "2.5.0";
  pyproject = true;

  disabled = pythonOlder "3.8";

  src = fetchFromGitHub {
    owner = "CravateRouge";
    repo = "bloodyAD";
    tag = "v${version}";
    hash = "sha256-9yzKYSEmaPMv6AWhgr4UPPEx8s75Pg/hwqJnV29WocM=";
    hash = "sha256-WKD8R1pH1dIAxMIM2SLPV+AoFi3z1O96U8XK2QyVYxQ=";
  };

  pythonRelaxDeps = [ "cryptography" ];

  pythonRemoveDeps = [
    "minikerberos-bad"
    "msldap-bad"
    "kerbad"
    "badldap"
  ];

  build-system = [ hatchling ];

  # Upstream provides two package scripts: bloodyad and bloodyAD,
  # but this causes a FileAlreadyExists error during installation
  # on Darwin (case-insensitive filesystem).
  # https://github.com/CravateRouge/bloodyAD/issues/99
  postPatch = lib.optionals stdenv.hostPlatform.isDarwin ''
    substituteInPlace pyproject.toml \
      --replace-fail "bloodyAD = \"bloodyAD.main:main\"" ""
  '';

  dependencies = [
    asn1crypto
    badldap
    cryptography
    dnspython
    minikerberos-bad
    msldap-bad
    kerbad
    winacl
  ];

@@ -63,13 +75,20 @@ buildPythonPackage rec {
    "test_04ComputerRbcdGetSetAttribute"
    "test_06AddRemoveGetDnsRecord"
    "test_certificate_authentications"
    "test_04ComputerRbcdRestoreGetSetAttribute"
  ];

  disabledTestPaths = [
    # TypeError: applyFormatters() takes 1 positional argument but 2 were given
    # https://github.com/CravateRouge/bloodyAD/issues/98
    "tests/test_formatters.py"
  ];

  meta = with lib; {
  meta = {
    description = "Module for Active Directory Privilege Escalations";
    homepage = "https://github.com/CravateRouge/bloodyAD";
    changelog = "https://github.com/CravateRouge/bloodyAD/releases/tag/${src.tag}";
    license = licenses.mit;
    maintainers = with maintainers; [ fab ];
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ fab ];
  };
}
+19 −14
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,

  # build-system
  setuptools,

  # dependencies
  asn1crypto,
  asysocks,
  buildPythonPackage,
  cryptography,
  fetchFromGitHub,
  fetchPypi,
  dnspython,
  minikerberos,
  oscrypto,
  pythonOlder,
  setuptools,
  six,
  tqdm,
  unicrypto,
}:

buildPythonPackage rec {
  pname = "minikerberos-bad";
  version = "0.4.4";
buildPythonPackage {
  pname = "kerbad";
  version = "0.5.6-unstable-2025-10-07";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "CravateRouge";
    repo = "minikerberos-bAD";
    tag = version;
    hash = "sha256-pnIn7UOpnCke6voFvOwcONXDd9i/di1lE/57vkg0/0w=";
    repo = "kerbad";
    rev = "3c2284de4d2390e22026b550705622ed39e5c05a"; # no tag available
    hash = "sha256-V4KaF6lsECoLVpGZTZ4p7q9drHSsrsLPI/9zEQpqm3I=";
  };

  build-system = [ setuptools ];

  dependencies = [
    asn1crypto
    cryptography
    asysocks
    cryptography
    dnspython
    minikerberos
    oscrypto
    six
    tqdm
@@ -45,8 +51,7 @@ buildPythonPackage rec {

  meta = {
    description = "Kerberos manipulation library in pure Python";
    homepage = "https://github.com/CravateRouge/minikerberos-bAD";
    changelog = "https://github.com/CravateRouge/minikerberos-bAD/releases/tag/${src.tag}";
    homepage = "https://github.com/CravateRouge/kerbad";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ fab ];
  };
+47 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
  asysocks,
}:

buildPythonPackage rec {
  pname = "unidns";
  version = "0.0.4";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "skelsec";
    repo = "unidns";
    tag = version;
    hash = "sha256-uhTb27HeBaoI4yURpNf1+D6bWIXSsmYzUyk0RJmgbjQ=";
  };

  build-system = [
    setuptools
  ];

  pythonRelaxDeps = [
    "asysocks"
  ];

  dependencies = [
    asysocks
  ];

  # No tests provided
  doCheck = false;

  pythonImportsCheck = [
    "unidns"
  ];

  meta = {
    description = "Basic async DNS library";
    homepage = "https://github.com/skelsec/unidns";
    changelog = "https://github.com/skelsec/unidns/releases/${src.tag}";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ sarahec ];
  };
}
Loading