Hi,

Thanks for your contributions to Debian. I created a new version with
your patch. Can you please test it?

You can download it at:
http://www.kitiara.net/~mendoza/keychain_2.5.5-3_all.deb

Thanks.

Bye
Cesar Mendoza
http://www.kitiara.org
--
"Sólo la infancia es la época adecuada 
para sembrar la semilla de la fe.." 
  --Schopenhauer


On Thu, Aug 25, 2005 at 09:46:05AM +0800, Paul Wise wrote:
> Package: keychain
> Version: 2.5.5-2
> Severity: normal
> Tags: patch
> 
> I have a button on my GNOME panel that simply runs keychain id_rsa,
> normally this runs ssh-add, which brings up a dialog to ask for my
> password. Since the recent upgrade, I see the following error in
> my .xsession-errors when I run keychain from my GNOME panel.
> 
> KeyChain 2.5.5; http://www.gentoo.org/proj/en/keychain/
> Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL
> 
>  * Inheriting ssh-agent (6314)
>  * Initializing /home/pabs/.keychain/chianamo-sh file...
>  * Initializing /home/pabs/.keychain/chianamo-csh file...
>  * Inheriting gpg-agent (6297)
>  * Initializing /home/pabs/.keychain/chianamo-sh-gpg file...
>  * Initializing /home/pabs/.keychain/chianamo-csh-gpg file...
>  * Adding 1 ssh key(s)...
> Enter passphrase for /home/pabs/.ssh/id_rsa:  * Error: Problem adding; giving 
> up
> 
> The strange thing is that just running ssh-add from the panel works
> fine, it brings up a dialog for my password just fine. Also running
> keychain id_rsa and just ssh-add from a terminal works fine too. The
> SSH_ASKPASS variable is not set. Looking at the code, it seems that the
> $noguiopt section is being entered in the following code:
> 
>         if $noguiopt || [ -z "$SSH_ASKPASS" -o -z "$DISPLAY" ]; then
>             unset DISPLAY       # DISPLAY="" can cause problems
>             unset SSH_ASKPASS   # make sure ssh-add doesn't try SSH_ASKPASS
>             sshout=`ssh-add ${ssh_timeout} "$@"`
>         else
>             sshout=`ssh-add ${ssh_timeout} "$@" </dev/null`
>         fi
> 
> The solution on my system is to remove '-z "$SSH_ASKPASS" -o ' since on
> debian it is possible to use the alternatives system to set which
> SSH_ASKPASS program to use (this is what I use). I'm not sure if you
> want to use this for the general case, but it seems fine to me. I've
> attached a patch which fixes this more fully for multiple keys - DISPLAY
> is not reset after each key, resulting in the nogui option being used
> for the second and subsequent keys.
> 
> -- System Information:
> Debian Release: unstable
>   APT prefers unstable
>   APT policy: (500, 'unstable'), (1, 'experimental')
> Architecture: i386 (i686)
> Shell:  /bin/sh linked to /bin/bash
> Kernel: Linux 2.6.12-1-k7
> Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
> 
> Versions of packages keychain depends on:
> ii  debconf                      1.4.57      Debian configuration management 
> sy
> ii  grep                         2.5.1.ds1-5 GNU grep, egrep and fgrep
> ii  openssh-client [ssh-client]  1:4.1p1-6   Secure shell client, an 
> rlogin/rsh
> 
> keychain recommends no packages.
> 
> -- debconf information:
> * keychain/upgrade:
> 
> -- 
> bye,
> pabs
> 
> http://qa.debian.org/developer.php?login=Paul+Wise&comaint=yes

> diff -u keychain-2.5.5/debian/changelog keychain-2.5.5/debian/changelog
> --- keychain-2.5.5/debian/changelog
> +++ keychain-2.5.5/debian/changelog
> @@ -1,3 +1,9 @@
> +keychain (2.5.5-3) unstable; urgency=low
> +
> +  * Fix bugs in handling of DISPLAY and SSH_ASKPASS. Closes: #
> +
> + -- Cesar Mendoza <[EMAIL PROTECTED]>  Thu, 25 Aug 2005 09:39:52 +0800
> +
>  keychain (2.5.5-2) unstable; urgency=low
>  
>    * Now depends on openssh-client | ssh-client. Closes: #281106
> only in patch2:
> unchanged:
> --- keychain-2.5.5.orig/keychain
> +++ keychain-2.5.5/keychain
> @@ -1438,7 +1438,7 @@
>          IFS="$old_IFS"     # restore IFS
>          set +f             # re-enable globbing
>  
> -        if $noguiopt || [ -z "$SSH_ASKPASS" -o -z "$DISPLAY" ]; then
> +        if $noguiopt || [ -z "$DISPLAY" ]; then
>              unset DISPLAY       # DISPLAY="" can cause problems
>              unset SSH_ASKPASS   # make sure ssh-add doesn't try SSH_ASKPASS
>              sshout=`ssh-add ${ssh_timeout} "$@"`
> @@ -1460,9 +1460,10 @@
>  
>          # Decrement the countdown
>          sshattempts=`expr $sshattempts - 1`
> -    done
>  
> -    [ -n "$savedisplay" ] && DISPLAY="$savedisplay"
> +        # Reset DISPLAY
> +        [ -n "$savedisplay" ] && DISPLAY="$savedisplay"
> +    done
>  fi
>  
>  # Load gpg keys



Attachment: pgpRkrt0JASjR.pgp
Description: PGP signature

Reply via email to