aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* python: overhaul logic of Context.decrypt()dkg/fix-T4271Daniel Kahn Gillmor2018-12-042-34/+36
| | | | | | | | | | | | | | * lang/python/src/core.py (Context.decrypt): simplify and clarify the logic behind handling verify=False. * lang/python/tests/t-decrypt.py: ensure that we test verify=False -- The function-internal variables were pretty unclear to the reader, and the logic caused pretty nasty breakage when verify=False. GnuPG-Bug-Id: 4271 Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* python: ctx.decrypt() has problematic error handlingDaniel Kahn Gillmor2018-12-041-0/+4
| | | | | | | * lang/python/src/core.py (Context.decrypt): document odd error-handling behavior as a potential problem to be addressed. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* python: Clarify the meaning of ctx.decrypt(verify=[])Daniel Kahn Gillmor2018-12-041-1/+4
| | | | | | | * lang/python/src/core.py (Context.decrypt): docstring clarification of what it means to pass an empty list to the verify argument. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* python: gpg.Context.decrypt verify_sigs and sink_result are boolsDaniel Kahn Gillmor2018-12-041-5/+5
| | | | | | | | | | | Both of these function-internal variables are never used for anything other than a binary state. Implement them as the booleans they are. Otherwise, casual readers of the code might think that they're supposed to represent something other than a flag (e.g. "verify_sigs" could mean "the signatures to verify", and "sink_result" could mean "the place where we sink the result"). Signed-Off-By: Daniel Kahn Gillmor <[email protected]>
* python: clarify documentation for verify argument for Context.decrypt()Daniel Kahn Gillmor2018-12-041-1/+2
| | | | | | | It's easy to miss that verify can take a list of keys. Make it more obvious to the average python dev who reads docstrings. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* python: simplify Context.decrypt()Daniel Kahn Gillmor2018-12-041-27/+2
| | | | | | | | | In the course of trying to address https://dev.gnupg.org/T4271, i discovered that gpg.Context.decrypt() has a bit of superfluous code. This changeset is intended to simplify the code without making any functional changes. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* python: sphinx modificationBen McGinnes2018-12-041-35/+0
| | | | | | | | | | | | * The make.bat file incorrectly triggers the trailing whitespace check in the git repo (it doesn't actually have any trailing whitespace, but triggers the error on every line). * Will need to add a script to handle future org-mode conversions of the index page anyway, so will get that script to deal with this problem too by generating the make.bat file if the platform is detected as Windows. Signed-off-by: Ben McGinnes <[email protected]>
* python: Sphinx supportBen McGinnes2018-12-046-1/+227
| | | | | | | | | | * Added framework from sphinx-quickstart to lang/python/doc/rst/ so that Python developers already using Sphinx can use the generated reST files with existing documentation systems. * Note that when generating source files from Org-mode, the index page will require manual intervention to match the Sphinx requirements. Signed-off-by: Ben McGinnes <[email protected]>
* Merge branch 'master' of ssh+git://playfair.gnupg.org/git/gpgmeBen McGinnes2018-12-0459-344/+343
|\
| * build: Remove --with-*-prefix, which is no need any more.NIIBE Yutaka2018-12-041-8/+2
| | | | | | | | | | | | * autogen.rc (configure_opts): Remove --with-*-prefix. Signed-off-by: NIIBE Yutaka <[email protected]>
| * qt,cpp: Consistently use nullptr and overrideAndre Heinecke2018-12-0356-333/+336
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am (AM_CPPFLAGS): Add suggest-override and zero-as-null-pointer-constant warnings. * lang/cpp/src/*, lang/qt/src/*: Consistenly use nullptr and override. -- This was especially important for the headers so that downstream users of GpgME++ or QGpgME do not get flooded by warnings if they have these warnings enabled. It also improves compiler errors/warnings in case of accidental mistakes.
| * doc: Minor comment cleanups.Werner Koch2018-12-033-12/+8
| | | | | | | | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* | python: docs updateBen McGinnes2018-12-0415-144/+358
|/ | | | | | | | | | | | | * Expanded the section on issues with Windows installations, with greater detail of which versions of Visual Studio are needed depending on which version of CPython is to be used. * Included a recommendation which is a bit harsh without being totally prickish. * Updated all files to not link to author's key or related data in order to make them all consistent with the changes in commit 649b19688132dd315e361c0f5b63ba6d8f45996d. Signed-off-by: Ben McGinnes <[email protected]>
* python: documentation fixesBen McGinnes2018-11-304-3/+9
| | | | | | | * Typographic and whitespace error correction pertaining to the previous update. Signed-off-by: Ben McGinnes <[email protected]>
* python: documentationBen McGinnes2018-11-3019-124/+542
| | | | | | | | | | | * Added long description to setup.py.in. * Added maintenance mode details with clarification for what type of things would be a bug as far as MM is concerned and what wouldn't be. ** Includes a not too subtle hint directed towards the donations page. * Miscellaneous tightening of documentation. Signed-off-by: Ben McGinnes <[email protected]>
* tests, json: Make them run on debian stableAndre Heinecke2018-11-281-2/+2
| | | | * tests/json/t-json.c (main): Relax version check a bit.
* python docs: checking key signaturesBen McGinnes2018-11-263-25/+260
| | | | | | | | | | * Added instructions for checking key certifications or key signatures (depending on preferred terminology). * Added pendulum module to recommended installations, but not to requirements. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
* python: docs updateBen McGinnes2018-11-226-24/+287
| | | | | | * Added documentation for the new methods added to gpgme.version. * Removed the Flask based advanced use case from the what-is-new section as that type of code will not be added here.
* python: version as integersBen McGinnes2018-11-221-0/+20
| | | | | | | | * lang/python/version.py.in: added gpg.version.versionintlist * If gpg.version.versionintlist[2] ever returns -1 then there's a serious problem with the build and it should be lodged as a bug if it's repeatable. Seeing this should never happen, but checking for it is better than not doing so.
* core: Fix format string errors in w32-io.c and use of TRACE_SUC.Werner Koch2018-11-191-19/+23
| | | | | | * src/w32-io.c: Fix use of TRACE_SUC. Fix some format strung errors. Signed-off-by: Werner Koch <[email protected]>
* python: import typeBen McGinnes2018-11-191-7/+0
| | | | | | | | * Fixed bug T4242 and tested that dropping "Import" in favour of "import_type" does indeed work just fine. Tested-by: Ben McGinnes <[email protected]> Signed-off-by: Ben McGinnes <[email protected]>
* python: import constantBen McGinnes2018-11-193-14/+14
| | | | | | | * lang/python/src/constants/__init__.py: dropped use of Import capitalisation and renamed lang/python/src/constants/import.py to lang/python/src/constants/import_type.py to address bug T4242. * lang/python/doc/src/gpgme-python-howto: minor docs updates.
* core: Protect the trace macros for fun and profit.Werner Koch2018-11-1611-77/+114
| | | | | | | | * src/debug.h: Protect macros using. (_trace_err, _trace_sysres, _trace_syserr): New helper inline functions. Signed-off-by: Werner Koch <[email protected]>
* core: Fix a LF problem in the new debug fucntion.Werner Koch2018-11-161-3/+6
| | | | | * src/debug.c (_gpgme_debug): Print a LF for an empty FORMAT unless we are in legacy mode.
* core: Fix format string errors in trace macrosWerner Koch2018-11-1611-29/+30
| | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* core: Remove old debug helper functionWerner Koch2018-11-166-95/+59
| | | | | | | * src/debug.c (_gpgme_debug): Remove. (_gpgme_debugf): Rename to _gpgme_debug. Signed-off-by: Werner Koch <[email protected]>
* core: Simplify the trace maros by using variadics.Werner Koch2018-11-1646-570/+551
| | | | | | | | | | | | | | | | * src/debug.h (TRACE_BEG, TRACE_LOG, TRACE_SUC): Use variadic macros and remove the TRACE_BEG1 et al. Change all users to always pass a format string. (TRACE): Ditto. * src/debug.c (_gpgme_debugf): New. * configure.ac <GCC>: Add -Wno-format-zero-length. -- This makes it easier for use to enable format checks. The zero-length format is required to allow for an empty format due to the comman problematic of __VA_ARGS__. Signed-off-by: Werner Koch <[email protected]>
* Add SPDX identifiers to most source filesWerner Koch2018-11-16147-2098/+2160
| | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* tests: Add run-threaded for multithread testsAndre Heinecke2018-11-152-1/+680
| | | | | | | | | | * tests/Makefile.am (run-threaded): Add. * tests/run-threaded.c: New. -- This test is intended to help detect race conditions or other multithread problems. It can also be used to put the whole GnuPG system under extreme load.
* tests,json: Clean openpgp-revocs.dAndre Heinecke2018-11-151-0/+1
| | | | * tests/json/clean-local: Remove revocs.d
* tests,json: Move version check into t-jsonAndre Heinecke2018-11-152-103/+106
| | | | | | | | | | | | | * tests/gpg/t-support.h (check_gpg_version, compare_versions), (parse_version_string, parse_version_number): Remove version check code. * tests/json/t-json.c (check_gpg_version, compare_versions), (parse_version_string, parse_version_number): Add. -- t-support header was not a good place for this. It should go into a library e.g. gpgrt in the future. For now we can keep it close to where it is needed.
* tests,json: Add sig-notations testAndre Heinecke2018-11-144-1/+62
| | | | | | | * tests/json/t-sig-notations.in.json, tests/json/t-sig-notations.out.json: New * tests/json/Makefile.am (EXTRA_DIST): Add files. * tests/json/t-json.c: Register it.
* tests,json: Fix distcheckAndre Heinecke2018-11-141-2/+3
| | | | | * tests/json/Makefile.am (EXTRA_DIST): Add inital and final scripts. (t_json_SOURCES): Don't use cJSON.o as source.
* tests,json: Add more testsAndre Heinecke2018-11-146-0/+50
| | | | | | | | | | | | * t-config-opt.in.json, t-config-opt.out.json, t-import.in.json, t-import.out.json, t-sign.in.json, t-sign.out.json: New. -- These should actually have been in a previous commit as they are already registered.
* tests,json: Add missing files and chunking testAndre Heinecke2018-11-146-1/+125
| | | | | | | | | | | * tests/json/Makefile.am, tests/json/final.test, tests/json/initial.test: New. * tests/json/t-chunking.in.json, tests/json/t-chunking.out.json: New test. * tests/json/t-json.c: Register new test. -- Oops..
* tests,json: Fix match if the first child differsAndre Heinecke2018-11-141-1/+13
| | | | | | | | | | | * tests/json/t-json.c (test_contains): Try all siblings of the haystack child. -- This fixes the case where we don't match against the first child because the order might have changed or a new element was inserted at the top. Then we have to try out also all the siblings.
* tests,json: Add the bulk of testsAndre Heinecke2018-11-1425-1/+443
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * t-json.c (tests): Register new tests. * t-createkey.in.json, t-createkey.out.json, t-decrypt-verify.in.json, t-decrypt-verify.out.json, t-decrypt.in.json, t-decrypt.out.json, t-delete.in.json, t-delete.out.json, t-encrypt-sign.in.json, t-encrypt-sign.out.json, t-encrypt.in.json, t-encrypt.out.json, t-export-secret-info.in.json, t-export-secret-info.out.json, t-export.in.json, t-export.out.json, t-json.c, t-keylist-secret.in.json, t-keylist-secret.out.json, t-keylist.in.json, t-keylist.out.json, t-verify.in.json, t-verify.out.json, t-version.in.json, t-version.out.json: New. -- Except for help and getmore there is now a test for each command.
* tests,json: Add wildcard string matchingAndre Heinecke2018-11-141-1/+3
| | | | | | | | | * tests/json/t-json.c (test_contains): When searching for "*" accept every string. -- This allows it to write tests that check for the existence of a string value but don't care about the contents. E.g. for Data.
* tests,json: Skip tests for older GnuPG versionsAndre Heinecke2018-11-141-0/+8
| | | | | | | | | | | * tests/json/t-json.c (main): Skip if version is not at least 2.2.0 -- In the past new tests often failed when a modern GPGME was used with old GnuPG's. This should avoid the hassle for packagers without the requirement that we test against old versions.
* tests,json: Suffix .json to test patternAndre Heinecke2018-11-143-2/+2
| | | | | * tests/json/t-config.in, tests/json/t-config.out: Renamed. * t-json.c (run_test): Use new naming pattern.
* tests,gpg: Add version check hlp to t-supportAndre Heinecke2018-11-141-0/+104
| | | | | | | | | | * t-support.h (parse_version_number, parse_version_string) (compare_versions): New. Copy&Paste from src/version.c (check_gpg_version): New helper to check for a gpg version. -- This should make it easier to write tests that e.g. rely on modern gnupg features.
* tests,json: Improve verbose mode and add verbose 2Andre Heinecke2018-11-141-13/+25
| | | | | * tests/json/t-json.c (main): Handle multiple verbose args. (test-contains): Improve verbose output
* tests,json: Fix and improve t-jsonAndre Heinecke2018-11-141-10/+17
| | | | | * tests/json/t-json.c (run_test): Terminate argv array correctly. (run_test): Note and handle empty response.
* tests: Add json testrunnerAndre Heinecke2018-11-145-1/+369
| | | | | | | | | | | | * configure.ac: Configure makefile. * tests/Makefile.am: Run json tests if gpg tests are run. * tests/json/t-json.c: New testrunner for json tests. * tests/json/t-config.in, tests/json/t-config.out: First test. -- The idea of this test runner is that it only looks for parts in the output. This should allow it to write robust tests that check for the basics in the output but don't fail when the output is extended or slightly changed.
* build: Update gpg-error.m4 and libassuan.m4.NIIBE Yutaka2018-11-132-26/+114
| | | | | | | * m4/gpg-error.m4: Update from master. * m4/libassuan.m4: Update from master. Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix the previous commit.NIIBE Yutaka2018-11-121-0/+1
| | | | Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Make gpgme.m4 use gpgrt-config with *.pc.NIIBE Yutaka2018-11-121-10/+48
| | | | | | | | | | | | * src/gpgme.m4 (_AM_PATH_GPGME_CONFIG): Use gpgrt-config with gpgme.pc when possible. (AM_PATH_GPGME_GLIB): Likewise with gpgme-glib.pc. -- Keeping AM_PATH_GPGME_PTHREAD, as is, untouched. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Provide gpgme-glib.pc too.NIIBE Yutaka2018-11-123-3/+17
| | | | | | | | | | | | * src/gpgme-glib.pc.in: New. * src/gpgme.pc.in (avail_lang): Remove. -- Provide gpgme-glib.pc for gpgme-glib library. The avial_lang information is no use because *.pc is for C. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Provide gpgme.pc, generated by configure.NIIBE Yutaka2018-11-124-6/+28
| | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Generate src/gpgme.pc. * src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New. (EXTRA_DIST): Add gpgme.pc.in. * src/gpgme.pc.in: New. * src/gpgme-config.in: Use variables. -- Some usages of gpgme-config is not compatible to pkg-config style; The --glib option and --thread option which affect the output by --cflags or --libs are not supported by gpgme.pc. gpgme-config's embedding information for gpg-error and libassuan at the build time of gpgme is considered inflexible than pkg-config style. It is now handled by dependency of gpgme.pc (Requires field). To use gpgme.pc, newer libgpg-error (>= 1.33) and libassuan (>= 2.5.3) are required, which provide gpg-error.pc and libassuan.pc respectively. Signed-off-by: NIIBE Yutaka <[email protected]>
* spelling: fix misspellingsDaniel Kahn Gillmor2018-11-0848-141/+141
| | | | Signed-off-by: Daniel Kahn Gillmor <[email protected]>