diff options
| author | Andre Heinecke <[email protected]> | 2019-11-01 11:02:07 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2019-11-01 11:02:07 +0000 | 
| commit | 266e05eee859b83d97079c2fbbd2f1da010fa412 (patch) | |
| tree | 1eef4c4dc00ce40446dce004f851f182599946d5 | |
| parent | cpp: Add env var to control editinteractor debug (diff) | |
| download | gpgme-266e05eee859b83d97079c2fbbd2f1da010fa412.tar.gz gpgme-266e05eee859b83d97079c2fbbd2f1da010fa412.zip | |
cpp: Fix adding duplicated sigs on multiple uids
* lang/cpp/src/gpgsignkeyeditinteractor.cpp: Add another
state DUPE_OK2 to allow gpg looping over all uids.
--
When duplicated signatures should be added to multiple
user ids GnuPG will ask for each uid so we have to
add a transition for that.
GnuPG-Bug-Id: T4734
| -rw-r--r-- | lang/cpp/src/gpgsignkeyeditinteractor.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/lang/cpp/src/gpgsignkeyeditinteractor.cpp b/lang/cpp/src/gpgsignkeyeditinteractor.cpp index d43d2f90..80c5f122 100644 --- a/lang/cpp/src/gpgsignkeyeditinteractor.cpp +++ b/lang/cpp/src/gpgsignkeyeditinteractor.cpp @@ -162,6 +162,7 @@ enum SignKeyState {      CONFIRM,      CONFIRM2,      DUPE_OK, +    DUPE_OK2,      QUIT,      SAVE,      ERROR = EditInteractor::ErrorState @@ -197,6 +198,7 @@ static GpgSignKeyEditInteractor_Private::TransitionMap makeTable()      addEntry(SET_EXPIRE, GET_BOOL, "sign_uid.class", SET_CHECK_LEVEL);      addEntry(CONFIRM, GET_BOOL, "sign_uid.local_promote_okay", CONFIRM);      addEntry(DUPE_OK, GET_BOOL, "sign_uid.okay", CONFIRM); +    addEntry(DUPE_OK2, GET_BOOL, "sign_uid.okay", CONFIRM);      addEntry(CONFIRM, GET_BOOL, "sign_uid.okay", CONFIRM);      addEntry(CONFIRM2, GET_BOOL, "sign_uid.okay", CONFIRM);      addEntry(CONFIRM, GET_LINE, "keyedit.prompt", COMMAND); @@ -210,6 +212,8 @@ static GpgSignKeyEditInteractor_Private::TransitionMap makeTable()      addEntry(UIDS_LIST_SEPARATELY_DONE, GET_LINE, "sign_uid.class", SET_CHECK_LEVEL);      addEntry(UIDS_LIST_SEPARATELY_DONE, GET_BOOL, "sign_uid.okay", CONFIRM);      addEntry(UIDS_LIST_SEPARATELY_DONE, GET_BOOL, "sign_uid.dupe_okay", DUPE_OK); +    addEntry(DUPE_OK, GET_BOOL, "sign_uid.dupe_okay", DUPE_OK2); +    addEntry(DUPE_OK2, GET_BOOL, "sign_uid.dupe_okay", DUPE_OK);      addEntry(CONFIRM, GET_LINE, "keyedit.prompt", QUIT);      addEntry(ERROR, GET_LINE, "keyedit.prompt", QUIT);      addEntry(QUIT, GET_BOOL, "keyedit.save.okay", SAVE); @@ -242,6 +246,7 @@ const char *GpgSignKeyEditInteractor::action(Error &err) const      case SET_CHECK_LEVEL:          return check_level_strings[d->checkLevel];      case DUPE_OK: +    case DUPE_OK2:          return answer(d->dupeOk);      case CONFIRM2:      case CONFIRM: | 
