aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* python bindings: callback testBen McGinnes2018-10-201-2/+30
| | | | | | | * lang/python/tests/t-callbacks.py: Updated test logic to try generating a key which expires in 2099 and if that fails then fallback to an expiration in 2037 in an attempt to catch the 32-bit systems.
* core: Fix segv in genkey when no endtag is provided.Werner Koch2018-10-181-2/+6
| | | | | | | | | | | | * src/genkey.c (get_key_parameter): Provide a fallback ENDTAG. -- It would actually be more correct to return an error in this case but it is possible tha there are users who did not provide an endtag and out of luck they also didn't trigger a segv. GnuPG-bug-id: 4192 Signed-off-by: Werner Koch <[email protected]>
* core: Return an error if NULL is provided for genkey's parms.Werner Koch2018-10-182-3/+6
| | | | | | | | | | | | * src/debug.c (_gpgme_debug_buffer): Bail out of BUF is NULL. * src/genkey.c (gpgme_op_genkey): Do no deref a NULL in TRACE_LOGBUF. (gpgme_op_genkey_start): Ditto. Return an error if PARMS is NULL. -- This robustness patch should solve one part of GnuPG-bug-id: 4192 Signed-off-by: Werner Koch <[email protected]>
* python: do not export HAVE_CXX11 definitionDaniel Kahn Gillmor2018-10-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/python/gpgme.i: ignore HAVE_CXX11 in SWIG interface -- If there are two distinct builds (a) and (b) of gpgme which both build python bindings, and build (a) also happens to build the C++ bindings, then the generated gpg/gpgme.py file from build (a) will not be usable with the .so generated in build (b), despite them being exactly the same, and having nothing to do with C++. In particular, it will fail with: ----------- File "…/gpg/__init__.py", line 99, in <module> from . import core File "…/gpg/core.py", line 10, in <module> from . import gpgme File "…/gpg/gpgme.py", line 152, in <module> HAVE_CXX11 = _gpgme.HAVE_CXX11 AttributeError: module 'gpg._gpgme' has no attribute 'HAVE_CXX11' ----------- By asking SWIG to ignore this definition, we stabilize the generated .py and the .so, ensuring that they are more cleanly interoperable.
* doc: convert more links to equivalent https:// URLsDaniel Kahn Gillmor2018-10-184-6/+6
| | | | | | -- Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* doc: convert more http:// links to https://Daniel Kahn Gillmor2018-10-1811-18/+18
| | | | | | -- Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* doc: use https:// for www.gnu.orgDaniel Kahn Gillmor2018-10-18137-147/+147
| | | | | | -- Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* js: increase default startup timeoutMaximilian Krambach2018-10-171-1/+1
| | | | | | | -- * src/index.js: change the init default if none is given, so that all initialization defaults line up to 1000 miliseconds
* python: Auto-check for all installed python versions.Werner Koch2018-10-172-37/+16
| | | | | | | | | | | | | | | | * m4/python.m4 (AM_PATH_PYTHON): Add a 4th arg. * configure.ac (available_languages): Remove separate python2 and python3 and keep just python. Simplify test for pythons. Use an explicit list of python versions to test. -- This seems to be a starightforward chnage to support more than two python versions. I am not sure why we had that complicated thing before. On my box I get builds and run tests for 2.7, 3.4 and 3.5. If 3.6, 3.7 or 3.8 are installed they should also work. GnuPG-bug-id: 3354 Signed-off-by: Werner Koch <[email protected]>
* core: Really remove CR from version output.Werner Koch2018-10-161-1/+1
| | | | | | | | * src/version.c (_gpgme_get_program_version): Fix test. -- Fixes-commit: 6bde056355796f15b6e6954372e87f349847515b Signed-off-by: Werner Koch <[email protected]>
* cl: Add missing fileWerner Koch2018-10-121-0/+31
| | | | | | | | -- Fixes-commit: 85d7af8ff2f6afd63701079e23f31be08d58a15d My fault, sorry. Signed-off-by: Werner Koch <[email protected]>
* cl: Several fixesGuillaume LE VAILLANT2018-10-125-173/+386
| | | | | | | | | | | | | | | | | | | -- * Use wrapper types calling translation functions instead of TRANSLATE-{FROM,TO}-FOREIGN methods as they seem not to be called in some cases. * Use the (:STRUCT SOME-C-STRUCT) notation instead of the deprecated direct reference to SOME-C-STRUCT. * Add missing values in enums and bit fields. * Use cffi-grovel to define system types (SIZE-T, OFF-T, etc). * Wrap GPGME-DATA-T in a class (like contexts). * Use the FINALIZE function from trivial-garbage to free the C objects for contexts, keys and data automatically. * Make DATA-READ-CB and DATA-WRITE-CB run faster. * Update the README file. Signed-off-by: Guillaume LE VAILLANT <[email protected]>
* Register DCO for Guillaume LE VAILLANTWerner Koch2018-10-121-0/+3
| | | | --
* build: Let configure create the VERSION file.NIIBE Yutaka2018-10-104-66/+84
| | | | | | | | | | | | * autogen.sh: Update from libgpg-error. * configure.ac: Use mym4_version to create VERSION file. * Makefile.am (dist-hook): Do not create VERSION. (EXTRA_DIST): Add VERSION. -- GnuPG-bug-id: 3283 Signed-off-by: NIIBE Yutaka <[email protected]>
* cpp: Add KeyListMode::LocateAndre Heinecke2018-10-091-0/+1
| | | | | | | * cpp/src/global.h (KeyListMode): Add Locate. -- Similar to locate in core.
* cpp: Add first manual testsAndre Heinecke2018-10-096-1/+336
| | | | | | | | | | | | | | * 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.
* core: Add trust-model flagAndre Heinecke2018-10-095-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* cpp: Initialize all gpgme_key_t's in contextAndre Heinecke2018-10-091-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.
* core: Ensure r_key init in gpgme_get_keyAndre Heinecke2018-10-091-2/+3
| | | | | | | | | * src/keylist.c (gpgme_get_key): Move r_key init above the first invalid value check. -- This fixes the case where someone passes an unitialized r_key and no fingerprint.
* qt, tests: Add test for single get keyAndre Heinecke2018-10-091-0/+33
| | | | | | | * lang/qt/tests/t-keylist.cpp (testGetKey): New. -- Added this to check if there was a memleak in that function.
* Post release updatesWerner Koch2018-10-082-1/+5
| | | | --
* Release 1.12.0gpgme-1.12.0Werner Koch2018-10-086-11/+30
| | | | | | | | | | * configure.ac: Bump core LT version to C32/A21/R0. Bump C++ LT version to C14/A8/R0. * lang/qt/tests/Makefile.am (CLEANFILES): Add reader status files. * Makefile.am (EXTRA_DIST): Add conf/whatisthis. Signed-off-by: Werner Koch <[email protected]>
* build: Update .gitignoreWerner Koch2018-10-051-2/+2
| | | | --
* core: Apply GPGME_EXPORT_MODE_NOUID also to keyserver exports.Werner Koch2018-10-051-0/+2
| | | | | | | * src/engine-gpg.c (export_common): Add keyserver-options to the send-keys commands. Signed-off-by: Werner Koch <[email protected]>
* build: Move config.h to conf/config.hWerner Koch2018-10-053-5/+5
| | | | | | | | | | | | | | | | * 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]>
* docs: whitespace bugBen McGinnes2018-10-042-15/+15
| | | | * Same as before, but exported.
* docs: org to texinfo whitspace bugBen McGinnes2018-10-041-2/+2
| | | | | * replaced "." in headings with "·" to prevent whitspace being appended by texinfo and breaking git.
* docs: pythonBen McGinnes2018-10-047-35/+90
| | | | | * Fixed an error in the new index page and then exported to the other two "source" formats.
* docs: pythonBen McGinnes2018-10-042-0/+58
| | | | | | | | | | | | | * lang/python/doc/meta/TODO.org: Added the two major documentation build system tasks to the TODO list. * Added an index page in preparation for sorting out the second of those TODO lists (Docutils is a lot easier to handle than Texinfo). * Meanwhile, have confirmed that it all builds just fine under GNU/Linux, OS X and FreeBSD while retaining the documentation, so that's a nice improvement from 1.11.1. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
* python: makefilesBen McGinnes2018-10-0413-9/+7
| | | | | | | | | | | | | * 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]>
* python: make fileBen McGinnes2018-10-041-1/+0
| | | | | | | | | | * lang/python/Makefile.am: Attempting to remove the docs/meta directory did a lot worse than I thought it was doing, so better to just be sure the documentation is available than destroy the entire bindings directory. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
* python: make fileBen McGinnes2018-10-041-1/+2
| | | | | | | | | | | | * lang/python/Makefile.am: Now that gpg2 has been renamed back to gpg and gpg1 is semi-deprecated, we should check what the actual gpg binary is with gpgconf and use that rather than make assumptions per system. * Also, it means less worry if gpg3 is ever a thing. (Trust me, I remember the Python 1 to 2 transition as well as the current 2 to 3 transition). ;) Signed-off-by: Ben McGinnes <[email protected]>
* docs: more whitespace checksBen McGinnes2018-10-031-5/+5
| | | | * lang/python/docs/texinfo/short-history.texi:
* dpcs: python howtoBen McGinnes2018-10-035-8/+6545
| | | | | | | * More updates to the docs themselves and the versions to be available with the next release. * .texi and .rst copies of the HOWTO and the short history of (this part) of the project.
* docs: pythonBen McGinnes2018-10-034-1/+9020
| | | | | * More restructuring. Also the painstaking task of deciphering some of the more eclectic aspects of Texinfo and make.
* docs: python bindingsBen McGinnes2018-10-034-0/+0
| | | | | | | | | | | | | * Restructured the docs directory to account for the GNU preferred source doc format (.texi) and the Python preferred source doc format (.rst) and the real source doc format (.org). * Both the perceived source formats will need to be generated from the .org files and included at this stage. Unfortunately there is not yet a native org-to-rst transformation method in the org-mode software in Emacs nor is there a a direct means of going from reST to Org-mode from Docutils. There's only third party packages like Pandoc and, while very good, there is no guarantee of consistency; so we can't entirely automate this bit (yet).
* docs: pre-python preparationBen McGinnes2018-10-033-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.
* python bindings: CPython orderBen McGinnes2018-10-023-17/+54
| | | | | | | | | * 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]>
* core: add experimental GPGME_EXPORT_MODE_NOUID.Werner Koch2018-10-024-1/+14
| | | | | | | | * 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]>
* docs: python bindingsBen McGinnes2018-09-302-4/+122
| | | | | | | | | | * 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]>
* python bindings: fixing decrypt-verifyBen McGinnes2018-09-302-6/+7
| | | | | | | | | | | | * lang/python/src/core.py: First restoring the exception to the being just that. * The means to manipulate the error output is temporarily in commented out code, but ought to be added to a proper test later. * In the mean time the original test, with a very slight change, works again. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
* python bindings: ctx.decryptBen McGinnes2018-09-301-9/+53
| | | | | | | | | | | | | * lang/python/src/core.py: Fixed methods of detecting whether verify is a boolean variable or a list. * Added methods of catching the missing keys exceptions. * Still retained PEP8 compliance (which might have been where one or two problems crept in). * Though this is essentially the correct behaviour, it still does not quite fit the otiginal test; so that will also require some adjustment. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
* example: local signaturesBen McGinnes2018-09-271-2/+22
| | | | | | | | * lang/python/examples/howto/local-sign-group.py: added the bit where specifying the signing key is actually used for signing rather than just pruning the list of keys to certify. Signed-off-by: Ben McGinnes <[email protected]>
* example: python bindingsBen McGinnes2018-09-271-0/+163
| | | | | | | | | | * lang/python/examples/howto/local-sign-group.py: locally sign every key in a group line except one's own keys. Intended to address the sort of thing one might see on lists like PGPNET or other closed groups amongst activists, journalists, etc. where everyone encrypts to all recipients, but may not sign everyone's keys publicly.. Signed-off-by: Ben McGinnes <[email protected]>
* docs: python bindings installationBen McGinnes2018-09-271-0/+67
| | | | | * lang/python/docs/gpgme-python-howto.org: added a section on installing the bindings to a python virtualenv.
* tests: python bindingsBen McGinnes2018-09-271-1/+1
| | | | | | * Fixed the final assertion to look for what will actually be reported in that case instead of something else (i.e. it looks for an IMPORT_ERROR status code).
* examples: python bindingsBen McGinnes2018-09-265-10/+10
| | | | * Fixed homedir specifying logic in several cases.
* docs: a typographical two-stepBen McGinnes2018-09-252-5/+5
| | | | | | | | | * 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]>
* docs and examples: python bindingsBen McGinnes2018-09-247-36/+486
| | | | | | | | | | | | * 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]>
* docs: python bindings howtoBen McGinnes2018-09-242-4/+156
| | | | | | | | | * 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.