aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* core: Allow usage of gpgtar also for new enough gpg 2.2Ingo Klöcker2023-02-021-19/+23
| | | | | | | | | | | | | | * src/engine-gpg.c (have_usable_gpgtar): New. (start): Always pass --status-fd to the called process. (gpg_decrypt, gpg_encrypt, gpg_encrypt_sign, gpg_sign, gpg_verify): Use have_usable_gpgtar() to check for suitable gpg. -- The version check in start() is not needed because versions of gpg that are unsuitable for the usage of gpgtar are rejected already by the callers. GnuPG-bug-id: 6342
* core,w32: More robust detection of GnuPG Desktop dir layoutWerner Koch2023-02-011-20/+75
| | | | | | | | | | * src/w32-util.c (INST_TYPE_GPG4WIN, INST_TYPE_GPGDESK): New to replace the numeric constants. (find_version_file): New. (_gpgme_get_gpgconf_path): Guess a default for inst_type. -- GnuPG-bug-id: 6362
* qt: Fix build without installed gpgme++ headersIngo Klöcker2023-01-311-1/+1
| | | | | | | | * lang/qt/src/filelistdataprovider.cpp: Include error.h without folder prefix. -- GnuPG-bug-id: 6342
* doc: Update "since" versionIngo Klöcker2023-01-311-1/+1
| | | | --
* doc: Update NEWSIngo Klöcker2023-01-311-1/+5
| | | | | | -- GnuPG-bug-id: 6342
* qt: Remove unused and commented-out codeIngo Klöcker2023-01-314-45/+0
| | | | | | | | | | | | * lang/qt/src/qgpgmeencryptarchivejob.cpp, lang/qt/src/qgpgmeencryptarchivejob.h (QGpgMEEncryptArchiveJob): Remove member function resultHook and member mResult. * lang/qt/src/qgpgmesignarchivejob.cpp, lang/qt/src/qgpgmesignarchivejob.h (QGpgMESignArchiveJob): Remove member function resultHook and member mResult. -- GnuPG-bug-id: 6342
* cpp: Fix debug output of SignatureModeIngo Klöcker2023-01-311-1/+9
| | | | | | | | | | * lang/cpp/src/context.cpp (operator<<): Treat signature mode as combination of a 2-bit flag and a 1-bit flag. -- This fixes the output for normal signature mode. GnuPG-bug-id: 6342
* qt: Add job for creating encrypted signed archivesIngo Klöcker2023-01-319-31/+495
| | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/signencryptarchivejob.cpp, lang/qt/src/signencryptarchivejob.h, lang/qt/src/signencryptarchivejob_p.h, lang/qt/src/qgpgmesignencryptarchivejob.cpp, lang/qt/src/qgpgmesignencryptarchivejob.h: New. * lang/qt/src/protocol.h (class Protocol): Add pure virtual member function signEncryptArchiveJob * lang/qt/src/protocol_p.h (Protocol::signEncryptArchiveJob): ... and implement it. * lang/qt/src/Makefile.am: Update accordingly. * lang/qt/tests/run-encryptarchivejob.cpp (displayName): Remove. (CommandLineOptions): Initialize member armor. Add member sign. (parseCommandLine): Update application description. Add and parse option -s/--sign. (main): Use SignEncryptArchiveJob if sign option is set. -- GnuPG-bug-id: 6342
* qt,tests: Avoid leaking ContextIngo Klöcker2023-01-311-3/+5
| | | | | | | * lang/qt/tests/t-import.cpp: Wrap Context*s in unique_ptr. -- This fixes leaks found with -fsanitize=address.
* doc: Fix description of gpgme_data_identifyWerner Koch2023-01-311-1/+2
| | | | | -- GnuPG-bug-id: 5887
* json: New operation "identify" and convenience option --identify.Werner Koch2023-01-312-2/+129
| | | | | | | | | * src/gpgme-json.c (data_type_to_string): New. (op_identify): New. (process_request): Add to command list. (cmd_identify): New. (main): Add option --identify. --
* Update NEWS and set version to 1.19.0Werner Koch2023-01-312-3/+5
| | | | --
* Merge branch 'ikloecker/t6342-gpgtar' into masterWerner Koch2023-01-3145-375/+2509
|\ | | | | | | | | | | | | | | -- Solved conflicts: NEWS lang/cpp/src/context.cpp lang/cpp/src/context.h
| * qt: Add job for creating signed archivesikloecker/t6342-gpgtarIngo Klöcker2023-01-3010-1/+588
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/signarchivejob.cpp, lang/qt/src/signarchivejob.h, lang/qt/src/signarchivejob_p.h, lang/qt/src/qgpgmesignarchivejob.cpp, lang/qt/src/qgpgmesignarchivejob.h: New. * lang/qt/src/protocol.h (class Protocol): Add pure virtual member function signArchiveJob * lang/qt/src/protocol_p.h (Protocol::signArchiveJob): ... and implement it. * lang/qt/src/Makefile.am: Update accordingly. * lang/qt/tests/run-signarchivejob.cpp: New. * lang/qt/tests/Makefile.am: Add new test runner. -- GnuPG-bug-id: 6342
| * cpp: Support new archive signing flagIngo Klöcker2023-01-303-15/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/cpp/src/global.h (enum SignatureMode): Add constant SignArchive. * lang/cpp/src/context.cpp (sigmode2sigmode): Rename to sigflags2sigflags (sigflags2sigflags): ... and rename argument mode to flags and treat it as flags. Adjust the callers. (operator<<): Change local CHECK macro to handle flags. Add new flag to debug stream. * lang/cpp/src/signingresult.cpp (CreatedSignature::mode): Handle new flags (even if it cannot occur currently). -- GnuPG-bug-id: 6342
| * core: Use signature modes as flagsIngo Klöcker2023-01-308-26/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/engine-backend.h (engine_ops.sign): Rename argument mode to flags. * src/engine-gpg.c (gpg_sign): Rename argument mode to flags. Check for invalid combination of flags. * src/engine-gpgsm.c (gpgsm_sign): Rename argument mode to flags. Check for unsupported flags. * src/engine-uiserver.c (gpgsm_sign): Rename argument mode to flags. Check for unsupported flags. * src/engine.c, src/engine.h (_gpgme_engine_op_sign): Rename argument mode to flags. * src/gpgme.h.in (GPGME_SIG_MODE_ARCHIVE): Change value to 4. (gpgme_op_sign_start, gpgme_op_sign): Rename argument mode to flags. * src/sign.c (sign_start): Rename argument mode to flags. Adjust check for invalid flags. (gpgme_op_sign_start, gpgme_op_sign): Rename argument mode to flags. -- Using the signature mode constants as flags is more natural, even if currently all flags are mutually exclusive, because archives are signed with a normal signature. GnuPG-bug-id: 6342
| * qt: Add job for creating encrypted archivesIngo Klöcker2023-01-2711-0/+634
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/encryptarchivejob.cpp, lang/qt/src/encryptarchivejob.h, lang/qt/src/encryptarchivejob_p.h, lang/qt/src/qgpgmeencryptarchivejob.cpp, lang/qt/src/qgpgmeencryptarchivejob.h: New. * lang/qt/src/protocol.h (class Protocol): Add pure virtual member function encryptArchiveJob * lang/qt/src/protocol_p.h (Protocol::encryptArchiveJob): ... and implement it. * lang/qt/src/Makefile.am: Update accordingly. * lang/qt/tests/run-encryptarchivejob.cpp: New. * lang/qt/tests/Makefile.am: Add new test runner. -- GnuPG-bug-id: 6342
| * qt: Add data provider for list of file namesIngo Klöcker2023-01-275-0/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/Makefile.am: Add new files and corresponding camel-case header. * lang/qt/src/dataprovider.h: Include interface from gpgme++ when not building. * lang/qt/src/filelistdataprovider.cpp, lang/qt/src/filelistdataprovider.h: New. -- The new data provider simplifies providing a nul-separated list of UTF-8-encoded filenames, e.g. for creating signed or encrypted archives. It is a simple read-only proxy for QByteArrayDataProvider. GnuPG-bug-id: 6342
| * cpp: Support new archive encryption flagIngo Klöcker2023-01-272-1/+6
| | | | | | | | | | | | | | | | | | | | * lang/cpp/src/context.h (EncryptArchive): New flag. * lang/cpp/src/context.cpp (encryptflags2encryptflags): Convert EncryptArchive to corresponding gpgme encrypt flags. (operator<<): Add new flag to debug stream. -- GnuPG-bug-id: 6342
| * cpp: Add convenience overload to set file nameIngo Klöcker2023-01-273-0/+7
| | | | | | | | | | | | | | | | * lang/cpp/src/data.h, lang/cpp/src/data.cpp (setFileName): Add overload. -- GnuPG-bug-id: 6342
| * doc: Fix syntax errorsIngo Klöcker2023-01-271-4/+4
| | | | | | | | | | | | -- GnuPG-bug-id: 6342
| * core: Update required GnuPG version for new archive featuresIngo Klöcker2023-01-262-9/+12
| | | | | | | | | | | | | | | | | | | | | | * src/engine-gpg.c (gpg_decrypt, gpg_encrypt, gpg_encrypt_sign, gpg_sign, gpg_verify): Require gpg 2.4.1. -- To work properly the archive feature needs a fix added in GnuPG 2.4.1. GnuPG-bug-id: 6342
| * doc: Update NEWS and API documentationIngo Klöcker2023-01-252-8/+66
| | | | | | | | | | | | -- GnuPG-bug-id: 6342
| * core: Support usage of gpgtar for verifying a signed archiveIngo Klöcker2023-01-2511-33/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpgme.h.in (gpgme_verify_flags_t): New enum. (GPGME_VERIFY_ARCHIVE): New const. (gpgme_op_verify_ext_start): New func. (gpgme_op_verify_ext): New func. * src/gpgme.def, src/libgpgme.vers: Add new functions. * src/verify.c (gpgme_op_verify_ext_start): New. (gpgme_op_verify_ext): New. (verify_start): Add arg FLAGS. Pass the flags to _gpgme_engine_op_verify. (gpgme_op_verify_start): Call gpgme_op_verify_ext_start with 0 for FLAGS. (gpgme_op_verify): Call gpgme_op_verify_ext with 0 for FLAGS. * src/engine.c, src/engine.h (_gpgme_engine_op_verify): Add arg FLAGS. * src/engine-backend.h (struct engine_ops): Add FLAGS to 'verify'. * src/engine-gpg.c (gpg_verify): Add arg FLAGS. Set use_gpgtar engine flag if GPGME_VERIFY_ARCHIVE flag is set. Check for new enough gpg. Use add_gpg_arg for gpg-only options without a value. Set extra options for gpgtar and pass input data to stdin when using gpgtar. * src/engine-gpgsm.c (gpgsm_verify): Add arg FLAGS. Return error if GPGME_VERIFY_ARCHIVE flag is set. * src/engine-uiserver.c (uiserver_verify): Ditto. * tests/run-verify.c (show_usage): New options --archive, --directory, and --diagnostics. (main): Parse new options. Verify and extract with gpgtar if --archive is given. Set file name of output data to value of --directory option. Print stderr of gpg/gpgtar if --diagnostics is given. -- GnuPG-bug-id: 6342
| * core: Support usage of gpgtar for decrypting an encrypted archiveIngo Klöcker2023-01-245-22/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpgme.h.in (GPGME_DECRYPT_ARCHIVE): New decryption flag. * src/engine-gpg.c (gpg_decrypt): Set use_gpgtar engine flag if GPGME_DECRYPT_ARCHIVE flag is set. Check for new enough gpg and incompatible flags. Use add_gpg_arg_with_value for gpg-only options with a value and add_gpg_arg for gpg-only options without a value. Set extra options for gpgtar and pass input data to stdin when using gpgtar. * tests/run-decrypt.c (show_usage): New options --archive and --directory. (main): Parse new options. Decrypt with gpgtar if --archive is given. Set file name of output data to value of --directory option. -- GnuPG-bug-id: 6342
| * core: Allow setting the base directory when creating an archiveIngo Klöcker2023-01-234-18/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/engine-gpg.c (gpg_encrypt, gpg_encrypt_sign, gpg_sign): Pass file name set in data with --directory option to gpgtar. * tests/run-encrypt.c (show_usage): New option --directory. (main): Parse new option. Set file name of input data to option value. * tests/run-sign.c (show_usage): New option --directory. (main): Parse new option. Set file name of input data to option value. -- GnuPG-bug-id: 6342
| * doc: Update NEWS and API documentationIngo Klöcker2023-01-192-0/+35
| | | | | | | | | | | | -- GnuPG-bug-id: 6342
| * core: Support usage of gpgtar for creating an encrypted signed archiveIngo Klöcker2023-01-192-22/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/engine-gpg.c (gpg_encrypt_sign): Set use_gpgtar engine flag if GPGME_ENCRYPT_ARCHIVE mode is set. Check for new enough gpg. Use add_gpg_arg_with_value for gpg-only options with a value and add_gpg_arg for gpg-only options without a value. Set extra options for gpgtar and pass input data to stdin when using gpgtar. * tests/run-encrypt.c (print_result): Rename to print_encrypt_result. Print header. (print_sign_result): New. (show_usage): New option --sign. (main): Parse new option. Sign and encrypt --sign is given. Print results of signing additionally to results of encryption. -- With this change the gpgme_op_encrypt_sign* functions get support for creating an encrypted and signed archive from files and/or directories passed as NUL-separated list in the "plain" data with gpgtar. GnuPG-bug-id: 6342
| * core: Support usage of gpgtar for creating a signed archiveIngo Klöcker2023-01-194-36/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpgme.h.in (GPGME_SIG_MODE_ARCHIVE): New signature mode. * src/engine-gpg.c (append_args_from_sender, append_args_from_sig_notations): Use add_gpg_arg_with_value for gpg-only options with a value. (gpg_sign): Set use_gpgtar engine flag if GPGME_SIG_MODE_ARCHIVE mode is set. Check for new enough gpg. Use add_gpg_arg_with_value for gpg-only options with a value and add_gpg_arg for gpg-only options without a value. Set extra options for gpgtar and pass input data to stdin when using gpgtar. * src/sign.c (sign_start): Add GPGME_SIG_MODE_ARCHIVE as valid mode. * tests/run-sign.c (show_usage): New options --archive and --diagnostics. (main): Parse new options. Sign with gpgtar if --archive is given. Print stderr of gpg/gpgtar if --diagnostics is given. -- With this change the gpgme_op_sign* functions get support for creating a signed archive from files and/or directories passed as NUL-separated list in the "in" data with gpgtar. GnuPG-bug-id: 6342
| * core: Fix --set-filename argumentIngo Klöcker2023-01-191-1/+1
| | | | | | | | | | | | | | * src/engine-gpg.c (gpg_encrypt): Append equal sign to argument name. -- GnuPG-bug-id: 6342
| * core: Support usage of gpgtar for encryptionIngo Klöcker2023-01-185-116/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpgme.h.in (GPGME_ENCRYPT_ARCHIVE): New encryption flag. * src/engine-gpg.c (arg_and_data_s): New field gpg_arg. (engine_gpg): New flag use_gpgtar. (_add_arg): Add argument gpg_arg and set it. (add_arg_ext, add_arg_with_locp, add_arg, add_arg_pfx, add_arg_len): Adjust call of _add_arg. (add_arg_with_locp): Add argument front. (add_gpg_arg, add_gpg_arg_with_value): New. (gpg_new): Use add_gpg_arg_with_value for gpg-only options with a value and add_gpg_arg for gpg-only options without. (build_argv): Consider usage of gpgtar when counting arguments to pass to gpg/gpgtar. Prepend "--gpg-args" to all gpg-only arguments if gpgtar is used. (start): Set program to use. Read diagnostics output from stderr when using gpgtar. Do not pass --status-fd to gpgtar for gpg < 2.4.1. Use add_gpg_arg_with_value for --lc-ctype and --lc-messages. (gpg_encrypt): Set use_gpgtar engine flag if GPGME_ENCRYPT_ARCHIVE flag is set. Check for new enough gpg and incompatible flags. Use add_gpg_arg_with_value for gpg-only options with a value and add_gpg_arg for gpg-only options without a value. Set extra options for gpgtar and pass input data to stdin when using gpgtar. * src/engine-gpgsm.c (gpgsm_encrypt): Return error if new flag is set. * src/engine-uiserver.c (uiserver_encrypt): Ditto. * tests/run-encrypt.c (show_usage): New options --archive and --diagnostics. (main): Parse new options. Encrypt with gpgtar if --archive is given. Print stderr of gpg/gpgtar if --diagnostics is given. -- With this change the gpgme_op_encrypt* functions get support for encrypting a list of files and/or directories passed as NUL-separated list in "plain" data with gpgtar. GnuPG-bug-id: 6342
| * core: Defer adding --status-fd and --logger-fd to argument listIngo Klöcker2023-01-181-41/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/engine-gpg.c (_append_to_arglist, _prepend_to_arglist): New. (_add_arg): Use _append_to_arglist and _prepend_to_arglist. (add_data_ext): New. Extends add_data. (add_data): Uses add_data_ext. (gpg_new): Do not add --status-fd and --logger-fd to argument list. (start): Prepend --logger-fd and --status-fd to the argument list. -- This change makes it possible to handle those two arguments differently if gpgtar is used instead of gpg. GnuPG-bug-id: 6342
| * doc: Document socketdir value of gpgme_get_dirinfoIngo Klöcker2023-01-181-0/+3
| | | | | | | | --
| * cpp,doc: Update list of allowed values for dirInfoIngo Klöcker2023-01-181-1/+1
| | | | | | | | | | | | -- GnuPG-bug-id: 6342
| * core: Extend gpgme_get_dirinfo to return the gpgtar nameIngo Klöcker2023-01-184-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/dirinfo.c (WANT_GPGTAR_NAME): New. (dirinfo): Add field gpgtar_name. (get_gpgconf_item): Build gpgtar_name on demand and return it. (_gpgme_get_default_gpgtar_name) : New. (gpgme_get_dirinfo): New value "gpgtar-name" for WHAT. * src/util.h (_gpgme_get_default_gpgtar_name): New. * tests/t-engine-info.c (main): Add gpgtar-name to the output. GnuPG-bug-id: 6342
| * core: Use "goto leave" pattern to clean up resourcesIngo Klöcker2023-01-171-68/+62
| | | | | | | | | | | | | | | | | | | | | | * src/engine-gpg.c (build_argv): Initialize fd_data_map and argv. Goto leave on error. Free fd_data_map and argv on error. -- This will make it easier to add an additional "--with-gpg-args" option where needed. GnuPG-bug-id: 6342
| * core: Do not add obsolete --no-sk-comments to command lineIngo Klöcker2023-01-161-11/+0
| | | | | | | | | | | | | | | | | | * src/engine-gpg.c (build_argv): Don't add "--no-sk-comments" to argv. -- This option is a no-op since 1.4.3 and 1.4.23 is the latest 1.4 release. GnuPG-bug-id: 6342
* | cpp: Support all encryption flagsIngo Klöcker2023-01-263-1/+10
| | | | | | | | | | | | | | | | | | | | * lang/cpp/src/context.h (WantAddress): New flag. * lang/cpp/src/context.cpp (encryptflags2encryptflags): Convert WantAddress to corresponding gpgme encrypt flags. (operator<<): Add new flag to debug stream. -- GnuPG-bug-id: 6359
* | cpp: Pass ThrowKeyIds and EncryptWrap flags to GpgMEIngo Klöcker2023-01-261-0/+8
|/ | | | | | | | | * lang/cpp/src/context.cpp (encryptflags2encryptflags): Convert ThrowKeyIds and EncryptWrap to corresponding gpgme encrypt flags. (operator<<): Add flags to debug stream. -- GnuPG-bug-id: 6359
* qt: Fix comparisons of integer expressions of different signednessIngo Klöcker2023-01-051-1/+1
| | | | | | * lang/qt/tests/t-import.cpp (ImportTest::testImportWithImportFilter): Make integer literal unsigned. --
* cpp: Fix comparisons of integer expressions of different signednessIngo Klöcker2023-01-051-2/+2
| | | | | | | * lang/cpp/src/gpgrevokekeyeditinteractor.cpp (GpgRevokeKeyEditInteractor::Private::nextState): Cast signed nextLine value to std::size_t. --
* cpp: Expliticly declare compiler generated copy constructorsIngo Klöcker2023-01-0515-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | * lang/cpp/src/configuration.h (Component, Option), lang/cpp/src/data.h (Data), lang/cpp/src/decryptionresult.h (DecryptionResult, DecryptionResult::Recipient), lang/cpp/src/encryptionresult.h (EncryptionResult, InvalidRecipient), lang/cpp/src/engineinfo.h (EngineInfo), lang/cpp/src/importresult.h (ImportResult, Import), lang/cpp/src/key.h (Key, Subkey, UserID, UserID::Signature), lang/cpp/src/keygenerationresult.h (KeyGenerationResult), lang/cpp/src/keylistresult.h (KeyListResult), lang/cpp/src/notation.h (Notation), lang/cpp/src/signingresult.h (SigningResult, InvalidSigningKey, CreatedSignature), lang/cpp/src/swdbresult.h (SwdbResult), lang/cpp/src/tofuinfo.h (TofuInfo), lang/cpp/src/verificationresult.h (VerificationResult, Signature), lang/cpp/src/vfsmountresult.h (VfsMountResult): Explitily declare compiler generated copy constructor. -- This fixes "implicitly-declared copy constructor is deprecated" warnings.
* qt: Replace Q_DECL_OVERRIDE with overrideIngo Klöcker2023-01-0534-180/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/defaultkeygenerationjob.h, lang/qt/src/hierarchicalkeylistjob.h, lang/qt/src/multideletejob.h, lang/qt/src/protocol_p.h, lang/qt/src/qgpgmeadduseridjob.h, lang/qt/src/qgpgmechangeexpiryjob.h, lang/qt/src/qgpgmechangeownertrustjob.h, lang/qt/src/qgpgmechangepasswdjob.h, lang/qt/src/qgpgmedecryptjob.h, lang/qt/src/qgpgmedecryptverifyjob.h, lang/qt/src/qgpgmedeletejob.h, lang/qt/src/qgpgmedownloadjob.h, lang/qt/src/qgpgmeencryptjob.h, lang/qt/src/qgpgmeexportjob.h, lang/qt/src/qgpgmegpgcardjob.h, lang/qt/src/qgpgmeimportfromkeyserverjob.h, lang/qt/src/qgpgmeimportjob.h, lang/qt/src/qgpgmekeyformailboxjob.h, lang/qt/src/qgpgmekeygenerationjob.h, lang/qt/src/qgpgmekeylistjob.h, lang/qt/src/qgpgmelistallkeysjob.h, lang/qt/src/qgpgmenewcryptoconfig.h, lang/qt/src/qgpgmequickjob.h, lang/qt/src/qgpgmerefreshsmimekeysjob.h, lang/qt/src/qgpgmesignencryptjob.h, lang/qt/src/qgpgmesignjob.h, lang/qt/src/qgpgmesignkeyjob.h, lang/qt/src/qgpgmetofupolicyjob.h, lang/qt/src/qgpgmeverifydetachedjob.h, lang/qt/src/qgpgmeverifyopaquejob.h, lang/qt/src/qgpgmewkdlookupjob.h, lang/qt/src/qgpgmewkspublishjob.h, lang/qt/src/threadedjobmixin.h, lang/qt/tests/t-support.h: Replace Q_DECL_OVERRIDE with override -- We require C++11 since a long time.
* qt: Allow deferred start of import jobIngo Klöcker2023-01-055-0/+54
| | | | | | | | | | | | | | * lang/qt/src/importjob.h (ImportJob::startLater): New pure virtual method. * lang/qt/src/qgpgmeimportjob.cpp, lang/qt/src/qgpgmeimportjob.h (QGpgMEImportJob::startLater): New method. * lang/qt/tests/t-import.cpp (ImportTest::testDeferredStart): New. -- This makes it possible to prepare an import job for a deferred start. GnuPG-bug-id: 6323
* qt: Support deferred start of jobsIngo Klöcker2023-01-0410-0/+65
| | | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/job.cpp, lang/qt/src/job.h (Job::startNow): New method. * lang/qt/src/job_p.h (JobPrivate::start): New pure virtual method. * lang/qt/src/qgpgmechangeexpiryjob.cpp (QGpgMEChangeExpiryJobPrivate::start): New. * lang/qt/src/qgpgmeencryptjob.cpp (QGpgMEEncryptJobPrivate::start): New. * lang/qt/src/qgpgmeimportjob.cpp (QGpgMEImportJobPrivate::start): New. * lang/qt/src/qgpgmelistallkeysjob.cpp (QGpgMEListAllKeysJobPrivate::start): New. * lang/qt/src/qgpgmesignencryptjob.cpp (QGpgMESignEncryptJobPrivate::start): New. * lang/qt/src/threadedjobmixin.h (Thread::hasFunction): New method. (ThreadedJobMixin::run, ThreadedJobMixin::setWorkerFunction): New methods. -- startNow() starts a deferred job for which the worker function has been set before. GnuPG-bug-id: 6323
* qt: Explicitly instantiate private job classesIngo Klöcker2023-01-0417-72/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/Makefile.am: Add new files. * lang/qt/src/changeexpiryjob_p.h, lang/qt/src/encryptjob_p.h, lang/qt/src/importjob_p.h, lang/qt/src/listallkeysjob_p.h, lang/qt/src/signencryptjob_p.h: New. * lang/qt/src/changeexpiryjob.cpp, lang/qt/src/encryptjob.cpp, lang/qt/src/importjob.cpp, lang/qt/src/listallkeysjob.cpp, lang/qt/src/signencryptjob.cpp: Move JobPrivate subclasses to the new private header files. * lang/qt/src/job_p.h (jobPrivate): Remove lazy instantiation of private job classes. * lang/qt/src/qgpgmechangeexpiryjob.cpp (class QGpgMEChangeExpiryJobPrivate): New. (QGpgMEChangeExpiryJob::QGpgMEChangeExpiryJob): Instantiate private job class. * lang/qt/src/qgpgmeencryptjob.cpp (class QGpgMEEncryptJobPrivate): New. (QGpgMEEncryptJob::QGpgMEEncryptJob): Instantiate private job class. * lang/qt/src/qgpgmeimportjob.cpp (class QGpgMEImportJobPrivate): New. (QGpgMEImportJob::QGpgMEImportJob): Instantiate private job class. * lang/qt/src/qgpgmelistallkeysjob.cpp (class QGpgMEListAllKeysJobPrivate): New. (QGpgMEListAllKeysJob::QGpgMEListAllKeysJob): Instantiate private job class. * lang/qt/src/qgpgmesignencryptjob.cpp (class QGpgMESignEncryptJobPrivate): New. (QGpgMESignEncryptJob::QGpgMESignEncryptJob): Instantiate private job class. -- We need private job classes corresponding to the concrete leaf classes. This makes the lazy instantiation of the private classes by the job interface classes impossible. GnuPG-bug-id: 6323
* doc:python: Replace gpgme-config to pkg-config.NIIBE Yutaka2022-12-141-2/+2
| | | | | | -- Signed-off-by: NIIBE Yutaka <[email protected]>
* cpp: Handle status errors in the base edit interactorIngo Klöcker2022-12-082-4/+3
| | | | | | | | | | | | | | | * lang/cpp/src/editinteractor.cpp (edit_interactor_callback_impl): Handle status errors. * lang/cpp/src/gpgrevokekeyeditinteractor.cpp (GpgRevokeKeyEditInteractor::Private::nextState): Remove handling of status errors. -- With this change status errors are handled for all interactors. In particular, this makes all edit interactors handle canceled password prompts correctly. GnuPG-bug-id: 6305
* cpp: Handle statuses that need no response in the base edit interactorIngo Klöcker2022-12-088-28/+7
| | | | | | | | | | | | | | | | | | | | | | | | | * lang/cpp/src/editinteractor.cpp (edit_interactor_callback_impl): Do not call nextState() if status needs no response. * lang/cpp/src/gpgaddexistingsubkeyeditinteractor.cpp (GpgAddExistingSubkeyEditInteractor::Private::nextState), lang/cpp/src/gpgadduserideditinteractor.cpp (GpgAddUserIDEditInteractor::nextState), lang/cpp/src/gpggencardkeyinteractor.cpp (GpgGenCardKeyInteractor::nextState), lang/cpp/src/gpgrevokekeyeditinteractor.cpp (GpgRevokeKeyEditInteractor::Private::nextState), lang/cpp/src/gpgsetexpirytimeeditinteractor.cpp (GpgSetExpiryTimeEditInteractor::nextState), lang/cpp/src/gpgsetownertrusteditinteractor.cpp (GpgSetOwnerTrustEditInteractor::nextState), lang/cpp/src/gpgsignkeyeditinteractor.cpp (GpgSignKeyEditInteractor::nextState): Remove handling of statuses that need no response. -- This change removes superfluous code duplication. GnuPG-bug-id: 6305
* qt: Write path values with Unix directory separatorsIngo Klöcker2022-12-061-1/+1
| | | | | | | | | | | | | * lang/qt/src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigEntry::setURLValue): Remove conversion to native directory separators. -- Even on Windows Unix directory separators work with all API calls. And some path values also allow "URLs" like tcp://1.2.3.4:10001 which must use '/'. GnuPG-bug-id: 4518