summary refs log tree commit diff
path: root/pkgs/tools/networking
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2018-07-14 18:12:49 +0200
committerVladimír Čunát <vcunat@gmail.com>2018-07-14 18:15:30 +0200
commit0f01215203e3886d1a57ced4cd49b54475c66f85 (patch)
tree3cca5bbb2d7f79724f211d476d6a3e14d0ddf92d /pkgs/tools/networking
parent4bd4e3ef5c13c97ad829d18d8fe99dd753b33da5 (diff)
parent6d0578934fb076050b3dcc1b924a90b275f3b27c (diff)
downloadnixlib-0f01215203e3886d1a57ced4cd49b54475c66f85.tar
nixlib-0f01215203e3886d1a57ced4cd49b54475c66f85.tar.gz
nixlib-0f01215203e3886d1a57ced4cd49b54475c66f85.tar.bz2
nixlib-0f01215203e3886d1a57ced4cd49b54475c66f85.tar.lz
nixlib-0f01215203e3886d1a57ced4cd49b54475c66f85.tar.xz
nixlib-0f01215203e3886d1a57ced4cd49b54475c66f85.tar.zst
nixlib-0f01215203e3886d1a57ced4cd49b54475c66f85.zip
Merge branch 'master' into staging-next
Hydra: ?compare=1468896
Diffstat (limited to 'pkgs/tools/networking')
-rw-r--r--pkgs/tools/networking/chrony/default.nix4
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/1.x/default.nix (renamed from pkgs/tools/networking/dnscrypt-proxy/default.nix)0
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix24
-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/iperf/3.nix4
-rw-r--r--pkgs/tools/networking/kail/default.nix31
-rw-r--r--pkgs/tools/networking/kail/deps.nix489
-rw-r--r--pkgs/tools/networking/logmein-hamachi/default.nix4
-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.nix57
-rw-r--r--pkgs/tools/networking/network-manager/fix-paths.patch69
-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)4
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/fix-paths.patch34
-rw-r--r--pkgs/tools/networking/ntp/default.nix6
-rw-r--r--pkgs/tools/networking/nyx/default.nix25
-rw-r--r--pkgs/tools/networking/spoofer/default.nix40
-rw-r--r--pkgs/tools/networking/telepresence/default.nix36
-rw-r--r--pkgs/tools/networking/unbound/python.nix4
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix4
-rw-r--r--pkgs/tools/networking/xl2tpd/default.nix4
25 files changed, 775 insertions, 143 deletions
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index 27f5ca2c7dd1..2db26985dcf9 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libcap, readline, texinfo, nss, nspr
-, libseccomp }:
+, libseccomp, pps-tools }:
 
 assert stdenv.isLinux -> libcap != null;
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ readline texinfo nss nspr ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ libcap libseccomp ];
+    ++ stdenv.lib.optionals stdenv.isLinux [ libcap libseccomp pps-tools ];
   nativeBuildInputs = [ pkgconfig ];
 
   hardeningEnable = [ "pie" ];
diff --git a/pkgs/tools/networking/dnscrypt-proxy/default.nix b/pkgs/tools/networking/dnscrypt-proxy/1.x/default.nix
index 6120b821bf41..6120b821bf41 100644
--- a/pkgs/tools/networking/dnscrypt-proxy/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy/1.x/default.nix
diff --git a/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix b/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix
new file mode 100644
index 000000000000..cdf9c778838f
--- /dev/null
+++ b/pkgs/tools/networking/dnscrypt-proxy/2.x/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "dnscrypt-proxy2-${version}";
+  version = "2.0.15";
+
+  goPackagePath = "github.com/jedisct1/dnscrypt-proxy";
+
+  src = fetchFromGitHub {
+    owner = "jedisct1";
+    repo = "dnscrypt-proxy";
+    rev = "${version}";
+    sha256 = "0iwvndk1h550zmwhwablb0smv9n2l51hqbmzj354mcgi6frnx819";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A tool that provides secure DNS resolution";
+
+    license = licenses.isc;
+    homepage = https://dnscrypt.info/;
+    maintainers = with maintainers; [ waynr ];
+    platforms = with platforms; unix;
+  };
+}
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/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index ed6ca57f3da8..86ee7578bb67 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "iperf-3.5";
+  name = "iperf-3.6";
 
   src = fetchurl {
     url = "https://downloads.es.net/pub/iperf/${name}.tar.gz";
-    sha256 = "1m9cyycv70s8nlbgr1lqwr155ixk17np0nzqgwaw3f51vkndk6sk";
+    sha256 = "0vllfmyqiy6nxgbagsx1zrs4pmfawyalzm5l1xcwqq64dpj52pfy";
   };
 
   buildInputs = [ openssl ];
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/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/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..85c285fd3ece 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 }:
+, 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/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/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..2eef7f31ab55 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -3,13 +3,13 @@
 
 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/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix
index 6e566d3c4739..467b17e468a2 100644
--- a/pkgs/tools/networking/ntp/default.nix
+++ b/pkgs/tools/networking/ntp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, openssl, perl, libcap ? null, libseccomp ? null }:
+{ stdenv, lib, fetchurl, openssl, perl, libcap ? null, libseccomp ? null, pps-tools }:
 
 assert stdenv.isLinux -> libcap != null;
 assert stdenv.isLinux -> libseccomp != null;
@@ -28,7 +28,9 @@ stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional stdenv.isLinux "--enable-linuxcaps"
     ++ stdenv.lib.optional withSeccomp "--enable-libseccomp";
 
-  buildInputs = [ libcap openssl perl ] ++ lib.optional withSeccomp libseccomp;
+  buildInputs = [ libcap openssl perl ]
+    ++ lib.optional withSeccomp libseccomp
+    ++ lib.optional stdenv.isLinux pps-tools;
 
   hardeningEnable = [ "pie" ];
 
diff --git a/pkgs/tools/networking/nyx/default.nix b/pkgs/tools/networking/nyx/default.nix
new file mode 100644
index 000000000000..3476e56993bf
--- /dev/null
+++ b/pkgs/tools/networking/nyx/default.nix
@@ -0,0 +1,25 @@
+{ lib, pythonPackages }:
+
+with pythonPackages;
+
+buildPythonApplication rec {
+  pname = "nyx";
+  version = "2.0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pm7vfcqr02pzqz4b2f6sw5prxxmgqwr1912am42xmy2i53n7nrq";
+  };
+
+  propagatedBuildInputs = [ stem ];
+
+  # ./run_tests.py returns `TypeError: testFailure() takes exactly 1 argument`
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Command-line monitor for Tor";
+    homepage = https://nyx.torproject.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ offline ];
+  };
+}
diff --git a/pkgs/tools/networking/spoofer/default.nix b/pkgs/tools/networking/spoofer/default.nix
new file mode 100644
index 000000000000..675777e4faa6
--- /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 optionalString;
+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/telepresence/default.nix b/pkgs/tools/networking/telepresence/default.nix
index bbdaed4ccc04..54d54a76fcb3 100644
--- a/pkgs/tools/networking/telepresence/default.nix
+++ b/pkgs/tools/networking/telepresence/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchgit, fetchFromGitHub, makeWrapper, git
-, python3, sshfs-fuse, torsocks, sshuttle, conntrack-tools }:
+, python3, sshfs-fuse, torsocks, sshuttle, conntrack-tools
+, openssh, which, coreutils, iptables, bash }:
 
 let
   sshuttle-telepresence = lib.overrideDerivation sshuttle (p: {
     src = fetchgit {
       url = "https://github.com/datawire/sshuttle.git";
-      rev = "8f881d131a0d5cb203c5a530d233996077f1da1e";
-      sha256 = "0c760xhblz5mpcn5ddqpvivvgn0ixqbhpjsy50dkhgn6lymrx9bx";
+      rev = "32226ff14d98d58ccad2a699e10cdfa5d86d6269";
+      sha256 = "1q20lnljndwcpgqv2qrf1k0lbvxppxf98a4g5r9zd566znhcdhx3";
       leaveDotGit = true;
     };
 
@@ -16,26 +17,43 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "telepresence";
-  version = "0.67";
+  version = "0.85";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "datawire";
     repo = "telepresence";
     rev = version;
-    sha256 = "1bpyzgvrf43yvhwp5bzkp2qf3z9dhjma165w8ssca9g00v4b5vg9";
+    sha256 = "1iypqrx9pnhaz3p5bvl6g0c0c3d1799dv0xdjrzc1z5wa8diawvj";
   };
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ makeWrapper python3 ];
 
   phases = ["unpackPhase" "installPhase"];
 
   installPhase = ''
     mkdir -p $out/libexec $out/bin
-    cp cli/telepresence $out/libexec/telepresence
 
-    makeWrapper $out/libexec/telepresence $out/bin/telepresence \
-      --prefix PATH : ${lib.makeBinPath [python3 sshfs-fuse torsocks conntrack-tools sshuttle-telepresence]}
+    export PREFIX=$out
+    substituteInPlace ./install.sh \
+      --replace "#!/bin/bash" "#!${stdenv.shell}" \
+      --replace '"''${VENVDIR}/bin/pip" -q install "git+https://github.com/datawire/sshuttle.git@telepresence"' "" \
+      --replace '"''${VENVDIR}/bin/sshuttle-telepresence"' '"${sshuttle-telepresence}/bin/sshuttle-telepresence"'
+    ./install.sh
+
+    wrapProgram $out/bin/telepresence \
+      --prefix PATH : ${lib.makeBinPath [
+        python3
+        sshfs-fuse
+        torsocks
+        conntrack-tools
+        sshuttle-telepresence
+        openssh
+        which
+        coreutils
+        iptables
+        bash
+      ]}
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/unbound/python.nix b/pkgs/tools/networking/unbound/python.nix
index 911afdd18bb0..67e6f2e9c43f 100644
--- a/pkgs/tools/networking/unbound/python.nix
+++ b/pkgs/tools/networking/unbound/python.nix
@@ -5,11 +5,11 @@ let
 in stdenv.mkDerivation rec {
   pname = "pyunbound";
   name = "${pname}-${version}";
-  version = "1.6.0";
+  version = "1.7.3";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/unbound-${version}.tar.gz";
-    sha256 = "1dzsxyp34ianp08wk4vf13qzl5ss5rr9v1p8zr1aggfywrsbhzbb";
+    sha256 = "0bb0p8nbda77ghx20yfl7hqxm9x709223q35465v99i8v4ay27f1";
   };
 
   buildInputs = [ openssl expat libevent swig python ];
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/xl2tpd/default.nix b/pkgs/tools/networking/xl2tpd/default.nix
index f34b01fb484a..d86b1613a9a3 100644
--- a/pkgs/tools/networking/xl2tpd/default.nix
+++ b/pkgs/tools/networking/xl2tpd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xl2tpd-${version}";
-  version = "1.3.10.1";
+  version = "1.3.12";
 
   src = fetchFromGitHub {
     owner = "xelerance";
     repo = "xl2tpd";
     rev = "v${version}";
-    sha256 = "0rz31bcjl7na89abn9bj5p3dbgqd6q6xsympzki15axxhyy57qan";
+    sha256 = "0slza1v8qligy8c83j0x3jzb85m9ibjxyyvpwsykrkypav8a6ii1";
   };
 
   buildInputs = [ libpcap ];