commit:     2a3ae6dbbbf9f6ffbefa0c140b41fdcd1863fa2f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 14 10:45:24 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 18 17:54:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a3ae6db

cvs.eclass: New eclass variable ECVS_SSH_EXTRA_OPTS

This allows passing additional options to ssh.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 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

Reply via email to