ssh: make certificateFile similar to identityFile

PR #998
This commit is contained in:
Ashish SHUKLA 2020-01-19 23:33:54 +01:00 committed by Robert Helgesson
parent 6e4b9af080
commit 805d82e1be
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89

View file

@ -183,10 +183,14 @@ let
}; };
certificateFile = mkOption { certificateFile = mkOption {
type = types.nullOr types.path; type = with types; either (listOf str) (nullOr str);
default = null; default = [];
apply = p:
if p == null then []
else if isString p then [p]
else p;
description = '' description = ''
Specifies a file from which the user certificate is read. Specifies files from which the user certificate is read.
''; '';
}; };
@ -273,7 +277,6 @@ let
++ optional cf.forwardX11Trusted " ForwardX11Trusted yes" ++ optional cf.forwardX11Trusted " ForwardX11Trusted yes"
++ optional cf.identitiesOnly " IdentitiesOnly yes" ++ optional cf.identitiesOnly " IdentitiesOnly yes"
++ optional (cf.user != null) " User ${cf.user}" ++ optional (cf.user != null) " User ${cf.user}"
++ optional (cf.certificateFile != null) " CertificateFile ${cf.certificateFile}"
++ optional (cf.hostname != null) " HostName ${cf.hostname}" ++ optional (cf.hostname != null) " HostName ${cf.hostname}"
++ optional (cf.addressFamily != null) " AddressFamily ${cf.addressFamily}" ++ optional (cf.addressFamily != null) " AddressFamily ${cf.addressFamily}"
++ optional (cf.sendEnv != []) " SendEnv ${unwords cf.sendEnv}" ++ optional (cf.sendEnv != []) " SendEnv ${unwords cf.sendEnv}"
@ -284,6 +287,7 @@ let
++ optional (cf.proxyCommand != null) " ProxyCommand ${cf.proxyCommand}" ++ optional (cf.proxyCommand != null) " ProxyCommand ${cf.proxyCommand}"
++ optional (cf.proxyJump != null) " ProxyJump ${cf.proxyJump}" ++ optional (cf.proxyJump != null) " ProxyJump ${cf.proxyJump}"
++ map (file: " IdentityFile ${file}") cf.identityFile ++ map (file: " IdentityFile ${file}") cf.identityFile
++ map (file: " CertificateFile ${file}") cf.certificateFile
++ map (f: " LocalForward" + addressPort f.bind + addressPort f.host) cf.localForwards ++ map (f: " LocalForward" + addressPort f.bind + addressPort f.host) cf.localForwards
++ map (f: " RemoteForward" + addressPort f.bind + addressPort f.host) cf.remoteForwards ++ map (f: " RemoteForward" + addressPort f.bind + addressPort f.host) cf.remoteForwards
++ map (f: " DynamicForward" + addressPort f) cf.dynamicForwards ++ map (f: " DynamicForward" + addressPort f) cf.dynamicForwards