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

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.



More information about the Gnupg-devel mailing list