aboutsummaryrefslogtreecommitdiffstats
path: root/doc (unfollow)
Commit message (Collapse)AuthorFilesLines
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.
2018-07-19core: New interface gpgme_data_new_from_estream.Werner Koch1-0/+19
* src/gpgme.h.in (gpgme_data_new_from_estream): New. * src/data-estream.c: New. * src/data.h (gpgme_data): New union member e_stream. -- The estream functions (gpgrt_fopen et al.) are any waypart of the required libgpg-error library and thus it makes sense to provide this convenience interface. Signed-off-by: Werner Koch <[email protected]>
2018-07-09doc: More explicit doc for EXTERN and LOCAL modes.Andre Heinecke1-2/+8
* doc/gpgme.texi (GPGME_KEYLIST_MODE_EXTERN), (GPGME_KEYLIST_MODE_LOCATE, GPGME_KEYLIST_MODE_LOCAL): Mention command line flags for CMS and OpenPGP Protocol. -- This might help new users coming to gnupg to understand what the flags do.
2018-07-09Add ctx flag for auto-key-locateAndre Heinecke1-0/+10
* src/context.h (gpgme_context): Add auto_key_locate. * src/engine-gpg.c (engine_gpg): Add auto_key_locate. (gpg_set_engine_flags, build_argv): Handle auto_key_locate. (gpg_release): Free auto_key_locate. * src/gpgme.c (gpgme_release): Free auto_key_locate. (gpgme_get_ctx_flag, gpgme_set_ctx_flag): Handle auto-key-locate. * doc/gpgme.texi: Document auto-key-locate flag. * tests/run-keylist.c (show_usage, main): Add --from-wkd option. -- This enables users of GPGME to control more fine grained what auto-key-locate does. Especially for WKD lookups / refreshes can this be useful. GnuPG-Bug-Id: T2917 Differential Revision: https://dev.gnupg.org/D463
2018-07-05core: Add gpg auditlog to get diagnosticsAndre Heinecke1-0/+65
* src/engine-gpg.c (engine_gpg): Add diagnostics member. (gpg_release): Release diagnostics data. (gpg_new): Set up logger-fd and diagnostics. (gpg_getauditlog): New. Copy diagnostics to a user data. (engine_ops): Add getauditlog. * src/engine-gpgsm.c (gpgsm_getauditlog): Return not implemented for GPGME_AUDITLOG_DIAG. * src/getauditlog.c (getauditlog_start): Don't reset engine for diagnostics. * src/gpgme.h.in (GPGME_AUDITLOG_DIAG): New. (GPGME_AUDITLOG_DEFAULT): New alias to 0. * tests/run-decrypt.c (show_usage, main): Add --diagnostics. * doc/gpgme.texi(Additional Logs): Document getauditlog. -- This enables users of GPGME to get more verbose information from gpg which can assist users in figuring out a problem that was before hidden behind a generalized error like "Decryption Failed". For GPGSM it is not yet available as it is problematic to get it properly in server mode and GPGSM already had the original audit log mechanism in place. GPGME_AUDITLOG_DEFAULT was added for a more explicit documentation.
2018-05-31core: New context flag "ignore-mdc-error".Werner Koch1-1/+10
* src/context.h (gpgme_context): Add field ignore_mdc_error. * src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Set/get it. * src/engine-gpg.c (engine_gpg): Add flags.ignore_mdc_error. (gpg_set_engine_flags): Set it. (build_argv): Pass option to gpg. * src/decrypt.c (_gpgme_decrypt_status_handler): Take care of flag. (gpgme_op_decrypt_result): Clear flag. (gpgme_op_decrypt): Clear flag. * src/decrypt-verify.c (gpgme_op_decrypt_verify): Clear flag (gpgme_op_decrypt_ext): Clear flag. * tests/run-decrypt.c (show_usage): Add option --ignore-mdc-error. Signed-off-by: Werner Koch <[email protected]>
2018-05-31core: New decryption result flag 'legacy_cipher_nomdc'.Werner Koch1-2/+15
* src/gpgme.h.in (_gpgme_op_decrypt_result): Add flag legacy_cipher_nomdc. * src/decrypt.c (parse_status_error): Set this flag. * tests/run-decrypt.c (print_result): print it. (main): Print the result even on error. Signed-off-by: Werner Koch <[email protected]>
2018-05-17core: Always fail if an OpenPG message is not integrity protected.Werner Koch1-1/+1
* 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]>
2018-04-20doc: Suggest the use of strconcat for recipient strings.Werner Koch1-0/+55
-- GnuPG-bug-id: 3775 Signed-off-by: Werner Koch <[email protected]>
2018-04-18core: New convenience constant GPGME_KEYLIST_MODE_LOCATE.Werner Koch1-0/+5
* src/gpgme.h.in (GPGME_KEYLIST_MODE_LOCATE): New. Signed-off-by: Werner Koch <[email protected]>
2018-04-18core: Add 'is_mime' flags to the verify and decrypt results.Werner Koch1-1/+1
* 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]>
2018-04-17core: Extend decryption result with symkey_algo.Werner Koch1-0/+7
* 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]>
2018-04-17core: New keyword --file for OpenPGP recpstring.Werner Koch1-6/+26
* 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]>
2018-04-17core: For OpenPGP let offline mode disable dirmngr.Werner Koch1-12/+16
* 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]>
2018-04-17core: Allow for --hidden keyword in OpenPGP recpstrings.Werner Koch1-2/+10
* src/engine-gpg.c (append_args_from_recipients_string): Add special keywords. -- GnuPG-bug-id: 3775 Signed-off-by: Werner Koch <[email protected]>
2018-04-17core: New encryption flag GPGME_ENCRYPT_WANT_ADDRESS.Werner Koch1-1/+13
* src/gpgme.h.in (GPGME_ENCRYPT_WANT_ADDRESS): New flag. * src/engine-gpg.c (add_arg_recipient): New. (add_arg_recipient_string): New. (append_args_from_recipients): Call new helper function. (append_args_from_recipients_string): Ditto. * src/gpgme-json.c (op_encrypt): Add flag "want-address". -- Signed-off-by: Werner Koch <[email protected]>
2018-04-17core: Add extended versions of the encrypt functions.Werner Koch1-0/+77
* src/gpgme.h.in (gpgme_op_encrypt_ext_start) New. (gpgme_op_encrypt_ext): New. (gpgme_op_encrypt_sign_ext_start): New. (gpgme_op_encrypt_sign_ext): New. * src/libgpgme.vers, tests/run-encrypt.c: Add them. * src/encrypt.c (encrypt_start): Add arg recpstring. (gpgme_op_encrypt): Factor code out to ... (gpgme_op_encrypt_ext): new function with new arg recpstring. (gpgme_op_encrypt_start): Factor code out to ... (gpgme_op_encrypt_ext_start): new function with new arg recpstring. * src/encrypt-sign.c (encrypt_sign_start): Add arg recpstring. (gpgme_op_encrypt_sign): Factor code out to ... (gpgme_op_encrypt_sign_ext): new function with new arg recpstring. (gpgme_op_encrypt_sign_start): Factor code out to ... (gpgme_op_encrypt_sign_ext_start): new function with new arg recpstring. * src/engine-backend.h (struct engine_ops): Change fields encrypt and encrypt_sign. * src/engine.c (_gpgme_engine_op_encrypt): Add arg recpstring and pass to engine. (_gpgme_engine_op_encrypt_sign): Ditto. * src/engine-gpg.c (append_args_from_recipients_string): New. (gpg_encrypt): Add arg recpstring and call new function as needed. (gpg_encrypt_sign): Ditto. * src/engine-gpgsm.c (set_recipients_from_string): New. (gpgsm_encrypt): Add arg recpstring and call new function as needed. * src/engine-uiserver.c (set_recipients_from_string): New. (uiserver_encrypt): Add arg recpstring and call new function as needed. * tests/run-encrypt.c (xstrdup): New. (main): Add option --keystring. * src/gpgme-json.c (get_keys): Simplify. (op_encrypt): Modify to make use of the extended encrypt function. -- This new feature can be used to avoid the need for a key lookup and thus several extra calls to the backend. Note that run-test uses a semicolon as delimiter because that make testing the feature on the command line much easier. Signed-off-by: Werner Koch <[email protected]>
2018-04-12core: Add new context flag "no-symkey-cache".Werner Koch1-1/+7
* src/gpgme.c (gpgme_set_ctx_flag): Set flag. (gpgme_get_ctx_flag): Get flag. * src/context.h (struct gpgme_context): Add field no_symkey_cache. * src/engine-gpg.c (struct engine_gpg): Ditto. (gpg_set_engine_flags): Set flag. (build_argv): Pass option --no-symkey-cache to gpg. * tests/run-decrypt.c (print_result): Fix segv for symmetric messages. (main): New option --no-symkey-cache. * tests/run-encrypt.c (main): New option --no-symkey-cache. Signed-off-by: Werner Koch <[email protected]>
2018-03-23core: New gpgme_set_ctx_flag "request-origin".Werner Koch1-0/+5
* src/context.h (gpgme_context): Add 'request_origin'. * src/gpgme.c (gpgme_release): Free that field. (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Add "request-origin". * src/engine-backend.h (engine_ops): Add 'set_engine_ops' func ptr and adjust all users. * src/engine.c (_gpgme_engine_set_engine_flags): New. * src/op-support.c (_gpgme_op_reset): Call that func. * src/engine-gpg.c (struct engine_gpg): Add 'request_origin'. (gpg_set_engine_flags): New. (_gpgme_engine_ops_gpg): Hook it. (build_argv): Use command line option --request-origin. * src/engine-gpgsm.c (struct engine_gpgsm): Add 'request_origin'. (gpgsm_set_engine_flags): New. (_gpgme_engine_ops_gpgsm): Hook it. (start): Send OPTION "request-origin". * src/engine-assuan.c (struct engine_llass): Add 'request_origin'. (gpgsm_set_engine_flags): New. (_gpgme_engine_ops_assuan): Hook it. (start): Send OPTION "pretend-request-origin". Signed-off-by: Werner Koch <[email protected]>