Commit Graph

206 Commits

Author SHA1 Message Date
Werner Koch
4f2d652e60 Add GPGME_PROTOCOL_SPAWN and gpgme_op_spawn.
* src/gpgme.h.in (GPGME_PROTOCOL_SPAWN): New.
(GPGME_SPAWN_DETACHED, GPGME_SPAWN_ALLOW_SET_FG): New.
* src/gpgme.c (gpgme_set_protocol): Add new protocol.
(gpgme_get_protocol_name): Ditto.
* src/spawn.c: New.
* src/libgpgme.vers, src/gpgme.def: Add new public functions.
* src/engine-spawn.c: New.
* src/Makefile.am: Add new files.
* src/engine-backend.h (struct engine_ops): Add OPSPAWN.
* src/engine.c (engine_ops): Add _gpgme_engine_ops_spawn.
(gpgme_get_engine_info): Add Spawn to the list of protocols.
(_gpgme_engine_op_spawn): New.

* src/gpgme-tool.c (gt_protocol_from_name): Add new protocol.
(gt_spawn, cmd_spawn): New.
2014-04-10 13:01:00 +02:00
Werner Koch
77931a9a14 Add gpgme_get_dirinfo.
* src/dirinfo.c (gpgme_get_dirinfo): New.
* tests/t-engine-info.c (main): Print results from that function.
2014-04-10 11:48:20 +02:00
Daiki Ueno
40938feb3f doc: Fix documentation of struct data types
* gpgme.texi (Key Management): Document is_cardkey and card_number
members of gpgme_subkey_t.
(Decrypt): Remove description of the non-existent wrong_key_usage
member of gpgme_recipient_t.
(Verify): Document pka_address member of gpgme_signature_t.
(Creating a Signature): Add missing member names in
gpgme_new_signature_t.
(Registering I/O Callbacks): Fix reference of gpgme_io_cbs struct.
2014-03-05 08:16:20 +01:00
Werner Koch
6564e5e78e Add global flags disable-gpgconf, gpgconf-name, and gpg-name.
* src/gpgme.c (gpgme_set_global_flag): Add names "disable-gpgconf",
"gpgconf-name", and "gpg-name".
* src/dirinfo.c (_gpgme_dirinfo_disable_gpgconf): New.
(get_gpgconf_item): Minor debug info change.
* src/posix-util.c (default_gpg_name, default_gpgconf_name): Add vars.
(_gpgme_set_default_gpg_name): New.
(_gpgme_set_default_gpgconf_name): New.
(_gpgme_get_gpg_path, _gpgme_get_gpgconf_path): Use new vars.
(walk_path): Add debug output on failure.
* src/w32-util.c (default_gpg_name, default_gpgconf_name): Add vars.
(replace_slashes): New.
(get_basename): New.
(_gpgme_set_default_gpg_name): New.
(_gpgme_set_default_gpgconf_name): New.
(_gpgme_get_gpg_path, _gpgme_get_gpgconf_path): Use new vars.

* tests/t-engine-info.c (main): Add --verbose and --set-global-flag
options.
--

Note that the Windows part has not been tested.
2014-01-06 17:16:52 +01:00
Werner Koch
b0aaa3f9ae Document API change for GPGME_EVENT_DONE from 2009.
* doc/gpgme.texi (I/O Callback Interface): Fix description for the
event arg.
--

With commit c8e934b2 (2009-10-26) gpgme_io_event_done_data_t was
introduced to replace the use of gpg_error_t with GPGME_EVENT_DONE.
Unfortunately this was not documented.  Maybe at that time the event
code was considered internal and its use in GPA was not known.  Too
bad.
2013-08-19 20:43:19 +02:00
Werner Koch
8579091c4f Add function gpgme_data_identify.
* src/gpgme.h.in (gpgme_data_type_t): New.
(gpgme_data_identify): New prototype.
* src/data-identify.c: New.
* src/parsetlv.c, src/parsetlv.h: New.  Take from gpa.
* src/libgpgme.vers, src/gpgme.def: Add gpgme_data_identify.
* src/gpgme-tool.c (status): Add STATUS_IDENTIFY_RESULT.
(gt_identify): New.
(cmd_identify): New.

(hlp_passwd): Move close to cmd_passwd.
--

It is often useful to have a way to identify the data which needs
processing.  This is such a common task that it makes sense to
implement this in gpgme to avoid diverging implementations.
2013-08-09 19:19:26 +02:00
Werner Koch
ff84d8d894 doc: Fix variable name.
--
GnuPG-bug-id: 1507
2013-06-18 10:46:24 +02:00
Werner Koch
f2eeccbdfa Add function gpgme_signers_count.
* src/signers.c (gpgme_signers_count): New.
* src/libgpgme.vers, src/gpgme.def: Add as external symbol.
* src/gpgme.h.in: Add prototype.
2013-06-18 10:27:46 +02:00
Hans-Christoph Steiner
d34e343487 doc: rename gpgme_sub_key_t to gpgme_subkey_t to match gpgme.h
--
2013-05-28 10:37:51 +02:00
Werner Koch
6d0d8e7ba0 Make definition of off_t robust against misbehaving w32 toolchains.
* configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t
and gpgme_ssize_t.
(API__OFF_T, API__SSIZE_T): New ac_subst.
* src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros.
* src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h
* src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c
* src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c
* src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t
by gpgme_off_t and sszie_t by gpgme_ssize_t.
* src/ath-pthread.c, src/ath.h: Include gpgme.h.
--

For a detailed description, see the gpgme.texi diff.
2013-05-16 17:48:50 +02:00
Werner Koch
0ff0aa3fc8 Syntax fix for gpgme.texi.
--

This fixes commit 12374cbece.
2013-04-30 18:05:04 +02:00
Werner Koch
12374cbece Explain the GPGME_DEBUG variable.
--
2013-04-16 18:30:20 +02:00
Werner Koch
ef5cd38123 Release 1.4.0.
* configure.ac: Bump LT version to C20/A9/R0.
2013-02-26 18:02:10 +01:00
Werner Koch
29eced5068 Add public function gpgme_io_writen.
* src/gpgme.c (gpgme_io_read): New.
--

This is a writen style variant for gpgme_io_write.  It is often easier
to use this one in passphrase and edit callbacks.
2013-02-07 20:51:29 +01:00
Werner Koch
c62b79a1d6 Add gpgme_set_global_flag to help debugging
* src/gpgme.c (gpgme_set_global_flag): New.
* src/gpgme.h.in (gpgme_set_global_flag): New.
* src/gpgme.def, src/libgpgme.vers: Add new public function.
* src/debug.c (envvar_override): New.:
(_gpgme_debug_set_debug_envvar): New.
(debug_init): Take ENVVAR_OVERRIDE in account.
--

On Android envvars can't be used, thus we need another way to enable
GPGME debugging.  The new function allows this and may be used in the
future to implement similar things.
2012-09-25 15:38:26 +02:00
Werner Koch
475640a527 Fix minor documentation problem.
--
Fixes bug#1404.
(There is mentioned data field “recipient”, but actual data field
name is “recipients”.)
2012-05-02 10:35:47 +02:00
Marcus Brinkmann
5f3de0bfff Fix I/O callback example. 2011-05-12 14:45:46 +02:00
Marcus Brinkmann
f61abeb0cf Correct key-gen example. 2011-05-12 14:42:18 +02:00
Werner Koch
3a7058cade Typo fixes spotted by Daiki Ueno. 2011-01-07 14:00:54 +01:00
Werner Koch
2281024d4c Add option GPGME_EXPORT_MODE_MINIMAL 2010-02-16 20:07:03 +00:00
Werner Koch
dbcce0df8f Allow the native W32 version to properly work with sockets. 2010-01-25 16:04:27 +00:00
Werner Koch
1b2fb1b737 Support gpgme_op_apsswd for GPG. 2010-01-08 19:15:06 +00:00
Werner Koch
97c5d4d312 Add an API to change passphrases. Currently only implemented for
GPGSM.  Requires GnuPG 2.1
2010-01-05 17:36:53 +00:00
Werner Koch
fc0fd88d7f Prepare for a new protocol.
Comment clarification.
2009-11-03 20:27:35 +00:00
Werner Koch
0fcf3ee915 Fix detection of invalid signer keys.
Support the new INV_SGNR status code.
2009-08-06 17:17:18 +00:00
Werner Koch
bebd9cbe29 Add support for gpg --fetch-keys. 2009-06-16 15:42:37 +00:00
Marcus Brinkmann
3320cc1742 doc/
2009-06-16  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Result Management): New section.

src/
2009-06-16  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.c (result_ref_lock): New global variable.
	(gpgme_result_ref, gpgme_result_unref): use it.
2009-06-16 14:43:38 +00:00
Werner Koch
b872605941 Add new functions to import and export keys specified by gpgme_key_t.
Allow  exporting keys to a keyserver.
2009-06-16 11:42:21 +00:00
Marcus Brinkmann
bdb7bcf938 doc/
2009-05-28  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Library Version Check): Document selftest error.
	(Creating Contexts): Likewise.

src/
2009-05-28  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h.in (gpgme_check_version_internal): New prototype.
	(gpgme_check_version): New macro, overriding function of the same
	name.
	* libgpgme.vers, gpgme.def: Add gpgme_check_version_internal.o
	* context.h (_gpgme_selftest): New variable declaration.
	* version.c: Include "context.h".
	(gpgme_check_version): Set _gpgme_selftest on success.
	(gpgme_check_version_internal): New function.
	* gpgme.c (_gpgme_selftest): Define it.
	(gpgme_new): Check the selftest result.
2009-05-28 15:16:01 +00:00
Marcus Brinkmann
2c5d801fc4 doc/
2009-05-18  Marcus Brinkmann  <marcus@g10code.de>

        * gpgme.texi (Encrypting a Plaintext): Document                                             
        GPGME_ENCRYPT_NO_ENCRYPT_TO.                                                                
                                                                                                    
src/                                                                                                
2009-05-18  Marcus Brinkmann  <marcus@g10code.de>                                                   
                                                                                                    
        * gpgme.h.in (gpgme_encrypt_flags_t): Add                                                   
        GPGME_ENCRYPT_NO_ENCRYPT_TO.                                                                
        * engine-gpg.c (gpg_encrypt): Pass --no-encrypt-to to gpg if                                
        GPGME_ENCRYPT_NO_ENCRYPT_TO flag is set.
2009-05-18 17:38:31 +00:00
Marcus Brinkmann
6e27621062 2009-05-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Engine Information): Replace path by file_name.
2009-05-05 17:19:17 +00:00
Werner Koch
aceb60d4dd Add GPGME_KEYLIST_MODE_EPHEMERAL. 2009-03-18 11:19:29 +00:00
Werner Koch
5beba8689c Fix doc bug. 2008-11-28 10:32:12 +00:00
Werner Koch
a60cbde709 Update automake scripts.
Minor doc changes.
2008-07-04 15:46:01 +00:00
Marcus Brinkmann
695ec56ffb 2008-06-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Cancellation): Document gpgme_cancel_async.

gpgme/
2008-06-27  Marcus Brinkmann  <marcus@g10code.de>

	* context.h: Include "sema.h".
	(struct gpgme_context): New members lock and canceled.
	* gpgme.c (gpgme_new): Initialize lock.
	(gpgme_release): Destroy lock.
	(gpgme_cancel_async): New function.
	* op-support.c (_gpgme_op_reset): Reset the canceled flag.
	* wait-global.c (gpgme_wait): Check cancel flag before processing
	any I/O callbacks.
	* wait-private.c (_gpgme_wait_on_condition): Likewise.
	* wait-user.c (_gpgme_user_io_cb_handler): Likewise.
2008-06-27 16:07:33 +00:00
Werner Koch
d0fe86179c Updated example. 2008-06-25 01:44:50 +00:00
Werner Koch
f54ea0e32c Include the GnuPG UI Server specification.
Change the license of the manual to GPLv3+.
2008-06-04 14:14:38 +00:00
Werner Koch
b72c001283 Support --locate-keys feature of gpg. 2008-05-07 15:41:14 +00:00
Marcus Brinkmann
3dcae464f4 doc/
2008-03-11  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (File Based Data Buffers): Document the need for
	blocking operations.
	(Callback Based Data Buffers): Likewise.

gpgme/
2008-03-11  Marcus Brinkmann  <marcus@g10code.de>

	* data.c (gpgme_data_read, gpgme_data_write): Retry on EINTR.
2008-03-11 16:05:40 +00:00
Marcus Brinkmann
639df34f65 2008-03-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Library Version Check): Rename snippet function to
	init_gpgme.
	(I/O Callback Example): Call it here.
2008-03-05 12:00:57 +00:00
Marcus Brinkmann
ef430d7828 2008-01-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi: Document that data encoding affects some output data
	objects now.
2008-01-28 19:41:26 +00:00
Marcus Brinkmann
30df62122d doc/
2007-09-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Protocols and Engines): Document GPGME_PROTOCOL_UNKNOWN.

gpgme/
2007-09-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (gpgme_protocol_t): Add GPGME_PROTOCOL_UNKNOWN.
	* gpgme.c (gpgme_get_protocol_name): Implement support for
	GPGME_PROTOCOL_UNKNOWN.
2007-09-27 12:17:24 +00:00
Werner Koch
da6f3dc0c5 Fixed bug in gpgme_data_relase_and_get_mem.
Typo fixes.
2007-09-14 12:27:54 +00:00
Werner Koch
bc82a66514 Add new signature_t member chain_model. 2007-08-07 15:21:50 +00:00
Werner Koch
906da085cf Changes for W32 2007-07-12 15:25:20 +00:00
Marcus Brinkmann
b240231ce3 2007-06-05 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Advanced Key Editing): New section.
2007-06-05 14:47:18 +00:00
Marcus Brinkmann
2c5d7a18a9 2007-05-18 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Error Strings): Fix documentation of
	gpgme_strerror_r.
2007-05-18 22:30:42 +00:00
Marcus Brinkmann
f2bd9ab3be 2007-05-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Registering I/O Callbacks): Fix description of EVENT
	member of gpgme_event_io_t.
2007-05-03 20:12:40 +00:00
Moritz Schulte
27e9625668 2006-11-01 Moritz Schulte <moritz@g10code.com>
* gpgme.texi (Data Buffer I/O Operations): Fixed entry for
	gpgme_data_seek: OFFSET is not a pointer; some s/whence/offset/.
2006-11-01 10:02:12 +00:00
Marcus Brinkmann
9247e9081b doc/
2006-09-25  Marcus Brinkmann  <marcus@g10code.de>

        * gpgme.texi (Destroying Data Buffers): Clarify that
        gpgme_data_release_and_get_mem destroys DH unconditionally.

gpgme/
2006-09-25  Marcus Brinkmann  <marcus@g10code.de>

        * data-mem.c (gpgme_data_release_and_get_mem): Release the data
        object properly.
2006-09-25 14:57:00 +00:00