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
This commit is contained in:
parent
5ba1cbdf39
commit
1458adaea4
@ -158,6 +158,7 @@ enum SignKeyState {
|
|||||||
SET_TRUST_DEPTH,
|
SET_TRUST_DEPTH,
|
||||||
SET_TRUST_REGEXP,
|
SET_TRUST_REGEXP,
|
||||||
CONFIRM,
|
CONFIRM,
|
||||||
|
CONFIRM2,
|
||||||
QUIT,
|
QUIT,
|
||||||
SAVE,
|
SAVE,
|
||||||
ERROR = EditInteractor::ErrorState
|
ERROR = EditInteractor::ErrorState
|
||||||
@ -182,6 +183,7 @@ static GpgSignKeyEditInteractor_Private::TransitionMap makeTable()
|
|||||||
addEntry(START, GET_LINE, "keyedit.prompt", COMMAND);
|
addEntry(START, GET_LINE, "keyedit.prompt", COMMAND);
|
||||||
addEntry(COMMAND, GET_BOOL, "keyedit.sign_all.okay", UIDS_ANSWER_SIGN_ALL);
|
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.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_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.expire", SET_EXPIRE);
|
||||||
addEntry(UIDS_ANSWER_SIGN_ALL, GET_LINE, "sign_uid.class", SET_CHECK_LEVEL);
|
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(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.local_promote_okay", CONFIRM);
|
||||||
addEntry(CONFIRM, 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);
|
addEntry(CONFIRM, GET_LINE, "keyedit.prompt", COMMAND);
|
||||||
addEntry(CONFIRM, GET_LINE, "trustsign_prompt.trust_value", SET_TRUST_VALUE);
|
addEntry(CONFIRM, GET_LINE, "trustsign_prompt.trust_value", SET_TRUST_VALUE);
|
||||||
addEntry(CONFIRM, GET_LINE, "sign_uid.expire", SET_EXPIRE);
|
addEntry(CONFIRM, GET_LINE, "sign_uid.expire", SET_EXPIRE);
|
||||||
@ -233,6 +236,7 @@ const char *GpgSignKeyEditInteractor::action(Error &err) const
|
|||||||
return 0;
|
return 0;
|
||||||
case SET_CHECK_LEVEL:
|
case SET_CHECK_LEVEL:
|
||||||
return check_level_strings[d->checkLevel];
|
return check_level_strings[d->checkLevel];
|
||||||
|
case CONFIRM2:
|
||||||
case CONFIRM:
|
case CONFIRM:
|
||||||
return answer(true);
|
return answer(true);
|
||||||
case QUIT:
|
case QUIT:
|
||||||
|
Loading…
Reference in New Issue
Block a user