about summary refs log tree commit diff
path: root/pkgs/tools/networking
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-03-23 09:18:41 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2019-03-23 09:18:41 +0100
commitb40d7528726cc97cf17ba6944842dc7975e60b4b (patch)
tree3079ee4822b3c1aafe34547169c4aa4a41417dc4 /pkgs/tools/networking
parent04066403aef0fe8c1b8123f862ed9f58f04583f7 (diff)
parent2cc644411361fcdde9c9b3b84d1ddd8d87c435af (diff)
downloadnixlib-b40d7528726cc97cf17ba6944842dc7975e60b4b.tar
nixlib-b40d7528726cc97cf17ba6944842dc7975e60b4b.tar.gz
nixlib-b40d7528726cc97cf17ba6944842dc7975e60b4b.tar.bz2
nixlib-b40d7528726cc97cf17ba6944842dc7975e60b4b.tar.lz
nixlib-b40d7528726cc97cf17ba6944842dc7975e60b4b.tar.xz
nixlib-b40d7528726cc97cf17ba6944842dc7975e60b4b.tar.zst
nixlib-b40d7528726cc97cf17ba6944842dc7975e60b4b.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/tools/networking')
-rw-r--r--pkgs/tools/networking/davix/default.nix24
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix4
-rw-r--r--pkgs/tools/networking/fping/default.nix4
-rw-r--r--pkgs/tools/networking/junkie/default.nix36
-rw-r--r--pkgs/tools/networking/kail/default.nix4
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix20
-rw-r--r--pkgs/tools/networking/ngrok-2/default.nix41
-rwxr-xr-xpkgs/tools/networking/ngrok-2/update.sh33
-rw-r--r--pkgs/tools/networking/ngrok-2/versions.json32
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix4
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix29
-rw-r--r--pkgs/tools/networking/tayga/default.nix26
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix6
13 files changed, 225 insertions, 38 deletions
diff --git a/pkgs/tools/networking/davix/default.nix b/pkgs/tools/networking/davix/default.nix
index 3be2b0401bc4..74aa30bb95e0 100644
--- a/pkgs/tools/networking/davix/default.nix
+++ b/pkgs/tools/networking/davix/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, libxml2, boost }:
+{ stdenv, fetchurl, cmake, pkgconfig, openssl, libxml2, boost, python3, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "davix-0.6.4";
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ stdenv cmake openssl libxml2 boost ];
+  version = "0.7.2";
+  name = "davix-${version}";
+  nativeBuildInputs = [ cmake pkgconfig python3 ];
+  buildInputs = [ openssl libxml2 boost libuuid ];
 
-  src = fetchFromGitHub {
-    owner = "cern-it-sdc-id";
-    repo = "davix";
-    rev = "R_0_6_4";
-    sha256 = "10hg7rs6aams96d4ghldgkrrnikskdpmn8vy6hj5j0s17a2yms6q";
+  # using the url below since the 0.7.2 release did carry a broken CMake file,
+  # supposedly fixed in the next release
+  # https://github.com/cern-fts/davix/issues/40
+  src = fetchurl {
+    url = "http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix/${version}/davix-${version}.tar.gz";
+    sha256 = "1w1q7r6r5j5f23ra4qhx3x29w9z9xal23c2azazpfmcz88hkkmhz";
   };
 
 
   meta = with stdenv.lib; {
     description = "Toolkit for Http-based file management";
 
-    longDescription = "Davix is a toolkit designed for file 
+    longDescription = "Davix is a toolkit designed for file
     operations with Http based protocols (WebDav, Amazon S3, ...).
     Davix provides an API and a set of command line tools";
 
@@ -24,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage    = http://dmc.web.cern.ch/projects/davix/home;
     maintainers = [ maintainers.adev ];
     platforms   = platforms.all;
-  };  
+  };
 }
 
diff --git a/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix b/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix
index cdf9c778838f..a7b564be868e 100644
--- a/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "dnscrypt-proxy2-${version}";
-  version = "2.0.15";
+  version = "2.0.21";
 
   goPackagePath = "github.com/jedisct1/dnscrypt-proxy";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "jedisct1";
     repo = "dnscrypt-proxy";
     rev = "${version}";
-    sha256 = "0iwvndk1h550zmwhwablb0smv9n2l51hqbmzj354mcgi6frnx819";
+    sha256 = "00sz5gn4l56rp4xcvxfpq6c64inpgzbwpqy1yc5sima6ijrayi9g";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index e0cd0ff8849a..4b5242818b3d 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "fping-4.1";
+  name = "fping-4.2";
 
   src = fetchurl {
     url = "https://www.fping.org/dist/${name}.tar.gz";
-    sha256 = "0wxbvm480vij8dy4v1pi8f0c7010rx6bidg3qhsvkdf2ijhy4cr7";
+    sha256 = "0jmnf4vmr43aiwk3h2b5qdsb95gxar8gz1yli8fswnm9nrs9ccvx";
   };
 
   configureFlags = [ "--enable-ipv6" "--enable-ipv4" ];
diff --git a/pkgs/tools/networking/junkie/default.nix b/pkgs/tools/networking/junkie/default.nix
new file mode 100644
index 000000000000..29fe71c9365a
--- /dev/null
+++ b/pkgs/tools/networking/junkie/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, pkgconfig, libpcap, guile, openssl }:
+
+stdenv.mkDerivation rec {
+  pname = "junkie";
+  version = "2.8.0";
+
+  src = fetchFromGitHub {
+    owner = "rixed";
+    repo = "junkie";
+    rev = "v${version}";
+    sha256 = "0kfdjgch667gfb3qpiadd2dj3fxc7r19nr620gffb1ahca02wq31";
+  };
+  buildInputs = [ libpcap guile openssl ];
+  nativeBuildInputs = [ pkgconfig ];
+  configureFlags = [
+    "GUILELIBDIR=\${out}/share/guile/site"
+    "GUILECACHEDIR=\${out}/lib/guile/ccache"
+  ];
+
+  meta = {
+    description = "Deep packet inspection swiss-army knife";
+    homepage = "https://github.com/rixed/junkie";
+    license = stdenv.lib.licenses.agpl3Plus;
+    maintainers = [ stdenv.lib.maintainers.rixed ];
+    platforms = stdenv.lib.platforms.unix;
+    longDescription = ''
+      Junkie is a network sniffer like Tcpdump or Wireshark, but designed to
+      be easy to program and extend.
+
+      It comes with several command line tools to demonstrate this:
+      - a packet dumper;
+      - a nettop tool;
+      - a tool listing TLS certificates...
+    '';
+  };
+}
diff --git a/pkgs/tools/networking/kail/default.nix b/pkgs/tools/networking/kail/default.nix
index e13511487170..7877200116d1 100644
--- a/pkgs/tools/networking/kail/default.nix
+++ b/pkgs/tools/networking/kail/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "kail-${version}";
-  version = "0.7.0";
+  version = "0.8.0";
 
   goPackagePath = "github.com/boz/kail";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "boz";
     repo = "kail";
     rev = "v${version}";
-    sha256 = "0j0948wjn0jsk89fp0l29pd90n86wi85yghrbdhwihhgyqcdmhi0";
+    sha256 = "0ibk7j40pj6f2086qcnwp998wld61d2gvrv7yiy6hlkalhww2pq7";
   };
 
   # regenerate deps.nix using following steps:
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
index d06399169707..ee331648e75f 100644
--- a/pkgs/tools/networking/mitmproxy/default.nix
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -22,6 +22,26 @@ buildPythonPackage rec {
       url = "https://github.com/mitmproxy/mitmproxy/commit/1b6a8d6acd3d70f9b9627ad4ae9def08103f8250.patch";
       sha256 = "03y79c25yir7d8xj79czdc81y3irqq1i3ks9ca0mv1az8b7xsvfv";
     })
+    (fetchpatch {
+      # 0.13 <= wsproto < 0.14 patch
+      # https://github.com/mitmproxy/mitmproxy/issues/3459
+      # TODO: remove on next update
+      name = "wsproto-0.13.patch";
+      url = https://github.com/mitmproxy/mitmproxy/commit/70777a1b6ed64af9cafcdef223a8a260ecc96864.patch;
+      sha256 = "1ddxdr7js510kzyq3gyks4k5k1n8zb1i9amxw7wzmi1dcg8kqw9a";
+      # We strip these bounds anyway
+      excludes = [ "setup.py" ];
+    })
+    (fetchpatch {
+      # Fix for newer pytest disallowing calling fixtures
+      # https://github.com/mitmproxy/mitmproxy/issues/3403
+      # TODO: remove on next update
+      name = "dont-call-fixtures.patch";
+      url = https://github.com/mitmproxy/mitmproxy/commit/ce28721458c8cc71de86513a5110676e9763041b.patch;
+      sha256 = "05pljr28lx7l1xgswqr9sz8dnhvc7npzh8xg2p9hignf159kd54d";
+      # Irrelevant in nixpkgs
+      excludes = [ "setup.py" "setup.cfg" "release/docker/*" ];
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok-2/default.nix
index fdf9067dfee9..89d6a9b454da 100644
--- a/pkgs/tools/networking/ngrok-2/default.nix
+++ b/pkgs/tools/networking/ngrok-2/default.nix
@@ -1,30 +1,39 @@
-{ stdenv, fetchurl, unzip }:
+{ stdenv, fetchurl }:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
+let versions = builtins.fromJSON (builtins.readFile ./versions.json);
+    arch = if stdenv.isi686 then "386"
+           else if stdenv.isx86_64 then "amd64"
+           else if stdenv.isAarch64 then "arm64"
+           else if stdenv.isArm then "arm"
+           else throw "Unsupported architecture";
+    os = if stdenv.isLinux then "linux"
+         else if stdenv.isDarwin then "darwin"
+         else throw "Unsupported os";
+    versionInfo = versions."${os}-${arch}";
+    inherit (versionInfo) version sha256 url;
+
+in
+stdenv.mkDerivation {
   name = "ngrok-${version}";
-  version = "2.2.8";
-
-  src = if stdenv.isLinux && stdenv.isi686 then fetchurl {
-    url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-i386.tgz";
-    sha256 = "0s5ymlaxrvm13q3mlvfirh74sx60qh56c5sgdma2r7q5qlsq41xg";
-  } else if stdenv.isLinux && stdenv.isx86_64 then fetchurl {
-    url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz";
-    sha256 = "1mn9iwgy6xzrjihikwc2k2j59igqmph0cwx17qp0ziap9lp5xxad";
-  } else if stdenv.isDarwin then fetchurl {
-    url = "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-darwin-386.zip";
-    sha256 = "0yfd250b55wcpgqd00rqfaa7a82f35fmybb31q5xwdbgc2i47pbh";
-  } else throw "platform ${stdenv.hostPlatform.system} not supported!";
+  version = "${version}";
+
+  # run ./update
+  src = fetchurl { inherit sha256 url; };
 
   sourceRoot = ".";
 
-  nativeBuildInputs = optional stdenv.isDarwin unzip;
+  unpackPhase = "cp $src ngrok";
+
+  buildPhase = "chmod a+x ngrok";
 
   installPhase = ''
     install -D ngrok $out/bin/ngrok
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = {
     description = "ngrok";
     longDescription = ''
@@ -32,7 +41,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://ngrok.com/;
     license = licenses.unfree;
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.bobvanderlinden ];
   };
 }
diff --git a/pkgs/tools/networking/ngrok-2/update.sh b/pkgs/tools/networking/ngrok-2/update.sh
new file mode 100755
index 000000000000..7908a1524e59
--- /dev/null
+++ b/pkgs/tools/networking/ngrok-2/update.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -p httpie
+#!nix-shell -p jq
+#!nix-shell -i bash
+
+set -eu -o pipefail
+
+get_download_info() {
+    http --body \
+         https://update.equinox.io/check \
+         'Accept:application/json; q=1; version=1; charset=utf-8' \
+         'Content-Type:application/json; charset=utf-8' \
+         app_id=app_goVRodbMVm \
+         channel=stable \
+         os=$1 \
+         goarm= \
+         arch=$2 \
+    | jq --arg sys "$1-$2" '{
+        sys: $sys,
+        url: .download_url,
+        sha256: .checksum,
+        version: .release.version
+    }'
+}
+
+(
+    get_download_info linux 386
+    get_download_info linux amd64
+    get_download_info linux arm
+    get_download_info linux arm64
+    get_download_info darwin amd64
+) | jq --slurp 'map ({ (.sys): . }) | add' \
+    > pkgs/tools/networking/ngrok-2/versions.json
diff --git a/pkgs/tools/networking/ngrok-2/versions.json b/pkgs/tools/networking/ngrok-2/versions.json
new file mode 100644
index 000000000000..3d7aa8a56b6c
--- /dev/null
+++ b/pkgs/tools/networking/ngrok-2/versions.json
@@ -0,0 +1,32 @@
+{
+  "linux-386": {
+    "sys": "linux-386",
+    "url": "https://bin.equinox.io/a/jqJ2Vvh67gW/ngrok-2.3.18-linux-386",
+    "sha256": "2bebb8f39a3c19ca03eaf786b97c92876216d2297046e85271478edef2cd6404",
+    "version": "2.3.18"
+  },
+  "linux-amd64": {
+    "sys": "linux-amd64",
+    "url": "https://bin.equinox.io/a/ik4d9aurG9/ngrok-2.3.18-linux-amd64",
+    "sha256": "75e19c343a208bf0e2d3b613d2fa3ce67abbf25c04a1d6be670598a4c25c1694",
+    "version": "2.3.18"
+  },
+  "linux-arm": {
+    "sys": "linux-arm",
+    "url": "https://bin.equinox.io/a/c2KRZoJ5cb6/ngrok-2.3.18-linux-arm",
+    "sha256": "af4cdb9f116104921d7fbeeac9124e545a45495b3623b2b46da996400c305d9c",
+    "version": "2.3.18"
+  },
+  "linux-arm64": {
+    "sys": "linux-arm64",
+    "url": "https://bin.equinox.io/a/b2NBP9tpq2E/ngrok-2.3.18-linux-arm64",
+    "sha256": "9e5fa5b83dc65803291b59867c664085de248a4adb3d415c4dbba1dae90a0aaf",
+    "version": "2.3.18"
+  },
+  "darwin-amd64": {
+    "sys": "darwin-amd64",
+    "url": "https://bin.equinox.io/a/879TXbRQQRV/ngrok-2.3.18-darwin-amd64",
+    "sha256": "abb643bdba7ade5dabd60488b866804d814a41d4d7144fa09e01c9260e93659d",
+    "version": "2.3.18"
+  }
+}
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index 5ac64d36eaf9..5050b8db023d 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -2,14 +2,14 @@
   asciidoc, cacert, libxml2, libxslt, docbook_xsl }:
 
 python2Packages.buildPythonApplication rec {
-  version = "7.2.2";
+  version = "7.2.3";
   pname = "offlineimap";
 
   src = fetchFromGitHub {
     owner = "OfflineIMAP";
     repo = "offlineimap";
     rev = "v${version}";
-    sha256 = "11nj7y9fa7v6vcxk3wr8smfgm3mxxnmq3l8q69rrjxlfzcv7dl8m";
+    sha256 = "18sdnhjldn8zs03bgqy1qa3ikmlfvyxcvwp3nbnv1a74biccqbpa";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
new file mode 100644
index 000000000000..6a024b72f73e
--- /dev/null
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, libsodium, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "shadowsocks-rust";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "shadowsocks";
+    repo = pname;
+    sha256 = "0mqjm54mp6c9mfdl3gf01v9vm2rjll8fw63n6j4qgv01y4hrsm4f";
+  };
+
+  cargoSha256 = "1m0p40z6qx6s0r1x6apz56n2s4ppn8b2cff476xrfhp6s1j046q7";
+
+  buildInputs = [ openssl libsodium ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  # tries to read /etc/resolv.conf, hence fails in sandbox
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/shadowsocks/shadowsocks-rust;
+    description = "A Rust port of shadowsocks";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/tools/networking/tayga/default.nix b/pkgs/tools/networking/tayga/default.nix
new file mode 100644
index 000000000000..97bcbdc999eb
--- /dev/null
+++ b/pkgs/tools/networking/tayga/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "0.9.2";
+  pname = "tayga";
+
+  src = fetchurl {
+    url= "http://www.litech.org/${pname}/${pname}-${version}.tar.bz2";
+    sha256 = "1700y121lhvpna49bjpssb7jq1abj9qw5wxgjn8gzp6jm4kpj7rb";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Userland stateless NAT64 daemon";
+    longDescription = ''
+      TAYGA is an out-of-kernel stateless NAT64 implementation
+      for Linux that uses the TUN driver to exchange IPv4 and
+      IPv6 packets with the kernel.
+      It is intended to provide production-quality NAT64 service
+      for networks where dedicated NAT64 hardware would be overkill.
+    '';
+    homepage = http://www.litech.org/tayga;
+    license = licenses.gpl2;
+    maintainers = [ maintainers."0x4A6F" ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index 54210469fba8..0d59864154d0 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "wireguard-tools-${version}";
-  version = "0.0.20190123";
+  version = "0.0.20190227";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "1lyl3nmsgp9jk9js3vz032vdx7cg9ynkwzdr19wrr26pkxhpcnxr";
+    sha256 = "1kaq0mjcdr4hxr3rx8z11rvlh4ycjsn5654fjw1gh1fdbjgczax5";
   };
 
   sourceRoot = "source/src/tools";
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     downloadPage = https://git.zx2c4.com/WireGuard/refs/;
     homepage = https://www.wireguard.com/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ericsagnes mic92 zx2c4 ];
+    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 ];
     platforms = platforms.unix;
   };
 }