1.4.4 unable to reopen standard input error

Werner Koch wk at gnupg.org
Fri Jul 21 13:05:37 CEST 2006


On Fri, 21 Jul 2006 02:09, Kyle Wheeler said:

> (http://lists.gnupg.org/pipermail/gnupg-devel/2006-May/022915.html
> patch-stdout.reopen.patch) that may have something to do with this. Is
> there anything I can do to fix this? I'm tempted to track down that
> patch and reverse it on my 1.4.4 source, to see if that doesn't fix it.

It is important that stdin, stdout and stderr are open and thus
connected to some file descriptor.  If for example stderr is closed
and gpg opens another file (like the trustdb or a keyring) and later
prints a message to stderr it will end up in that file - oops.  Thus
it is always required to make sure that the standard file descriptors
are connected; i.e. to dup them to /dev/null right before the exec
call.

To figure out your problem you should run mutt under "strace -f" or
whatever system call trace utility you have on your system.  grep for
the exec of gpg and then check what happended to descriptors 0,1,2
right before that.

As an alternative you might want to add

set crypt_use_gpgme

into your .muttrc and use the modern gpg interface.



Shalom-Salam,

   Werner





More information about the Gnupg-devel mailing list