From 3cc62cefa853fab4784d4a0444ea508cdde51237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Mon, 2 Nov 2009 21:49:06 +0000 Subject: [PATCH] Finally I decided to add High Performance SSH. http://www.psc.edu/networking/projects/hpn-ssh/ I tried to keep the openssh hash not changing, unless the user sets hpn in getConfig style. I think that does not look as good as a patch changing the hash, but it may annoy less. Let me know if it is not ok. I don't think hpn should be the default, because it may have some insecurity implications I don't know of. But I used to enable it in all my machines, and I hope to do so unless advised otherwise. svn path=/nixpkgs/trunk/; revision=18073 --- pkgs/tools/networking/openssh/default.nix | 15 ++++++++++++++- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index b91c6a89c03d..8a1d46663423 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, zlib, openssl, perl , pamSupport ? false, pam ? null , etcDir ? null +, hpnSupport ? false }: assert pamSupport -> pam != null; -stdenv.mkDerivation rec { +stdenv.mkDerivation (rec { name = "openssh-5.2p1"; src = fetchurl { @@ -36,4 +37,16 @@ stdenv.mkDerivation rec { "; installTargets = "install-nosysconf"; +} // +(if hpnSupport then +rec { + hpnSrc = fetchurl { + url = http://www.psc.edu/networking/projects/hpn-ssh/openssh-5.2p1-hpn13v6.diff.gz; + sha256 = "1g91xl1vfg772072qcbcfzyqj7yfvm38xgk8zyy8wsl2g81rb8wh"; + }; + + patchPhase = '' + gunzip -c ${hpnSrc} | patch -p1 + ''; } +else {})) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3ec74b653601..9b26f0444819 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1224,6 +1224,7 @@ let openssh = import ../tools/networking/openssh { inherit fetchurl stdenv zlib openssl pam perl; pamSupport = getPkgConfig "openssh" "pam" true; + hpnSupport = getConfig [ "openssh" "hpn" ] false; etcDir = getConfig [ "openssh" "etcDir" ] "/etc/ssh"; };