This allows passing additional options to ssh.
Signed-off-by: Ulrich Müller <[email protected]>
---
v2: Quote the options in the wrapper script
eclass/cvs.eclass | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/eclass/cvs.eclass b/eclass/cvs.eclass
index 1289ee54cc3b..007240e6ba25 100644
--- a/eclass/cvs.eclass
+++ b/eclass/cvs.eclass
@@ -174,6 +174,12 @@ _CVS_ECLASS=1
# WARNING: If a SSH host key is not specified using this variable, the
# remote host key will not be verified.
+# @ECLASS_VARIABLE: ECVS_SSH_EXTRA_OPTS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If SSH is used for "ext" authentication, this array variable can be
+# used to pass additional options to the SSH command.
+
# @ECLASS_VARIABLE: ECVS_CLEAN
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -376,6 +382,11 @@ cvs_fetch() {
echo "${ECVS_SSH_HOST_KEY}" >
"${known_hosts_file}" || die
fi
+ local i quoted_opts=()
+ for i in "${!ECVS_SSH_EXTRA_OPTS[@]}"; do
+ printf -v "quoted_opts[i]" "%q"
"${ECVS_SSH_EXTRA_OPTS[i]}"
+ done
+
# Create a wrapper script to pass additional options to
SSH
# Disable X11 forwarding which causes .xauth access
violations
@@ -387,6 +398,7 @@ cvs_fetch() {
-oUserKnownHostsFile="${known_hosts_file}" \\
-oForwardX11=no \\
-oClearAllForwardings=yes \\
+ ${quoted_opts[*]} \\
"\$@"
EOF
chmod a+x "${CVS_RSH}" || die
--
2.47.0