GPG Lockfile (concurrency) issue,
keyring lost: awarding 300$ for bugfix
Stefan Haller
Stefan.Haller at ascom.ch
Wed Aug 11 13:08:36 CEST 2004
Hi all
A while ago I posted a bug report about a concurrency issue. Parallel
import and verify GPG processes using the same keyring may result in
loosing all public keys in the key ring.
I upgraded to 1.2.5, but the issues are still present. I looked at the
code myself, but I think it will require a lot of time for me to fix the
issues and it will probably result only in a poor work around. I would
like a good solution for the issue which is acceptable to the GnuPG
development team for use in future versions of GnuPG to increase the
products quality. I will award up to 300$ to the developer that solves the
problem for me. Please find details below.
I need two modifications in GnuPG:
1. The lockfile for the keyring is not handeled correctly, it seems. I
need proper locking to prevent GPG from loosing the entire public key
ring.
I think it happens somehow like this:
- import renames keyring and updates file
- verify does not find keyring file and creates new one
- import finds an already existing keyring and is unable to rename the
updated file back
If the output of gpg is...
gpg: keyring `/var/tmp/keyring_lost_test/pubring.gpg' created
... you know that all keys in keyring were lost.
2. In case GPG cannot run because of a lock-file being present, I require
a separate exit status. This will indicate to my program that it can retry
the command afterwards as it was not a real error.
I'm willing to award 100$ for a patch based on the last stable release of
GPG, fixing above issues.
Another 100$ are awarded to the patch author, if the patch is accepted by
the GPG core team and incorporated in future releases.
Another 100$ are awarded if I have a working solution until end of August
2004.
The following acceptance procedures apply:
The patch is verified using a shell script I wrote to reproduce the
behaviour. It is attached to this email. The patch is only accepted if the
script succeeds on my system. I reserve the right to adjust the test
script in case I built in errors into the test procedure, so just using a
bug in the test script to make it work is not accepted... (first 100$ for
a working patch)
If the patch is committed to the main GnuPG development branch by GPG core
developers (or anyone with permissions), the patch author will be rewarded
with another 100$ as the GPG core team thinks it is a good patch.
If I get a working patch (does not need to be included in GPG development
branch, just working for me) by end of August 2004, I reward the patch
author by another 100$.
Above goals are cumulative, meaning that I am willing to pay up to 300$ if
all conditions are fulfilled.
To prevent a chaos, this "contract" is awarded as follows:
- participation requires explicit confirmation by me. This is to prevent
more than one person working on the issue. So, just mail me first if you
would like to do this.
- first come, first served. I will confirm the first person mailing me,
that he may start implementing. The others will be notified, that it is
already taken care of.
I hope you find this offer interesting. Contact me if you have any
questions on the topic.
With kind regards
Stefan
Stefan Haller
Software Development
Transport Revenue
________________________________
Ascom Autelca Ltd.
Worbstrasse 201
CH-3073 Gümligen
Phone
Fax
+41 31 999 65 06
+41 31 999 65 82
stefan.haller at ascom.ch
www.ascom.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: keyring_lost_spike.sh
Type: application/octet-stream
Size: 4046 bytes
Desc: not available
Url : /pipermail/attachments/20040811/0c722ab4/keyring_lost_spike-0001.exe
More information about the Gnupg-devel
mailing list