aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* examples: exporting keysben/howto-update-05Ben McGinnes2018-05-292-5/+12
| | | | | * Fixed the descriptions and explanation of what happens if no search/user ID/key ID data is included (it exports the lot).
* examples: python bindingsBen McGinnes2018-05-292-0/+146
| | | | | | | | | * 2 more scripts for planned expansion of the HOWTO. * export-key.py - is very similar to both the import-key.py script and an earlier example. * export-secret-key.py - the holiest of holies, a script to be very careful with (though on posix systems it is saved in a chmodded 600 file).
* examples: python bindings howtoBen McGinnes2018-05-251-0/+75
| | | | | * Added a script for planned HOWTO expansion demonstrating key import from a file with optional alternative homedir setting.
* examples: mutt crypt-hooks generatorBen McGinnes2018-05-241-0/+64
| | | | | | | * Added a script which demonstrates how the groups module works. * Script generates Mutt/Neomutt crypt-hooks for every group entry in gpg.conf, including those entries for multiple keys (Mutt handles that differently).
* docs: python bindings howtoBen McGinnes2018-05-242-9/+13
| | | | | | | * Fixed the groups.py script so it really does what is described (the old code had the same result for groups, group_lines and group_lists). * Updated the corresponding example in the doc to match.
* doc: python bindings howtoBen McGinnes2018-05-241-3/+2
| | | | | | * Fixed org-mode python source indenting. ** Note: nested indented blocks do not indent correctly when exported to [X]HTML.
* json: Add code to gpg_error based messagesAndre Heinecke2018-05-241-50/+104
| | | | | | | | | | * src/gpgme-json.c (gpg_error_object): New. (error_object_v): Extend to take error. -- Having the error code is helpful, especially as the strerrors are localized. E.g. to detect an ERROR_CANCELED.
* json: Implement op_versionAndre Heinecke2018-05-241-0/+86
| | | | | | * src/gpgme-json.c (op_version): New. (process_request): Extend for version. (protocol_to_string, add_ei_to_object): New helpers.
* json: Implement op_verifyAndre Heinecke2018-05-241-1/+158
| | | | | | | | | | * src/gpgme-json.c (op_verify): New. (hlp_help): Add verify. (process_request): Add verify. -- Mostly works, except for detached, base64 encoded signatures, they are somehow not yet written to gpgme.
* json: Put signature info before data outputAndre Heinecke2018-05-241-9/+9
| | | | | | | | * src/gpgme-json.c (op_decrypt): Move info before data. -- This should enable it to first parse signatures before handling very large chunks of data.
* json: Add sign to helpAndre Heinecke2018-05-241-0/+1
| | | | * src/gpgme-json.c (hlp_help): Add sign.
* json: Add op_signAndre Heinecke2018-05-241-0/+177
| | | | * src/gpgme-json.c (op_sign): New.
* json: Fix invalid function callAndre Heinecke2018-05-241-1/+1
| | | | | | | | | * src/gpgme-json.c (add_signatures_to_object): Fix call to xjson_CreateArray. -- That is what happens if you edit code while reviewing changes, without testing it again,..
* json: Print signatures for decrypt/verifyAndre Heinecke2018-05-241-0/+211
| | | | | | | | | * gpgme-json.c (xJSON_CreateArray), (add_summary_to_object, validity_to_string): New helpers. (add_signature_to_object, add_signatures_to_object) (add_signatures_object): New. (op_decrypt): Handle verify_result. (hlp_help): Mention decrypt.
* json: Minor typo fixesAndre Heinecke2018-05-241-3/+3
| | | | * src/gpgme-json.c: Minor typo fixes.
* docs and examples: python howtoBen McGinnes2018-05-232-8/+22
| | | | | | | | * Updated the decryption example code in the HOWTO and the corresponding decrypt-file.py script to gracefully handle a decryption failure. This error will always be triggered when GPGME is used to try to decrypt an old, MDC-less encrypted message or file.
* cpp: Expose sessionKey and symkeyAlgoAndre Heinecke2018-05-223-0/+19
| | | | | * lang/cpp/decryptionresult.cpp, lang/cpp/decryptionresult.h (DecryptionResult::symkeyAlgo, DecryptionResult::sessionKey): New.
* core, w32: Add w64 handling for regkeysAndre Heinecke2018-05-171-3/+22
| | | | | | | | | | | | | | | * src/w32-util.c (_gpgme_get_gpg_path): Use new defines. (GNUPG_REGKEY_2): x64 aware regkey as used by GnuPG in Gpg4win 2.x (GNUPG_REGKEY_3): x64 aware regkey as used by GnuPG in Gpg4win 3.x (_gpgme_get_gpgconf_path): Use new regkeys. Add another fallback. -- This should fix more "unsupported protocol" issues if Gpg4win / GnuPG is installed in a non standard path on 64bit systems. The regkey handling is similar to that of gpgex and gpgol. GnuPG-Bug-Id: T3988
* core: Always fail if an OpenPG message is not integrity protected.Werner Koch2018-05-173-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | * src/decrypt.c (struct op_data_t): Add field not_integrity_protected. (parse_decryption_info): Set this. Also rename mode to aead_algo for clarity. (_gpgme_decrypt_status_handler): Force failure in case of a missing MDC. -- This extra check makes sure that a missing or stripped MDC in - gpg < 2.1 - or gpg 2.2 with an old cipher algorithm will lead to a decryption failure. gpg 2.3 will always fail in this case. Implementing this check here and not backporting the 2.3 change to 2.2 has the benefit that all GPGME using applications are protected but scripts relying on rfc2440 (i.e. without MDC) will only break when migrating to 2.3. Note that S/MIME has no integrity protection mechanism but gpgsm neither emits a DECRYPTION_INFO status line, so an error will not be triggered. If in the future gpgsm supports authenticated encryption it may issue a DECRYPTION_INFO line to force a failure here but it will in that case also emit a DECRYPTION_FAILED anyway. GnuPG-bug-id: 3981 Signed-off-by: Werner Koch <[email protected]>
* json: Improve auto-base64 encoding to not split UTF-8 chars.Werner Koch2018-05-091-8/+14
| | | | | | | * src/gpgme-json.c (make_data_object): Switch to Base64 also for UTF-8 characters. Signed-off-by: Werner Koch <[email protected]>
* core: Make the status-fd monitor work for all gpgsm commands.Werner Koch2018-05-091-1/+10
| | | | | | | * src/engine-gpgsm.c (status_handler): Call the status monitor also here. Signed-off-by: Werner Koch <[email protected]>
* python: key expiration datetime stamp testsBen McGinnes2018-05-051-1/+1
| | | | | | | | | * Changed the expiration date for the generated test key to NYE this century, rather than the NYE this millennium as originally suggested in job #3815. * This covers the lifetimes of current users (except, maybe, some very healthy millennials) as well as the 32-bit clock end date in 2038; without falling foul of OpenPGP's 2106 expiration.
* qt: Respect --disable-gpg-test for testsAndre Heinecke2018-05-041-1/+7
| | | | | | | * lang/qt/Makefile.am: Respect --disable-gpg-test -- This is similar to the core switch to disable the tests.
* qt: Fix filename handling in cryptoconfigAndre Heinecke2018-04-261-3/+3
| | | | | | | | | | | * src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigEntry::urlValue): Build url from local file. (QGpgMENewCryptoConfigEntry::setURLValue): Set native seperated path. -- This fixes setting files through cryptoconfig on Windows. GnuPG-Bug-Id: T3939
* core: Do not modify args for ignored failuresAndre Heinecke2018-04-201-4/+3
| | | | | | | | | | | | | * src/op-support.c (_gpgme_parse_failure): Ignore gpg-exit failures before modifying args. -- For op_decrypt_verify the status handler for both decrypt and verify would parse the failure when the first parser ignored the failure. This resulted in an ERR_INV_ENGINE as the first call to parse_failure modified the args. GnuPG-Bug-Id: T3919
* Post release updatesWerner Koch2018-04-202-1/+5
| | | | --
* Release 1.11.1gpgme-1.11.1Werner Koch2018-04-202-5/+12
| | | | | | | * configure.ac: Bump LT version to C31/A20/R1. For cpp to C13/A7/R0. For qt to: C10/A3/R2. Signed-off-by: Werner Koch <[email protected]>
* core: Remove another debug output leftover.Werner Koch2018-04-201-1/+0
| | | | | | * src/decrypt.c (_gpgme_decrypt_status_handler): Remove log debug. Signed-off-by: Werner Koch <[email protected]>
* build: More release creation automation.Werner Koch2018-04-201-1/+58
| | | | | | * Makefile.am: Add release and sign-release targets. Signed-off-by: Werner Koch <[email protected]>
* doc: Suggest the use of strconcat for recipient strings.Werner Koch2018-04-201-0/+55
| | | | | | | -- GnuPG-bug-id: 3775 Signed-off-by: Werner Koch <[email protected]>
* json: Remove the -noinstall flag used during development.Werner Koch2018-04-191-2/+0
| | | | | | | | * src/Makefile.am (gpgme-json_LDFLAGS): Remove. -- Reported-by: Alon Bar-Lev <[email protected]> Signed-off-by: Werner Koch <[email protected]>
* cpp: Add origin and last_update to UserIDAndre Heinecke2018-04-193-19/+49
| | | | | | | * 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.
* cpp: Add origin and last_updateAndre Heinecke2018-04-193-0/+56
| | | | | | * NEWS: mention interface change. * lang/cpp/src/key.cpp (Key::origin, Key::lastUpdate): New. * lang/cpp/src/key.h (Key::Origin): New enum.
* core: Remove leftover debug output.Werner Koch2018-04-191-1/+0
| | | | | | | | | | | | * src/verify.c (_gpgme_verify_status_handler): Remove debug output. -- Actually this is a real bug because it uses a debug function available only in the new libgpg-error versions. Time to call Jenkins back from vacation; there are rumors that he has been seen in the city looking for a new Ryzen tail coat. Signed-off-by: Werner Koch <[email protected]>
* tests: Fix t-verify test for GnuPG < 2.2.7.Werner Koch2018-04-191-3/+9
| | | | | | | | | | | | | | * tests/gpg/t-verify.c (check_result): Tweak for gnupg < 2.2.7. -- The not yet releases 2.2.7-beta may print a full fingerprint in the ERRSIG status. This is compliant with the dscription but the new t-verify test case did not took in account that older GnuPG versions print only a keyid. Fixes-commit: b99502274ae5efdf6df0d967900ec3d1e64373d7 GnUPG-bug-id: 3920 Signed-off-by: Werner Koch <[email protected]>
* Post release updatesWerner Koch2018-04-182-3/+6
| | | | --
* Release 1.11.0gpgme-1.11.0Werner Koch2018-04-182-9/+11
| | | | | | | * configure.ac: Bump LT version to C31/A20/R0. For cpp to C12/A6/R0. For qt to: C10/A3/R1. Signed-off-by: Werner Koch <[email protected]>
* json: Add stpcpy replacement.Werner Koch2018-04-181-0/+13
| | | | | | * src/gpgme-json.c [!HAVE_STPCPY](_my_stpcpy): New. Signed-off-by: Werner Koch <[email protected]>
* doc: Update copyright years and change two URLs.Werner Koch2018-04-187-17/+17
| | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* doc: Unify comment style in gpgme.hWerner Koch2018-04-181-160/+175
| | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* core: New convenience constant GPGME_KEYLIST_MODE_LOCATE.Werner Koch2018-04-184-3/+48
| | | | | | * src/gpgme.h.in (GPGME_KEYLIST_MODE_LOCATE): New. Signed-off-by: Werner Koch <[email protected]>
* json: Add command "decrypt" to gpgme-json.Werner Koch2018-04-181-7/+139
| | | | | | | | | | * src/gpgme-json.c (make_data_object): Enable auto-detection of base-64. (op_encrypt): Support a 'mime' flag. (op_decrypt): New. (process_request): Add command "encrypt". Signed-off-by: Werner Koch <[email protected]>
* core: Add 'is_mime' flags to the verify and decrypt results.Werner Koch2018-04-189-26/+51
| | | | | | | | | | | | | | | | | | | * src/op-support.c (_gpgme_parse_plaintext): Add arg r_mime. * src/decrypt.c (_gpgme_decrypt_status_handler): Ser mime flag. * src/verify.c (_gpgme_verify_status_handler): Ditto. * src/gpgme.h.in (gpgme_op_verify_result_t): Append fields 'is_mime' and '_unused'. (gpgme_op_decrypt_result_t): New field 'is_mime'. Shrink '_unused'. * tests/run-decrypt.c (print_result): Print MIME flag. * tests/run-verify.c (print_result): Ditto. -- Note that this flag (Liternal Data packet's 'm' mode) is only specified in RFC-4880bis. To use it you currently need to add "rfc4880bis" to the the gpg.conf. Signed-off-by: Werner Koch <[email protected]>
* core: Fix possible compliance mode detection error.Werner Koch2018-04-181-0/+1
| | | | | | | | | | | | | * src/verify.c (_gpgme_verify_status_handler): Insert missing break. -- Before the insertion of the compliance status checking the break in the default clause was used by the STATUS_PLAINTEXT code. That got lost. I don't see any actual harm due to different values currently in use for the compliance status. Fixes-commit: 05fa2a9c7764b28fdac35eb72631439df948ca0e Signed-off-by: Werner Koch <[email protected]>
* json: Improve help meta command in gpgme-json.Werner Koch2018-04-181-7/+17
| | | | | | * src/gpgme-json.c (process_meta_commands): Add ",help CMD". Signed-off-by: Werner Koch <[email protected]>
* json: Add command "getmore" to gpgme-json.Werner Koch2018-04-181-46/+228
| | | | | | | | | | | | | | | | | | | | | * src/gpgme-json.c (MIN_REPLY_CHUNK_SIZE): New const. (DEF_REPLY_CHUNK_SIZE): New const. (MAX_REPLY_CHUNK_SIZE): New const. (pending_data): New var. (add_base64_to_object): Chnage to take a plain data pointer. (get_chunksize): New. (make_data_object): New. (op_encrypt): Get chunksize and use make_data_object. (op_getmore): New. (process_request): Release pending data for all commands but "getmore" and "help". -- Native messaging has a limit on the data it may receive in one request. Thus the caller needs to watch for the "more" flag and request the remaining data using "getmore" in a loop. Signed-off-by: Werner Koch <[email protected]>
* json: Add meta command ,read to gpgme-json.Werner Koch2018-04-181-1/+58
| | | | | | | | * src/gpgme-json.c: Include stat.h. (get_file): New. (process_meta_commands): Implement ",read". Signed-off-by: Werner Koch <[email protected]>
* core: Extend decryption result with symkey_algo.Werner Koch2018-04-177-11/+123
| | | | | | | | | | | | | | | | | * src/gpgme.h.in (gpgme_op_decrypt_result_t): Add field 'symkey_algo'. * src/decrypt.c (release_op_data): Free SYMKEY_ALGO. (gpgme_op_decrypt_result): Make sure SYMKEY_ALGO is not NULL. (parse_decryption_info): New. (_gpgme_decrypt_status_handler): Parse DECRYPTION_INFO status. * src/conversion.c (_gpgme_cipher_algo_name): New. (_gpgme_cipher_mode_name): New. * tests/run-decrypt.c (print_result): Print SYMKEY_ALGO * src/util.h (_gpgme_map_gnupg_error): Remove obsolete prototype. -- Signed-off-by: Werner Koch <[email protected]>
* core: New keyword --file for OpenPGP recpstring.Werner Koch2018-04-172-9/+43
| | | | | | | | | | * src/engine-gpg.c (append_args_from_recipients_string): Add new flags. -- Now you can use gpgme to encrypt without first importing a key. Signed-off-by: Werner Koch <[email protected]>
* core: For OpenPGP let offline mode disable dirmngr.Werner Koch2018-04-172-17/+38
| | | | | | | | | | * src/engine-gpg.c (struct engine_gpg): New flag.offline. (gpg_set_engine_flags): Set it. Also fix setting of no_symkey_cache. (build_argv): Pass --disable-dirmngr in offline mode. -- GnuPG-bug-id: 3831 Signed-off-by: Werner Koch <[email protected]>