diff options
| author | Andre Heinecke <[email protected]> | 2017-12-07 15:21:01 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2017-12-07 15:21:01 +0000 | 
| commit | 1458adaea4acdcf7ebbead6668476fce92db5af8 (patch) | |
| tree | b5bd4147bf1bf3099629bbf072d10b118b894516 /lang/cpp/src/gpgsignkeyeditinteractor.cpp | |
| parent | tests: Print userid signatures in run-keylist (diff) | |
| download | gpgme-1458adaea4acdcf7ebbead6668476fce92db5af8.tar.gz gpgme-1458adaea4acdcf7ebbead6668476fce92db5af8.zip  | |
cpp: Fix handling of lsig promotion
* src/gpgsignkeyeditinteractor.cpp (SignKeyState): Add second
CONFIRM state.
(makeTable): Properly handle local_promote_okay.
(action): Handle CONFIRM2.
--
This fixes changing a local signature to a "public" signature.
GnuPG-Bug-Id: T1649
Diffstat (limited to 'lang/cpp/src/gpgsignkeyeditinteractor.cpp')
| -rw-r--r-- | lang/cpp/src/gpgsignkeyeditinteractor.cpp | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/lang/cpp/src/gpgsignkeyeditinteractor.cpp b/lang/cpp/src/gpgsignkeyeditinteractor.cpp index 4c6c87c1..79691bc2 100644 --- a/lang/cpp/src/gpgsignkeyeditinteractor.cpp +++ b/lang/cpp/src/gpgsignkeyeditinteractor.cpp @@ -158,6 +158,7 @@ enum SignKeyState {      SET_TRUST_DEPTH,      SET_TRUST_REGEXP,      CONFIRM, +    CONFIRM2,      QUIT,      SAVE,      ERROR = EditInteractor::ErrorState @@ -182,6 +183,7 @@ static GpgSignKeyEditInteractor_Private::TransitionMap makeTable()      addEntry(START, GET_LINE, "keyedit.prompt", COMMAND);      addEntry(COMMAND, GET_BOOL, "keyedit.sign_all.okay", UIDS_ANSWER_SIGN_ALL);      addEntry(COMMAND, GET_BOOL, "sign_uid.okay", CONFIRM); +    addEntry(COMMAND, GET_BOOL, "sign_uid.local_promote_okay", CONFIRM2);      addEntry(UIDS_ANSWER_SIGN_ALL, GET_BOOL, "sign_uid.okay", CONFIRM);      addEntry(UIDS_ANSWER_SIGN_ALL, GET_LINE, "sign_uid.expire", SET_EXPIRE);      addEntry(UIDS_ANSWER_SIGN_ALL, GET_LINE, "sign_uid.class", SET_CHECK_LEVEL); @@ -192,6 +194,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(CONFIRM, GET_BOOL, "sign_uid.okay", CONFIRM); +    addEntry(CONFIRM2, GET_BOOL, "sign_uid.okay", CONFIRM);      addEntry(CONFIRM, GET_LINE, "keyedit.prompt", COMMAND);      addEntry(CONFIRM, GET_LINE, "trustsign_prompt.trust_value", SET_TRUST_VALUE);      addEntry(CONFIRM, GET_LINE, "sign_uid.expire", SET_EXPIRE); @@ -233,6 +236,7 @@ const char *GpgSignKeyEditInteractor::action(Error &err) const          return 0;      case SET_CHECK_LEVEL:          return check_level_strings[d->checkLevel]; +    case CONFIRM2:      case CONFIRM:          return answer(true);      case QUIT:  | 
