summary refs log tree commit diff
path: root/pkgs/tools/networking
diff options
context:
space:
mode:
authorAneesh Agrawal <aneeshusa@gmail.com>2017-12-25 14:51:40 -0800
committerGraham Christensen <graham@grahamc.com>2018-01-28 16:36:00 -0500
commit716d1612afadf0cb0c11499261f68d364dd2879f (patch)
tree530092405b2a92a94b54e308eb418fe4a232faea /pkgs/tools/networking
parent192f30f06adcdfe58ff0d4191ef457dfcf3d8642 (diff)
downloadnixlib-716d1612afadf0cb0c11499261f68d364dd2879f.tar
nixlib-716d1612afadf0cb0c11499261f68d364dd2879f.tar.gz
nixlib-716d1612afadf0cb0c11499261f68d364dd2879f.tar.bz2
nixlib-716d1612afadf0cb0c11499261f68d364dd2879f.tar.lz
nixlib-716d1612afadf0cb0c11499261f68d364dd2879f.tar.xz
nixlib-716d1612afadf0cb0c11499261f68d364dd2879f.tar.zst
nixlib-716d1612afadf0cb0c11499261f68d364dd2879f.zip
openssh: Build with Kerberos by default
This can be disabled with the `withKerberos` flag if desired.
Make the relevant assertions lazy,
so that if an overlay is used to set kerberos to null,
a later override can explicitly set `withKerberos` to false.

Don't build with GSSAPI by default;
the patchset is large and a bit hairy,
and it is reasonable to follow upstream who has not merged it
in not enabling it by default.
Diffstat (limited to 'pkgs/tools/networking')
-rw-r--r--pkgs/tools/networking/openssh/default.nix14
1 files changed, 5 insertions, 9 deletions
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 663e7be7e5f3..1c135cd36f48 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -1,15 +1,12 @@
 { stdenv, fetchurl, fetchpatch, zlib, openssl, perl, libedit, pkgconfig, pam, autoreconfHook
 , etcDir ? null
 , hpnSupport ? false
-, withKerberos ? false
+, withKerberos ? true
 , withGssapiPatches ? false
 , kerberos
 , linkOpenssl? true
 }:
 
-assert withKerberos -> kerberos != null;
-assert withGssapiPatches -> withKerberos;
-
 let
 
   # **please** update this patch when you update to a new openssh release.
@@ -23,8 +20,6 @@ let
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  # Please ensure that openssh_with_kerberos still builds when
-  # bumping the version here!
   name = "openssh-${version}";
   version = if hpnSupport then "7.5p1" else "7.6p1";
 
@@ -47,7 +42,7 @@ stdenv.mkDerivation rec {
       # See discussion in https://github.com/NixOS/nixpkgs/pull/16966
       ./dont_create_privsep_path.patch
     ]
-    ++ optional withGssapiPatches gssapiPatch;
+    ++ optional withGssapiPatches (assert withKerberos; gssapiPatch);
 
   postPatch =
     # On Hydra this makes installation fail (sometimes?),
@@ -59,7 +54,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ zlib openssl libedit pam ]
     ++ optional withKerberos kerberos
-    ++ optional hpnSupport autoreconfHook;
+    ++ optional hpnSupport autoreconfHook
+    ;
 
   preConfigure = ''
     # Setting LD causes `configure' and `make' to disagree about which linker
@@ -78,7 +74,7 @@ stdenv.mkDerivation rec {
     "--disable-strip"
     (if pam != null then "--with-pam" else "--without-pam")
   ] ++ optional (etcDir != null) "--sysconfdir=${etcDir}"
-    ++ optional withKerberos "--with-kerberos5=${kerberos}"
+    ++ optional withKerberos (assert kerberos != null; "--with-kerberos5=${kerberos}")
     ++ optional stdenv.isDarwin "--disable-libutil"
     ++ optional (!linkOpenssl) "--without-openssl";