about summary refs log tree commit diff
path: root/pkgs/tools/networking
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking')
-rw-r--r--pkgs/tools/networking/airfield/default.nix2
-rw-r--r--pkgs/tools/networking/argus/default.nix2
-rw-r--r--pkgs/tools/networking/assh/default.nix2
-rw-r--r--pkgs/tools/networking/cmst/default.nix2
-rw-r--r--pkgs/tools/networking/connman/default.nix2
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/dd-agent/default.nix2
-rw-r--r--pkgs/tools/networking/dhcpdump/default.nix2
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix2
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix19
-rw-r--r--pkgs/tools/networking/flannel/default.nix2
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix4
-rw-r--r--pkgs/tools/networking/i2p/default.nix4
-rw-r--r--pkgs/tools/networking/i2pd/default.nix2
-rw-r--r--pkgs/tools/networking/inadyn/default.nix2
-rw-r--r--pkgs/tools/networking/ipv6calc/default.nix3
-rw-r--r--pkgs/tools/networking/kail/default.nix31
-rw-r--r--pkgs/tools/networking/kail/deps.nix489
-rw-r--r--pkgs/tools/networking/kea/default.nix8
-rw-r--r--pkgs/tools/networking/kea/dont-create-var.patch14
-rw-r--r--pkgs/tools/networking/logmein-hamachi/default.nix4
-rw-r--r--pkgs/tools/networking/maxscale/default.nix2
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/PppdPath.patch11
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix16
-rw-r--r--pkgs/tools/networking/network-manager/default.nix59
-rw-r--r--pkgs/tools/networking/network-manager/dmenu.nix2
-rw-r--r--pkgs/tools/networking/network-manager/fix-paths.patch69
-rw-r--r--pkgs/tools/networking/network-manager/fortisslvpn.nix2
-rw-r--r--pkgs/tools/networking/network-manager/modprobe.patch11
-rw-r--r--pkgs/tools/networking/network-manager/openconnect_helper_path.patch29
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/default.nix (renamed from pkgs/tools/networking/network-manager/openvpn.nix)6
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/fix-paths.patch34
-rw-r--r--pkgs/tools/networking/ngrok-1/default.nix2
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix2
-rw-r--r--pkgs/tools/networking/s3cmd/default.nix4
-rw-r--r--pkgs/tools/networking/s3gof3r/default.nix2
-rw-r--r--pkgs/tools/networking/s4cmd/default.nix35
-rw-r--r--pkgs/tools/networking/shadowsocks-libev/default.nix2
-rw-r--r--pkgs/tools/networking/skydive/default.nix2
-rw-r--r--pkgs/tools/networking/spoofer/default.nix40
-rw-r--r--pkgs/tools/networking/srelay/default.nix2
-rw-r--r--pkgs/tools/networking/subfinder/default.nix29
-rw-r--r--pkgs/tools/networking/subfinder/deps.nix48
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix2
-rw-r--r--pkgs/tools/networking/tcptraceroute/default.nix2
-rw-r--r--pkgs/tools/networking/tftp-hpa/default.nix2
-rw-r--r--pkgs/tools/networking/tinc/pre.nix2
-rw-r--r--pkgs/tools/networking/ua/default.nix2
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/networking/wicd/default.nix3
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix4
-rw-r--r--pkgs/tools/networking/zap/default.nix2
54 files changed, 854 insertions, 188 deletions
diff --git a/pkgs/tools/networking/airfield/default.nix b/pkgs/tools/networking/airfield/default.nix
index 93535e935dc8..6f6009c107ba 100644
--- a/pkgs/tools/networking/airfield/default.nix
+++ b/pkgs/tools/networking/airfield/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, callPackage, python, utillinux
+{ stdenv, fetchFromGitHub
 , pkgs, makeWrapper, buildEnv
 , nodejs
 }:
diff --git a/pkgs/tools/networking/argus/default.nix b/pkgs/tools/networking/argus/default.nix
index e5c2aace4006..8b9d1e3b704c 100644
--- a/pkgs/tools/networking/argus/default.nix
+++ b/pkgs/tools/networking/argus/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers,
-  pkgconfig, procps, which, wget, lsof, net_snmp, bash, perl }:
+  pkgconfig, procps, which, wget, lsof, net_snmp, perl }:
 
 stdenv.mkDerivation rec {
   pname = "argus";
diff --git a/pkgs/tools/networking/assh/default.nix b/pkgs/tools/networking/assh/default.nix
index 7af7a8f551d1..7904ffb0d04e 100644
--- a/pkgs/tools/networking/assh/default.nix
+++ b/pkgs/tools/networking/assh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, openssh, makeWrapper }:
+{ stdenv, buildGoPackage, fetchFromGitHub, openssh, makeWrapper }:
 
 buildGoPackage rec {
   name = "assh-${version}";
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
index 1d9e2e1677fd..e20d62d1f077 100644
--- a/pkgs/tools/networking/cmst/default.nix
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qmake, qtbase, libX11 }:
+{ stdenv, fetchFromGitHub, qmake, qtbase }:
 
 stdenv.mkDerivation rec {
   name = "cmst-${version}";
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
index f6e0608ca7f8..e960f8c3a848 100644
--- a/pkgs/tools/networking/connman/default.nix
+++ b/pkgs/tools/networking/connman/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, openconnect, file, gawk,
+{ stdenv, fetchurl, pkgconfig, openconnect, file, gawk,
   openvpn, vpnc, glib, dbus, iptables, gnutls, polkit,
   wpa_supplicant, readline6, pptp, ppp }:
 
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index ab293a869d05..2ebae0b0c17f 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -63,6 +63,10 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
+      # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback
+      # to nss-cacert from the default profile.
+      "--without-ca-bundle"
+      "--without-ca-path"
       "--with-ca-fallback"
       "--disable-manual"
       ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix
index 1038882573bc..ff4a24fb7810 100644
--- a/pkgs/tools/networking/dd-agent/default.nix
+++ b/pkgs/tools/networking/dd-agent/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pythonPackages
-, sysstat, unzip, makeWrapper }:
+, unzip, makeWrapper }:
 let
   inherit (pythonPackages) python;
   docker_1_10 = pythonPackages.buildPythonPackage rec {
diff --git a/pkgs/tools/networking/dhcpdump/default.nix b/pkgs/tools/networking/dhcpdump/default.nix
index 91232b4ffa74..af4b03ab700b 100644
--- a/pkgs/tools/networking/dhcpdump/default.nix
+++ b/pkgs/tools/networking/dhcpdump/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A tool for visualization of DHCP packets as recorded and output by tcpdump to analyze DHCP server responses";
-    homepage = http://packages.ubuntu.com/ru/lucid/dhcpdump;
+    homepage = https://packages.ubuntu.com/ru/lucid/dhcpdump;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix b/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix
index dc4e4b93b1dd..cdf9c778838f 100644
--- a/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix
@@ -14,7 +14,7 @@ buildGoPackage rec {
   };
 
   meta = with stdenv.lib; {
-    description = "A tool that provides secure DNS resolution.";
+    description = "A tool that provides secure DNS resolution";
 
     license = licenses.isc;
     homepage = https://dnscrypt.info/;
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 6205934084e8..9adb95d1d3fb 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, dbus_libs, nettle, libidn, libnetfilter_conntrack, fetchpatch }:
+{ stdenv, fetchurl, pkgconfig, dbus, nettle
+, libidn, libnetfilter_conntrack }:
 
 with stdenv.lib;
 let
@@ -11,23 +12,13 @@ let
   ]);
 in
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.78";
+  name = "dnsmasq-2.79";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz";
-    sha256 = "0ar5h5v3kas2qx2wgy5iqin15gc4jhqrqs067xacgc3lii1rz549";
+    sha256 = "07w6cw706yyahwvbvslhkrbjf2ynv567cgy9pal8bz8lrbsp9bbq";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2017-15107.patch";
-      url = "http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=patch;h=4fe6744a220eddd3f1749b40cac3dfc510787de6";
-      sha256 = "0r8grhh1q46z8v6manx1vvfpf2vmchfzsg7l1djh63b1fy1mbjkk";
-      # changelog does not apply cleanly but its safe to skip
-      excludes = [ "CHANGELOG" ];
-    })
-  ];
-
   preBuild = ''
     makeFlagsArray=("COPTS=${copts}")
   '';
@@ -72,7 +63,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ nettle libidn ]
-    ++ optionals stdenv.isLinux [ dbus_libs libnetfilter_conntrack ];
+    ++ optionals stdenv.isLinux [ dbus libnetfilter_conntrack ];
 
   meta = {
     description = "An integrated DNS, DHCP and TFTP server for small networks";
diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix
index 732051d8ec78..e440d35e8210 100644
--- a/pkgs/tools/networking/flannel/default.nix
+++ b/pkgs/tools/networking/flannel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 with lib;
 
diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix
index 7521a9a13bc2..dac3b616a9c8 100644
--- a/pkgs/tools/networking/http-prompt/default.nix
+++ b/pkgs/tools/networking/http-prompt/default.nix
@@ -2,14 +2,14 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "http-prompt";
-  version = "0.11.1";
+  version = "0.11.2";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     repo = "http-prompt";
     owner = "eliangcs";
-    sha256 = "0gi76wcn6lxkd74ljpbyhr7ylhq6sm8z7h66dnfmpsw4nhw49178";
+    sha256 = "130w3wkb5jbiwm5w0b470nd50gf30vrknmf3knhlgdxdmfb30zjz";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index e2049967e889..55abeb4f583d 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -27,10 +27,10 @@ let wrapper = stdenv.mkDerivation rec {
 in
 
 stdenv.mkDerivation rec {
-  name = "i2p-0.9.34";
+  name = "i2p-0.9.35";
   src = fetchurl {
     url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
-    sha256 = "1b3qw096b9i55izvrh2793sbg0ikvihfi6k15sz2pzmjn30hy37l";
+    sha256 = "02p76vn1777lgv4zs27r6i9s4yk7b2x61b25i8dqmn6j60y3fa4g";
   };
   buildInputs = [ jdk ant gettext which ];
   patches = [ ./i2p.patch ];
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index c7d7b5ec6dfd..12f68af7d0a6 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch
+{ stdenv, fetchFromGitHub
 , boost, zlib, openssl
 , upnpSupport ? true, miniupnpc ? null
 , aesniSupport ? false
diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix
index 9d588f6fa5e1..2bd76188a638 100644
--- a/pkgs/tools/networking/inadyn/default.nix
+++ b/pkgs/tools/networking/inadyn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
 , gnutls, libite, libconfuse }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/networking/ipv6calc/default.nix b/pkgs/tools/networking/ipv6calc/default.nix
index f28c75774db5..c66218c48986 100644
--- a/pkgs/tools/networking/ipv6calc/default.nix
+++ b/pkgs/tools/networking/ipv6calc/default.nix
@@ -1,6 +1,5 @@
 { stdenv, fetchurl, getopt, ip2location-c, openssl, perl
-, geoip ? null, geolite-legacy ? null
-, ip2location-database ? null }:
+, geoip ? null, geolite-legacy ? null }:
 
 stdenv.mkDerivation rec {
   name = "ipv6calc-${version}";
diff --git a/pkgs/tools/networking/kail/default.nix b/pkgs/tools/networking/kail/default.nix
new file mode 100644
index 000000000000..1444c398e20c
--- /dev/null
+++ b/pkgs/tools/networking/kail/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "kail-${version}";
+  version = "0.6.0";
+
+  goPackagePath = "github.com/boz/kail";
+
+  src = fetchFromGitHub {
+    owner = "boz";
+    repo = "kail";
+    rev = "v${version}";
+    sha256 = "17ybcncdjssil4bn3n2jp1asfcpl8vj560afb2mry9032qrryvx9";
+  };
+
+  # regenerate deps.nix using following steps:
+  #
+  # go get -u github.com/boz/kail
+  # cd $GOPATH/src/github.com/boz/kail
+  # git checkout <version>
+  # dep init
+  # dep2nix
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Kubernetes log viewer";
+    homepage = https://github.com/boz/kail;
+    license = licenses.mit;
+    maintainers = with maintainers; [ offline ];
+  };
+}
diff --git a/pkgs/tools/networking/kail/deps.nix b/pkgs/tools/networking/kail/deps.nix
new file mode 100644
index 000000000000..b7b4bfb38560
--- /dev/null
+++ b/pkgs/tools/networking/kail/deps.nix
@@ -0,0 +1,489 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/gocloud";
+      rev =  "06f11fffc537c4aef126d9fd3a92e2d7968f118f";
+      sha256 = "1zhr1pyzk44zb95r2bcs4kkngvmzdr5bac55315nnzl3adx4y4dn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/Azure/go-autorest";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev =  "f6be1abbb5abd0517522f850dd785990d373da7e";
+      sha256 = "1dgmvvp2lk5z2mc9f6wg5jgi2szgljy02k69lqbym8zqlph3h01n";
+    };
+  }
+  {
+    goPackagePath  = "github.com/PuerkitoBio/purell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/PuerkitoBio/purell";
+      rev =  "7cf257f0a33260797b0febf39f95fccd86aab2a3";
+      sha256 = "1j4dcv8ryqxwpmb6k12ilkgkjwa0viymygfa3ilvfw0149jh0syk";
+    };
+  }
+  {
+    goPackagePath  = "github.com/PuerkitoBio/urlesc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/PuerkitoBio/urlesc";
+      rev =  "de5bf2ad457846296e2031421a34e2568e304e35";
+      sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev =  "a0175ee3bccc567396460bf5acd36800cb10c49c";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath  = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev =  "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath  = "github.com/boz/go-lifecycle";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boz/go-lifecycle";
+      rev =  "c39961a5a0ce6b046f15d62bcbed79701666a9e0";
+      sha256 = "12xzjzgi0pspb28xrcmp4v33jij2bbg609z1kpq1pql9mxs6h31k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/boz/go-logutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boz/go-logutil";
+      rev =  "9d21a9e4757dbc497f947fe5253f9570c34562fa";
+      sha256 = "0rhhyvvz1lvjalv3hx4yvyh90jqfia27nzx9m54m0i7d0znrwpbj";
+    };
+  }
+  {
+    goPackagePath  = "github.com/boz/kcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boz/kcache";
+      rev =  "fb1338d323013e9456687dc080038aa0bb211783";
+      sha256 = "05y7j3sxpa9nhpq53af9ad42fvwx7l3cpjm69nminrlqjmjs63zd";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "adab96458c51a58dc1783b3335dcce5461522e75";
+      sha256 = "1y743w875aqqwggrh4lwlmqyx7ls5m1bnw5y4vr3zps4ib3gb4n5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev =  "a539ee1a749a2b895533f979515ac7e6e0f5b650";
+      sha256 = "1kxvm6zyawisl3w4pcycqjld4r0x6hqpfh9jwqsg5y9pi330n5z9";
+    };
+  }
+  {
+    goPackagePath  = "github.com/emicklei/go-restful";
+    fetch = {
+      type = "git";
+      url = "https://github.com/emicklei/go-restful";
+      rev =  "68c9750c36bb8cb433f1b88c807b4b30df4acc40";
+      sha256 = "0bc0wd5nipz1x078vpq82acyc7ip0qv1sddl451d7f7bvfms6h67";
+    };
+  }
+  {
+    goPackagePath  = "github.com/emicklei/go-restful-swagger12";
+    fetch = {
+      type = "git";
+      url = "https://github.com/emicklei/go-restful-swagger12";
+      rev =  "dcef7f55730566d41eae5db10e7d6981829720f6";
+      sha256 = "0zz1f6n1qfbyrp592mgyrkyfhki3r0ksic6ja9lxisg8br1ibrvq";
+    };
+  }
+  {
+    goPackagePath  = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev =  "67c513e5729f918f5e69786686770c27141a4490";
+      sha256 = "045i2y2h1a6ml7fm1b3if4692320kjgg3cpxn7chlmpq7z1bmrrn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/ghodss/yaml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ghodss/yaml";
+      rev =  "0ca9ea5df5451ffdf184b4428c902747c2c11cd7";
+      sha256 = "0skwmimpy7hlh7pva2slpcplnm912rp3igs98xnqmn859kwa5v8g";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-openapi/jsonpointer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-openapi/jsonpointer";
+      rev =  "779f45308c19820f1a69e9a4cd965f496e0da10f";
+      sha256 = "10vv0xsabkvv81xpqqq95fvxnlpf07x9zwzl41g8x2lx05ibxsnc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-openapi/jsonreference";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-openapi/jsonreference";
+      rev =  "36d33bfe519efae5632669801b180bf1a245da3b";
+      sha256 = "0d163wv3mj9cbhdqc9jqzw2kwi961lg4p30d8gcd6ddz0q752ykh";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-openapi/spec";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-openapi/spec";
+      rev =  "3faa0055dbbf2110abc1f3b4e3adbb22721e96e7";
+      sha256 = "1a3q073zaq5d10kzgba7a85l4g389r5qgbpwk4nkbawpdzm8svaz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-openapi/swag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-openapi/swag";
+      rev =  "f3f9494671f93fcff853e3c6e9e948b3eb71e590";
+      sha256 = "13lqn4xqy9vma9aqsjb0fzfzi0q8l6dmg65sjxqdxf3q6gzkvmjy";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev =  "1c2b16bc280d6635de6c52fc1471ab962dc36ec9";
+      sha256 = "0h9vkfy3ydz0d6x72853yg49r9k54cgjnlv6a7v12gzqw47p941i";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/glog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/glog";
+      rev =  "23def4e6c14b4da8ac2ed8007337bc5eb5007998";
+      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev =  "1909bc2f63dc92bb931deace8b8312c4db72d12f";
+      sha256 = "0d4pknkgp5qlbfpw8xp81dqgrfm0na1pfi2ll559nwvjz5vc90g5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/btree";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/btree";
+      rev =  "316fb6d3f031ae8f4d457c6c5186b9e3ded70435";
+      sha256 = "1fyj10cy2d37mpfk73hjfjwpsgpnmdzf2mrkkvzyx0d41sf46xfd";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/gofuzz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gofuzz";
+      rev =  "24818f796faf91cd76ec7bddd72458fbced7a6c1";
+      sha256 = "0cq90m2lgalrdfrwwyycrrmn785rgnxa3l3vp9yxkvnv88bymmlm";
+    };
+  }
+  {
+    goPackagePath  = "github.com/googleapis/gnostic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/gnostic";
+      rev =  "57b0290873708074edf87ad921eccec8bef5f8ec";
+      sha256 = "14raxxsx2bww4f0am0yygv64h950avkswm7bdvq6k4d4lry6dgg8";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gophercloud/gophercloud";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gophercloud/gophercloud";
+      rev =  "b4c2377fa77951a0e08163f52dc9b3e206355194";
+      sha256 = "00j9ny59zlf3ajwydf2k41n3l92kl2hf0ljx9x73jcfkdkn2xv5k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gregjones/httpcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gregjones/httpcache";
+      rev =  "c1f8028e62adb3d518b823a2f8e6a95c38bdd3aa";
+      sha256 = "1v7fb4ix2xg0plx5p1f7xd1srvimyss7v7ppn3j7py9ycl560qhr";
+    };
+  }
+  {
+    goPackagePath  = "github.com/howeyc/gopass";
+    fetch = {
+      type = "git";
+      url = "https://github.com/howeyc/gopass";
+      rev =  "bf9dde6d0d2c004a008c27aaee91170c786f6db8";
+      sha256 = "1jxzyfnqi0h1fzlsvlkn10bncic803bfhslyijcxk55mgh297g45";
+    };
+  }
+  {
+    goPackagePath  = "github.com/imdario/mergo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/imdario/mergo";
+      rev =  "e3000cb3d28c72b837601cac94debd91032d19fe";
+      sha256 = "1bsz1aj0h266x7g08jj7f3nd3d5islbad0cygb5vh37hjgzirg4d";
+    };
+  }
+  {
+    goPackagePath  = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev =  "abe3c4016bd3f50fa9c5b0e909641e2b8370b0cf";
+      sha256 = "18v04mxgssjw2wivrbrfm8v7k617szjjdndgink00pla03pga0cc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/juju/ratelimit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/ratelimit";
+      rev =  "5b9ff866471762aa2ab2dced63c9fb6f53921342";
+      sha256 = "12fsx3wqg49wisigbybdzic7gc2p5a0fk55714mpv7zq8jr6i46k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mailru/easyjson";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mailru/easyjson";
+      rev =  "2f5df55504ebc322e4d52d34df6a1f5b503bf26d";
+      sha256 = "0d9m8kyhbawa452vnwn255xxnh6pkp3im0d2310rw1k14nh3yh1p";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev =  "6df6d4d004b64986bbb0d1b25945f42b44787e90";
+      sha256 = "0ha2biq708is9i3hqc30vihcpajak3qawn0rnacb9k1gyxsxwb60";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev =  "fc9e8d8ef48496124e79ae0df75490096eccf6fe";
+      sha256 = "1r5f9gkavkb1w6sr0qs5kj16706xirl3qnlq3hqpszkw9w27x65a";
+    };
+  }
+  {
+    goPackagePath  = "github.com/petar/GoLLRB";
+    fetch = {
+      type = "git";
+      url = "https://github.com/petar/GoLLRB";
+      rev =  "53be0d36a84c2a886ca057d34b6aa4468df9ccb4";
+      sha256 = "01xp3lcamqkvl91jg6ly202gdsgf64j39rkrcqxi6v4pbrcv7hz0";
+    };
+  }
+  {
+    goPackagePath  = "github.com/peterbourgon/diskv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/peterbourgon/diskv";
+      rev =  "5f041e8faa004a95c88a202771f4cc3e991971e6";
+      sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "2b3a18b5f0fb6b4f9190549597d3f962c02bc5eb";
+      sha256 = "07fd392kqyaj7fnl4sgzy7fcs0sw4jx3mx2khhgk64n9j9i37l59";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev =  "181d419aa9e2223811b824e8f0b4af96f9ba9302";
+      sha256 = "08ff47w4clnkym3l0v4hhhfq21zvvwzpljvs0qvki5k0azv7siyc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev =  "e57e3eeb33f795204c1ca35f56c44f83227c6e66";
+      sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "2aa2c176b9dab406a6970f6a55f513e8a8c8b18f";
+      sha256 = "1j92x4291flz3i4pk6bi3y59nnsi6lj34zmyfp7axf68fd8vm5ml";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "b176d7def5d71bdd214203491f89843ed217f420";
+      sha256 = "1ayi4iagsxhf193rx93j6y2rb48730hgm2qbahiq9lawm5g3vc14";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "1c05540f6879653db88113bc4a2b70aec4bd491f";
+      sha256 = "0h8yqb0vcqgllgydrf9d3rzp83w8wlr8f0nm6r1rwf2qg30pq1pd";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev =  "9a379c6b3e95a790ffc43293c2a78dee0d7b6e20";
+      sha256 = "156wff8s9g3sxni2z80wky4v688pvdgfzxbpfp5rmqjvgqnifxkf";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "2d3e384235de683634e9080b58f757466840aa48";
+      sha256 = "1w8zrcjv4sfi3skchdbvbixgwzp5n1g0vny8r20dlapnqbazah0x";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev =  "b19bf474d317b857955b12035d2c5acb57ce8b01";
+      sha256 = "0wc8csaafp0ps9jb2hdk8d6xpyw1axhk1np73h0z17x09zk3ylcr";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev =  "d9a072cfa7b9736e44311ef77b3e09d804bfa599";
+      sha256 = "07x7s65q9pydpaniga6zf259kw7qs40q6554wb22inq423wcs0nb";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/kingpin";
+      rev =  "1087e65c9441605df944fb12c33f0fe7072d18ca";
+      sha256 = "18llqzkdqf62qbqcv2fd3j0igl6cwwn4dissf5skkvxrcxjcmmj0";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/inf.v0";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-inf/inf";
+      rev =  "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4";
+      sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "eb3733d160e74a9c7e442f435eb3bea458e1d19f";
+      sha256 = "1srhvcaa9db3a6xj29mkjr5kg33y71pclrlx4vcwz5m1lgb5c7q6";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/api";
+      rev =  "218912509d74a117d05a718bb926d0948e531c20";
+      sha256 = "076jca9c4rsg2kwjwv4kr6qgpbj4w1z0xprkxz5f5glxjnffdifk";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/apimachinery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/apimachinery";
+      rev =  "18a564baac720819100827c16fdebcadb05b2d0d";
+      sha256 = "0x6sxr79rmnjyk0m53n66xr58xb8mza716jdn9f0djjwd10d1p1i";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/client-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/client-go";
+      rev =  "82aa063804cf055e16e8911250f888bc216e8b61";
+      sha256 = "1l8dakfsawgxhiaqq0k9360gl13vr44sbjdxf7sbg3pl2csmi6pf";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/kube-openapi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/kube-openapi";
+      rev =  "abfc5fbe1cf87ee697db107fdfd24c32fe4397a8";
+      sha256 = "1hvrdbpf8w6jr533pa3cqws42plasl5vzcr8fj89gxdbhga6b10j";
+    };
+  }
+]
diff --git a/pkgs/tools/networking/kea/default.nix b/pkgs/tools/networking/kea/default.nix
index 67428664556a..f35ceeae8640 100644
--- a/pkgs/tools/networking/kea/default.nix
+++ b/pkgs/tools/networking/kea/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "kea";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/${pname}/${version}/${name}.tar.gz";
-    sha256 = "14f32lsdd1824cx9a4l4pfbhq1d4jik6l6hxd911ihi64nzwvpvf";
+    sha256 = "0a0inchisrjry59z14w4ha210q2ffl31gjbhp5dgrbap6swyry60";
   };
 
   patches = [ ./dont-create-var.patch ];
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--localstatedir=/var"
-    "--with-dhcp-pgsql=${postgresql}/bin/pg_config"
-    "--with-dhcp-mysql=${mysql.connector-c}/bin/mysql_config"
+    "--with-pgsql=${postgresql}/bin/pg_config"
+    "--with-mysql=${mysql.connector-c}/bin/mysql_config"
   ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/kea/dont-create-var.patch b/pkgs/tools/networking/kea/dont-create-var.patch
index 595942673c68..385113d160f6 100644
--- a/pkgs/tools/networking/kea/dont-create-var.patch
+++ b/pkgs/tools/networking/kea/dont-create-var.patch
@@ -1,8 +1,8 @@
 diff --git a/Makefile.am b/Makefile.am
-index 897be34..b146729 100644
+index 2c0733c..974bb5e 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -103,11 +103,6 @@ cppcheck:
+@@ -135,11 +135,6 @@ cppcheck:
  		--template '{file}:{line}: check_fail: {message} ({severity},{id})' \
  		src
  
@@ -15,14 +15,12 @@ index 897be34..b146729 100644
  EXTRA_DIST += tools/mk_cfgrpt.sh
  
 diff --git a/src/lib/dhcpsrv/Makefile.am b/src/lib/dhcpsrv/Makefile.am
-index 066b410..16d3135 100755
+index 564f623..7cea9f2 100644
 --- a/src/lib/dhcpsrv/Makefile.am
 +++ b/src/lib/dhcpsrv/Makefile.am
-@@ -210,7 +210,3 @@ EXTRA_DIST += database_backends.dox libdhcpsrv.dox
- # Specification file
- EXTRA_DIST += logging.spec
+@@ -352,5 +352,3 @@ libkea_dhcpsrv_parsers_include_HEADERS = \
+ 	parsers/simple_parser6.h
+ 
  
 -install-data-local:
 -	$(mkinstalldirs) $(DESTDIR)$(dhcp_data_dir)
--
--
diff --git a/pkgs/tools/networking/logmein-hamachi/default.nix b/pkgs/tools/networking/logmein-hamachi/default.nix
index 0b585d10316c..2e045ad8de91 100644
--- a/pkgs/tools/networking/logmein-hamachi/default.nix
+++ b/pkgs/tools/networking/logmein-hamachi/default.nix
@@ -9,14 +9,14 @@ let
     else throwSystem;
   throwSystem = throw "Unsupported system: ${stdenv.system}";
   sha256 =
-    if stdenv.system == "x86_64-linux" then "011xg1frhjavv6zj1y3da0yh7rl6v1ax6xy2g8fk3sry9bi2p4j3"
+    if stdenv.system == "x86_64-linux" then "11mxa4kls5xjj3462ycrfvfxb1xkk23p5m9iirvwsi0zdmhpnwm8"
     else if stdenv.system == "i686-linux" then "03ml9xv19km99f0z7fpr21b1zkxvw7q39kjzd8wpb2pds51wnc62"
     else throwSystem;
   libraries = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ];
 
 in stdenv.mkDerivation rec {
   name = "logmein-hamachi-${version}";
-  version = "2.1.0.174";
+  version = "2.1.0.198";
 
   src = fetchurl {
     url = "https://www.vpn.net/installers/${name}-${arch}.tgz";
diff --git a/pkgs/tools/networking/maxscale/default.nix b/pkgs/tools/networking/maxscale/default.nix
index 425e531419e4..a7648fd59c35 100644
--- a/pkgs/tools/networking/maxscale/default.nix
+++ b/pkgs/tools/networking/maxscale/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, gcc, glibc
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, glibc
 , bison2, curl, flex, gperftools, jansson, jemalloc, kerberos, lua, mariadb
 , ncurses, openssl, pcre, pcre2, perl, rabbitmq-c, sqlite, tcl
 , libaio, libedit, libtool, libui, libuuid, zlib
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index 07112d1497af..0c546ff91090 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, iptables, libuuid, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "miniupnpd-2.1";
+  name = "miniupnpd-2.1.20180706";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "1hg0zzvvzfgpnmngmd3ffnsk9x18lwlxlpw5jgh7y6b1jrvr824m";
+    sha256 = "01mhv3lgpj2shs3666zwlhvfiv1mpf4h9mv35g8gihyq8k82ybgw";
     name = "${name}.tar.gz";
   };
 
diff --git a/pkgs/tools/networking/network-manager/PppdPath.patch b/pkgs/tools/networking/network-manager/PppdPath.patch
deleted file mode 100644
index 4850d93716de..000000000000
--- a/pkgs/tools/networking/network-manager/PppdPath.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- NetworkManager-1.6.2.org/src/ppp/nm-ppp-manager.c	2017-02-15 13:10:27.000000000 +0100
-+++ NetworkManager-1.6.2/./src/ppp/nm-ppp-manager.c	2017-04-03 11:45:39.891653216 +0200
-@@ -724,7 +724,7 @@
- 
- 	g_return_val_if_fail (setting != NULL, NULL);
- 
--	pppd_binary = nm_utils_find_helper ("pppd", NULL, err);
-+	pppd_binary = nm_utils_find_helper ("pppd", PPPD_PATH, err);
- 	if (!pppd_binary)
- 		return NULL;
- 
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index ecd10a139766..98b9b0aef4d6 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
+{ stdenv, fetchurl, fetchpatch, meson, ninja, intltool, gtk-doc, pkgconfig, networkmanager, gnome3
 , libnotify, libsecret, polkit, isocodes, modemmanager, libxml2, docbook_xsl
 , mobile-broadband-provider-info, glib-networking, gsettings-desktop-schemas
 , libgudev, hicolor-icon-theme, jansson, wrapGAppsHook, webkitgtk, gobjectIntrospection
@@ -6,18 +6,25 @@
 
 let
   pname = "network-manager-applet";
-  version = "1.8.10";
+  version = "1.8.14";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1hy9ni2rwpy68h7jhn5lm2s1zm1vjchfy8lwj8fpm7xlx3x4pp0a";
+    sha256 = "1js0i2kwfklahsn77qgxzdscy33drrlym3mrj1qhlw0zf8ri56ya";
   };
 
+  patches = [
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/network-manager-applet/merge_requests/12.patch;
+      sha256 = "0q5qbjpbrfvhqsprnwjwz4c42nly59cgnbn41w2zlxvqf29gjvwk";
+    })
+  ];
+
   mesonFlags = [
     "-Dselinux=false"
-    "-Dappindicator=true"
+    "-Dappindicator=yes"
     "-Dgcr=${if withGnome then "true" else "false"}"
   ];
 
@@ -34,7 +41,6 @@ in stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [
     hicolor-icon-theme
-    gnome3.gnome-keyring  # See https://github.com/NixOS/nixpkgs/issues/38967
   ];
 
   NIX_CFLAGS = [
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 9a129f522134..62c9e7b63d16 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, intltool, pkgconfig, dbus-glib, gnome3
-, systemd, libgudev, libnl, libuuid, polkit, gnutls, ppp, dhcp, iptables
+{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, dbus-glib, gnome3
+, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables
 , libgcrypt, dnsmasq, bluez5, readline
 , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
-, ethtool, iputils, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
-, python3Packages, docbook_xsl, fetchpatch, openconnect, curl, autoreconfHook }:
+, ethtool, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
+, python3Packages, docbook_xsl, openconnect, curl, autoreconfHook }:
 
 let
-  pname   = "NetworkManager";
-  version = "1.10.6";
+  pname = "NetworkManager";
 in stdenv.mkDerivation rec {
-  name    = "network-manager-${version}";
+  name = "network-manager-${version}";
+  version = "1.12.0";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xmc3x41dbcaxjm85wfv405xq1a1n3xw8m8zg645ywm3avlb3w3a";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "15bzjkrfa7sw5p5hkdha4a67y1zfnzh1s6za11sh8s1yxmyvkziq";
   };
 
   outputs = [ "out" "dev" ];
@@ -25,11 +25,6 @@ in stdenv.mkDerivation rec {
   preConfigure = ''
     substituteInPlace configure --replace /usr/bin/uname ${coreutils}/bin/uname
     substituteInPlace configure --replace /usr/bin/file ${file}/bin/file
-    substituteInPlace src/devices/nm-device.c \
-       --replace /usr/bin/ping ${inetutils}/bin/ping \
-       --replace /usr/bin/ping6 ${inetutils}/bin/ping
-    substituteInPlace src/devices/nm-arping-manager.c \
-       --replace '("arping", NULL, NULL);' '("arping", "${iputils}/bin/arping", NULL);'
     substituteInPlace data/84-nm-drivers.rules \
       --replace /bin/sh ${stdenv.shell}
     substituteInPlace data/85-nm-unmanaged.rules \
@@ -38,10 +33,6 @@ in stdenv.mkDerivation rec {
       --replace /bin/sed ${gnused}/bin/sed
     substituteInPlace data/NetworkManager.service.in \
       --replace /bin/kill ${coreutils}/bin/kill
-    substituteInPlace clients/common/nm-vpn-helpers.c \
-      --subst-var-by openconnect ${openconnect}
-    substituteInPlace src/nm-core-utils.c \
-      --subst-var-by modprobeBinPath ${kmod}/bin/modprobe
     # to enable link-local connections
     configureFlags="$configureFlags --with-udev-dir=$out/lib/udev"
 
@@ -70,16 +61,32 @@ in stdenv.mkDerivation rec {
     "--with-modem-manager-1"
     "--with-nmtui"
     "--disable-gtk-doc"
+    "--with-libnm-glib" # legacy library, TODO: remove
+    "--disable-tests"
   ];
 
   patches = [
-    ./PppdPath.patch
-    ./openconnect_helper_path.patch
-    ./modprobe.patch
+    # https://bugzilla.gnome.org/show_bug.cgi?id=796752
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=372955;
+      sha256 = "17rl19lprnsz4wjmp54c1qw6a3pf8x97bhd69xavwy7cx6z84b3n";
+    })
+    # https://bugzilla.gnome.org/show_bug.cgi?id=796751
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=372953;
+      sha256 = "1crjplyiiipkhjjlifrv6hhvxinlcxd6irp9ijbc7jij31g44i0a";
+    })
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit inetutils kmod openconnect;
+    })
+
   ];
 
-  buildInputs = [ systemd libgudev libnl libuuid polkit ppp libndp curl
-                  bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup jansson ];
+  buildInputs = [
+    systemd libuuid polkit ppp libndp curl
+    bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup jansson
+  ];
 
   propagatedBuildInputs = [ dbus-glib gnutls libgcrypt python3Packages.pygobject3 ];
 
@@ -114,10 +121,10 @@ in stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage    = https://wiki.gnome.org/Projects/NetworkManager;
+    homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "Network configuration and management tool";
-    license     = licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ phreedom rickynils domenkozar obadz ];
-    platforms   = platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/dmenu.nix b/pkgs/tools/networking/network-manager/dmenu.nix
index 82810e714d52..93827eebb571 100644
--- a/pkgs/tools/networking/network-manager/dmenu.nix
+++ b/pkgs/tools/networking/network-manager/dmenu.nix
@@ -1,5 +1,5 @@
 { stdenv, glib, fetchFromGitHub, networkmanager, python3Packages
-, gobjectIntrospection, dmenu }:
+, gobjectIntrospection }:
 
 let inherit (python3Packages) python pygobject3;
 in stdenv.mkDerivation rec {
diff --git a/pkgs/tools/networking/network-manager/fix-paths.patch b/pkgs/tools/networking/network-manager/fix-paths.patch
index b735da28dca1..5deaa2026d0f 100644
--- a/pkgs/tools/networking/network-manager/fix-paths.patch
+++ b/pkgs/tools/networking/network-manager/fix-paths.patch
@@ -1,34 +1,41 @@
---- a/properties/nm-openvpn-editor.c
-+++ b/properties/nm-openvpn-editor.c
-@@ -775,8 +775,7 @@
- nm_find_openvpn (void)
- {
- 	static const char *openvpn_binary_paths[] = {
--		"/usr/sbin/openvpn",
--		"/sbin/openvpn",
-+		"@openvpn@/bin/openvpn",
- 		NULL
- 	};
- 	const char  **openvpn_binary = openvpn_binary_paths;
---- a/src/nm-openvpn-service.c
-+++ b/src/nm-openvpn-service.c
-@@ -522,9 +522,7 @@
- openvpn_binary_find_exepath (void)
- {
- 	static const char *paths[] = {
--		"/usr/sbin/openvpn",
--		"/sbin/openvpn",
--		"/usr/local/sbin/openvpn",
-+		"@openvpn@/bin/openvpn",
- 	};
- 	int i;
+--- a/clients/common/nm-vpn-helpers.c
++++ b/clients/common/nm-vpn-helpers.c
+@@ -205,7 +205,7 @@
+ 	char *argv[4];
+ 	const char *path;
  
-@@ -2326,7 +2324,7 @@
- 	_LOGD ("nm-openvpn-service (version " DIST_VERSION ") starting...");
+-	path = nm_utils_find_helper ("openconnect", "/usr/sbin/openconnect", error);
++	path = "@openconnect@/bin/openconnect";
+ 	if (!path)
+ 		return FALSE;
  
- 	if (   !g_file_test ("/sys/class/misc/tun", G_FILE_TEST_EXISTS)
--	    && (system ("/sbin/modprobe tun") == -1))
-+	    && (system ("@kmod@/bin/modprobe tun") == -1))
- 		return EXIT_FAILURE;
+--- a/src/devices/nm-device.c
++++ b/src/devices/nm-device.c
+@@ -11828,14 +11828,14 @@
+ 			gw = nm_ip4_config_best_default_route_get (priv->ip_config_4);
+ 			if (gw) {
+ 				nm_utils_inet4_ntop (NMP_OBJECT_CAST_IP4_ROUTE (gw)->gateway, buf);
+-				ping_binary = nm_utils_find_helper ("ping", "/usr/bin/ping", NULL);
++				ping_binary = "@inetutils@/bin/ping";
+ 				log_domain = LOGD_IP4;
+ 			}
+ 		} else if (priv->ip_config_6 && priv->ip6_state == IP_DONE) {
+ 			gw = nm_ip6_config_best_default_route_get (priv->ip_config_6);
+ 			if (gw) {
+ 				nm_utils_inet6_ntop (&NMP_OBJECT_CAST_IP6_ROUTE (gw)->gateway, buf);
+-				ping_binary = nm_utils_find_helper ("ping6", "/usr/bin/ping6", NULL);
++				ping_binary = "@inetutils@/bin/ping";
+ 				log_domain = LOGD_IP6;
+ 			}
+ 		}
+--- a/src/nm-core-utils.c
++++ b/src/nm-core-utils.c
+@@ -428,7 +428,7 @@
  
- 	plugin = nm_openvpn_plugin_new (bus_name);
+ 	/* construct the argument list */
+ 	argv = g_ptr_array_sized_new (4);
+-	g_ptr_array_add (argv, "/sbin/modprobe");
++	g_ptr_array_add (argv, "@kmod@/bin/modprobe");
+ 	g_ptr_array_add (argv, (char *) arg1);
+ 
+ 	va_start (ap, arg1);
diff --git a/pkgs/tools/networking/network-manager/fortisslvpn.nix b/pkgs/tools/networking/network-manager/fortisslvpn.nix
index 73aaea06c917..54046a23b7df 100644
--- a/pkgs/tools/networking/network-manager/fortisslvpn.nix
+++ b/pkgs/tools/networking/network-manager/fortisslvpn.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, openfortivpn, automake, autoconf, libtool, intltool, pkgconfig,
-networkmanager, ppp, lib, libsecret, withGnome ? true, gnome3, procps, kmod }:
+networkmanager, ppp, libsecret, withGnome ? true, gnome3 }:
 
 let
   pname   = "NetworkManager-fortisslvpn";
diff --git a/pkgs/tools/networking/network-manager/modprobe.patch b/pkgs/tools/networking/network-manager/modprobe.patch
deleted file mode 100644
index 487c70b0165c..000000000000
--- a/pkgs/tools/networking/network-manager/modprobe.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/nm-core-utils.c	2017-02-15 13:10:27.000000000 +0100
-+++ b/src/nm-core-utils.c	2017-07-06 14:28:41.575815695 +0200
-@@ -419,7 +419,7 @@
- 
- 	/* construct the argument list */
- 	argv = g_ptr_array_sized_new (4);
--	g_ptr_array_add (argv, "/sbin/modprobe");
-+	g_ptr_array_add (argv, "@modprobeBinPath@");
- 	g_ptr_array_add (argv, (char *) arg1);
- 
- 	va_start (ap, arg1);
diff --git a/pkgs/tools/networking/network-manager/openconnect_helper_path.patch b/pkgs/tools/networking/network-manager/openconnect_helper_path.patch
deleted file mode 100644
index 597fb753e268..000000000000
--- a/pkgs/tools/networking/network-manager/openconnect_helper_path.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/clients/common/nm-vpn-helpers.c b/clients/common/nm-vpn-helpers.c
-index 15611c45c..4a7444d3a 100644
---- a/clients/common/nm-vpn-helpers.c
-+++ b/clients/common/nm-vpn-helpers.c
-@@ -203,23 +203,8 @@ nm_vpn_openconnect_authenticate_helper (const char *host,
- 	gboolean ret;
- 	char **strv = NULL, **iter;
- 	char *argv[4];
--	const char *path;
--	const char *const DEFAULT_PATHS[] = {
--		"/sbin/",
--		"/usr/sbin/",
--		"/usr/local/sbin/",
--		"/bin/",
--		"/usr/bin/",
--		"/usr/local/bin/",
--		NULL,
--	};
--
--	path = nm_utils_file_search_in_paths ("openconnect", "/usr/sbin/openconnect", DEFAULT_PATHS,
--	                                      G_FILE_TEST_IS_EXECUTABLE, NULL, NULL, error);
--	if (!path)
--		return FALSE;
- 
--	argv[0] = (char *) path;
-+	argv[0] = "@openconnect@/bin/openconnect";
- 	argv[1] = "--authenticate";
- 	argv[2] = (char *) host;
- 	argv[3] = NULL;
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix
index b1ee3da1b058..28b7c873d364 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkgconfig, networkmanager, libsecret
-, withGnome ? true, gnome3, procps, kmod }:
+, withGnome ? true, gnome3, kmod }:
 
 let
   pname   = "NetworkManager-openvpn";
-  version = "1.8.2";
+  version = "1.8.4";
 in stdenv.mkDerivation rec {
   name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0p9pjk81h1j1dk9jkkvvk17cq21wyq5kfa4j49fmx9b9yg8syqc8";
+    sha256 = "0gyrv46h9k17qym48qacq4zpxbap6hi17shn921824zm98m2bdvr";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/network-manager/openvpn/fix-paths.patch b/pkgs/tools/networking/network-manager/openvpn/fix-paths.patch
new file mode 100644
index 000000000000..b735da28dca1
--- /dev/null
+++ b/pkgs/tools/networking/network-manager/openvpn/fix-paths.patch
@@ -0,0 +1,34 @@
+--- a/properties/nm-openvpn-editor.c
++++ b/properties/nm-openvpn-editor.c
+@@ -775,8 +775,7 @@
+ nm_find_openvpn (void)
+ {
+ 	static const char *openvpn_binary_paths[] = {
+-		"/usr/sbin/openvpn",
+-		"/sbin/openvpn",
++		"@openvpn@/bin/openvpn",
+ 		NULL
+ 	};
+ 	const char  **openvpn_binary = openvpn_binary_paths;
+--- a/src/nm-openvpn-service.c
++++ b/src/nm-openvpn-service.c
+@@ -522,9 +522,7 @@
+ openvpn_binary_find_exepath (void)
+ {
+ 	static const char *paths[] = {
+-		"/usr/sbin/openvpn",
+-		"/sbin/openvpn",
+-		"/usr/local/sbin/openvpn",
++		"@openvpn@/bin/openvpn",
+ 	};
+ 	int i;
+ 
+@@ -2326,7 +2324,7 @@
+ 	_LOGD ("nm-openvpn-service (version " DIST_VERSION ") starting...");
+ 
+ 	if (   !g_file_test ("/sys/class/misc/tun", G_FILE_TEST_EXISTS)
+-	    && (system ("/sbin/modprobe tun") == -1))
++	    && (system ("@kmod@/bin/modprobe tun") == -1))
+ 		return EXIT_FAILURE;
+ 
+ 	plugin = nm_openvpn_plugin_new (bus_name);
diff --git a/pkgs/tools/networking/ngrok-1/default.nix b/pkgs/tools/networking/ngrok-1/default.nix
index e354ad223b8c..26bcc8f803f1 100644
--- a/pkgs/tools/networking/ngrok-1/default.nix
+++ b/pkgs/tools/networking/ngrok-1/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, pkgconfig, buildGoPackage, go-bindata, fetchFromGitHub }:
+{ buildGoPackage, go-bindata, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "ngrok-${version}";
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index c7d153186986..647b7ed26da9 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pythonPackages,
-  asciidoc, libxml2, libxslt, docbook_xml_xslt }:
+  asciidoc, libxml2, libxslt, docbook_xsl }:
 
 pythonPackages.buildPythonApplication rec {
   version = "7.2.1";
@@ -20,7 +20,7 @@ pythonPackages.buildPythonApplication rec {
 
   doCheck = false;
 
-  nativeBuildInputs = [ asciidoc libxml2 libxslt docbook_xml_xslt ];
+  nativeBuildInputs = [ asciidoc libxml2 libxslt docbook_xsl ];
   propagatedBuildInputs = [ pythonPackages.six pythonPackages.kerberos ];
 
   postInstall = ''
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 46c0ee0f2768..04a77176682d 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, zlib, openssl, perl, libedit, pkgconfig, pam, autoreconfHook
+{ stdenv, fetchurl, fetchpatch, zlib, openssl, libedit, pkgconfig, pam, autoreconfHook
 , etcDir ? null
 , hpnSupport ? false
 , withKerberos ? true
diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix
index c3d60d8e87b9..e74a3554dc29 100644
--- a/pkgs/tools/networking/s3cmd/default.nix
+++ b/pkgs/tools/networking/s3cmd/default.nix
@@ -2,13 +2,13 @@
 
 python2Packages.buildPythonApplication rec {
   name = "s3cmd-${version}";
-  version = "2.0.1";
+  version = "2.0.2";
   
   src = fetchFromGitHub {
     owner  = "s3tools";
     repo   = "s3cmd";
     rev    = "v${version}";
-    sha256 = "198hzzplci57sb8hdan30nbakslawmijfw0j71wjvq85n3xn6qsl";
+    sha256 = "0ninw830309cxga99gjnfghpkywf9kd6yz4wqsq85zni1dv39cdk";
   };
 
   propagatedBuildInputs = with python2Packages; [ python_magic dateutil ];
diff --git a/pkgs/tools/networking/s3gof3r/default.nix b/pkgs/tools/networking/s3gof3r/default.nix
index a13d6599ffb0..3814af60112e 100644
--- a/pkgs/tools/networking/s3gof3r/default.nix
+++ b/pkgs/tools/networking/s3gof3r/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchgit }:
 
 buildGoPackage rec {
   name = "s3gof3r-${version}";
diff --git a/pkgs/tools/networking/s4cmd/default.nix b/pkgs/tools/networking/s4cmd/default.nix
new file mode 100644
index 000000000000..20f129357dff
--- /dev/null
+++ b/pkgs/tools/networking/s4cmd/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "s4cmd";
+  version = "2.0.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "14gfpnj4xa1sq3x3zd29drpzsygn998y32szwm069ma0w9jwjjz6";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ boto3 pytz ];
+
+  # The upstream package tries to install some bash shell completion scripts in /etc.
+  # Setuptools is bugged and doesn't handle --prefix properly: https://github.com/pypa/setuptools/issues/130
+  patchPhase = ''
+    sed -i '/ data_files=/d' setup.py
+    sed -i 's|os.chmod("/etc.*|pass|' setup.py
+  '';
+
+  # Replace upstream's s4cmd wrapper script with the built-in Nix wrapper
+  postInstall = ''
+    ln -fs $out/bin/s4cmd.py $out/bin/s4cmd
+  '';
+
+  # Test suite requires an S3 bucket
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/bloomreach/s4cmd;
+    description = "Super S3 command line tool";
+    license = licenses.asl20;
+    maintainers = [ maintainers.bhipple ];
+  };
+}
diff --git a/pkgs/tools/networking/shadowsocks-libev/default.nix b/pkgs/tools/networking/shadowsocks-libev/default.nix
index d2e8a9a30519..09fa69dd37c4 100644
--- a/pkgs/tools/networking/shadowsocks-libev/default.nix
+++ b/pkgs/tools/networking/shadowsocks-libev/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchgit, cmake
+{ stdenv, fetchgit, cmake
 , libsodium, mbedtls, libev, c-ares, pcre
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt
 }:
diff --git a/pkgs/tools/networking/skydive/default.nix b/pkgs/tools/networking/skydive/default.nix
index ce2a8cf6a7f3..e72147937445 100644
--- a/pkgs/tools/networking/skydive/default.nix
+++ b/pkgs/tools/networking/skydive/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, perl
+{ lib, buildGoPackage, fetchFromGitHub, perl
 , go-bindata, libxml2, protobuf3_1, libpcap, pkgconfig, go-protobuf }:
 
 buildGoPackage rec {
diff --git a/pkgs/tools/networking/spoofer/default.nix b/pkgs/tools/networking/spoofer/default.nix
new file mode 100644
index 000000000000..acda30dbfef8
--- /dev/null
+++ b/pkgs/tools/networking/spoofer/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, pkgconfig, protobuf, openssl, libpcap, traceroute
+, withGUI ? false, qt5 }:
+
+let inherit (stdenv.lib) optional;
+in
+
+stdenv.mkDerivation rec {
+  pname = "spoofer";
+  version = "1.3.2";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://www.caida.org/projects/spoofer/downloads/${name}.tar.gz";
+    sha256 = "05297dyyq8bdpbr3zz974l7vm766lq1bsxvzp5pa4jfpvnj7cl1g";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ openssl protobuf libpcap traceroute ]
+                ++ optional withGUI qt5.qtbase ;
+
+  meta = with stdenv.lib; {
+    homepage = https://www.caida.org/projects/spoofer;
+    description = "Assess and report on deployment of source address validation";
+    longDescription = ''
+      Spoofer is a new client-server system for Windows, MacOS, and
+      UNIX-like systems that periodically tests a network's ability to
+      both send and receive packets with forged source IP addresses
+      (spoofed packets). This can be used to produce reports and
+      visualizations to inform operators, response teams, and policy
+      analysts. The system measures different types of forged
+      addresses, including private and neighboring addresses.  The
+      test results allows to analyze characteristics of networks
+      deploying source address validation (e.g., network location,
+      business type).
+    '';
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ leenaars];
+  };
+}
diff --git a/pkgs/tools/networking/srelay/default.nix b/pkgs/tools/networking/srelay/default.nix
index a3f08cb5a077..7d3f773b1930 100644
--- a/pkgs/tools/networking/srelay/default.nix
+++ b/pkgs/tools/networking/srelay/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "srelay-0.4.8";
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
new file mode 100644
index 000000000000..2a4cf3506df8
--- /dev/null
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "subfinder-git-${version}";
+  version = "2018-07-15";
+
+  goPackagePath = "github.com/subfinder/subfinder";
+
+  src = fetchFromGitHub {
+    owner = "subfinder";
+    repo = "subfinder";
+    rev = "26596affed961c535676395f443acc5af95ac9e6";
+    sha256 = "0m842jyrwlg4kaja1m3kca07jf20fxva0frg66b13zpsm8hdp10q";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    description = "Subdomain discovery tool";
+    longDescription = ''
+      SubFinder is a subdomain discovery tool that discovers valid
+      subdomains for websites. Designed as a passive framework to be
+      useful for bug bounties and safe for penetration testing.
+    '';
+    homepage = https://github.com/subfinder/subfinder;
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/tools/networking/subfinder/deps.nix b/pkgs/tools/networking/subfinder/deps.nix
new file mode 100644
index 000000000000..34095c814284
--- /dev/null
+++ b/pkgs/tools/networking/subfinder/deps.nix
@@ -0,0 +1,48 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/bogdanovich/dns_resolver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bogdanovich/dns_resolver";
+      rev =  "a8e42bc6a5b6c9a93be01ca204be7e17f7ba4cd2";
+      sha256 = "0l1hgxxqafappw0y18sbkkk2vijclvf1b8x73b0nhi4r74wyib49";
+    };
+  }
+  {
+    goPackagePath  = "github.com/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev =  "3e6e47bc11bc7f93f9e2f1c7bd6481ba4802808b";
+      sha256 = "1vmsnv6r799z5lz5g9l2dh065m9003yfjb18w8n6c053hp8jvrfm";
+    };
+  }
+  {
+    goPackagePath  = "github.com/subfinder/urlx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/subfinder/urlx";
+      rev =  "8e731c8be06edbae81cab15937cd3c291c2a7680";
+      sha256 = "11vrx1c0mq1h6lwpsvibd3386wy4kirzmmm8ibrlx2gj0h6pkkcb";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "a49355c7e3f8fe157a85be2f77e6e269a0f89602";
+      sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "d0887baf81f4598189d4e12a37c6da86f0bba4d0";
+      sha256 = "00dmz9a5d3myyb0256b33vf1bk8wv1khhh88kcvbmqsfd6x1n6p5";
+    };
+  }
+]
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index 59cc89ac5727..8b4850a6347c 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, libpcap }:
+{ stdenv, fetchurl, libpcap }:
 
 stdenv.mkDerivation rec {
   name = "tcpdump-${version}";
diff --git a/pkgs/tools/networking/tcptraceroute/default.nix b/pkgs/tools/networking/tcptraceroute/default.nix
index 9e13cfc59c1c..cfb627e8b3b9 100644
--- a/pkgs/tools/networking/tcptraceroute/default.nix
+++ b/pkgs/tools/networking/tcptraceroute/default.nix
@@ -1,4 +1,4 @@
-{ stdenv , pkgs , fetchurl, libpcap, libnet
+{ stdenv  , fetchurl, libpcap, libnet
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/networking/tftp-hpa/default.nix b/pkgs/tools/networking/tftp-hpa/default.nix
index b9abba2cd0da..bc97d5d8d6e4 100644
--- a/pkgs/tools/networking/tftp-hpa/default.nix
+++ b/pkgs/tools/networking/tftp-hpa/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, tcp_wrappers }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "tftp-hpa-${version}";
diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix
index db4b6a2281d4..09c737c048ae 100644
--- a/pkgs/tools/networking/tinc/pre.nix
+++ b/pkgs/tools/networking/tinc/pre.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, fetchpatch, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }:
+{ stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }:
 
 stdenv.mkDerivation rec {
   name = "tinc-${version}";
diff --git a/pkgs/tools/networking/ua/default.nix b/pkgs/tools/networking/ua/default.nix
index 5fe69ede1a7d..ea40a541a224 100644
--- a/pkgs/tools/networking/ua/default.nix
+++ b/pkgs/tools/networking/ua/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn
+{ stdenv, buildGoPackage, fetchgit
 , pkgconfig
 , glib, libxml2
 }:
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index e644578b6642..b11d149da889 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.3.1";
+  version = "5.3.2";
   name = "whois-${version}";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "1xqvcsh70590bwmy37kwlwyl0rvnlqx987km3mnij93q4kvabg5n";
+    sha256 = "1sd6jl349kz3bjwm8rx9kihxyd3d35cac4swla843vwzdpczsk5f";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/pkgs/tools/networking/wicd/default.nix b/pkgs/tools/networking/wicd/default.nix
index fe315666a2ea..9f67dd4e2c30 100644
--- a/pkgs/tools/networking/wicd/default.nix
+++ b/pkgs/tools/networking/wicd/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, python2Packages
 , wpa_supplicant, dhcp, dhcpcd, wirelesstools
-, nettools, openresolv, iproute, iputils
-, locale ? "C" }:
+, nettools, openresolv, iproute, iputils }:
 
 let
   inherit (python2Packages) python pygobject2 dbus-python pyGtkGlade pycairo;
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index 4d4a9446b455..24a19b8de9db 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.20180625";
+  version = "0.0.20180708";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "1z7iibydj59nzx0jcxabb9k7b6djjz6yi032n66mqr98dh4dlkb7";
+    sha256 = "04c3vynr7rfmnnw7gccbap9xcfi89ma09lq66c4bzjzxny1n2wdz";
   };
 
   sourceRoot = "source/src/tools";
diff --git a/pkgs/tools/networking/zap/default.nix b/pkgs/tools/networking/zap/default.nix
index 263a44615305..7dc0e07f9451 100644
--- a/pkgs/tools/networking/zap/default.nix
+++ b/pkgs/tools/networking/zap/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, jre, jdk, ant }:
+{ stdenv, fetchFromGitHub, jdk, ant }:
 
 stdenv.mkDerivation rec {
   name = "zap-${version}";