about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-01-04 03:38:31 +0100
committerGitHub <noreply@github.com>2021-01-04 03:38:31 +0100
commit308154c54623c743e9ab4f10db1e2e8c0f202a15 (patch)
tree90992c672ab49cc84567ba351f088fd2d3e33292
parent7b041bf2dd5d7d91717b850e28af34918dae3fa6 (diff)
parentb4281d2cbfefc2f89d5b21a6663ad582e2cde11a (diff)
Merge pull request #108209 from SuperSandro2000/patator
-rw-r--r--pkgs/development/python-modules/impacket/default.nix10
-rw-r--r--pkgs/development/python-modules/ldapdomaindump/default.nix24
-rw-r--r--pkgs/development/python-modules/patator/default.nix19
-rw-r--r--pkgs/development/python-modules/pysqlcipher3/default.nix24
-rw-r--r--pkgs/development/python-modules/quandl/default.nix19
-rw-r--r--pkgs/top-level/python-packages.nix10
6 files changed, 84 insertions, 22 deletions
diff --git a/pkgs/development/python-modules/impacket/default.nix b/pkgs/development/python-modules/impacket/default.nix
index dee40a6dbba2a..15d148f168f15 100644
--- a/pkgs/development/python-modules/impacket/default.nix
+++ b/pkgs/development/python-modules/impacket/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k }:
+{ lib, buildPythonPackage, fetchPypi, flask, ldapdomaindump, pycryptodomex, pyasn1, pyopenssl }:
 
 buildPythonPackage rec {
   pname = "impacket";
@@ -9,16 +9,18 @@ buildPythonPackage rec {
     sha256 = "4bf7e7b595356585599b4b2773b8a463d7b9765c97012dcd5a44eb6d547f6a1d";
   };
 
-  disabled = isPy3k;
+  propagatedBuildInputs = [ flask ldapdomaindump pycryptodomex pyasn1 pyopenssl ];
 
-  # no tests
+  # fail with:
+  # RecursionError: maximum recursion depth exceeded
   doCheck = false;
+  pythonImportsCheck = [ "impacket" ];
 
   meta = with lib; {
     description = "Network protocols Constructors and Dissectors";
     homepage = "https://github.com/CoreSecurity/impacket";
     # Modified Apache Software License, Version 1.1
     license = licenses.free;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/ldapdomaindump/default.nix b/pkgs/development/python-modules/ldapdomaindump/default.nix
new file mode 100644
index 0000000000000..3e1358cd8f223
--- /dev/null
+++ b/pkgs/development/python-modules/ldapdomaindump/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, dnspython, future, ldap3 }:
+
+buildPythonPackage rec {
+  pname = "ldapdomaindump";
+  version = "0.9.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10cis8cllpa9qi5qil9k7521ag3921mxwg2wj9nyn0lk41rkjagc";
+  };
+
+  propagatedBuildInputs = [ dnspython future ldap3 ];
+
+  # requires ldap server
+  doCheck = false;
+  pythonImportsCheck = [ "ldapdomaindump" ];
+
+  meta = with lib; {
+    description = "Active Directory information dumper via LDAP";
+    homepage = "https://github.com/dirkjanm/ldapdomaindump/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/patator/default.nix b/pkgs/development/python-modules/patator/default.nix
index 81d9e50b28ff0..b876e913e3cf0 100644
--- a/pkgs/development/python-modules/patator/default.nix
+++ b/pkgs/development/python-modules/patator/default.nix
@@ -1,22 +1,28 @@
-{ stdenv, buildPythonPackage, isPy3k, fetchPypi,
-  paramiko, pycurl, ajpy, pyopenssl, cx_oracle, mysqlclient,
-  psycopg2, pycrypto, dnspython, ipy, pysnmp, pyasn1 }:
+{ stdenv, buildPythonPackage, isPy27, fetchPypi
+, paramiko, pycurl, ajpy, impacket, pyopenssl, cx_oracle, mysqlclient
+, psycopg2, pycrypto, dnspython, ipy, pysnmp, pyasn1, pysqlcipher3 }:
 
 
 buildPythonPackage rec {
   pname = "patator";
   version = "0.9";
-  disabled = !(isPy3k);
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "68cb24bdc3042ee0d47a288b19a8b99a6c54bdbd4ddf0c5817d9b9ac0a0d8a15";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace psycopg2-binary psycopg2
+  '';
+
   propagatedBuildInputs = [
     paramiko
     pycurl
     ajpy
+    impacket
     pyopenssl
     cx_oracle
     mysqlclient
@@ -26,15 +32,16 @@ buildPythonPackage rec {
     ipy
     pysnmp
     pyasn1
+    pysqlcipher3
   ];
 
-  # No tests provided by patator
+  # tests require docker-compose and vagrant
   doCheck = false;
 
   meta = with stdenv.lib; {
     description = "multi-purpose brute-forcer";
     homepage = "https://github.com/lanjelot/patator";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ y0no ];
+    maintainers = with maintainers; [ y0no SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/pysqlcipher3/default.nix b/pkgs/development/python-modules/pysqlcipher3/default.nix
new file mode 100644
index 0000000000000..ab3f949cf1edb
--- /dev/null
+++ b/pkgs/development/python-modules/pysqlcipher3/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, pythonAtLeast, sqlcipher }:
+
+buildPythonPackage rec {
+  pname = "pysqlcipher3";
+  version = "1.0.3";
+
+  disabled = pythonAtLeast "3.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0c54m18h52llwkfc9zaag3qkmfzzp5a1w9jzsm5hd2nfdsxmnkk9";
+  };
+
+  buildInputs = [ sqlcipher ];
+
+  pythonImportsCheck = [ "pysqlcipher3" ];
+
+  meta = with lib; {
+    description = "Python 3 bindings for SQLCipher";
+    homepage = "https://github.com/rigglemania/pysqlcipher3/";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/quandl/default.nix b/pkgs/development/python-modules/quandl/default.nix
index 33fc54241d9a4..56b80a4676b86 100644
--- a/pkgs/development/python-modules/quandl/default.nix
+++ b/pkgs/development/python-modules/quandl/default.nix
@@ -1,11 +1,10 @@
-{
-  lib, fetchPypi, buildPythonPackage, isPy3k, pythonOlder,
-  # runtime dependencies
-  pandas, numpy, requests, inflection, python-dateutil, six, more-itertools, importlib-metadata,
-  # test suite dependencies
-  nose, unittest2, flake8, httpretty, mock, jsondate, parameterized, faker, factory_boy,
-  # additional runtime dependencies are required on Python 2.x
-  pyOpenSSL ? null, ndg-httpsclient ? null, pyasn1 ? null
+{ lib, fetchPypi, buildPythonPackage, isPy3k, pythonOlder
+# runtime dependencies
+, pandas, numpy, requests, inflection, python-dateutil, six, more-itertools, importlib-metadata
+# test suite dependencies
+, nose, unittest2, flake8, httpretty, mock, jsondate, parameterized, faker, factory_boy
+# additional runtime dependencies are required on Python 2.x
+, pyopenssl, ndg-httpsclient, pyasn1
 }:
 
 buildPythonPackage rec {
@@ -19,8 +18,6 @@ buildPythonPackage rec {
     sha256 = "0zpw0nwqr4g56l9z4my0fahfgpcmfx74acbmv6nfx1dmq5ggraf3";
   };
 
-  doCheck = true;
-
   checkInputs = [
     nose
     unittest2
@@ -42,7 +39,7 @@ buildPythonPackage rec {
     six
     more-itertools
   ] ++ lib.optionals (!isPy3k) [
-    pyOpenSSL
+    pyopenssl
     ndg-httpsclient
     pyasn1
   ] ++ lib.optionals (pythonOlder "3.8") [
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4e48b424947ef..f600b22ff0a41 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3405,9 +3405,13 @@ in {
 
   lazy-object-proxy = callPackage ../development/python-modules/lazy-object-proxy { };
 
+  ldap = callPackage ../development/python-modules/ldap {
+    inherit (pkgs) openldap cyrus_sasl;
+  };
+
   ldap3 = callPackage ../development/python-modules/ldap3 { };
 
-  ldap = callPackage ../development/python-modules/ldap { inherit (pkgs) openldap cyrus_sasl; };
+  ldapdomaindump = callPackage ../development/python-modules/ldapdomaindump { };
 
   ldappool = callPackage ../development/python-modules/ldappool { };
 
@@ -5722,6 +5726,10 @@ in {
 
   pysptk = callPackage ../development/python-modules/pysptk { };
 
+  pysqlcipher3 = callPackage ../development/python-modules/pysqlcipher3 {
+    inherit (pkgs) sqlcipher;
+  };
+
   pysqlite = callPackage ../development/python-modules/pysqlite { };
 
   pysqueezebox = callPackage ../development/python-modules/pysqueezebox { };