aboutsummaryrefslogtreecommitdiffstats
path: root/doc (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-06-22core: Allow specifying an expiration date for key signaturesIngo Klöcker1-0/+8
* src/context.h (struct gpgme_context): Add 'cert_expire'. * src/engine-gpg.c (append_args_from_cert_expire): New. (gpg_edit): Set option according to the new flag. * src/gpgme.c (gpgme_release): Free 'cert_expire'. (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Add "cert-expire". * tests/gpg/Makefile.am (c_tests): Add new test. (gpg.conf): Write "allow-weak-key-signatures" to gpg.conf. * tests/gpg/t-edit-sign.c: New. -- The new context flag "cert-expire" allows setting the expiration date for key signatures created with gpgme_op_interact. GnuPG-bug-id: 5336, 5505
2021-06-14core: New data flags "io-buffer-size" and "sensitive".Werner Koch1-0/+16
* src/data.c (_gpgme_data_release): Free buffers. (gpgme_data_seek): Adjust from renamed fields. (gpgme_data_set_flag): Implement new flags. (_gpgme_data_inbound_handler): Allow the use of a malloced buffer. (_gpgme_data_outbound_handler): Ditto. * src/data.h (BUFFER_SIZE): Move out of the struct definition. (struct gpgme_data): Remove pending filed and introduce inbound and outbound fields. * src/conversion.c (_gpgme_wipememory): New. Taken from GnuPG. * src/cJSON.c (wipememory): Use this here too. * tests/run-decrypt.c (main): Add options "--large-buffers" and "--sensitive". -- GnuPG-bug-id: 5478 Signed-off-by: Werner Koch <[email protected]>
2021-05-05core: Extend gpgme_key_sig_t with trust signature members.Ingo Klöcker1-0/+11
* src/gpgme.h.in (struct _gpgme_key_sig): Add fields 'trust_depth', 'trust_value', and 'trust_scope'. * src/key.c (gpgme_key_unref): Free trust_scope. * src/keylist.c (keylist_colon_handler): Set the fields. * tests/run-keylist.c (main): Print the fields. -- The trust signature values are part of gpg's output since the year 2003. This now adds support to gpgme. GnuPG-bug-id: 5245, 5419
2021-03-11core: New flag GPGME_KEYSIGN_FORCE.Werner Koch1-0/+5
* src/gpgme.h.in (GPGME_KEYSIGN_FORCE): New. * src/engine-gpg.c (gpg_keysign): Implement. * tests/run-keysign.c (show_usage): Add option --force -- GnuPG-bug-id: 4584
2020-10-29core: New function gpgme_op_revsig.Ingo Klöcker1-0/+65
* src/gpgme.h.in (gpgme_op_revsig_start, gpgme_op_revsig): New. (GPGME_REVSIG_LFSEP): New. * src/context.h (ctx_op_data_id_t): Add OPDATA_REVSIG. * src/revsig.c: New. * src/Makefile.am (main_sources): Add revsig. * src/libgpgme.vers, src/gpgme.def: Add gpgme_op_revsig and gpgme_op_revsig_start. * src/engine.h, src/engine.c: (_gpgme_engine_op_revsig): New. * src/engine-backend.h (engine_ops): Add 'revsig' and adjust all engine initializers. * src/engine-gpg.c (gpg_revsig): New. (_gpgme_engine_ops_gpg): Set revsig to gpg_revsig. * doc/gpgme.texi: Document new functions. * tests/run-keysign.c: Add option --revoke. -- This extends GPGME to support the --quick-revoke-sig command added by GnuPG 2.2.24. This allows revoking key signatures. GnuPG-bug-id: 5094
2020-08-04core: New function gpgme_op_setexpire.Ingo Klöcker1-0/+75
* src/gpgme.h.in (gpgme_op_setexpire_start, gpgme_op_setexpire): New. * src/libgpgme.vers, src/gpgme.def: Add new functions. * src/genkey.c (setexpire): New. (gpgme_op_setexpire_start, gpgme_op_setexpire): New. * src/engine.h, src/engine.c: (_gpgme_engine_op_setexpire): New. * src/engine-backend.h (engine_ops): Add 'setexpire' and adjust all engine initializers. * src/engine-gpg.c (gpg_setexpire): New. (_gpgme_engine_ops_gpg): Set setexpire to gpg_setexpire. * doc/gpgme.texi: Document new functions. * tests/run-genkey.c: Add option --setexpire. -- This extends GPGME to support the --quick-set-expire command added by GnuPG 2.1.22. This allows changing subkeys expiry date without going through the editinteractor interface. Co-authored-by: Andre Heinecke <[email protected]> GnuPG-bug-id: 4999
2020-07-16core: New export mode to export as OpenSSH public key.Werner Koch1-0/+8
* src/gpgme.h.in (GPGME_EXPORT_MODE_SSH): New. * src/export.c (export_ext_start): Allow for new mode. * src/engine-gpg.c (export_common): Implement. * tests/run-export.c (status_cb): New. (main): New options --status and --ssh. -- GnuPG-bug-id: 4310 Signed-off-by: Werner Koch <[email protected]>
2020-07-15core: Deprecate the non-working trustlist functions.Werner Koch1-177/+1
* src/gpgme.h.in: Clarify that the trustlist function should not be used. * src/engine.c (_gpgme_engine_op_trustlist): Always return an error. * src/engine-backend.h (struct engine_ops): Remove trustlist member. * src/engine-gpg.c (gpg_trustlist): Remove. (struct engine_ops): Remove that member. Also in all other engines. * tests/gpg/t-trustlist.c: Remove. * lang/python/tests/t-trustlist.py: Remove. -- This never worked in reality because the required feature has been removed from GnuPG version 1.3.2 soon after introduction of this feature in gpgme - 17 years ago. It was anyway marked as experimental. We keep the API and ABI, though. GnuPG-bug-id: 4834 Signed-off-by: Werner Koch <[email protected]>
2020-07-15core: New keylist mode GPGME_KEYLIST_MODE_WITH_KEYGRIP.Werner Koch1-0/+7
* 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]>
2020-06-09doc: Explain verify_result_t.status == 0 moreAndre Heinecke1-2/+9
* doc/gpgme.texi (gpgme_verify_result_t): Explain GPGME_STATUS_NO_ERROR more clearly. -- This might help to avoid misunderstandings how the status can be interpreted and explains why a verify of unsigned PGP Data returns no error. As a reaction to CVE-2020-10759 discovered by Justin Steven.
2020-05-08GPGME_CREATE_NOEXPIRE is only available since 1.9.0dupgit1-1/+1
* doc/gpgme.texi: Fixes version number from 1.8.0 to 1.9.0 for GPGME_CREATE_NOEXPIRE. GnuPG-Bug-Id: T4922 Signed-off-by: dupgit <[email protected]>
2020-05-08core: Make sure the keygrip is available in WITH_SECRET mode.Werner Koch1-1/+2
* src/engine-gpg.c (gpg_keylist_build_options): Send --with-keygrip if --with-secret is used. -- Since GnuPG 2.2.19 the keygrip was not anymore send if only --with-secret was used in a public key listing. Given that --with-secret requires computation of the keygrip anyway, there is no point in not requesting the keyrip in this case. GnuPG-bug-id: 4820
2020-03-17core: New context flags "include-key-block" and "auto-key-import".Werner Koch1-1/+9
* src/gpgme.c (gpgme_set_ctx_flag): Add flags "include-key-block" and "auto-key-import". (gpgme_get_ctx_flag): Ditto. * src/context.h (struct gpgme_context): Add flags include_key_block and auto_key_import. * src/engine-gpg.c (struct engine_gpg): Likewise. (gpg_set_engine_flags): Set the flags for gpg versions >= 2.2.20. (gpg_decrypt): Set option according to the new flags. (gpg_encrypt): Ditto. (gpg_encrypt_sign): Ditto. (gpg_sign): Ditto. (gpg_verify): Ditto. tests/run-verify: Add option --auto-key-import. tests/run-sign: add option --include-key-block. -- GnuPG-bug-id: 4856 Signed-off-by: Werner Koch <[email protected]>
2019-12-13core: Extend gpgme_user_id_t with uidhash member.Werner Koch1-0/+6
* src/gpgme.h.in (struct _gpgme_user_id): Add field 'uidhash'. * src/key.c (gpgme_key_unref): Free it. * src/keylist.c (keylist_colon_handler): Set it. * tests/run-keylist.c (main): Print it. -- The uidhash value is part of gpg's output since the year 2005. This now adds support to gpgme. The application for uidhash is to select a user id in an edit interactor: Instead of giving the number of the user id, the uidhash value can be be used to avoid tracking the user id numbers. Signed-off-by: Werner Koch <[email protected]>
2019-12-11Revert "doc: Remove UI Server documentation"Andre Heinecke3-1/+639
This reverts commit 1b2ad3b73c37d0583b8e438b4707dca60e26ae7e. -- Just removing the documentation was not the right way as this is still in use.
2019-11-12doc: Remove UI Server documentationAndre Heinecke3-639/+1
* doc/Makefile.am: Remove uiserver.texi * doc/gpgme.texi: Remove UI-Server mentions. * doc/uiserver.texi: Removed. -- This prepares the removal of UI Server from implementing applications like Kleopatra. The only user of the UI Server is GpgEX and even that does not need it at all and is better served with process calls. GnuPG-Bug-Id: T4030
2019-10-29core: Add cert-notation support and extended-editAndre Heinecke1-0/+4
* src/context.h (gpgme_context): Add new flag for extended-edit. * src/engine-gpg.c (append_args_from_sig_notations): Add flags to control the kind of notations. (gpg_edit): Respect extended-edit and notations. (gpg_encrypt_sign, gpg_sign): Update call to append_args_from_sig_notations. * src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Support extended-edit. * NEWS, doc/gpgme.texi: Mention extended-edit. -- This provides a way to get the extended key-edit interface without breaking bad state machines that rely on the current command flow. A use case for this is to enable multiple local signatures, which can be used together with annotations for: GnuPG-Bug-Id: T4734
2019-10-01doc: Remove cruft from a doc entry.Werner Koch1-1/+1
-- Reported-by: [email protected]
2018-12-03doc: Minor comment cleanups.Werner Koch1-3/+3
-- Signed-off-by: Werner Koch <[email protected]>
2018-11-16Add SPDX identifiers to most source filesWerner Koch1-2/+2
-- Signed-off-by: Werner Koch <[email protected]>
2018-11-08spelling: fix misspellingsDaniel Kahn Gillmor4-15/+15
Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2018-10-18doc: use https:// for www.gnu.orgDaniel Kahn Gillmor1-1/+1
-- Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2018-10-09core: Add trust-model flagAndre Heinecke1-0/+19
* src/context.h (gpgme_context): Extend with trust_model. * src/engine-gpg.c (engine_gpg): Extend with trust_model. (gpg_set_engine_flags): Take trust_model from context. (build_argv): Handle trust_model. (gpg_release): Free trust_model. * src/gpgme.c (gpgme_set_ctx_flag): Handle trust-model flag. (gpgme_release): Release trust-model. * doc/gpgme.texi: Document new flag for gpgme_set_ctx_flag. (Context Flags): New subsection for the context flags. * tests/run-keylist.c (show_usage, main): Add new --trust-model parameter. -- This gives a GPGME user fine grained control over the trust-model. Changing the trust model for only a single application depends on: GnuPG-Bug-Id: T4134 Maniphest Tasks: T4134 Differential Revision: https://dev.gnupg.org/D466
2018-10-05build: Move config.h to conf/config.hWerner Koch1-3/+3
* conf/: New dir. * configure.ac (AC_CONFIG_HEADER): Move header to conf dir. * doc/Makefile.am (mkdefsinc): Adjust rule. * lang/python/Makefile.am (copystamp): Ditto. -- C++ uses those stupid files without a suffix and thus the new standard header <version> as included by newer other libc++ versions may conflict with the VERSION file in out top directory. This change should solve the problem. GnuPG-bug-id: 4168 Signed-off-by: Werner Koch <[email protected]>
2018-10-04python: makefilesBen McGinnes1-1/+1
* doc/Makefile.am: Removed a bit I forgot about. * Renamed lang/python/docs to lang/python/doc bvecause apparently automake cares about that too. * Decided to be extra explicit in the manifest because if I don't then all sorts of things get deleted ... like lang/python * Tested on an external linux system just in case my osx workstation introduces too much weirdness. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
2018-10-03docs: pre-python preparationBen McGinnes2-3138/+1
* doc/Makefile.am: removed the python howto from this file, restoring it to just the main project and the newer .js files. * deleted: doc/gpgme-python-howto.texi * renamed the Short_History.org file to short-history.org to keep the naming conventions similar. * All the Python files can (and should) live together.
2018-10-02python bindings: CPython orderBen McGinnes1-7/+26
* Changed the order of python versions the configure/make process checks for, placing Python 3.7 ahead of 3.6. * Updated the HOWTO documentation to reflect this change. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
2018-10-02core: add experimental GPGME_EXPORT_MODE_NOUID.Werner Koch1-0/+4
* src/gpgme.h.in (GPGME_EXPORT_MODE_NOUID): New. * src/export.c (export_start): Adjust option check. * src/engine-gpg.c (export_common): Implement option. Signed-off-by: Werner Koch <[email protected]>
2018-09-30docs: python bindingsBen McGinnes1-2/+95
* Tightened up the docs a little bit, updated the "what's new" section, dropped the "-draft" version in preparation for GPGME 1.12.0's release. * Exported another .texi version (and updated the draft copies to this commit (which ought to be 1.11.1-beta313). Signed-off-by: Ben McGinnes <[email protected]>
2018-09-25docs: a typographical two-stepBen McGinnes1-4/+4
* Sometimes you really do need or want punctuation in a heading, but ideally without something else generating whitespace and other annoyances to go with it. * Trying a real decimal point instead. Signed-off-by: Ben McGinnes <[email protected]>
2018-09-24docs and examples: python bindingsBen McGinnes1-10/+162
* Woumd up the "what's new" section. * Added an example for sending a key to the keyservers via hkp4py. * Updated the export key code to use a more complete check for the $GNUPGHOME location. * Expanded on the installation and reinstallation troubleshooting section. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
2018-09-24docs: python bindings howtoBen McGinnes1-2/+86
* Added a What's New section to summarise changes since the last release. There have been quite a few and some attention does need to be drawn to some of them. * Confirming certain issues with some platform builds, especially BSD/OSX vs. Linux issues which will need to update the installation troubleshooting guides.
2018-09-23docs and examples: python bindings howtoBen McGinnes1-53/+375
* Added more comprehensive examples using hkp4py and added a couple more example scripts for protonmail. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
2018-09-23examples: python bindings and hkp4py updatesBen McGinnes1-2/+14
* Mostly tightening up the details on the hkp4py example script. * Also fixed a typo in the LGPL boiler plate text included in all the other example scripts for the HOWTO.
2018-09-22python bindings: importing from keyservers with hkp4pyBen McGinnes1-3/+82
* added a new example script to search the keyservers and import the results, this time using Marcel Fest's hkp4py module. * Updated the key importing section to match this addition. * Tested with the current version of hkp4py from github. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
2018-09-22docs: python bindings howtoBen McGinnes1-1/+18
* Confirmed that updates to the tests have significant'y improved that output. * Updated some of the additional notes for the section on hkp4py. ** This is in anticipation adding at least import examples using that module as well. It may also include adding examples of exporting a key and uploading it to the keyservers. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
2018-09-20docs: python bindings and its special requestBen McGinnes1-6/+38
* Added some material on using the new-ish hkp4py module with GPGME. * Example code will be added later once a couple of little issues are addressed. Signed-off-by: Ben McGinnes <[email protected]>
2018-09-17docs: python bindingsBen McGinnes1-3/+7
* Updated the Cython example code slightly, along with the corresponding explanation.
2018-09-17docs: python bindings howtoBen McGinnes1-20/+11
* Tightened up the Cython demonstration.
2018-09-16docs: cython sanitizedBen McGinnes1-2/+5
* Sanitized the shell command examples of extraneous whitespace. * Removed keycount.c as sanitising it is pointless and it will be generated by Cython when the example is followed. * Regenerated the .texi version.
2018-09-16docs: python bindings howtoBen McGinnes1-0/+119
* Added new advanced section with an example of using the Python bindings with CPython code compiled back to C code using Cython. * Though it may seem a bit counter-intuitive to use the bindings just to go back to C via a different route, this is not actually stupid. * Added examples/howto/advanced/cython/ directory. * Added keycount.pyx, setup.py and the keycount.c file which the first two generated with Cython. Not including the .so and .o files from the build. * Exported the .texi version of the howto for the main docs.
2018-09-16docs: even more editsBen McGinnes1-4/+4
* doc/gpgme-python-howto.texi: hunting down and killing commas, Oxford or not it can't stay in a heading.
2018-09-16docs: more editsBen McGinnes1-16/+73
* lang/python/docs/gpgme-python-howto.org: more tweaks and edits, along with another build of output formats. * doc/gpgme-python-howto.texi: updated texinfo version for parent docs.
2018-09-15docs: python howto texinfo updateBen McGinnes1-4/+4
* doc/gpgme-python-howto.texi:
2018-09-15docs: Python howto updateBen McGinnes1-11/+15
* lang/python/docs/GPGMEpythonHOWTOen.org: Added corresponding GPGME version number to table at the start and cut the shortcut from the groups.py example. * doc/gpgme-python-howto.texi: New export of Texinfo file for docs build.
2018-09-15docs: generated whitespaceBen McGinnes1-4/+4
* doc/gpgme-python-howto.texi: culled whitespace included with the org-mode export.
2018-09-15Docs: including howto with standard docsBen McGinnes1-1/+1
* gpgme.spec.in: Added gpgme-python-howto.info build on the grounds that it now deals with certain possible installation issues and end users encountering them would want the docs to hand. * doc/gpgme.texi: updated the copyright year to this year.
2018-09-15Docs: Python bindings HOWTOBen McGinnes2-2/+2150
* Added doc/gpgme-python-howto.texi: generated from GPGMEpythonHOWTOen.org and then slightly modified so the generated Info file doesn't use camelCase. * doc/Makefile.am: Updated makefile to include the Python HOWTO with gpgme_TEXINFOS and to export the generated files to the webserver along with the main GPGME one.
2018-08-27doc: Add warning that FILE_NAME is not part of the signed data.Werner Koch1-1/+9
--
2018-08-21Add example manifests for gpgme-jsonAndre Heinecke3-1/+20
* doc/examples/gpgme-chrome.json, doc/examples/gpgme-mozilla.json: New. * doc/Makefile.am (EXTRA_DIST): Include them. -- The id contained in the examples is the ID of Mailvelope.