aboutsummaryrefslogtreecommitdiffstats
path: root/build-aux/git-hooks/commit-msg (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-08-11Check the return value when starting gpg.Ben Kibbey1-3/+3
* src/engine-gpg.c (gpg_decrypt, gpg_delete, gpg_passwd): Check return value of start().
2015-07-31Add offline mode support for CMS keylistingAndre Heinecke13-15/+123
* doc/gpgme.texi: Document offline mode. * src/context.h (gpgme_context): Add offline. * src/engine-backend.h (keylist, keylist_ext): Add engine_flags. * src/engine.c, src/engine.h (_gpgme_engine_op_keylist): Ditto. (_gpgme_engine_op_keylist_ext): Ditto. * src/engine.h (GPGME_ENGINE_FLAG_OFFLINE): New. * src/engine-gpg.c (gpg_keylist, gpg_keylist_ext): Ditto. * src/engine-gpgsm.c (gpgsm_keylist): Handle engine_flags. (gpgsm_keylist_ext): Ditto. * src/gpgme.c (gpgme_set_offline, gpgme_get_offline): New. * src/gpgme.def (gpgme_set_offline, gpgme_get_offline): New. * src/gpgme.h.in (gpgme_set_offline, gpgme_get_offline): New. * src/libgpgme.vers (gpgme_set_offline, gpgme_get_offline): New. * src/keylist.c (gpgme_op_keylist_start): Set offline flag. (gpgme_op_keylist_ext_start): Ditto. * tests/run-keylist.c (show_usage, main): Add offline argument. -- The offline engine option was introduced with gpgsm 2.1.6 it is mainly useful for a full keylisting that includes the certificate validation but does not depend on external information that could take an indefinite amount of time to collect. Signed-off-by: Andre Heinecke <[email protected]>
2015-07-23build: ignore scissor line for the commit-msg hookPeter Wu1-0/+6
* build-aux/git-hooks/commit-msg: Stop processing more lines when the scissor line is encountered. -- This allows the command `git commit -v` to work even if the code is longer than 72 characters. Note that comments are already ignored by the previous line. Signed-off-by: Peter Wu <[email protected]>
2015-07-23Add option --lib-version to gpgme-tool.Werner Koch1-4/+23
* src/gpgme-tool.c (options, parse_options): Add --lib-version (CMD_LIBVERSION): New. (main): Implement.
2015-06-08Post release updatesWerner Koch2-2/+6
--
2015-06-08Release 1.5.5gpgme-1.5.5Werner Koch3-5/+11
2015-06-08Fix regression with gpgsm 2.0 due to "OPTION with-secret".Werner Koch1-16/+30
* src/engine-gpgsm.c (gpgsm_assuan_simple_command): Do not terminate on a status lines. -- This bug has been with us since the support for gpgsm: If there is no status line handler but a status line is received anyway the command handling loop terminates and thus the command/answer order gets out of sync. In the case of the bug report this is triggered by sending an option which starts the agent and that starting emits a "PROGRESS" status line. The solution is not to stop reading after a status line but record a possible error code and return that only after OK or ERR. GnuPG-bug-id: 1795 Signed-off-by: Werner Koch <[email protected]>
2015-06-08tests: Add option --secret to run-keylist.Werner Koch1-1/+8
Signed-off-by: Werner Koch <[email protected]>
2015-06-08Fix compiler warnings about unused value in TRACE macros.Werner Koch2-37/+45
* src/debug.h: Change macros to not have a literal 0 as last expression of the comma operator. * src/debug.c (_gpgme_debug_frame_end): Return 0. (_gpgme_debug): Return 0. -- Instead of using foo(), 0 for the trace macros we let foo() return 0 instead. Signed-off-by: Werner Koch <[email protected]>
2015-06-08Fix test suite for GnuPG 2.1 which uses pubring.kbx.Werner Koch8-16/+42
* tests/gpgsm/final.test: New. * tests/gpgsm/initial.test: New. * tests/gpg/start-stop-agent: Move to ../. * tests/gpgsm/Makefile.am (TESTS_ENVIRONMENT): Export top_srcdir. (TESTS): Add intial.test and final.test. (AM_LDFLAGS): Add -no-install. (clean-local): Use start-stop-agent (initial.test): Add dependency. * tests/gpg/Makefile.am (top_srcdir): Export top_srcdir. (AM_LDFLAGS): Add -no-install. (check-local): Depend on pubring-stamp instead of pubring.gpg. (initial.test): Depend on check-local. (./pubring-gpg): Replace by rule for ./pubring-stamp. -- There are also a couple of other changes which should make the tests a bit more robust and the gpg and gpgsm tests more similar. The -no-install avoids creating wrappers for test programs, which make debugging easier. The dependency on check-local guarantees that its rules are run before the first test. This is important because conf files are setup by this rule. Earlier automake versions seem to have run check-local always before the tests but today the order of execution is not defined. Signed-off-by: Werner Koch <[email protected]>
2015-06-05Set GPGME_SIGSUM_KEY_REVOKED also for gpg.Matthew Barnes1-0/+7
* src/verify.c (calc_sig_summary): Handle GPG_ERR_CERT_REVOKED. -- parse_new_sig() handles a revoked key by setting sig->status to GPG_ERR_CERT_REVOKED, but then later calc_sig_summary() expects that code in sig->validity_reason. Additional comments added by wk.
2015-06-05Fix segv for userids with a backslash.Werner Koch1-0/+1
* src/engine-gpg.c (gpg_keylist_preprocess): Increment SRC for a backslash. -- This bug is not exploitable because this bug fills up .data with backslashes and thus causes the segv. Signed-off-by: Werner Koch <[email protected]>
2015-04-13Post release updates.Werner Koch2-2/+6
--
2015-04-13Release 1.5.4.gpgme-1.5.4Werner Koch3-9/+10
2015-04-13w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.Werner Koch1-4/+8
* src/Makefile.am (extra_ltoptions): New. (libgpgme_la_LDFLAGS): Use it. (libgpgme_pthread_la_LDFLAGS): Ditto. (libgpgme_glib_la_LDFLAGS): Ditto. -- Since gcc 4.8 there is a regression in Mingw64 in that plain C programs may link to libgcc_s.a which has a dependency on libgcc_s_sjlj.dll. This is for example triggered by using long long arithmetic on a 32 bit Windows (e.g symbol __udivdi3). Note that we don't use this patch for the Qt version which, as C++ programs, actually requires that DLL, Signed-off-by: Werner Koch <[email protected]>
2015-03-16Fix potential crash in trace macro.Werner Koch3-5/+3
* src/signers.c (gpgme_signers_add): Avoid deref of a NULL KEY in the trace macro. * src/engine-spawn.c (engspawn_release): Remove always true condition. * src/engine-gpg.c (gpg_release): Ditto. Signed-off-by: Werner Koch <[email protected]>
2015-03-16Fix one byte too short malloc.Werner Koch1-1/+1
* src/engine-spawn.c (add_data): Fix malloc -- Bummer. Why did I subtracted one from the size? Did I assume a dynamically allocated structure with a string field which was not going to be used? Very strange. Not a real problem though because malloc will anyway round up the allocation to at least the next word size. Detected by Stack 0.3.
2015-01-30Switch to automake 1.14 and update build-aux files.Werner Koch11-817/+1074
Signed-off-by: Werner Koch <[email protected]>
2014-12-15doc: Update gpl.texi to match version from gnupgDaniel Kahn Gillmor1-13/+21
-- Somehow the doc/gpl.texi from gpgme and gnupg drifted out of sync. This patch to gpgme's file brings it in line with gnupg's master branch, and avoids the following errors during make: ./gpl.texi:667: @section seen before @end enumerate ./gpl.texi:724: unmatched `@end enumerate' ./gpl.texi:1: warning: node next `Copying' in menu `Concept Index' and in sectioning `Function and Data Index' differ
2014-12-11Post release updates.Werner Koch3-4/+10
--
2014-12-11Release 1.5.3.gpgme-1.5.3Werner Koch2-2/+5
* configure.ac: Set LT version to C24/A13/R2.
2014-12-08Return an error for some export key operations.Werner Koch2-4/+127
* src/context.h (OPDATA_EXPORT): New. * src/export.c (op_data_t): New. (release_op_data): New. (parse_error): New. (export_status_handler): New. (export_start, export_ext_start): Prepare op_data. (gpgme_op_export_ext, gpgme_op_export_keys): Return an error from the status handler. -- To support an error return also for the async functions we need to extend the API. Until we have done that this new features helps at least in some cases; in particular for --send-keys.
2014-11-21Post release updatesWerner Koch3-3/+7
--
2014-11-21Release 1.5.2.gpgme-1.5.2Werner Koch2-2/+6
* configure.ac: Set LT version to C24/A13/R1.
2014-11-21Update the previous commitWerner Koch1-57/+53
* src/sign.c (gpgme_op_sign_result): Reformat and take care of failed malloc. -- Although _gpgme_debug_trace() is current always true, the code should be run always and not just in trace mode. Also added error checking to malloc and strdup. And while at replace some while by for loop for easier readability.
2014-11-21Fix returning new signatures when there are none.Ben Kibbey1-8/+54
* src/sign.c (gpgme_op_sign_result): Test that invalid and valid signatures add up to gpgme_signers_count(). -- When invalid and valid signatures do not equal gpgme_signers_count() it means that there was a bad passphrase during signing after the first signer. This leaves the result.signatures from previous signers intact which isn't correct since gpg will report: gpg: number of one-pass packets does not match number of signature packets gpg: can't handle this ambiguous signature data during verify. So when this happens append the valid signatures to the .invalid_signers list with .reason set to GPG_ERR_GENERAL.
2014-11-19doc: Clarify the FILE command.Werner Koch1-4/+9
--
2014-11-06Improve the debug output a bit.Werner Koch2-3/+4
* src/debug.h (TRACE_ERR): Include the line number in the output.
2014-10-02build: Implement SYSROOT feature.origin/bjk/masterWerner Koch4-17/+116
* configure.ac: Document SYSROOT. * m4/gpg-error.m4: Update from libgpg-error master. * src/gpgme.m4: Implement SYSROOT stuff.
2014-10-02Use --no-sk-comments, not --no-sk-comment.Daniel Kahn Gillmor1-2/+2
-- The --no-sk-comments flag is (or should be) a no-op in modern versions of gnupg, but gpgme should still use its full form rather than the (slightly) abbreviated --no-sk-comment
2014-09-24Register DCO for Daniel Kahn Gillmor.Werner Koch1-1/+9
--
2014-09-24Add ftp and git URLs to AUTHORS.Werner Koch1-0/+2
--
2014-09-24tests: Delay some test file extraction until "make check".Werner Koch2-2/+3
* tests/gpg/Makefile.am (all-local): Change to check-local. * tests/gpgsm/Makefile.am (all-local): Ditto.
2014-09-24Clean up gpgme's tests/gpg when gpg2.1 is availableDaniel Kahn Gillmor2-1/+2
* tests/gpg/Makefile.am: Clean up .gpg-v21-migrated -- We also need to gitignore this file.
2014-08-12gpgme-tool: Print fingerprint and keyid with keyservers.Werner Koch1-1/+3
* src/gpgme-tool.c (cmd_keylist): Print keyid. Print FPR only if available.
2014-08-12Handle modern keyserver output which may emit the fingerprint.Werner Koch1-9/+44
* src/engine-gpg.c (read_colon_line): Split preprocessed lines. (gpg_keylist_preprocess): Limit keyid field and print fingerprint.
2014-08-12gpgme-tool: Install gpgme-tool.Werner Koch2-4/+8
* src/Makefile.am (bin_PROGRAMS): New. Add gpgme-tools. (noinst_PROGRAMS): Remove.
2014-08-12gpgme-tool: Fix segv for external key listing.Werner Koch1-7/+10
* src/gpgme-tool.c (result_xml_escape): Allow for DATA being NULL.
2014-07-30Post release updates.Werner Koch2-1/+5
--
2014-07-30Release 1.5.1gpgme-1.5.1Werner Koch2-6/+6
* configure.ac: Change LT version to C24/A13/R0.
2014-07-30Fix possible realloc overflow for gpgsm and uiserver engines.Werner Koch3-2/+5
* src/engine-gpgsm.c (status_handler): * src/engine-uiserver.c (status_handler): -- After a realloc (realloc is also used for initial alloc) the allocated size if the buffer is not correctly recorded. Thus an overflow can be introduced by receiving data with different line lengths in a specific order. This is not easy exploitable because libassuan constructs the line. However a crash has been reported and thus it might be possible to constructs an exploit. CVE-id: CVE-2014-3564 Reported-by: Tomáš Trnka
2014-06-26w32: Get IOSPAWN flag back in sync with spawn helper.Werner Koch2-18/+8
* src/gpgme-w32spawn.c: Include priv-io.h.
2014-06-26w32: Add comment about a compiler warningWerner Koch1-0/+6
--
2014-06-10Add new reason codes to the INV_RECP status code.Werner Koch1-0/+8
* src/op-support.c (_gpgme_parse_inv_recp): Add codes 13 and 14.
2014-06-04Add new keylist mode GPGME_KEYLIST_MODE_WITH_SECRET.Werner Koch7-13/+64
* src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_SECRET): New. * src/engine-gpg.c (gpg_keylist_build_options): Handle new mode. * src/engine-gpgsm.c (gpgsm_keylist, gpgsm_keylist_ext): Ditto. * src/keylist.c (parse_sec_field15): Add arg key and take care of --with-secret output. * src/gpgme-tool.c (gt_get_keylist_mode, cmd_keylist_mode): Add "with_secret". Print card info and and secret flag for subkeys. -- Note: This mode may only be used with GnuPG >= 2.1.
2014-05-21Post release updatesWerner Koch2-1/+5
--
2014-05-21Release 1.5.0.gpgme-1.5.0Werner Koch3-23/+25
* configure.ac: Change LT version to C22/A11/R0.
2014-05-13Add 6 new GPGME_STATUS_ codes.Werner Koch3-18/+37
* src/status-table.c: Also add missing DECRYPTION_INFO entry.
2014-05-08Add field CURVE to the key info.Werner Koch6-1/+31
* src/gpgme.h.in (struct _gpgme_subkey): Add field CURVE. * src/key.c (gpgme_key_unref): Free CURVE. * src/keylist.c (keylist_colon_handler): Set CURVE. * src/gpgme.c (gpgme_release): For failsafe reasons reset engine and engine info after freeing. -- The engine hack is useful in case the other release functions accidently call engine release.
2014-05-08Fix a memory access and a double slash bug.Werner Koch2-2/+2
* src/engine-spawn.c (engspawn_start): Allocate space for list terminator. * src/posix-util.c (walk_path): Fix trailing slash detection. -- Kudos to Valgrind for pointing out these two problems. The first is a plain allocation bug in a code pattern I have written thousands of times - this time it went wrong. The allocation is not user controlled thus not directly exploitable. The second is missed to do what it intended to do. Found due to the access of malloced but not initialized memory. Not using calloc again proved to be helpful to detect logical error.