Commit Graph

1816 Commits

Author SHA1 Message Date
Marcus Brinkmann
7385627265 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>.
2002-10-09 01:08:21 +00:00
Marcus Brinkmann
0447e0dd6d 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.
2002-10-09 00:16:38 +00:00
Marcus Brinkmann
388b40bb88 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.
2002-10-08 21:52:38 +00:00
Werner Koch
55474920ce typo 2002-09-30 08:04:16 +00:00
Werner Koch
d256945205 * gpgsm/t-keylist.c (doit): Add arg SECRET.
(main): Add option --secret.
2002-09-30 08:03:56 +00:00
Werner Koch
57add1098d * 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.
2002-09-30 08:03:27 +00:00
Karl-Heinz Zimmer
f9a1d51756 Applying Ingo's patch: Makes signatureCertificateDaysLeftToExpiry() and receiverCertificateDaysLeftToExpiry() handle the case that a certificate _never_ expires correctly. 2002-09-29 21:14:16 +00:00
Marcus Brinkmann
e9f9833e05 2002-09-28 Marcus Brinkmann <marcus@g10code.de>
* t-version.c: Include <string.h>.  Reported by St�phane Corth�sy.
2002-09-28 20:09:12 +00:00
Marcus Brinkmann
056bb3b587 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.
2002-09-28 20:08:01 +00:00
Werner Koch
21382e2d53 changed version number after release. 2002-09-20 13:33:42 +00:00
Werner Koch
c4aa7bae1a * configure.ac: Bump up LIBGPGME_LT_REVISION.
* configure.ac (AC_CHECK_HEADERS): Check for sys/select.h.
2002-09-20 11:48:27 +00:00
Werner Koch
f52d17f48f * gpgmeplug.c (nextCertificate): Sanity check for empty tmp_dn. 2002-09-20 11:47:55 +00:00
Werner Koch
7937658bb7 * ath.c: Include sys/time.h if sys/select.h is not available.
* configure.ac (AC_CHECK_HEADERS): Check for sys/select.h.
2002-09-20 10:44:22 +00:00
Marcus Brinkmann
1dda423fa5 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.
2002-09-13 20:54:52 +00:00
Marcus Brinkmann
c34b1e06e7 Regenerated. 2002-09-13 20:54:31 +00:00
Karl-Heinz Zimmer
a58efc1d5f Bugfix #1276 (equals KDE bug #43868). Make sure to update kde/kdenetwork/libkdenetwork and kde/kdenetwork/kmail. 2002-09-12 11:02:02 +00:00
Karl-Heinz Zimmer
da452438d9 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. 2002-09-06 11:52:05 +00:00
Marcus Brinkmann
70aaa3f236 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!
2002-09-04 01:18:08 +00:00
Karl-Heinz Zimmer
6a7a934055 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 2002-09-03 16:21:34 +00:00
Marcus Brinkmann
20707b1928 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@.
2002-09-03 11:26:01 +00:00
Marcus Brinkmann
bc012f5f2e 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Create and substitute LTLIBOBJS.
2002-09-02 13:01:44 +00:00
Marcus Brinkmann
05c75f41a5 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>.
2002-09-02 13:01:29 +00:00
Marcus Brinkmann
442f2fe541 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (assuan_libobjs): Use @LTLIBOBJS@ instead @LIBOBJS@.
2002-09-02 12:38:43 +00:00
Marcus Brinkmann
1b40ede2c5 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>.
2002-09-02 12:29:53 +00:00
Marcus Brinkmann
f0bb43f3da Wrap the lines nicer. 2002-09-02 12:19:15 +00:00
Marcus Brinkmann
ad264f924b 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>.
2002-09-02 12:17:51 +00:00
Marcus Brinkmann
43eb40838c Bump up version number. 2002-09-01 23:55:31 +00:00
Marcus Brinkmann
c40f22a7d8 2002-09-02 Marcus Brinkmann <marcus@g10code.de>
* conversion.c (_gpgme_decode_c_string): Set DESTP before modifying DEST.
2002-09-01 23:29:55 +00:00
Marcus Brinkmann
d55e88d0bc 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.
2002-09-01 23:08:50 +00:00
Marcus Brinkmann
7bc8297fe7 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.
2002-09-01 22:30:28 +00:00
Marcus Brinkmann
3471e1560c Add item about prior change. 2002-09-01 22:24:58 +00:00
Marcus Brinkmann
328bed4901 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.
2002-09-01 22:23:56 +00:00
Marcus Brinkmann
1731657df0 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.
2002-09-01 19:47:11 +00:00
Marcus Brinkmann
ee97cfaa5d 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.
2002-08-31 02:34:26 +00:00
Marcus Brinkmann
6f9f516830 2002-08-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Selecting Signers): Fix reference count.
2002-08-30 11:37:59 +00:00
Marcus Brinkmann
8e118f2d2c 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>.
2002-08-30 11:00:58 +00:00
Werner Koch
0784f4f62d new news 2002-08-29 11:58:41 +00:00
Werner Koch
1fcc363243 * vasprintf.c (va_copy): Define macro if not yet defined. 2002-08-29 11:58:22 +00:00
Werner Koch
c642b7d54a * engine-gpgsm.c (_gpgme_gpgsm_op_sign): Implement signer
selection.
* vasprintf.c (va_copy): Define macro if not yet defined.
2002-08-29 11:57:53 +00:00
Werner Koch
a48cef2c66 * acinclude.m4 (GNUPG_CHECK_VA_COPY): New.
* configure.ac: Use it.
2002-08-29 11:47:21 +00:00
Marcus Brinkmann
8ab900be7b 2002-08-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.spec.in: Changed user name in Wojciech Polak's email
	address from ghostface to polak per request by himself.
2002-08-29 10:24:21 +00:00
Marcus Brinkmann
f01df10760 2002-08-29 Marcus Brinkmann <marcus@g10code.de>
* passphrase.c (_gpgme_passphrase_status_handler): Reset
	CTX->result.passphrase->no_passphrase if passphrase is given (good
	or bad).  Submitted by Jean DIRAISON <jean.diraison@free.fr>.
2002-08-29 00:30:31 +00:00
Marcus Brinkmann
61aa194762 2002-08-28 Marcus Brinkmann <marcus@g10code.de>
* posix-io.c (_gpgme_io_spawn): Use a double-fork approach.
	Return 0 on success, -1 on error.
	* version.c (_gpgme_get_program_version): Don't wait for the child.
	* engine.c (_gpgme_engine_housecleaning): Function removed.
	(do_reaping): Likewise.
	(_gpgme_engine_add_child_to_reap_list): Likewise.
	(struct reap_s): Removed.
	(reap_list): Likewise.
	(reap_list_lock): Likewise.
	* engine.h (_gpgme_engine_io_event): Remove prototypes for
	_gpgme_engine_housecleaning and
	_gpgme_engine_add_child_to_reap_list.
	* rungpg.c (_gpgme_gpg_release): Don't add child to reap list.
	(struct gpg_object_s): Remove PID member.
	(_gpgme_gpg_new): Don't initialize GPG->pid.
	(_gpgme_gpg_spawn): Don't set GPG->pid.
	* wait.c (run_idle): Removed.
	(gpgme_wait): Run idle_function directly.
2002-08-28 20:31:31 +00:00
Marcus Brinkmann
2ba4dc7998 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* encrypt-sign.c (encrypt_sign_status_handler): Remove dead
	variables encrypt_info and encrypt_info_len.
	* trustlist.c (gpgme_op_trustlist_start): Set colon line handler.
	* posix-sema.c (sema_fatal): Remove function.
	All these reported by St�phane Corth�sy.
2002-08-28 17:29:32 +00:00
Werner Koch
725f093f49 * configure.ac (GPGME_CONFIG_CFLAGS): Renamed from GPGME_CFLAGS
and removed the libpath because it is set by the config script.
2002-08-23 19:48:43 +00:00
Werner Koch
bcba2d8e2d * gpgme-config.in: Made --prefix work for --libs. 2002-08-23 19:48:30 +00:00
Marcus Brinkmann
d0020f11e0 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* NEWS: Add template for development version.
2002-08-21 00:52:06 +00:00
Marcus Brinkmann
d23f98bbf1 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Bump version number to 0.3.10.
2002-08-21 00:36:27 +00:00
Marcus Brinkmann
cc98c30bb5 2002-08-21 Marcus Brinkmann <marcus@g10code.de>
Released 0.3.9.

	* NEWS: Update for 0.3.9 release.
	* Makefile.am (EXTRA_DIST): Add gpgme.spec.in.
2002-08-21 00:09:52 +00:00
Steffen Hansen
a579b5fa35 Use gpgme_op_import_ext() instead of gpgme_op_import() 2002-08-20 23:37:43 +00:00