File r883862.diff of Package kdepimlibs4
Subject: gpgme: Fix "General Error" returned when trying to sign an already signed UID again with the same key.
From: wstephenson@suse.de
Bug:
Patch-upstream: 883862
--- gpgme++/gpgsignkeyeditinteractor.cpp (revision 883861)
+++ gpgme++/gpgsignkeyeditinteractor.cpp (revision 883862)
@@ -251,10 +251,6 @@ unsigned int GpgSignKeyEditInteractor::n
//handle cases that cannot be handled via the map
switch ( const unsigned int st = state() ) {
case UIDS_ANSWER_SIGN_ALL:
- if ( status == GPGME_STATUS_ALREADY_SIGNED ) {
- err = Error( GPG_ERR_CONFLICT );
- return ERROR;
- }
if ( status == GPGME_STATUS_GET_LINE &&
strcmp( args, "keyedit.prompt" ) == 0 ) {
if ( !d->signAll() )
--- gpgme++/editinteractor.cpp (revision 883861)
+++ gpgme++/editinteractor.cpp (revision 883862)
@@ -205,6 +205,8 @@ Error status_to_error( unsigned int stat
switch ( status ) {
case GPGME_STATUS_MISSING_PASSPHRASE:
return Error( gpg_error( GPG_ERR_INV_PASSPHRASE ) ); // should be GPG_ERR_MISSING_PASSPHRASE
+ case GPGME_STATUS_ALREADY_SIGNED:
+ return Error( gpg_error( GPG_ERR_CONFLICT ) ); // should be GPG_ERR_ALREADY_SIGNED
}
return Error();
}
Index: gpgme++/gpgsignkeyeditinteractor.cpp
===================================================================
Index: gpgme++/editinteractor.cpp
===================================================================