diff -u -B -r1.53 cvs.eclass --- cvs.eclass 19 Oct 2004 19:51:12 -0000 1.53 +++ cvs.eclass 6 Dec 2004 05:13:37 -0000 @@ -345,7 +345,7 @@ einfo "Running $cmdcheckout" eval $cmdcheckout|| die "cvs checkout command failed" fi - elif [ "${ECVS_AUTH}" == "ext" ]; then + elif [ "${ECVS_AUTH}" == "ext" ] || [ "${ECVS_AUTH}" == "no" ]; then # Hack to support SSH password authentication @@ -387,8 +387,14 @@ newarglist = sys.argv[:] EOF - # Handle SSH host key checking + # disable X11 forwarding which causes .xauth access violations + # - 20041205 Armando Di Cianno + echo "newarglist.insert(1, '-oClearAllForwardings=yes')" \ + >> "${CVS_RSH}" + echo "newarglist.insert(1, '-oForwardX11=no')" \ + >> "${CVS_RSH}" + # Handle SSH host key checking local CVS_ECLASS_KNOWN_HOSTS="${T}/cvs_ssh_known_hosts" echo "newarglist.insert(1, '-oUserKnownHostsFile=${CVS_ECLASS_KNOWN_HOSTS}')" \ >> "${CVS_RSH}" @@ -398,8 +404,6 @@ einfo "A temporary known hosts list will be used." local CVS_ECLASS_STRICT_HOST_CHECKING="no" touch "${CVS_ECLASS_KNOWN_HOSTS}" - echo "newarglist.insert(1, '-oStrictHostKeyChecking=no')" \ - >> "${CVS_RSH}" else local CVS_ECLASS_STRICT_HOST_CHECKING="yes" echo "${ECVS_SSH_HOST_KEY}" > "${CVS_ECLASS_KNOWN_HOSTS}" @@ -423,10 +427,14 @@ # Create a dummy executable to echo $ECVS_PASS export SSH_ASKPASS="${T}/cvs_sshechopass" + if [ "${ECVS_AUTH}" != "no" ]; then + echo -en "#!/bin/bash\necho \"$ECVS_PASS\"\n" \ + > "${SSH_ASKPASS}" + else + echo -en "#!/bin/bash\nreturn\n" \ + > "${SSH_ASKPASS}" - echo -en "#!/bin/bash\necho \"$ECVS_PASS\"\n" \ - > "${SSH_ASKPASS}" - + fi chmod a+x "${SSH_ASKPASS}" fi @@ -451,14 +459,6 @@ else unset DISPLAY fi - elif [ "${ECVS_AUTH}" == "no" ]; then - if [ "${mode}" == "update" ]; then - einfo "Running $cmdupdate" - eval $cmdupdate || die "cvs update command failed" - elif [ "${mode}" == "checkout" ]; then - einfo "Running $cmdcheckout" - eval $cmdcheckout|| die "cvs checkout command failed" - fi fi # Restore ownership. Not sure why this is needed, but someone