gpgme.git
21 years agodoc/
Marcus Brinkmann [Thu, 30 Jan 2003 11:54:23 +0000 (11:54 +0000)]
doc/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Engine Information): Rewritten.

gpgme/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.h (enum GpgmeProtocol): Remove GPGME_PROTOCOL_AUTO.
* gpgme.c (gpgme_set_protocol): Don't handle GPGME_PROTOCOL_AUTO.
(gpgme_get_protocol_name): New function.

* engine-backend.h (struct engine_ops): New member
get_req_version, remove member check_version.
* engine.h (_gpgme_Engine_get_version): New prototype.
* rungpg.c (gpg_get_req_version): New function.
(gpg_check_version): Function removed.
(_gpgme_engine_ops_gpg): Add gpg_get_req_version, remove
gpg_check_version.
* engine-gpgsm.c (gpgsm_get_req_version): New function.
(gpgsm_check_version): Function removed.
(_gpgme_engine_ops_gpgsm): Add gpgsm_get_req_version, remove
gpgsm_check_version.
* engine.c: Include ops.h.
 (_gpgme_engine_get_req_version): New function.
(gpgme_engine_check_version): Rewritten.
* version.c (gpgme_get_engine_info): Rewritten.
* gpgme.h (gpgme_engine_info): New structure.
(GpgmeEngineInfo): New type.

tests/
2003-01-30  Marcus Brinkmann  <marcus@g10code.de>

* Makefile.am (TESTS): Add t-engine-info.
* t-engine-info.c: New file.
* gpg/t-encrypt.c (main): Don't print engine info.
* gpg/t-eventloop.c (main): Likewise.
* gpg/t-encrypt-sign.c (main): Likewise.
* gpgsm/t-encrypt.c (main): Likewise.

21 years ago2003-01-29 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 29 Jan 2003 20:18:52 +0000 (20:18 +0000)]
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

* bonobo/gpgme.c, bonobo/main.c, bonobo/main.h, bonobo/Makefile,
bonobo/Makefile.am, bonobo/Makefile.in: Dead files removed.
* configure.ac: Remove automake conditional BUILD_BONOBO
(AC_CONFIG_FILES): Remove bonobo/Makefile.
* Makefile.am (bonobo): Remove variable.
(SUBDIRS): Remove ${bonobo}.

21 years agoFix copyright year.
Marcus Brinkmann [Wed, 29 Jan 2003 20:03:24 +0000 (20:03 +0000)]
Fix copyright year.

21 years ago2003-01-29 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 29 Jan 2003 19:50:43 +0000 (19:50 +0000)]
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

* configure.ac: Remove all uses of GNUPG_CHECK_TYPEDEF, for byte,
ushort, ulong, u16 and u32.
* acinclude.m4 (GNUPG_CHECK_TYPEDEF): Remove macro.

gpgme/
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

* types.h: Remove byte and ulong types.
* util.h (_gpgme_hextobyte): Change prototype to unsigned char
instead byte.
* conversion.c (_gpgme_hextobyte): Change argument to unsigned
char instead byte.
(_gpgme_decode_c_string): Likewise, and beautify.  Also support a
few more escaped characters.  Be more strict about buffer size.
(_gpgme_data_append_percentstring_for_xml): Change type of SRC,
BUF and DST to unsigned char instead byte.
* progress.c (_gpgme_progress_status_handler): Use unsigned char
instead byte.
* debug.c (trim_spaces): Likewise.

21 years ago2003-01-29 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 29 Jan 2003 16:10:35 +0000 (16:10 +0000)]
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

* util.h (mk_error): Remove macro.
* conversion.c, data.c, data-compat.c, decrypt.c, delete.c,
edit.c, encrypt.c, encrypt-sign.c, engine.c, engine-gpgsm.c,
export.c, genkey.c, gpgme.c, import.c, key.c, keylist.c,
passphrase.c, progress.c, recipient.c, rungpg.c, sign.c,
signers.c, trustlist.c, verify.c, wait.c, wait-global.c,
wait-private (literally everywhere): Expand the mk_error macro.

21 years agoAdd some items, remove obsolete item about pipemode.
Marcus Brinkmann [Wed, 29 Jan 2003 15:41:25 +0000 (15:41 +0000)]
Add some items, remove obsolete item about pipemode.

21 years ago2003-01-29 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 29 Jan 2003 15:32:15 +0000 (15:32 +0000)]
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

* context.h (wait_on_request_or_fail): Remove macro.

21 years agodoc/
Marcus Brinkmann [Wed, 29 Jan 2003 15:20:58 +0000 (15:20 +0000)]
doc/
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (I/O Callback Interface): Document new even
GPGME_EVENT_START.
(Waiting For Completion): Document new possible return values.
(I/O Callback Interface): Document return type of GpgmeIOCb.

gpgme/
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

* context.h (gpgme_context_s): Remove member ERROR.
* types.h (GpgmeStatusHandler): Change return type to GpgmeError.
(GpgmeCommandHandler): Change return type to GpgmeError and add
new argument RESULT.
* gpgme.h (GpgmeIOCb): Change return type to GpgmeError.
(GpgmeEventIO): New event GPGME_EVENT_START.
(GpgmeIdleFunc): Remove type.
(gpgme_register_idle): Remove prototype.
* data.c: Include <assert.h>.
(_gpgme_data_inbound_handler): Change return type to GpgmeError.
Return any error instead ignoring it, don't close file descriptor
on error.
(_gpgme_data_outbound_handler): Likewise.
* decrypt.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(_gpgme_decrypt_status_handler): Change return type to GpgmeError.
Return error instead setting ctx->error.  Return success at end of
function.
(gpgme_op_decrypt): Don't work around the old kludge anymore.
* decrypt-verify.c (decrypt_verify_status_handler): Change return
type to GpgmeError.  Return possible errors.
* delete.c: Do not include <stdio.h>, <string.h>, <time.h> and
<assert.h>.
(delete_status_handler): Change return type to GpgmeError.  Return
error instead setting ctx->error.  Return success at end of
function.
* edit.c: Do not include <stdio.h> and <string.h>.
(_gpgme_edit_status_handler): Change type to GpgmeError,
make static and rename to ...
(edit_status_handler): ... this.  Return error directly.
(command_handler): Change return type to GpgmeError, add result
argument.  Return error directly.
* encrypt.c (status_handler_finish): Remove function.
(_gpgme_encrypt_status_handler): Change return type to GpgmeError.
Return error directly.
(_gpgme_encrypt_sym_status_handler): Likewise.
* encrypt-sign.c (encrypt_sign_status_handler): Likewise.
* engine-gpgsm.c (close_notify_handler): Do not signal done event
anymore.
(status_handler): Change return type to GpgmeError.  Diddle things
around a bit to return errors directly.
(start): Send start event.
* export.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(export_status_handler): Change return type to GpgmeError.  Don't
check ctx->error.
* genkey.c: Do not include <stdio.h> and <assert.h>.
(genkey_status_handler): Change return type to GpgmeError.  Don't
check ctx->error.  Return errors directly.
* gpgme.c (_gpgme_release_result): Do not initialize ctx->error.
(_gpgme_op_event_cb): Function removed.
(_gpgme_op_event_cb_user): Likewise.
* import.c: Do not include <stdio.h>, <string.h> and <assert.h>.
(import_status_handler): Change return type to GpgmeError.  Don't
check ctx->error.
* keylist.c (keylist_colon_handler, keylist_status_handler, finish_key):
Change return type to GpgmeError, return error directly.
* Makefile (libgpgme_la_SOURCES): Add wait-global.c,
wait-private.c and wait-user.c
* ops.h (test_and_allocate_result): Return error instead setting
ctx->error.
(_gpgme_data_inbound_handler, _gpgme_data_outbound_handler,
_gpgme_verify_status_handler, _gpgme_decrypt_status_handler,
_gpgme_sign_status_handler, _gpgme_encrypt_staus_handler,
_gpgme_passphrase_status_handler, _gpgme_progress_status_handler):
Change return type to GpgmeError.
(_gpgme_passphease_command_handler): Change return type to
GpgmeError and add new argument RESULT.
* op-support.c: Use new callback functions, and change private
data to ctx everywhere.
* passphrase.c (_gpgme_passphrase_status_handler): Change return
type to GpgmeError, return error directly.
(_gpgme_passphrase_command_handler): Change return type to
GpgmeError, add result argument.  Return results accordingly.
* progress.c (_gpgme_progress_status_handler): Change return type
to GpgmeError, return errors directly.
* rungpg.c (status_handler): Change return type to GpgmeError.
Return error directly.
(close_notify_handler): Don't send done event.
(colon_line_handler): Change return type to GpgmeError, return
errors directly.
* rungpg.c (start): Send start event.
* sign.c (_gpgme_sign_status_handler): Change return type to
GpgmeError, return errors directly.
* trustlist.c (trustlist_status_handler): Change return type to
GpgmeError.  Return 0.
(trustlist_colon_handler): Change return type GpgmeError.  Return
errors directly.
* verify.c (add_notation): Change return type to GpgmeError,
return errors directly.
(_gpgme_verify_status_handler): Likewise.
* wait.h (struct fd_table): Remove lock member.
(struct wait_item_s): Moved here from wait.c.
(struct tag): New structure.
(_gpgme_wait_event_cb): Remove prototype.
(_gpgme_wait_private_event_cb, _gpgme_wait_global_event_cb,
_gpgme_wait_user_add_io_cb, _gpgme_wait_user_remove_io_cb,
_gpgme_wait_user_event_io_cb): New prototypes.
* wait.c: Don't include <stdio.h>.
(ftd_global, ctx_done_list, ctx_done_list_size,
ctx_done_list_length, ctx_done_list_lock, idle_function): Remove
global variable.
(gpgme_register_idle, do_select, _gpgme_wait_event_cb): Remove
function.
(gpgme_wait): Move to file wait-global.c.
(_gpgme_add_io_cb): Take ctx as private argument, initialize ctx
member in wait item and tag.
(_gpgme_remove_io_cb): Take ctx from tag.  Don't use FDT lock.
(_gpgme_wait_one, _gpgme_wait_on_condition): Move to
wait-private.c.
(gpgme_fd_table_init): Don't initialize FDT->lock.
(gpgme_fd_table_deinit): Don't destroy FDT->lock.
(_gpgme_fd_table_put): Make static and rename to ...
(fd_table_put): ... this function.  Don't use FDT->lock.
(struct wait_item_s): Move to wait.h.
* wait-global.c: New file.
* wait-private.c: New file.
* wait-user.c: New file.

21 years ago2003-01-29 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 29 Jan 2003 13:52:08 +0000 (13:52 +0000)]
2003-01-29  Marcus Brinkmann  <marcus@g10code.de>

* key.c (gpgme_key_sig_get_string_attr): Use validity_to_string
instead otrust_to_string to calculate validity.

21 years ago2003-01-19 Miguel Coca <mcoca@gnu.org>
Marcus Brinkmann [Sun, 19 Jan 2003 22:05:40 +0000 (22:05 +0000)]
2003-01-19  Miguel Coca  <mcoca@gnu.org>

* w32-io.c (_gpgme_io_select): Add missing argument in calls to
DEBUG_BEGIN.
* w32-util.c: Include "sema.h".
(find_program_in_registry): Change DEBUG1 to DEBUG2, fixes compilation
error.

21 years ago2003-01-19 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sun, 19 Jan 2003 21:51:07 +0000 (21:51 +0000)]
2003-01-19  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.c (_gpgme_engine_ops_gpg): Remove gpg_start.
(gpg_start): Rename to ...
(start): ... this function.  Change arguments to GpgObject.
(gpg_decrypt): Call start.
(gpg_edit): Likewise.
(gpg_encrypt): Likewise.
(gpg_encrypt_sign): Likewise.
(gpg_export): Likewise.
(gpg_import): Likewise.
(gpg_keylist): Likewise.
(gpg_keylist_ext): Likewise.
(gpg_trustlist): Likewise.
(gpg_verify): Likewise.

* engine-gpgsm.c (_gpgme_engine_ops_encrypt): Remove gpgsm_start.
(gpgsm_start): Rename to ...
(struct gpgsm_object_s): Remove member command.
(gpgsm_release): Don't free command.
(start): ... this function.  Change arguments to GpgsmObject and
const char *.
(gpgsm_decrypt): Call start.
(gpgsm_delete): Likewise.
(gpgsm_encrypt): Likewise.
(gpgsm_export): Likewise.
(gpgsm_genkey): Likewise.
(gpgsm_import): Likewise.
(gpgsm_keylist): Likewise.
(gpgsm_keylist_ext): Likewise.
(gpgsm_verify): Likewise.

* decrypt.c (_gpgme_decrypt_start): Don't call
_gpgme_engine_start.
* delete.c (_gpgme_op_delete_start): Likewise.
* edit.c (_gpgme_op_edit_start): Likewise.
* encrypt.c (_gpgme_op_encrypt_start):
* encrypt-sign.c (_gpgme_op_encrypt_sign_start):
* export.c (_gpgme_op_export_start): Likewise.
* genkey.c (_gpgme_op_genkey_start): Likewise.
* import.c (_gpgme_op_import_start): Likewise.
* keylist.c (gpgme_op_keylist_ext_start): Likewise.
(gpgme_op_keylist_start): Likewise.
* sign.c (_gpgme_op_sign_start): Likewise.
* trustlist.c (gpgme_op_trustlist_start): Likewise.
* verify.c (_gpgme_op_verify_start): Likewise.

* engine-backend.h (struct engine_ops): Remove member start.

* engine.h (_gpgme_engine_start): Remove prototype.
* engine.c (_gpgme_engine_start): Remove function.

21 years ago* keylist.c (set_mainkey_capability): Handle 'd' and 'D' used
Werner Koch [Mon, 6 Jan 2003 21:06:23 +0000 (21:06 +0000)]
* keylist.c (set_mainkey_capability): Handle 'd' and 'D' used
since gpg 1.3 to denote disabled keys.

21 years ago2003-01-06 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 6 Jan 2003 14:07:56 +0000 (14:07 +0000)]
2003-01-06  Marcus Brinkmann  <marcus@g10code.de>

* data-mem.c: Include <string.h>.
* engine.c: Likewise.

21 years ago2003-01-06 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sun, 5 Jan 2003 23:37:14 +0000 (23:37 +0000)]
2003-01-06  Marcus Brinkmann  <marcus@g10code.de>

* Makefile.am (libgpgme_la_DEPENDENCIES): Correct bug in last change.

21 years agodoc/
Marcus Brinkmann [Tue, 24 Dec 2002 13:08:56 +0000 (13:08 +0000)]
doc/
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Verify): Drop R_STAT argument in gpgme_op_verify.
* gpgme.texi (Decrypt and Verify): Likewise for
gpgme_op_decrypt_verify.

gpgme/
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.h (gpgme_op_verify, gpgme_op_decrypt_verify): Drop R_STAT
argument.
* decrypt-verify.c (gpgme_op_decrypt_verify): Drop R_STAT
argument.
* verify.c (gpgme_op_verify): Drop R_STAT argument.
(_gpgme_intersect_stati): Function removed.
* ops.h (_gpgme_intersect_stati): Remove prototype.

tests/
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

* gpgsm/t-verify.c (main): Adjust caller of gpgme_op_verify.
* gpg/t-verify.c (main): Likewise.
* gpg/t-decrypt-verify.c (main): Likewise for
gpgme_op_decrypt_verify.

21 years ago2002-12-24 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 23 Dec 2002 23:47:27 +0000 (23:47 +0000)]
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

* libgpgme.vers: New file.
* Makefile.am (EXTRA_DIST): Add libgpgme.vers.
(libgpgme_version_script_cmd): New variable.
(libgpgme_la_LDFLAGS): Add libgpgme_version_script_cmd here.
(libgpgme_la_DEPENDENCIES): New variable.

21 years ago2002-12-24 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 23 Dec 2002 23:45:28 +0000 (23:45 +0000)]
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

* configure.ac: New conditional HAVE_LD_VERSION_SCRIPT.
Call AC_CANONICAL_HOST, use host instead target.

gpgme/
2002-12-24  Marcus Brinkmann  <marcus@g10code.de>

* libgpgme.vers: New file.
* Makefile.am (EXTRA_DIST): Add libgpgme.vers.
(libgpgme_version_script_cmd): New variable.
(libgpgme_la_LDFLAGS): Add libgpgme_version_script_cmd here.
(libgpgme_la_DEPENDENCIES): New variable.

21 years agoFix last change.
Marcus Brinkmann [Mon, 23 Dec 2002 23:44:22 +0000 (23:44 +0000)]
Fix last change.

21 years agoFingerprints of subkeys are available.
Marcus Brinkmann [Mon, 23 Dec 2002 22:51:33 +0000 (22:51 +0000)]
Fingerprints of subkeys are available.

21 years agoI believe this was fixed a while ago.
Marcus Brinkmann [Mon, 23 Dec 2002 22:49:09 +0000 (22:49 +0000)]
I believe this was fixed a while ago.

21 years agodoc/
Marcus Brinkmann [Mon, 23 Dec 2002 22:34:25 +0000 (22:34 +0000)]
doc/
2002-12-23  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Information About Keys): Document that
GPGME_ATTR_IS_SECRET is not representable as a string anymore.

21 years ago2002-12-23 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 23 Dec 2002 22:31:03 +0000 (22:31 +0000)]
2002-12-23  Marcus Brinkmann  <marcus@g10code.de>

* key.c (gpgme_key_get_string_attr): Don't accept GPGME_ATTR_IS_SECRET.
(otrust_to_string): New function.
(gpgme_key_get_as_xml): Use it.
(validity_to_string): New function.
(gpgme_key_get_string_attr): Beautify using above functions.
(gpgme_key_get_ulong_attr): Likewise.

21 years ago2002-12-23 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 23 Dec 2002 21:28:35 +0000 (21:28 +0000)]
2002-12-23  Marcus Brinkmann  <marcus@g10code.de>

* configure.ac: Bump up to 0.4.1.

Released 0.4.0.

21 years agoAdded new items. gpgme-0-4-0
Marcus Brinkmann [Mon, 23 Dec 2002 21:19:23 +0000 (21:19 +0000)]
Added new items.

21 years ago2002-12-23 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 23 Dec 2002 21:06:38 +0000 (21:06 +0000)]
2002-12-23  Marcus Brinkmann  <marcus@g10code.de>

* gpgsm/Makefile.am (./gpgsm.conf): Add a faked system time to
avoid certification's expiry.
* gpgsm/t-encrypt.c (main): Use the short certification name.

21 years ago2002-12-23 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 23 Dec 2002 20:29:33 +0000 (20:29 +0000)]
2002-12-23  Marcus Brinkmann  <marcus@g10code.de>

* autogen.sh (automake_vers): Require 1.7 (really 1.7.1) for the
conditional source distribution bug fix.

21 years ago2002-12-23 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 23 Dec 2002 17:47:01 +0000 (17:47 +0000)]
2002-12-23  Marcus Brinkmann  <marcus@g10code.de>

* data-mem.c (mem_release): Fix gcc warning.
* data-user.c (user_release): Likewise.

21 years ago2002-12-22 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 23 Dec 2002 17:12:48 +0000 (17:12 +0000)]
2002-12-22  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Key Signatures): New section.
(Listing Keys): Add gpgme_get_key.

21 years agoAdd 0.3 branch changes.
Marcus Brinkmann [Sun, 22 Dec 2002 13:55:00 +0000 (13:55 +0000)]
Add 0.3 branch changes.

21 years ago2002-12-08 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sun, 8 Dec 2002 13:54:11 +0000 (13:54 +0000)]
2002-12-08  Marcus Brinkmann  <marcus@g10code.de>

* configure.ac (LIBGPGME_LT_CURRENT): Increase by one.
(LIBGPGME_LT_AGE, LIBGPGME_LT_REVISION): Set to 0.

21 years agoFix bugs in last change.
Marcus Brinkmann [Fri, 6 Dec 2002 22:27:12 +0000 (22:27 +0000)]
Fix bugs in last change.

21 years agodoc/
Marcus Brinkmann [Fri, 6 Dec 2002 22:06:25 +0000 (22:06 +0000)]
doc/
2002-12-06  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Memory Based Data Buffers): New subsection.
(File Based Data Buffers): Likewise.
(Callback Based Data Buffers): Likewise.
(Manipulating Data Buffers): Update interfaces.  Add
gpgme_data_seek.
* gpgme.texi (Engine Version Check): Remove gpgme_chec_engine.

gpgme/
2002-12-06  Marcus Brinkmann  <marcus@g10code.de>

* data.h (gpgme_data_release_cb): Change return type to void.
(gpgme_data_read_cb): Change return type to ssize_t.
* data.c (gpgme_data_read): Likewise.
* data-stream.c (stream_read): Likewise.
* data-fd.c (fd_read): Likewise.
* data-mem.c (mem_read): Likewise.
(mem_release): Change return type to void.
* data-user.c (user_read): Change return type to ssize_t.
(user_release): Change return type to void.
* data-compat.c (old_user_read): Change return type to ssize_t.
* gpgme.h (GpgmeDataReadCb): Likewise.
(gpgme_data_read): Likewise.
(GpgmeDataSeekCb): Change return type to off_t.

21 years ago2002-12-04 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 4 Dec 2002 16:28:34 +0000 (16:28 +0000)]
2002-12-04  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.h: Add prototype for gpgme_get_key.
* key.c (gpgme_get_key): New function.
* verify.c (gpgme_get_sig_key): Rewrite using gpgme_get_key.

* gpgme.h: Add prototypes for new interfaces
gpgme_key_sig_get_string_attr and gpgme_key_get_ulong_attr.
(enum GpgmeAttr): New attribute GPGME_ATTR_SIG_CLASS.
* gpgme.c (gpgme_set_keylist_mode): Allow GPGME_KEYLIST_MODE_SIGS.
* key.h (struct certsig_s): New members ALGO, NAME_PART,
EMAIL_PART, COMMENT_PART, NAME, SIG_STAT and SIG_CLASS.

* conversion.c (_gpgme_decode_c_string): Add new parameter LEN.
Use that to determine if allocation is desired or not.
* util.h: Adjust prototype of _gpgme_decode_c_string.
* keylist.c (keylist_colon_handler): Adjust caller of
_gpgme_decode_c_string.

* key.h (struct gpgme_key_s): New member last_uid.
* key.c (_gpgme_key_append_name): Rewritten using
_gpgme_decode_c_string and the last_uid pointer.
(my_isdigit): Macro removed.
(ALLOC_CHUNK): Likewise.
* keylist.c (set_userid_flags): Use last_uid member of KEY.

* context.h (struct user_id_s): New member last_certsig.
* key.h: Add prototype for _gpgme_key_add_certsig.
* key.c (_gpgme_key_add_certsig): New function.
(set_user_id_part): Move function before _gpgme_key_add_certsig.
(parse_user_id): Change first argument to SRC, add new arguments
NAME, EMAIL and COMMENT.  Change code to use these arguments
instead going through UID.  Move function before
_gpgme_add_certsig.
(parse_x509_user_id): Likewise.
(_gpgme_key_append_name): Adjust arguments to parse_x509_user_id
and parse_user_id invocation.
(one_certsig_as_xml): New function.
(one_uid_as_xml): Print signatures.
* context.h (struct gpgme_context_s): New member TMP_UID.
* keylist.c (keylist_colon_handler): Rewritten, implement "sig"
record entries.

* key.c (get_certsig): New function.
(gpgme_key_sig_get_string_attr): Likewise.
(gpgme_key_sig_get_ulong_attr): Likewise.

* keylist.c: Include <ctype.h>.
(my_isdigit): Macro removed.
(set_mainkey_trust_info): Use isdigit, not my_isdigit.
(set_userid_flags): Likewise.
(set_subkey_trust_info): Likewise.
(set_ownertrust): Likewise.
(finish_key): Move function up a bit and remove prototype.

* rungpg.c (gpg_keylist_ext): Correct precedence of signature
listing mode.
(gpg_keylist_ext): Implement signature listing mode.

22 years agoFix spelling of my name.
Marcus Brinkmann [Thu, 28 Nov 2002 20:20:46 +0000 (20:20 +0000)]
Fix spelling of my name.

22 years ago2002-11-28 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Thu, 28 Nov 2002 19:39:48 +0000 (19:39 +0000)]
2002-11-28  Marcus Brinkmann  <marcus@g10code.de>

* NEWS: Add note about moving "gpgmeplug" to the "cryptplug"
package.
* README: Remove instructions related to "gpgmeplug".
* configure.ac: Remove enable option "gpgmeplug" and automake
conditional BUILD_GPGMEPLUG, as well as the status info about it.
(GPGMEPLUG): Remove variable.
* Makefile.am (gpgmeplug): Remove variable.
(SUBDIRS): Remove ${gpgmeplug}.
* cryptplug.h, gpgme-openpgp.c, gpgmeplug.dox, gpgme-smime.c,
Makefile.am, gpgmeplug.c, ChangeLog: Files removed.
CVSk: ----------------------------------------------------------------------

22 years ago2002-11-25 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 25 Nov 2002 21:12:46 +0000 (21:12 +0000)]
2002-11-25  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.c (_gpgme_gpg_spawn): Do not set parent fds to -1.
* posix-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead close
for parent fds.
* w32-io.c (_gpgme_io_spawn): Call _gpgme_io_close instead
CloseHandle for parent fds.

22 years ago2002-11-22 Werner Koch <wk@gnupg.org>
Marcus Brinkmann [Fri, 22 Nov 2002 17:45:55 +0000 (17:45 +0000)]
2002-11-22  Werner Koch  <wk@gnupg.org>

* engine-gpgsm.c (_gpgme_gpgsm_new): Save the result of a first
setlocale before doing another setlocale.

22 years ago2002-11-22 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Fri, 22 Nov 2002 17:39:09 +0000 (17:39 +0000)]
2002-11-22  Marcus Brinkmann  <marcus@g10code.de>

* configure.ac: Disable GPGSM for all dosish systems.

22 years ago2002-11-22 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Fri, 22 Nov 2002 17:38:31 +0000 (17:38 +0000)]
2002-11-22  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.h [_MSC_VER]: Define ssize_t as long.

22 years ago2002-11-21 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Thu, 21 Nov 2002 13:48:41 +0000 (13:48 +0000)]
2002-11-21  Marcus Brinkmann  <marcus@g10code.de>

* decrypt.c: Some beautyfication.

22 years ago2002-11-21 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Thu, 21 Nov 2002 13:45:00 +0000 (13:45 +0000)]
2002-11-21  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Verify): Document the new interface.

22 years agoFix function names which lacked _new_.
Marcus Brinkmann [Thu, 21 Nov 2002 13:34:33 +0000 (13:34 +0000)]
Fix function names which lacked _new_.

22 years agoAdd Miguel Coca <e970095@zipi.fi.upm.es>.
Marcus Brinkmann [Thu, 21 Nov 2002 12:58:12 +0000 (12:58 +0000)]
Add Miguel Coca <e970095@zipi.fi.upm.es>.

22 years ago2002-11-21 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Thu, 21 Nov 2002 11:21:40 +0000 (11:21 +0000)]
2002-11-21  Marcus Brinkmann  <marcus@g10code.de>

* verify.c (_gpgme_verify_status_handler): Treat
GPGME_STATUS_UNEXPECTED like GPGME_STATUS_NODATA.
Reported by Miguel Coca <e970095@zipi.fi.upm.es>.

22 years agodoc/
Marcus Brinkmann [Tue, 19 Nov 2002 16:41:17 +0000 (16:41 +0000)]
doc/
2002-11-19  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Generating Keys): Document new argument to
gpgme_op_genkey.

gpgme/
2002-11-19  Marcus Brinkmann  <marcus@g10code.de>

* genkey.c: Only include <config.h> if [HAVE_CONFIG_H].
(struct genkey_result_s): Add new member FPR.
(_gpgme_release_genkey_result): Free RESULT->fpr if set.
(genkey_status_handler): Extract the fingerprint from the status
line.
(gpgme_op_genkey): Add new argument FPR and return the fingerprint
in it.
* gpgme.h: Adjust prototype of gpgme_op_genkey.

tests/
2002-11-19  Marcus Brinkmann  <marcus@g10code.de>

* gpg/t-genkey.c (main): Add missing argument to gpgme_op_genkey
invocation.
CVSk: ----------------------------------------------------------------------

22 years ago2002-11-19 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Tue, 19 Nov 2002 09:33:20 +0000 (09:33 +0000)]
2002-11-19  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.c (gpg_keylist): Add --with-fingerprint to gpg invocation
twice, to get fingerprints on subkeys.  Suggested by Timo Schulz
<twoaday@freakmail.de>.
(gpg_keylist_ext): Likewise.

22 years ago2002-11-05 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Tue, 5 Nov 2002 15:25:07 +0000 (15:25 +0000)]
2002-11-05  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Verify): Fix prototype of gpgme_get_sig_key.
Reported by Miguel Coca <e970095@zipi.fi.upm.es>.

22 years agoFix email address.
Marcus Brinkmann [Tue, 5 Nov 2002 15:20:43 +0000 (15:20 +0000)]
Fix email address.

22 years ago2002-11-05 Marcus Brinkmann <marcus@gnu.org>
Marcus Brinkmann [Tue, 5 Nov 2002 12:04:07 +0000 (12:04 +0000)]
2002-11-05  Marcus Brinkmann  <marcus@gnu.org>

* import.c (append_xml_impinfo): Use
_gpgme_data_append_string_for_xml rather than
_gpgme_data_append_string for the field content.
Submitted by Miguel Coca <e970095@zipi.fi.upm.es>.

22 years agoAdding support for email addresses includes in '<' and '>'.
Karl-Heinz Zimmer [Thu, 31 Oct 2002 16:30:45 +0000 (16:30 +0000)]
Adding support for email addresses includes in '<' and '>'.

22 years agoAdd error checking for isEmailInCertificate being called with invalid fingerprint...
Karl-Heinz Zimmer [Thu, 31 Oct 2002 14:20:47 +0000 (14:20 +0000)]
Add error checking for isEmailInCertificate being called with invalid fingerprint parameter.

22 years agoAdd support for certificates having the e-mail address stored in GPGME_ATTR_USERID...
Karl-Heinz Zimmer [Thu, 31 Oct 2002 13:59:38 +0000 (13:59 +0000)]
Add support for certificates having the e-mail address stored in GPGME_ATTR_USERID instead of GPGME_ATTR_EMAIL.

22 years agoImplementing the 1st of missing features reported by Ingo: isEmailInCertificate()
Karl-Heinz Zimmer [Thu, 31 Oct 2002 13:14:41 +0000 (13:14 +0000)]
Implementing the 1st of missing features reported by Ingo: isEmailInCertificate()

22 years ago2002-10-12 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sat, 12 Oct 2002 14:32:01 +0000 (14:32 +0000)]
2002-10-12  Marcus Brinkmann  <marcus@g10code.de>

* gpgmeplug.c (checkMessageSignature): Update call to
gpgme_op_verify to use new arguments.

22 years ago2002-10-10 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sat, 12 Oct 2002 00:33:05 +0000 (00:33 +0000)]
2002-10-10  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.h, engine-gpgsm.h: File removed.
* engine-backend.h: New file.
* Makefile.am (gpgsm_components): New variable, set depending on
automake conditional HAVE_GPGSM.
(libgpgme_la_SOURCES): Add engine-backend.h, remove rungpg.h and
engine-gpgsm.h.  Replace engine-gpgsm.c with ${gpgsm_components}.
(status-table.h): Depend on gpgme.h, not rungpg.h.
* conversion.c: Include <stdlib.h>.
* engine-gpgsm.c: Do not set ENABLE_GPGSM here.  Include
"engine-backend.h" instead "engine-gpgsm.h".  Reorder some
functions and remove all function prototypes.
(_gpgme_gpgsm_get_version): Make static and rename to ...
(gpgsm_get_version): ... this.
(_gpgme_gpgsm_check_version): Make static and rename to ...
(gpgsm_check_version): ... this.
(_gpgme_gpgsm_new): Make static.  Change argument type from
GpgsmObject * to void **.  Call gpgsm_release instead
_gpgme_gpgsm_release.
(_gpgme_gpgsm_op_decrypt): Make static and rename to ...
(gpgsm_check_decrypt): ... this.
(_gpgme_gpgsm_op_delete): Make static and rename to ...
(gpgsm_check_delete): ... this.
(_gpgme_gpgsm_set_recipients): Make static and rename to ...
(gpgsm_check_set_recipients): ... this.
(_gpgme_gpgsm_op_encrypt): Make static and rename to ...
(gpgsm_encrypt): ... this.
(_gpgme_gpgsm_op_export): Make static and rename to ...
(gpgsm_export): ... this.
(_gpgme_gpgsm_op_genkey): Make static and rename to ...
(gpgsm_genkey): ... this.
(_gpgme_gpgsm_op_import): Make static and rename to ...
(gpgsm_import): ... this.
(_gpgme_gpgsm_op_keylist): Make static and rename to ...
(gpgsm_keylist): ... this.
(_gpgme_gpgsm_op_keylist_ext): Make static and rename to ...
(gpgsm_keylist_ext): ... this.
(_gpgme_gpgsm_op_sign): Make static and rename to ...
(gpgsm_sign): ... this.
(_gpgme_gpgsm_op_trustlist): Make static and rename to ...
(gpgsm_trustlist): ... this.
(_gpgme_gpgsm_op_verify): Make static and rename to ...
(gpgsm_verify): ... this.
(gpgsm_status_handler): Rename to ...
(status_handler): ... this.
(_gpgme_gpgsm_set_status_handler): Make static and rename to ...
(gpgsm_set_status_handler): ... this.
(_gpgme_gpgsm_set_colon_line_handler): Make static and rename to ...
(gpgsm_set_colon_line_handler): ... this.
(_gpgme_gpgsm_add_io_cb): Rename to ...
(add_io_cb): ... this.
(_gpgme_gpgsm_start): Make static and rename to ...
(gpgsm_start): ... this.
(_gpgme_gpgsm_set_io_cb): Make static and rename to ...
(gpgsm_set_io_cb): ... this.
(_gpgme_gpgsm_io_event): Make static and rename to ...
(gpgsm_io_event): ... this.
(struct _gpgme_engine_ops_gpgsm): New variable.
[!ENABLE_GPGSM]: Removed.
* engine.c: Do not include <time.h>, <sys/types.h>, <string.h>,
<assert.h>, "io.h", "rungpg.h" and "engine-gpgsm.h".  Include
<stdlib.h> and "engine-backend.h".
(struct engine_object_s): Rewritten.
(engine_ops): New variable.
* engine.c (_gpgme_engine_get_path, _gpgme_engine_get_version,
_gpgme_engine_check_version, _gpgme_engine_new,
_gpgme_engine_release, _gpgme_engine_set_verbosity,
_gpgme_engine_set_status_handler,
_gpgme_engine_set_command_handler,
_gpgme_engine_set_colon_line_handler, _gpgme_engine_op_decrypt,
_gpgme_engine_op_delete, _gpgme_engine_op_edit,
_gpgme_engine_op_encrypt, _gpgme_engine_op_encrypt_sign,
_gpgme_engine_op_export, _gpgme_engine_op_genkey,
_gpgme_engine_op_import, _gpgme_engine_op_keylist,
_gpgme_engine_op_keylist_ext, _gpgme_engine_op_sign,
_gpgme_engine_op_trustlist, _gpgme_engine_op_verify,
_gpgme_engine_start, _gpgme_engine_set_io_cbs,
_gpgme_engine_io_event): Reimplement.
* engine.h: Fix a few comments and a variable name in a prototype.
* ops.h: Do not include "rungpg.h".
* passphrase.c: Include config.h only if [HAVE_CONFIG_H].  Do not
include "rungpg.h".
* recipient.c: Likewise.
* signers.c: Likewise.
* version.c: Likewise.
* rungpg.c: Likewise.  Include "engine-backend.h".  Reorder
functions and remove prototypes.
(_gpgme_gpg_get_version): Make static and rename to ...
(gpg_get_version): ... this.
(_gpgme_gpg_check_version): Make static and rename to ...
(gpg_check_version): ... this.
(_gpgme_gpg_new): Make static.  Change argument type from
GpgObject * to void **.  Call gpg_release instead
_gpgme_gpg_release.
(_gpgme_gpg_op_decrypt): Make static and rename to ...
(gpg_check_decrypt): ... this.
(_gpgme_gpg_op_delete): Make static and rename to ...
(gpg_check_delete): ... this.
(_gpgme_gpg_set_recipients): Make static and rename to ...
(gpg_check_set_recipients): ... this.
(_gpgme_gpg_op_encrypt): Make static and rename to ...
(gpg_encrypt): ... this.
(_gpgme_gpg_op_export): Make static and rename to ...
(gpg_export): ... this.
(_gpgme_gpg_op_genkey): Make static and rename to ...
(gpg_genkey): ... this.
(_gpgme_gpg_op_import): Make static and rename to ...
(gpg_import): ... this.
(_gpgme_gpg_op_keylist): Make static and rename to ...
(gpg_keylist): ... this.
(_gpgme_gpg_op_keylist_ext): Make static and rename to ...
(gpg_keylist_ext): ... this.
(_gpgme_gpg_op_sign): Make static and rename to ...
(gpg_sign): ... this.
(_gpgme_gpg_op_trustlist): Make static and rename to ...
(gpg_trustlist): ... this.
(_gpgme_gpg_op_verify): Make static and rename to ...
(gpg_verify): ... this.
(gpg_status_handler): Rename to ...
(status_handler): ... this.
(_gpgme_gpg_set_status_handler): Make static and rename to ...
(gpg_set_status_handler): ... this.
(_gpgme_gpg_set_colon_line_handler): Make static and rename to ...
(gpg_set_colon_line_handler): ... this.
(gpgme_gpg_add_io_cb): Rename to ...
(add_io_cb): ... this.
(_gpgme_gpg_start): Make static and rename to ...
(gpg_start): ... this.
(_gpgme_gpg_set_io_cb): Make static and rename to ...
(gpg_set_io_cb): ... this.
(_gpgme_gpg_io_event): Make static and rename to ...
(gpg_io_event): ... this.
(struct _gpgme_engine_ops_gpg): New variable.

22 years ago2002-10-12 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sat, 12 Oct 2002 00:29:46 +0000 (00:29 +0000)]
2002-10-12  Marcus Brinkmann  <marcus@g10code.de>

* configure.ac: Add automake conditional HAVE_GPGSM.

22 years ago2002-10-10 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Thu, 10 Oct 2002 11:34:56 +0000 (11:34 +0000)]
2002-10-10  Marcus Brinkmann  <marcus@g10code.de>

* engine-gpgsm.c (_gpgme_gpgsm_op_verify) [!ENABLE_GPGSM]: Add
missing argument.

22 years ago2002-10-09 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 9 Oct 2002 12:26:00 +0000 (12:26 +0000)]
2002-10-09  Marcus Brinkmann  <marcus@g10code.de>

* data.h, data-user.c, data-stream.c, data-mem.c, data-fd.c,
data-compat.c: New file.  Really check them in this time, completes
2002-10-08 change.

22 years ago2002-10-09 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 9 Oct 2002 12:23:33 +0000 (12:23 +0000)]
2002-10-09  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.h (GpgStatusHandler): Rename type to GpgmeStatusHandler
and move to ...
* types.h (GpgmeStatusHandler): ... here.
* rungpg.h (GpgColonLineHandler): Rename type to GpgmeColonLineHandler.
and move to ...
* types.h (GpgmeColonLineHandler): ... here.
* rungpg.h (GpgCommandHandler): Rename type to GpgmeCommandHandler.
and move to ...
* types.h (GpgmeCommandHandler): ... here.
* engine.h: Don't include "rungpg.h".
(_gpgme_engine_set_status_handler): Change type of
argument from GpgStatusHandler to GpgmeStatusHandler.
(_gpgme_engine_set_colon_line_handler): Change type of
argument from GpgColonLineHandler to GpgmeColonLineHandler.
(_gpgme_engine_set_command_handler): Change type of
argument from GpgCommandHandler to GpgmeCommandHandler.
* engine-gpgsm.h: Don't include "rungpg.h".
(_gpgme_gpgsm_set_status_handler): Change type of
argument from GpgStatusHandler to GpgmeStatusHandler.
(_gpgme_gpgsm_set_colon_line_handler): Change type of
argument from GpgColonLineHandler to GpgmeColonLineHandler.
* engine-gpgsm.c: Do not include "rungpg.h".
(struct gpgsm_object_s): Change type of
status.fnc to GpgmeStatusHandler.  Change type of colon.fnc to
GpgmeColonLineHandler.
(gpgsm_assuan_simple_command): Change type of argument from
GpgStatusHandler to GpgmeStatusHandler.
(_gpgme_gpgsm_set_status_handler): Likewise.
(_gpgme_gpgsm_set_colon_line_handler): Change type of argument from
GpgColonLineHandler to GpgmeColonLineHandler.
* rungpg.h (_gpgme_gpg_set_status_handler): Change type of
argument from GpgStatusHandler to GpgmeStatusHandler.
(_gpgme_gpg_set_colon_line_handler): Change type of
argument from GpgColonLineHandler to GpgmeColonLineHandler.
(_gpgme_gpg_set_command_handler): Change type of
argument from GpgCommandHandler to GpgmeCommandHandler.
* rungpg.c (struct gpg_object_s): Change type of status.fnc to
GpgmeStatusHandler.  Change type of colon.fnc to
GpgmeColonLineHandler.  Change type of cmd.fnc to
GpgmeCommandLineHandler.
(_gpgme_gpg_set_status_handler): Change type of argument FNC to
GpgmeStatusHandler.
(_gpgme_gpg_set_colon_line_handler): Change type of argument FNC
to GpgmeColonLineHandler.
(_gpgme_gpg_set_command_handler): Change type of argument FNC to
GpgmeCommandHandler.
* engine.c (_gpgme_engine_set_status_handler): Change type of
argument FNC to GpgmeStatusHandler.
(_gpgme_engine_set_colon_line_handler): Change type of argument FNC
to GpgmeColonLineHandler.
(_gpgme_engine_set_command_handler): Change type of argument FNC to
GpgmeCommandHandler.

22 years ago2002-10-09 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 9 Oct 2002 11:57:17 +0000 (11:57 +0000)]
2002-10-09  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.h (_gpgme_gpg_enable_pipemode): Remove prototype.
* rungpg.c (struct gpg_object_s): Remove PM.
(pipemode_cb): Prototype removed.
(add_pm_data): Function removed.
(_gpgme_gpg_enable_pipemode): Likewise.
(pipemode_copy): Likewise.
(pipemode_cb): Likewise.
(add_arg): Don't check for pipemode.
(add_data): Likewise.
(_gpgme_gpg_set_status_handler): Likewise.
(_gpgme_gpg_set_colon_line_handler): Likewise.
(_gpgme_gpg_set_command_handler): Likewise.
(_gpgme_gpg_spawn): Likewise.
(_gpgme_gpg_spawn): Don't set PM.active.
(_gpgme_gpg_op_verify): Remove pipemode case.
* verify.c (_gpgme_op_verify_start): Remove pipemode case.

22 years ago2002-10-09 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 9 Oct 2002 09:50:41 +0000 (09:50 +0000)]
2002-10-09  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.h (_gpgme_gpg_add_arg, _gpgme_gpg_add_data,
_gpgme_gpg_add_pm_data, _gpgme_gpg_housecleaning,
_gpgme_gpg_set_simple_line_handler): Prototype removed.
(_gpgme_gpg_set_verbosity): New prototype.
* rungpg.c (_gpgme_gpg_add_data): Make static and rename to ...
(add_data): ... this.
(_gpgme_gpg_add_pm_data): Call add_data, not _gpgme_gpg_add_data.
(_gpgme_gpg_set_command_handler): Likewise.
(_gpgme_gpg_op_decrypt, _gpgme_gpg_op_edit, _gpgme_gpg_op_encrypt,
_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_sign,
_gpgme_gpg_op_verify): Likewise.
(_gpgme_gpg_add_pm_data): Rename to ...
(add_pm_data): ... this.
(_gpgme_gpg_op_verify): Call add_pm_data, not
_gpgme_gpg_add_pm_data.
(_gpgme_gpg_add_arg): Make static and rename to ...
(add_arg): ... this.
(_gpgme_gpg_set_command_handler, _gpgme_gpg_new,
_gpgme_gpg_op_decrypt, _gpgme_gpg_op_delete,
_gpgme_append_gpg_args_from_signers, _gpgme_gpg_op_edit,
_gpgme_append_gpg_args_from_recipients, _gpgme_gpg_op_encrypt,
_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_keylist,
_gpgme_gpg_op_keylist_ext, _gpgme_gpg_op_trustlist,
_gpgme_gpg_op_sign, _gpgme_gpg_op_verify): Use add_arg, not
_gpgme_gpg_add_arg.
(_gpgme_gpg_set_verbosity): New function.
(struct gpg_object_s): Remove member simple from colon.
(_gpgme_gpg_set_colon_line_handler): Don't initialize simple.
(_gpgme_gpg_set_simple_line_handler): Removed function.
(read_colon_line): Don't check the GPG->colon.simple.
* engine.c (_gpgme_engine_set_verbosity): Call
_gpgme_gpg_set_verbosity instead _gpgme_gpg_add_arg.

22 years ago2002-10-08 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 9 Oct 2002 01:08:21 +0000 (01:08 +0000)]
2002-10-08  Marcus Brinkmann  <marcus@g10code.de>

* util.h (_gpgme_malloc, _gpgme_realloc, _gpgme_calloc,
_gpgme_strdup, _gpgme_free): Remove prototypes.
(xtrymalloc, xtrycalloc, xtryrealloc, xtrystrdup, xfree): Remove
macros.
* util.c: File removed.
* Makefile.am (libgpgme_la_SOURCES): Remove util.h.
* conversion.c (_gpgme_decode_c_string): Use malloc instead of
xtrymalloc, realloc instead of xtryrealloc, calloc instead of
xtrycalloc, free instead of xfree.
(_gpgme_data_append_percentstring_for_xml): Likewise.
* data.c (_gpgme_data_new, _gpgme_data_release): Likewise.
* data-compat.c (gpgme_data_new_from_filepart): Likewise.
* data-mem.c (mem_write, mem_release, gpgme_data_new_from_mem,
_gpgme_data_get_as_string): Likewise.
* debug.c (debug_init): Likewise.
* decrypt.c (_gpgme_release_decrypt_result): Likewise.
* delete.c (_gpgme_release_delete_result): Likewise.
* edit.c (_gpgme_release_edit_result, _gpgme_op_edit_start):
Likewise.
* encrypt.c (_gpgme_release_encrypt_result): Likewise.
* engine.c (_gpgme_engine_get_info, _gpgme_engine_new,
_gpgme_engine_release): Likewise.
* engine-gpgsm.c (_gpgme_gpgsm_new, _gpgme_gpgsm_release,
_gpgme_gpgsm_op_decrypt, _gpgme_gpgsm_op_delete,
gpgsm_set_recipients, _gpgme_gpgsm_op_encrypt,
_gpgme_gpgsm_op_export, _gpgme_gpgsm_op_genkey,
_gpgme_gpgsm_op_import, _gpgme_gpgsm_op_keylist,
_gpgme_gpgsm_op_keylist_ext, _gpgme_gpgsm_op_sign,
_gpgme_gpgsm_op_verify, gpgsm_status_handler): Likewise.
* genkey.c (_gpgme_release_genkey_result): Likewise.
* gpgme.c (gpgme_new, gpgme_release): Likewise.
* import.c (_gpgme_release_import_result): Likewise.
* key.c (_gpgme_key_cache_init, _gpgme_key_cache_add, key_new,
add_subkey, gpgme_key_release, _gpgme_key_append_name): Likewise.
* keylist.c (_gpgme_release_keylist_result, keylist_colon_handler,
_gpgme_op_keylist_event_cb, gpgme_op_keylist_next): Likewise.
* ops.h (test_and_allocate_result): Likewise.
* passphrase.c (_gpgme_release_passphrase_result,
_gpgme_passphrase_status_handler,
_gpgme_passphrase_command_handler): Likewise.
* progress.c (_gpgme_progress_status_handler): Likewise.
* recipient.c (gpgme_recipients_new, gpgme_recipients_release,
gpgme_recipients_add_name_with_validity): Likewise.
* rungpg.c (_gpgme_gpg_new, _gpgme_gpg_release,
_gpgme_gpg_add_arg, _gpgme_gpg_add_data,
_gpgme_gpg_set_colon_line_handler, free_argv, free_fd_data_map,
build_argv, _gpgme_gpg_spawn, read_status, read_colon_line):
Likewise.
* sign.c (_gpgme_release_sign_result): Likewise.
* signers.c (_gpgme_signers_add): Likewise.
* trustlist.c (trust_item_new, trustlist_colon_handler,
_gpgme_op_trustlist_event_cb, gpgme_op_trustlist_next,
gpgme_trustitem_release): Likewise.
* verify.c (_gpgme_release_verify_result, finish_sig): Likewise.
* version.c (gpgme_get_engine_info, _gpgme_get_program_version):
Likewise.
* w32-io.c (create_reader, create_writer, destroy_reader,
destroy_writer, build_commandline, _gpgme_io_spawn): Likewise.
* w32-sema.c (critsect_init, _gpgme_sema_cs_destroy): Likewise.
* w32-util.c (read_w32_registry_string): Likewise.
* wait.c (_gpgme_fd_table_deinit, _gpgme_fd_table_put,
_gpgme_wait_event_cb, _gpgme_add_io_cb, _gpgme_remove_io_cb)
* data-compat.c: Include <stdlib.h>.

22 years agogpgme/
Marcus Brinkmann [Wed, 9 Oct 2002 00:16:38 +0000 (00:16 +0000)]
gpgme/
2002-10-08  Marcus Brinkmann  <marcus@g10code.de>

New data object component:

* gpgme.h (GpgmeDataReadCb, GpgmeDataWriteCb, GpgmeDataSeekCb,
GpgmeDataReleaseCb): New types.
(struct GpgmeDataCbs): New structure.
(gpgme_data_read): Changed prototype to match that of read() closely.
(gpgme_data_write): Similar for write().
(gpgme_data_seek, gpgme_data_new_from_cbs, gpgme_data_new_from_fd,
gpgme_data_new_from_stream): New prototypes.
(gpgme_data_get_type, gpgme_check_engine): Prototype removed.

* Makefile.am (libgpgme_la_SOURCES): Add data.h, data-fd.c,
data-stream.c, data-mem.c, data-user.c and data-compat.c.
* data.c: Reimplemented from scratch.
* (data-compat.c, data-fd.c, data.h, data-mem.c, data-stream.c,
data-user.c): New file.
* context.h (struct gpgme_data_s): Removed.
* conversion.c: Include <errno.h> and <sys/types.h>.
(_gpgme_data_append): New function.
* data.c (_gpgme_data_append_string): Move to ...
* conversion.c (_gpgme_data_append_string): ... here.
* data.c (_gpgme_data_append_for_xml): Move to ...
* conversion.c (_gpgme_data_append_for_xml): ... here.
* data.c (_gpgme_data_append_string_for_xml): Move to ...
* conversion.c (_gpgme_data_append_string_for_xml): ... here.
* data.c (_gpgme_data_append_percentstring_for_xml): Move to ...
* conversion.c (_gpgme_data_append_percentstring_for_xml): ... here.

* ops.h (_gpgme_data_get_mode, _gpgme_data_set_mode): Prototype
removed.
* types.h (GpgmeDataMode): Type removed.

* decrypt.c (_gpgme_decrypt_start): Don't check data type or mode.
* edit.c (_gpgme_op_edit_start): Likewise.
* encrypt.c (_gpgme_op_encrypt_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* encrypt-sign.c (_gpgme_op_encrypt_sign_start): Likewise.
* export.c (_gpgme_op_export_start): Likewise.
* genkey.c (_gpgme_op_genkey_start): Likewise.
* import.c (_gpgme_op_import_start): Likewise.
* sign.c (_gpgme_op_sign_start): Likewise.
* verify.c (_gpgme_op_verify_start): Likewise.

* encrypt.c (gpgme_op_encrypt): Remove hack that returns invalid
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.
* encrypt-sign.c (gpgme_op_encrypt_sign): Remove hack that returns
no recipient if no data was returned.

* engine.c (_gpgme_engine_op_verify): Add new argument to
differentiate detached from normal signatures.
* engine.h (_gpgme_engine_op_verify): Likewise for prototype.
* engine-gpgsm.c (_gpgme_gpgsm_op_verify): Likewise.  Don't check
mode of data argument.
* engine-gpgsm.h (_gpgme_gpgsm_op_verify): Likewise for prototype.
* gpgme.h (gpgme_op_verify_start): Likewise for prototype.
(gpgme_op_verify): Likewise for prototype.
* rungpg.c (_gpgme_gpg_op_verify): Likewise.
* rungpg.h (_gpgme_gpg_op_verify): Likewise for prototype.
* verify.c (_gpgme_op_verify_start): Likewise.
(gpgme_op_verify_start): Likewise.
(gpgme_op_verify): Likewise.

* rungpg.c (struct arg_and_data_s): New member INBOUND to hold
direction of data object.
(_gpgme_gpg_add_data): Add new argument INBOUND.  Use it to
determine direction of data object.
(_gpgme_gpg_add_pm_data, _gpgme_gpg_set_command_handler,
_gpgme_gpg_op_decrypt, _gpgme_gpg_op_edit, _gpgme_gpg_op_encrypt,
_gpgme_gpg_op_encrypt_sign, _gpgme_gpg_op_export,
_gpgme_gpg_op_genkey, _gpgme_gpg_op_import, _gpgme_gpg_op_sign,
_gpgme_gpg_op_verify): Add new argument to _gpgme_gpg_add_data
invocation.
(build_argv): Use new member INBOUND to determine direction of
file descriptor.  Don't check the data type.
* rungpg.h (_gpgme_gpg_add_data): Add new argument to prototype.

* gpgme.c (gpgme_get_op_info): Don't call
_gpgme_data_get_as_string if CTX->op_info is NULL.

* version.c (gpgme_check_engine): Function removed.

tests/
2002-10-09  Marcus Brinkmann  <marcus@g10code.de>

* gpg/t-decrypt.c (print_data): Update to new gpgme_data_read
interface, and use gpgme_engine_check_version instead
gpgme_check_version.
* gpg/t-decrypt-verify.c (print_data): Likewise.
* gpg/t-edit.c (main): Likewise.
* gpg/t-encrypt.c (print_data): Likewise.
* gpg/t-encrypt-sign.c (print_data): Likewise.
* gpg/t-encrypt-sym.c (print_data): Likewise.
* gpg/t-eventloop.c (print_data): Likewise.
* gpg/t-export.c (print_data): Likewise.
* gpg/t-sign.c (print_data): Likewise.
* gpg/t-signers.c (print_data): Likewise.
* gpgsm/t-decrypt.c (print_data): Likewise.
* gpgsm/t-encrypt.c (print_data): Likewise.
* gpgsm/t-export.c (print_data): Likewise.
* gpgsm/t-sign.c (print_data): Likewise.
* gpg/t-verify.c (main): Likewise for gpgme_op_verify.
* gpgsm/t-verify.c (main): Likewise for gpgme_op_verify.
* t-data.c (read_once_test): Likewise.
(write_test): Update for new behaviour of data objects.
(main): Remove type test.

22 years ago2002-10-08 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Tue, 8 Oct 2002 21:52:38 +0000 (21:52 +0000)]
2002-10-08  Marcus Brinkmann  <marcus@g10code.de>

* configure.ac (AC_INIT): Bump version up to 0.4.0.
(NEED_GPG_VERSION): Bump up to 1.2.0.
(NEED_GPGSM_VERSION): Bump up to 0.9.0.
* README: Update version numbers.
* NEWS: Start entry for 0.4.0.

22 years agotypo gpgme-0-3-12
Werner Koch [Mon, 30 Sep 2002 08:04:16 +0000 (08:04 +0000)]
typo

22 years ago* gpgsm/t-keylist.c (doit): Add arg SECRET. gpgme-0-3-13 gpgme-0-3-14 gpgme-0-3-15 gpgme-0-3-16
Werner Koch [Mon, 30 Sep 2002 08:03:56 +0000 (08:03 +0000)]
* gpgsm/t-keylist.c (doit): Add arg SECRET.
(main): Add option --secret.

22 years ago* keylist.c (keylist_colon_handler): Take care when printing a
Werner Koch [Mon, 30 Sep 2002 08:03:27 +0000 (08:03 +0000)]
* keylist.c (keylist_colon_handler): Take care when printing a
NULL with the DEBUG.

* engine-gpgsm.c (struct gpgsm_object_s): New member ANY.
(gpgsm_status_handler): Run the colon function to indicate.
(_gpgme_gpgsm_set_colon_line_handler): Better reset ANY here.

22 years agoApplying Ingo's patch: Makes signatureCertificateDaysLeftToExpiry() and receiverCerti...
Karl-Heinz Zimmer [Sun, 29 Sep 2002 21:14:16 +0000 (21:14 +0000)]
Applying Ingo's patch: Makes signatureCertificateDaysLeftToExpiry() and receiverCertificateDaysLeftToExpiry() handle the case that a certificate _never_ expires correctly.

22 years ago2002-09-28 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sat, 28 Sep 2002 20:09:12 +0000 (20:09 +0000)]
2002-09-28  Marcus Brinkmann  <marcus@g10code.de>

* t-version.c: Include <string.h>.  Reported by St�phane Corth�sy.

22 years ago2002-09-28 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sat, 28 Sep 2002 20:08:01 +0000 (20:08 +0000)]
2002-09-28  Marcus Brinkmann  <marcus@g10code.de>

* conversion.c (_gpgme_hextobyte): Prevent superfluous
multiplication with base.  Reported by St�phane Corth�sy.

* keylist.c (gpgme_op_keylist_ext_start): Use private asynchronous
operation type in invocation of _gpgme_op_reset.

22 years agochanged version number after release.
Werner Koch [Fri, 20 Sep 2002 13:33:42 +0000 (13:33 +0000)]
changed version number after release.

22 years ago* configure.ac: Bump up LIBGPGME_LT_REVISION. gpgme-0-3-11
Werner Koch [Fri, 20 Sep 2002 11:48:27 +0000 (11:48 +0000)]
* configure.ac: Bump up LIBGPGME_LT_REVISION.

* configure.ac (AC_CHECK_HEADERS): Check for sys/select.h.

22 years ago* gpgmeplug.c (nextCertificate): Sanity check for empty tmp_dn.
Werner Koch [Fri, 20 Sep 2002 11:47:55 +0000 (11:47 +0000)]
* gpgmeplug.c (nextCertificate): Sanity check for empty tmp_dn.

22 years ago* ath.c: Include sys/time.h if sys/select.h is not available.
Werner Koch [Fri, 20 Sep 2002 10:44:22 +0000 (10:44 +0000)]
* ath.c: Include sys/time.h if sys/select.h is not available.
* configure.ac (AC_CHECK_HEADERS): Check for sys/select.h.

22 years ago2002-09-13 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Fri, 13 Sep 2002 20:54:52 +0000 (20:54 +0000)]
2002-09-13  Marcus Brinkmann  <marcus@g10code.de>

* keylist.c (keylist_status_handler): Do not call finish_key() here.
(gpgme_op_keylist_ext_start): Set CTX->tmp_key to NULL.

22 years agoRegenerated.
Marcus Brinkmann [Fri, 13 Sep 2002 20:54:31 +0000 (20:54 +0000)]
Regenerated.

22 years agoBugfix #1276 (equals KDE bug #43868). Make sure to update kde/kdenetwork/libkdenet...
Karl-Heinz Zimmer [Thu, 12 Sep 2002 11:02:02 +0000 (11:02 +0000)]
Bugfix #1276 (equals KDE bug #43868).    Make sure to update kde/kdenetwork/libkdenetwork and kde/kdenetwork/kmail.

22 years agoBugfix: The value text of protocol parameter of OpenPGP's multipart/signed Content...
Karl-Heinz Zimmer [Fri, 6 Sep 2002 11:52:05 +0000 (11:52 +0000)]
Bugfix: The value text of protocol parameter of OpenPGP's multipart/signed Content-Type header must be enclosed in double quotes.  Bugfix was provided by Marc Mutz solving problems with pine.

22 years ago2002-09-04 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Wed, 4 Sep 2002 01:18:08 +0000 (01:18 +0000)]
2002-09-04  Marcus Brinkmann  <marcus@g10code.de>

* autogen.sh (autoconf_vers): Bump up to 2.53 to get the @&t@
quadrigraph.  Always cutting the edge!

22 years agoAEgypten bugfix #1220: make sure that (a) negative numbers of days-left-to-expire...
Karl-Heinz Zimmer [Tue, 3 Sep 2002 16:21:34 +0000 (16:21 +0000)]
AEgypten bugfix #1220: make sure that (a) negative numbers of days-left-to-expire-of-certificate are reported correctly by using an int instead of a time_t and (b) return the special value CRYPTPLUG_CERT_DOES_NEVER_EXPIRE to indicate that no expire date is stored in this certificate

22 years ago2002-09-03 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Tue, 3 Sep 2002 11:26:01 +0000 (11:26 +0000)]
2002-09-03  Marcus Brinkmann  <marcus@g10code.de>

* Makefile.am (assuan_libobjs): Remove @LTLIBOBJS@ as we link them
into gpgme unconditionally.
(libgpgme_la_LIBADD): Change @LIBOBJS@ into @LTLIBOBJS@.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 2 Sep 2002 13:01:44 +0000 (13:01 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

* configure.ac: Create and substitute LTLIBOBJS.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 2 Sep 2002 13:01:29 +0000 (13:01 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

* gpg/t-keylist.c (main): Test PATTERN for NULL before printing.
Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 2 Sep 2002 12:38:43 +0000 (12:38 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

* Makefile.am (assuan_libobjs): Use @LTLIBOBJS@ instead @LIBOBJS@.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 2 Sep 2002 12:29:53 +0000 (12:29 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

* debug.c (_gpgme_debug_add): Test *LINE, not LINE.
(_gpgme_debug_end): Likewise.
Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.

22 years agoWrap the lines nicer.
Marcus Brinkmann [Mon, 2 Sep 2002 12:19:15 +0000 (12:19 +0000)]
Wrap the lines nicer.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Mon, 2 Sep 2002 12:17:51 +0000 (12:17 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

* posix-io.c (_gpgme_io_select): Don't use a non-constant struct initializer.
* version.c (_gpgme_get_program_version): Likewise.
Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.

22 years agoBump up version number.
Marcus Brinkmann [Sun, 1 Sep 2002 23:55:31 +0000 (23:55 +0000)]
Bump up version number.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de> gpgme-0-3-10
Marcus Brinkmann [Sun, 1 Sep 2002 23:29:55 +0000 (23:29 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

* conversion.c (_gpgme_decode_c_string): Set DESTP before modifying DEST.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sun, 1 Sep 2002 23:08:50 +0000 (23:08 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

* conversion.c (_gpgme_decode_c_string): Fix off by one error in last change.
* rungpg.c (_gpgme_append_gpg_args_from_signers): Move before
_gpgme_op_edit so its prototype is known early on.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sun, 1 Sep 2002 22:30:28 +0000 (22:30 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

Released 0.3.10.

* NEWS: Update for 0.3.9 release.
* configure.ac: Bump up LIBGPGME_LT_REVISION.

22 years agoAdd item about prior change.
Marcus Brinkmann [Sun, 1 Sep 2002 22:24:58 +0000 (22:24 +0000)]
Add item about prior change.

22 years ago2002-09-02 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sun, 1 Sep 2002 22:23:56 +0000 (22:23 +0000)]
2002-09-02  Marcus Brinkmann  <marcus@g10code.de>

* conversion.c: New file.
* util.h: Add prototypes for _gpgme_decode_c_string and
_gpgme_hextobyte.
* keylist.c (keylist_colon_handler): Call _gpgme_decode_c_string
on issuer name.
* Makefile.am (libgpgme_la_SOURCES): Add conversion.c
* key.c (_gpgme_key_append_name): Replace calls to hextobyte by
calls to _gpgme_hextobyte.
(hash_key): Likewise.

22 years ago2002-09-01 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sun, 1 Sep 2002 19:47:11 +0000 (19:47 +0000)]
2002-09-01  Marcus Brinkmann  <marcus@g10code.de>

* op-support.c (_gpgme_op_reset): Set CTX->pending after calling
_gpgme_engine_release, as this will reset pending to zero in the
event done callback on cancelled operations.

22 years ago2002-08-30 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sat, 31 Aug 2002 02:34:26 +0000 (02:34 +0000)]
2002-08-30  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.c (_gpgme_gpg_op_edit): Add bogus ctx argument.
* rungpg.h: Also to prototype.
* engine.c (_gpgme_engine_op_edit): Likewise.
* engine.h: Likewise.
* edit.c (_gpgme_op_edit_start): Likewise.

22 years ago2002-08-30 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Fri, 30 Aug 2002 11:37:59 +0000 (11:37 +0000)]
2002-08-30  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Selecting Signers): Fix reference count.

22 years ago2002-08-30 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Fri, 30 Aug 2002 11:00:58 +0000 (11:00 +0000)]
2002-08-30  Marcus Brinkmann  <marcus@g10code.de>

* rungpg.c (_gpgme_gpg_op_edit): Add args from signers.
Suggested by Miguel Coca <e970095@zipi.fi.upm.es>.

22 years agonew news
Werner Koch [Thu, 29 Aug 2002 11:58:41 +0000 (11:58 +0000)]
new news

22 years ago* vasprintf.c (va_copy): Define macro if not yet defined.
Werner Koch [Thu, 29 Aug 2002 11:58:22 +0000 (11:58 +0000)]
* vasprintf.c (va_copy): Define macro if not yet defined.

22 years ago* engine-gpgsm.c (_gpgme_gpgsm_op_sign): Implement signer
Werner Koch [Thu, 29 Aug 2002 11:57:53 +0000 (11:57 +0000)]
* engine-gpgsm.c (_gpgme_gpgsm_op_sign): Implement signer
selection.
* vasprintf.c (va_copy): Define macro if not yet defined.