Work around conch interoperability failure

Twisted Conch fails to read private keys in the new format
(https://twistedmatrix.com/trac/ticket/9515).  Work around this until it
can be fixed in Twisted.

Forwarded: not-needed
Last-Update: 2019-10-09

Patch-Name: conch-old-privkey-format.patch

Gbp-Pq: Name conch-old-privkey-format.patch
This commit is contained in:
Colin Watson 2018-08-30 00:58:56 +01:00 committed by Lu zhiping
parent c33394086c
commit ca8b93efcb
3 changed files with 14 additions and 2 deletions

View File

@ -120,7 +120,7 @@ CLEANFILES= *.core actual agent-key.* authorized_keys_${USERNAME} \
rsa_ssh2_crnl.prv scp-ssh-wrapper.exe \
scp-ssh-wrapper.scp setuid-allowed sftp-server.log \
sftp-server.sh sftp.log ssh-log-wrapper.sh ssh.log \
ssh-rsa_oldfmt \
ssh-rsa_oldfmt ssh-rsa_oldfmt.pub \
ssh_config ssh_config.* ssh_proxy ssh_proxy_bak \
ssh_proxy_envpass sshd.log sshd_config sshd_config_minimal \
sshd_config.* sshd_proxy sshd_proxy.* sshd_proxy_bak \

View File

@ -16,7 +16,7 @@ for c in aes256-ctr aes256-cbc aes192-ctr aes192-cbc aes128-ctr aes128-cbc \
rm -f ${COPY}
# XXX the 2nd "cat" seems to be needed because of buggy FD handling
# in conch
${CONCH} --identity $OBJ/ssh-rsa --port $PORT --user $USER -e none \
${CONCH} --identity $OBJ/ssh-rsa_oldfmt --port $PORT --user $USER -e none \
--known-hosts $OBJ/known_hosts --notty --noagent --nox11 -n \
127.0.0.1 "cat ${DATA}" 2>/dev/null | cat > ${COPY}
if [ $? -ne 0 ]; then

View File

@ -573,6 +573,18 @@ REGRESS_INTEROP_CONCH=no
if test -x "$CONCH" ; then
REGRESS_INTEROP_CONCH=yes
fi
case "$SCRIPT" in
*conch*) ;;
*) REGRESS_INTEROP_CONCH=no
esac
if test "$REGRESS_INTEROP_CONCH" = "yes" ; then
# Convert rsa key to old format to work around
# https://twistedmatrix.com/trac/ticket/9515
cp $OBJ/ssh-rsa $OBJ/ssh-rsa_oldfmt
cp $OBJ/ssh-rsa.pub $OBJ/ssh-rsa_oldfmt.pub
${SSHKEYGEN} -p -N '' -m PEM -f $OBJ/ssh-rsa_oldfmt >/dev/null
fi
# If PuTTY is present and we are running a PuTTY test, prepare keys and
# configuration