aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-08-04cpp: Add ostream operator for subkeyIngo Klöcker2-0/+23
* lang/cpp/src/key.cpp (Subkey): Add ostream operator. * lang/cpp/src/key.h: Update accordingly. -- This is helpful for debugging / showing the state of a subkey.
2020-07-16qt, cpp: Support export modesAndre Heinecke2-10/+46
* lang/cpp/context.cpp, lang/cpp/context.h (Context::startPublicKeyExport, Context::exportPublicKeys): Extend with flags paramenter. (Context::ExportMode): New. * lang/qt/src/exportjob.h (ExportJob::setExportMode): New. * lang/qt/src/qgpgmeexportjob.cpp, lang/qt/src/qgpgmeexportjob.h: Update accordingly. -- This adds the C++ and Qt API for export modes.
2020-07-15core: New keylist mode GPGME_KEYLIST_MODE_WITH_KEYGRIP.Werner Koch5-3/+10
* src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_KEYGRIP): New. * src/gpgme-json.c (op_keylist): New flag "keygrip". * src/engine-gpg.c (gpg_keylist_build_options): Pass the options. * lang/cpp/src/global.h (WithKeygrip): New. * lang/cpp/src/context.cpp: Add check. * lang/cpp/src/key.cpp (Key::update): Handle WithKeygrip. * lang/cpp/src/verificationresult.cpp: Ditto. * lang/cpp/src/util.h (add_to_gpgme_keylist_mode_t): Ditto. -- GnuPG-bug-id: 4939 Signed-off-by: Werner Koch <[email protected]>
2019-12-13cpp, qt: Use uidhash to select uids for signingAndre Heinecke4-1/+23
* lang/cpp/src/gpgsignkeyeditinteractor.cpp (action): Use uidhash instead of number. (GpgSignKeyEditInteractor::setKey): New. * lang/cpp/src/gpgsignkeyeditinteractor.h: Update accordingly. * lang/cpp/src/key.h, lang/cpp/src/key.cpp: Wrap uidhash. * lang/qt/src/qgpgmesignkeyjob.cpp: Set the key. -- Using the uidhash avoids problems when the user ids on --edit-key are different ones then the uids captured by gpgme when listing keys. Or if they are in a different order. This can happen with cached keys or keys with user attributes.
2019-11-04cpp: Add API to obtain mutliple remarksAndre Heinecke2-0/+20
* lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::remarks): New. * NEWS: Mention this. -- This can be useful if we want to show remarks made by others, too. For: GnuPG-Bug-Id: T4734
2019-11-04cpp: Fix dupe_ok state for single uidAndre Heinecke1-0/+1
* lang/cpp/src/gpgsignkeyeditinteractor.cpp (makeTable): Add transition from command to dupe_ok
2019-11-01cpp: Minor optimization in remark lookupAndre Heinecke1-2/+6
* lang/cpp/src/key.cpp (UserID::remark): Use C-API. -- The other parts of that function already use the C API so we can also avoid function calls for the keyListMode.
2019-11-01cpp: Fix adding duplicated sigs on multiple uidsAndre Heinecke1-0/+5
* 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
2019-11-01cpp: Add env var to control editinteractor debugAndre Heinecke1-2/+17
* lang/cpp/src/editinteractor.cpp (EditInteractor::Private::Private): Read "GPGMEPP_INTERACTOR_DEBUG" env var. (EditInteractor::Private::~Private): Close debug file. -- While it was possible for the application to control the debug through setDebugChannel it is often times helpful to just debug without changing the application using GPGME
2019-10-29cpp: Add support for multiple keysigs in editAndre Heinecke2-1/+19
* lang/cpp/src/gpgsignkeyeditinteractor.cpp (GpgSignKeyEditInteractor::setDupeOk): New. (makeTable): Add new tansitions. (SignKeyState): Add DUPE_OK Status. (GpgSignKeyEditInteractor::action): Handle DUPE_OK. (GpgSignKeyEditInteractor::Private::Private): Carry flag. -- When extended-edit is enabled this can be used to answer the "dupe_ok" query from the edit-key with yes. This is for: GnuPG-Bug-Id: T4734
2019-10-29cpp: Add convenience API to obtain remarksAndre Heinecke2-0/+67
* lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::remark): New. -- A remark made by one key on another is a signature notation on a user id certification signature with the name "[email protected]". This helps with: GnuPG-Bug-Id: T4734
2019-10-29cpp: Minor coding style fixAndre Heinecke1-3/+2
--
2019-05-03cpp: Fix initialization warningAndre Heinecke1-1/+1
* lanc/cpp/src/gpggencardkeyinteractor.cpp (GpgGenCardKeyInteractor::Private): Fix initialization warning.
2019-04-24cpp: Add wrapper for gpgme_set_global_flagAndre Heinecke2-0/+8
* lang/cpp/src/context.cpp (setGlobalFlag): New. * lang/cpp/src/global.h (setGlobalFlag): Export it. -- GnuPG-Bug-Id: T4471
2019-03-26cpp: Fix GenCardKeyInteractor and extend itAndre Heinecke2-2/+139
* NEWS: Mention interface change. * lang/cpp/src/gpggencardkeyinteractor.cpp (GpgGenCardKeyInteractor::setAlgo): New. (GpgGenCardKeyInteractor::action), (GpgGenCardKeyInteractor::nextState: Handle new interface. -- Tested that this workes with the old interface of GnuPG 2.2.5 and the new interface since GnuPG 2.2.6 GnuPG-Bug-Id: T4428
2019-03-13cpp: Fix Error::hasSystemErrorAndre Heinecke1-1/+1
* lang/cpp/src/context.cpp (Error::hasSystemError): Invert logic to do what it says. -- This is safe because according to codesearch it is only used in QGpgME
2019-02-21cpp: Add ostream operators for import resultAndre Heinecke2-1/+46
* lang/cpp/src/importresult.cpp: Add ostream operators. * lang/cpp/src/importresult.h: Update accordingly.
2019-02-21cpp: Make GpgME::Data::toKeys really constAndre Heinecke1-0/+2
* lang/cpp/src/data.cpp (GpgME::Data::toKeys): Rewind afterards. -- This fixes unexpected behavior that the seek pointer is changed after calling the const toKeys.
2019-01-16build: With LD_LIBRARY_PATH defined, use --disable-new-dtags.NIIBE Yutaka1-1/+1
* configure.ac (LDADD_FOR_TESTS_KLUDGE): New for --disable-new-dtags. * tests/Makefile.am (LDADD): Use LDADD_FOR_TESTS_KLUDGE. * lang/cpp/tests/Makefile.am, lang/qt/tests/Makefile.am: Likewise. * tests/gpg/Makefile.am, tests/gpgsm/Makefile.am: Likewise. * tests/json/Makefile.am, tests/opassuan/Makefile.am: Likewise. -- GnuPG-bug-id: 4298 Signed-off-by: NIIBE Yutaka <[email protected]>
2018-12-03qt,cpp: Consistently use nullptr and overrideAndre Heinecke37-250/+252
* lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am (AM_CPPFLAGS): Add suggest-override and zero-as-null-pointer-constant warnings. * lang/cpp/src/*, lang/qt/src/*: Consistenly use nullptr and override. -- This was especially important for the headers so that downstream users of GpgME++ or QGpgME do not get flooded by warnings if they have these warnings enabled. It also improves compiler errors/warnings in case of accidental mistakes.
2018-11-16Add SPDX identifiers to most source filesWerner Koch1-4/+3
-- Signed-off-by: Werner Koch <[email protected]>
2018-11-08spelling: fix misspellingsDaniel Kahn Gillmor2-2/+2
Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2018-10-29cpp,tests: Add another test runnerAndre Heinecke2-1/+188
* lang/cpp/tests/run-verify.cpp: New. * lang/cpp/tests/Makefile.am: Update accordingly. -- Add another test runner which helps to find problems on windows.
2018-10-25cpp: Add some convenience functionsAndre Heinecke4-0/+41
* lang/cpp/src/context.cpp (Context::create): New. * lang/cpp/src/context.h: Update accordingly. * lang/cpp/src/key.cpp, lang/cpp/src/key.h: (Key::isBad, Subkey::isBad, UserID::isBad) (UserID::Signature::isBad): Add shorthand for the isX checks. * NEWS: Mention it. -- I don't know how often I wrote: if (key.isNull() || key.isExpired() || key.isRevoked() ... And for the context it is good practice to use a unique ptr so the API should make it easy.
2018-10-18doc: use https:// for www.gnu.orgDaniel Kahn Gillmor1-1/+1
-- Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2018-10-09cpp: Add KeyListMode::LocateAndre Heinecke1-0/+1
* cpp/src/global.h (KeyListMode): Add Locate. -- Similar to locate in core.
2018-10-09cpp: Add first manual testsAndre Heinecke5-1/+335
* lang/cpp/Makefile.am: Add tests subdir. * lang/cpp/tests/Makefile.am: New. * lang/cpp/tests/README, lang/cpp/tests/run-getkey.cpp, lang/cpp/tests/run-keylist.cpp: New. * configure.ac: Configure tests makefile. -- The autotests for c++ live in lang/qt/tests these tests are more for manual experiments to validate some functionality.
2018-10-09cpp: Initialize all gpgme_key_t's in contextAndre Heinecke1-3/+3
* lang/cpp/src/context.cpp (Context::startKeyListing), (Context::keyListResult, Context::signingKeys): Initialize key. -- "Should" not be neccessary but it's cleaner and would have covered the case of the previous commit.
2018-08-08cpp: Fix use after free in gencardkeyinteractorAndre Heinecke1-5/+4
* lang/cpp/src/gpggencardkeyinteractor.cpp (GpgGenCardKeyInteractor::Private::keysize): Change to string. -- The value is only required as string so we can save it this way to avoid the need to convert it for the action command. GnuPG-Bug-Id: T4094
2018-07-24cpp: Add safety checks for key updateAndre Heinecke2-1/+4
* lang/cpp/src/key.cpp (Key::update): Check that the key is not NULL. * lang/cpp/src/verificationresult.cpp (GpgME::Signature::key): Check for fingerprint.
2018-07-19cpp: Print origin and last update for key/uidAndre Heinecke1-0/+4
* lang/cpp/src/key.cpp: Print origin and last update in iostream operators.
2018-07-05cpp: Add enum mapping for GPGME_AUDIT_LOG_DIAGAndre Heinecke2-0/+5
* src/context.cpp (to_auditlog_flags): Map DIAG value. * src/context.h (AuditLogFlags): Add it.
2018-07-04cpp: Fix memory of DecryptionResult::symkeyAlgoAndre Heinecke1-0/+7
* lang/cpp/src/decryptionresult.cpp (Private, ~Private): strdup the symkey algo.
2018-06-08cpp: Add proper gpgme_op_createkeyAndre Heinecke2-0/+25
* lang/cpp/src/context.cpp, lang/cpp/src/context.h (Context::createKeyEx): New. -- The createKeyEx function follows the usual pattern that the synchronous call returns a result directly while for the async an extra call is neccessary.
2018-06-01cpp: Add gpgme_(get)set_ctx_flagAndre Heinecke2-0/+14
* NEWS: Mention API extensions. * lang/cpp/src/context.cpp, lang/cpp/src/context.h (Context::setFlag, Context::getFlag): New.
2018-06-01cpp: Add legacy_cipher_nomdcAndre Heinecke2-0/+8
* lang/cpp/src/decryptionresult.cpp, lang/cpp/src/decryptionresult.h (DecryptionResult::isLegacyCipherNoMDC): New. --
2018-05-29cpp: Add gpgme_data_rewind to cpp APIAndre Heinecke2-0/+8
* lang/cpp/src/data.h, lang/cpp/src/data.cpp (Data::rewind): New. * lang/qt/tests/t-various.cpp (testDataRewind): Test it. -- The advantage of this convieniance function in GPGME is that it avoids the messiness that are declarations with off_t. GnuPG-Bug-Id: T3996
2018-05-22cpp: Expose sessionKey and symkeyAlgoAndre Heinecke2-0/+15
* lang/cpp/decryptionresult.cpp, lang/cpp/decryptionresult.h (DecryptionResult::symkeyAlgo, DecryptionResult::sessionKey): New.
2018-04-19cpp: Add origin and last_update to UserIDAndre Heinecke2-19/+47
* NEWS: Mention it. * lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::lastUpdate), (UserID::origin): New. (gpgme_origin_to_pp_origin): New helper.
2018-04-19cpp: Add origin and last_updateAndre Heinecke2-0/+52
* NEWS: mention interface change. * lang/cpp/src/key.cpp (Key::origin, Key::lastUpdate): New. * lang/cpp/src/key.h (Key::Origin): New enum.
2018-03-15cpp: Expose skipped_v3_keysAndre Heinecke2-0/+6
* lang/cpp/src/importresult.cpp, lang/cpp/src/importresult.h (ImportResult::numV3KeysSkipped): New. -- GnuPG-Bug-Id: T3776
2018-02-16cpp: Add shorthand for key locateAndre Heinecke2-0/+35
* lang/cpp/src/key.cpp (Key::locate): New static helper. * lang/cpp/src/key.h: Update accordingly.
2018-02-09cpp: Add SpawnShowWindow flagAndre Heinecke1-1/+2
* lang/cpp/src/context.h (SpawnShowWindow): New.
2018-02-09cpp: Add conveniance Data::toStringAndre Heinecke2-0/+17
* lang/cpp/src/data.h, lang/cpp/src/data.cpp: Add Data::toString. -- I'm lazy and like to waste memory.
2017-12-08Spelling fixes for comments and docAndre Heinecke2-2/+2
-- Patch provided by ka7 in dev.gnupg.org Differential D423
2017-12-07cpp: Fix handling of lsig promotionAndre Heinecke1-0/+4
* 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
2017-12-01cpp: Wrap create_key and create_subkeyAndre Heinecke2-0/+76
* lang/cpp/src/context.cpp, lang/cpp/src/context.h (Context::startCreateKey) (Context::createKey, Context::createSubkey) (Context::startCreateSubkey): New.
2017-09-04cpp: Fix version info comparisonAndre Heinecke1-7/+16
* lang/cpp/src/engineinfo.h (EngineInfo::Version::operator<): Fix logic. * lang/cpp/src/engineinfo.h (EngineInfo::Version::operator>): New. * NEWS: Mention added API -- This fixes a logic error that 2.2.0 < 2.1.19 would return true.
2017-07-26cpp: Fix Key::isDeVs for subkeysAndre Heinecke1-1/+12
* lang/cpp/src/key.cpp (Key::isDeVs): Check all subkeys. -- Previosly only the primary key was checked and not all subkeys.
2017-07-10Add isDeVs to ostream operatorAndre Heinecke2-0/+2
* lang/cpp/src/decryptionresult.cpp, lang/cpp/src/verificationresult.cpp: Extend ostream operator to include isDeVs.