Commit Graph

476 Commits

Author SHA1 Message Date
Marcus Brinkmann
b3304042aa doc/
2005-10-01  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Signature Notation Data): New section.
	(Verify): Added more about the notation data structure.

gpgme/
2005-10-01  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.def: Add gpgme_data_set_file_name,
	gpgme_data_get_file_name, gpgme_sig_notation_clear,
	gpgme_sig_notation_add and gpgme_sig_notation_get.
	* libgpgme.vers: Add gpgme_sig_notation_clear,
	gpgme_sig_notation_add and gpgme_sig_notation_get.
	* Makefile.am (libgpgme_real_la_SOURCES): Add sig-notation.c.
	* context.h (struct gpgme_context): New field sig_notations.
	* gpgme.h (struct _gpgme_sig_notation): New member value_len and
	critical.
	(GPGME_SIG_NOTATION_CRITICAL): New symbol.
	(gpgme_sig_notation_flags_t): New type.
	(gpgme_sig_notation_add, gpgme_sig_notation_clear,
	gpgme_sig_notation_get): New prototypes.
	* ops.h (_gpgme_sig_notation_create, _gpgme_sig_notation_free):
	New prototypes.
	* sig-notation.c (_gpgme_sig_notation_free): New file.
	* verify.c (parse_notation): Use support functions.
	(release_op_data): Likewise.
	* rungpg.c (append_args_from_sig_notations): New function.
	(gpg_encrypt_sign, gpg_sign): Call it.


tests/
2005-10-01  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/Makefile.am (TESTS): Add t-sig-notation.
	* gpg/t-sig-notation.c (check_result): New file.
	* gpg/t-verify.c (check_result): Also check the length of the
	notation data.
	* gpg/gpg.conf: New file.
2005-10-01 02:33:35 +00:00
Marcus Brinkmann
c6ee58ef55 doc/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Data Buffer I/O Operations, Data Buffer Meta-Data):
	New subsections.

gpgme/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* data.h (struct gpgme_data): New member file_name.
	* data.c (gpgme_data_set_filename): New function.
	(_gpgme_data_release): Free DH->filename if necessary.
	(gpgme_data_get_filename): New function.
	* rungpg.c (gpg_encrypt): Set filename option.
	(gpg_encrypt_sign): Likewise.
	(gpg_sign): Likewise.
	* libgpgme.vers (GPGME_1.1): Add gpgme_data_set_file_name and
	gpgme_data_get_file_name.

tests/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/Makefile.am (TESTS): Add t-filename.
	* gpg/t-filename.c: New file.
2005-09-30 14:17:47 +00:00
Marcus Brinkmann
74db831fc8 doc/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi: Replace plaintext_filename with file_name.

gpgme/
2005-09-30  Marcus Brinkmann  <marcus@g10code.de>

	* decrpyt.c, verify.c, gpgme.h: Replace plaintext_filename with
	file_name.
2005-09-30 13:24:40 +00:00
Marcus Brinkmann
fb2ea39a38 2005-09-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_key): Add field is_qualified.
	(struct _gpgme_subkey): Likewise.
	* keylist.c (set_subkey_capability, set_mainkey_capability): Set
	field is_qualified.
2005-09-29 17:58:00 +00:00
Marcus Brinkmann
3f6853c2e3 2005-09-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_key): Add field is_qualified.
	(struct _gpgme_subkey): Likewise.
2005-09-29 17:54:25 +00:00
Werner Koch
8a1ce95287 Boosted performance of w32 I/O 2005-09-23 13:29:04 +00:00
Werner Koch
0df0e97634 * ath.c: Changes to make it work under W32.
* w32-io.c (build_commandline): Quote argv[0].
2005-09-13 14:17:04 +00:00
Marcus Brinkmann
f1eb841d3b 2005-09-12 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (HAVE_PTH): Don't add $PTH_CFLAGS to $CFLAGS here.

gpgme/
2005-09-12  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (libgpgme_la_SOURCES): Set to ath.h and ath.c.
	(ath_pth_src, ath_pthread_src): Removed.
	(w32_o_files): Replace ath-compat.o with ath.o.
	(libgpgme_pth_la_CFLAGS): New variable.
	* ath-compat.c, ath-pthread-compat.c, ath-pth-compat.c: Removed.
	* ath.h (ath_pthread_available, ath_pth_available): Removed.
	(ath_init) [!_ATH_EXT_SYM_PREFIX]: Do not define macro.
	(struct ath_ops, ath_init) [_ATH_COMPAT]: Removed.
	(_ATH_COMPAT): Macro removed.
	* posix-sema.c (_gpgme_sema_subsystem_init): Do not call
	_gpgme_ath_init.
2005-09-12 19:14:36 +00:00
Marcus Brinkmann
a02fa90f6b 2005-09-12 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (release_op_data): Do not free opd->tmp_uid.
2005-09-12 19:06:45 +00:00
Marcus Brinkmann
38f8bf3b04 2005-08-26 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (command_handler): Use _gpgme_io_write instead of write.
2005-08-26 15:35:37 +00:00
Marcus Brinkmann
ae92f92826 2005-08-26 Marcus Brinkmann <marcus@g10code.de>
* edit.c (command_handler): Do not depend on PROCESSED being
	available.
2005-08-26 15:00:18 +00:00
Marcus Brinkmann
9f952a5a0b 2005-08-26 Marcus Brinkmann <marcus@g10code.de>
* engine.h (engine_command_handler_t): Add new argument processed.
	* ops.h (_gpgme_passphrase_command_handler_internal): Rename
	prototype to ...
	(_gpgme_passphrase_command_handler): ... this one.
	* passphrase.c (_gpgme_passphrase_command_handler_internal):
	Rename to ...
	(_gpgme_passphrase_command_handler): ... this one.
	* edit.c (command_handler): Add new argument processed.  Remove
	local variable with the same name.  Always return processed as
	true.
	* rungpg.c (command_handler): Send a newline character if the
	handler did not.
2005-08-26 14:53:55 +00:00
Werner Koch
82a0c97250 * configure.ac (SEPCONSTANTS): New to define DIRSEP_C et al.
* w32-util.c (read_w32_registry_string): Updated from code used by
GnuPG.  This allows for expanding strings and features the
implicit fallback key.
(w32_shgetfolderpath, find_program_at_standard_place): New.
(_gpgme_get_gpg_path, _gpgme_get_gpgsm_path): With no registry
entry, locate the programs at the standard place.
(dlopen, dlsym, dlclose): New, so that we can keep on using what
we are accustomed to.

* debug.c (debug_init): Use PATHSEP_C so that under W32 a
semicolon is used which allows us to create files with drive
letters.

* w32-io.c (_gpgme_io_read, _gpgme_io_write): Print content in
debug mode too.
2005-08-26 12:38:57 +00:00
Werner Koch
dbe0df44b6 Changes to allow building a W32 DLL 2005-08-19 16:11:46 +00:00
Werner Koch
b71096a832 Merged changes from upstream libassuan to allow building a W32 DLL. 2005-08-09 13:19:24 +00:00
Marcus Brinkmann
7bdaf53a4a doc/
2005-07-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Decrypt): Add plaintext_filename to
	gpgme_decrypt_result_t.
	(Verify): Likewise for gpgme_verify_result_t.

gpgme/
2005-07-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (gpgme_status_code_t): Add GPGME_STATUS_PLAINTEXT.
	(struct _gpgme_op_decrypt_result): New member plaintext_filename.
	(struct _gpgme_op_verify_result): Likewise.
	* ops.h (_gpgme_parse_plaintext): Add prototype.
	* op-support.c (_gpgme_parse_plaintext): New function.
	* decrypt.c (release_op_data): Release
	OPD->result.plaintext_filename.
	(_gpgme_decrypt_status_handler): Handle GPGME_STATUS_PLAINTEXT.
	* verify.c (release_op_data): Release
	OPD->result.plaintext_filename.
	(_gpgme_verify_status_handler): Handle GPGME_STATUS_PLAINTEXT.
2005-07-27 01:50:08 +00:00
Marcus Brinkmann
b19c847b02 2005-07-26 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_get_key): Allow key IDs.
2005-07-26 17:30:36 +00:00
Marcus Brinkmann
2a308a2b14 2005-06-20 Marcus Brinkmann <marcus@g10code.de>
* gpgme.m4: Only call GPGME_CONFIG if found.
2005-06-20 18:10:33 +00:00
Marcus Brinkmann
fcddcb674e doc/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Verify): Add information about new fields in
	gpgme_signature_t.

gpgme/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (struct _gpgme_signature): New members pubkey_algo and
	hash_algo.
	* verify.c (parse_valid_sig): Parse pubkey and hash algo numbers.
	(parse_new_sig): Parse pubkey, hash algo and timestamp for ERRSIG.
2005-06-03 19:41:56 +00:00
Marcus Brinkmann
e5f1dad76d 2005-06-03 Marcus Brinkmann <marcus@g10code.de>
(_gpgme_decrypt_status_handler): Fix last change.
2005-06-03 14:23:10 +00:00
Marcus Brinkmann
b8440749f1 doc/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Decrypt): Add gpgme_recipient_t.

gpgme/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (struct _gpgme_recipient): New structure.
	(gpgme_recipient_t): New type.
	(struct _gpgme_op_decrypt_result): Add member recipients.
	* decrypt.c (op_data_t): New member last_recipient_p.
	(_gpgme_op_decrypt_init_result): Initialize last_recipient_p.
	(parse_enc_to): New function.
	(_gpgme_decrypt_status_handler): Handle status ENC_TO and
	NO_SECKEY.
2005-06-03 00:42:08 +00:00
Marcus Brinkmann
172a8df25f gpgme/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* wait-global.c (gpgme_wait): Break out of the fd processing loop
	after an error.
	Reported by Igor Belyi <gpgme@katehok.ac93.org>.

tests/
2005-06-03  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/Makefile.am (TESTS): Add t-wait.
	* gpg/t-wait.c (main): New test.
2005-06-02 22:59:41 +00:00
Marcus Brinkmann
7ccc308330 2005-06-02 Marcus Brinkmann <marcus@g10code.de>
* wait.h (_gpgme_run_io_cb): New prototype.
	* wait.c (_gpgme_run_io_cb): New function.
	* wait-global.c (gpgme_wait): Call it.
	* wait-user.c (_gpgme_user_io_cb_handler): Likewise.
	* wait-private.c (_gpgme_wait_on_condition): Likewise.
2005-06-02 21:59:34 +00:00
Werner Koch
e8ddf895a0 * passphrase.c (_gpgme_passphrase_status_handler): Take care of
GPGME_STATUS_NEED_PASSPHRASE_PIN.
(_gpgme_passphrase_command_handler_internal): Also act on the key
"passphrase.pin.ask".

* gpgme.h: Added status codes GPGME_STATUS_SIG_SUBPACKET,
GPGME_STATUS_NEED_PASSPHRASE_PIN, GPGME_STATUS_SC_OP_FAILURE,
GPGME_STATUS_SC_OP_SUCCESS, GPGME_STATUS_CARDCTRL,
GPGME_STATUS_BACKUP_KEY_CREATED.
2005-06-02 11:22:14 +00:00
Marcus Brinkmann
c593a193b6 2005-05-28 Marcus Brinkmann <marcus@g10code.de>
* data-user.c: Include <errno.h>.
2005-05-28 20:03:24 +00:00
Marcus Brinkmann
d386d747e2 2005-05-17 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_new): Set the CTX->include_certs default to the
	default.
2005-05-17 12:26:58 +00:00
Marcus Brinkmann
bd44798c95 2005-05-11 Marcus Brinkmann <marcus@g10code.de>
* w32-io.c (_gpgme_io_select): Fix loop increment.
2005-05-11 12:48:55 +00:00
Marcus Brinkmann
1184d349cd 2005-05-05 Marcus Brinkmann <marcus@g10code.de>
* data-user.c (user_release): Only call user hook if provided.
	(user_seek): Return EBADF if no user hook is provided.
	(user_read): Likewise.
	(user_write): Likewise.
2005-05-05 12:00:11 +00:00
Marcus Brinkmann
02a1dbee30 doc/
2005-04-28  Marcus Brinkmann  <marcus@g10code.de>

        * gpgme.texi (Included Certificates): Document
        GPGME_INCLUDE_CERTS_DEFAULT.

gpgme/
2005-04-28  Marcus Brinkmann  <marcus@g10code.de>

        * gpgme.h (GPGME_INCLUDE_CERTS_DEFAULT): New macro.
        * engine-gpgsm.c (gpgsm_sign): Send the include-certs option after
        the reset, just for cleanliness, and do not sent it at all if the
        default is requested.
        * gpgme.c (gpgme_set_include_certs): Allow to use
        GPGME_INCLUDE_CERTS_DEFAULT.
2005-04-28 16:11:34 +00:00
Werner Koch
826736608a (calc_sig_summary): Set the key revoked bit. 2005-04-21 07:13:41 +00:00
Marcus Brinkmann
34f9799839 2005-04-14 Marcus Brinkmann <marcus@g10code.de>
* wait-global.c (gpgme_wait): Use LI->ctx when checking a context
	in the list, not the user-provided CTX.
2005-04-14 08:49:20 +00:00
Marcus Brinkmann
33fee70045 2005-04-14 Marcus Brinkmann <marcus@g10code.de>
* wait-global.c (gpgme_wait): If no context is found, and we
	should not hang, set *status to 0 and return NULL.
	Reported by Igor Belyi <gpgme@katehok.ac93.org>.
2005-04-14 08:41:12 +00:00
Marcus Brinkmann
719d27dfce 2005-03-24 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AH_BOTTOM): Removed.

gpgme/
2005-03-24  Marcus Brinkmann  <marcus@g10code.de>

	* data.h (EOPNOTSUPP) [_WIN32]: Remove definition.
	* data.c (EOPNOTSUPP) [HAVE_W32_SYSTEM]: Remove definition.
	(gpgme_data_read, gpgme_data_write, gpgme_data_seek): Return
	ENOSYS instead EOPNOTSUPP.
	* data-compat.c (EOPNOTSUPP) [HAVE_W32_SYSTEM]: Remove definition.
	(gpgme_error_to_errno): Map GPG_ERR_NOT_SUPPORTED
	to ENOSYS.
2005-03-24 13:09:54 +00:00
Marcus Brinkmann
259c65d94f 2005-03-24 Marcus Brinkmann <marcus@g10code.de>
* io.h: Rename to ...
	* priv-io.h: ... this.
	* Makefile.am (libgpgme_real_la_SOURCES): Change io.h to priv-io.h.
	* data.c, engine-gpgsm.c, posix-io.c, rungpg.c, version.c,
	w32-io.c, wait-private.c, wait-global.c, wait-user.c, wait.c:
	Change all includes of "io.h" to "priv-io.h"
2005-03-24 13:05:12 +00:00
Werner Koch
e86f9181ad * acinclude.m4 (GNUPG_CHECK_VA_COPY): Assume no when cross-compiling.
* Makefile.am (EXTRA_DIST): Include autogen.sh

* autogen.sh: Added the usual code to build for W32 (--build-w32).

* configure.ac: Fixed the mingw32 host string, removed OS/2 stuff.
(HAVE_DRIVE_LETTERS): Removed.
(HAVE_W32_SYSTEM): Added.
(AC_GNU_SOURCE): New to replace the identical AH_VERBATIM.
(AH_BOTTOM): Added.

* w32-util.c (_gpgme_get_gpg_path, _gpgme_get_gpgsm_path): Do not
cast away type checks.

* io.h [W32]: Do not include stdio.h.  If it is needed do it at
the right place.

* data.h [W32]: Removed kludge for EOPNOTSUP.
* data.c, data-compat.c [W32]: Explicitly test for it here.
2005-03-09 16:03:05 +00:00
Timo Schulz
2d5f4c8188 2005-03-07 Timo Schulz <twoaday@g10code.de>
* gpgme.h: [_WIN32] Removed ssize_t typedef.
        * ath.h: [_WIN32] Added some (dummy) types.
        * io.h: [_WIN32] include stdio.h.
        * data.h: [_WIN32] Define EOPNOTSUPP.
        * w32-io.c [_WIN32] (_gpgme_io_subsystem_init): New.
        * gpgme.c [_WIN32] (gpgme_set_locale): Disabled.
2005-03-09 11:47:21 +00:00
Marcus Brinkmann
3ad6f89275 2004-12-12 Marcus Brinkmann <marcus@g10code.de>
* engine.c (_gpgme_set_engine_info): Fix assertion.
2004-12-12 14:58:12 +00:00
Marcus Brinkmann
04be3c316c 2004-12-11 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Replace ttyname_r if it doesn't exist (and warn in
	that case).

gpgme/
2004-12-11  Marcus Brinkmann  <marcus@g10code.de>

	* util.h [HAVE_CONFIG_H && HAVE_TTYNAME_R] (ttyname_r): Define
	prototype.
	* ttyname_r.c: New file.
2004-12-11 15:48:00 +00:00
Marcus Brinkmann
71775ad8fc 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* README: Refer to COPYING.LESSER and "each file" instead of
	COPYING.
	* COPYING.LESSER: New file.
	* gpgme.spec.in (%doc): Add COPYING.LESSER.
	* acinclude.m4, configure.ac, Makefile.am: Change license to LGPL
	2.1 or later.
	* TODO: Add copyright notice.
	* README.CVS: Likewise.

assuan/
2004-12-07  Marcus Brinkmann  <marcus@g10code.de>

	* README.1st: Add copyright notice.

doc/
2004-12-07  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am: Change license to LGPL.
	(gpgme_TEXINFOS): Replace gpl.texi with lesser.texi.

	* gpgme.texi: Change license to LGPL (also for documentation of
	GPGME's license).
	* lesser.texi: New file.
	* gpl.texi: File removed.

gpgme/
2004-12-07  Marcus Brinkmann  <marcus@g10code.de>

	* putc_unlocked.c, funopen.c: I just claim copyright on these
	files and change their license to LGPL, because they are totally
	trivial wrapper functions.
	* isascii.c: Change copyright notice to the one from ctype/ctype.h
	in the GNU C Library (CVS Head 2004-10-10), where isascii is
	defined as a macro doing exactly the same as the function in this
	file.
	* memrchr.c: Update from the GNU C Library (CVS Head 2001-07-06).
	* stpcpy.c: Update from the GNU C Library (CVS Head 2004-10-10).
	* ath.c, ath-compat.c, ath.h, ath-pth.c, ath-pth-compat.c,
	ath-pthread.c, ath-pthread-compat.c, context.h, conversion.c,
	data.c, data-compat.c, data-fd.c, data.h, data-mem.c,
	data-stream.c, data-user.c, debug.c, debug.h, decrypt.c,
	decrypt-verify.c, delete.c, edit.c, encrypt.c, encrypt-sign.c,
	engine-backend.h, engine.c, engine-gpgsm.c, engine.h, error.c,
	export.c, genkey.c, get-env.c, gpgme.c, gpgme.h, import.c, io.h,
	key.c, keylist.c, mkstatus, Makefile.am, ops.h, op-support.c,
	passphrase.c, posix-io.c, posix-sema.c, posix-util.c, progress.c,
	rungpg.c, sema.h, sign.c, signers.c, trust-item.c, trustlist.c,
	util.h, verify.c, version.c, w32-io.c, w32-sema.c, w32-util.c,
	wait.c, wait-global.c, wait.h, wait-private.c, wait-user.c: Change
	license to LGPL.

tests/
2004-12-07  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/mkdemodirs: Add copyright notice.

	* gpgsm/Makefile.am, gpgsm/t-support.h, gpgsm/t-decrypt.c,
	gpgsm/t-encrypt.c, gpgsm/t-export.c, gpgsm/t-genkey.c,
	gpgsm/t-import.c, gpgsm/t-keylist.c, gpgsm/t-sign.c,
	gpgsm/t-verify.c, gpg/Makefile.am, gpg/t-decrypt.c,
	gpg/t-decrypt-verify.c, gpg/t-edit.c, gpg/t-encrypt.c,
	gpg/t-encrypt-sign.c, gpg/t-encrypt-sym.c, gpg/t-eventloop.c,
	gpg/t-export.c, gpg/t-genkey.c, gpg/t-import.c, gpg/t-keylist.c,
	gpg/t-keylist-sig.c, gpg/t-sign.c, gpg/t-signers.c,
	gpg/t-support.h, gpg/t-thread1.c, gpg/t-trustlist.c,
	gpg/t-verify.c, Makefile.am, t-data.c, t-engine-info.c,
	t-version.c: Change license to LGPL.
2004-12-07 21:13:39 +00:00
Marcus Brinkmann
0ebb858f1e 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers (GPGME_1.1): New version.
	* engine-backend.h (struct engine_ops): Add argument FILE_NAME to
	member get_version().  Add arguments FILE_NAME and HOME_DIR to
	member new().  Change return type of get_file_name and get_version
	to char *.
	* engine-gpgsm.c (gpgsm_get_version): Change return type to char
	pointer.  Do not cache result.
	(gpgsm_new): Add file_name and home_dir argument, and use them
	instead of the defaults, if set.
	* rungpg.c (struct engine_gpg): New member file_name.
	(gpg_get_version): Change return type to char pointer, and do not
	cache result.
	(gpg_release): Free gpg->file_name.
	(gpg_new): Take new arguments file_name and home_dir.  Set the
	--homedir argument if HOME_DIR is not NULL.  Set gpg->file_name.
	(start): Use gpg->file_name instead _gpgme_get_gpg_path, if set.
	* engine.h (_gpgme_engine_info_copy, _gpgme_engine_info_release):
	New prototypes.
	(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
	info.
	* engine.c: Include <assert.h>.
	(gpgme_get_engine_info): Set *INFO within the lock.  Move
	ENGINE_INFO and ENGINE_INFO_LOCK to ....
	(engine_info, engine_info_lock): ... here.  New static variables.
	(engine_get_version): Add file_name argument to
	get_version invocation.  Change return type to char pointer.
	(gpgme_engine_check_version): Rewritten to free() the return value
	of engine_get_version after using it.
	(_gpgme_engine_info_release): New function.
	(gpgme_get_engine_info): Rewritten.
	(_gpgme_engine_info_copy): New function.
	(_gpgme_set_engine_info): New function.
	(gpgme_set_engine_info): New function.
	(_gpgme_engine_new): Change first argument to gpgme_engine_info_t
	info, and use that.
	* gpgme.h (struct _gpgme_engine_info): Change type of file_name
	and version to char * (remove the const).  New member home_dir.
	(gpgme_set_engine_info, gpgme_ctx_get_engine_info,
	gpgme_ctx_set_engine_info): New prototypes.
	* context.h (struct gpgme_context): New member engine_info.
	* gpgme.c (gpgme_new): Allocate CTX->engine_info.
	(gpgme_release): Deallocate CTX->engine_info.
	(gpgme_ctx_get_engine_info, gpgme_ctx_set_engine_info): New
	functions.
	* op-support.c (_gpgme_op_reset): Look for correct engine info and
	pass it to _gpgme_engine_new.
	* version.c (gpgme_check_version): Adjust to
	_gpgme_compare_versions returning an int.
	(_gpgme_compare_versions): Return an int value, not a const char
	pointer.
	* ops.h (_gpgme_compare_versions): Same for prototype.
2004-12-07 18:25:54 +00:00
Marcus Brinkmann
bbcda9f87f 2004-10-03 Marcus Brinkmann <marcus@g10code.de>
* verify.c (parse_trust): If no reason is provided, set
	SIG->validity_reason to 0.
	(calc_sig_summary): Set GPGME_SIGSUM_CRL_TOO_OLD if appropriate.
2004-10-22 17:57:56 +00:00
Marcus Brinkmann
e2297804cf 2004-10-22 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (map_assuan_error): Return 0 if ERR is 0.
	(start): Call map_assuan_error on return value of
	assuan_write_line.
2004-10-22 16:55:16 +00:00
Marcus Brinkmann
9bccf0d830 2004-10-05 Marcus Brinkmann <marcus@g10code.de>
* op-support.c (_gpgme_op_data_lookup): Use char pointer for
	pointer arithmetic.
2004-10-05 15:08:45 +00:00
Marcus Brinkmann
5c4008a176 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.m4: Implement the --api-version check.
2004-09-30 01:06:19 +00:00
Marcus Brinkmann
1819293208 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_status): Move the polling of the output data pipe
	to just before removing the command fd, from just before adding
	it.  This avoids buffering problems.
2004-09-30 00:24:58 +00:00
Marcus Brinkmann
a2d38f6824 2004-09-30 Marcus Brinkmann <marcus@g10code.de>
* data.c (_gpgme_data_inbound_handler): Use _gpgme_io_read, not
	read, to improve debug output.
2004-09-30 00:19:22 +00:00
Marcus Brinkmann
cc769c66ed doc/
2004-09-29  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Key Management): Change type of keylist_mode in
	gpgme_key_t to gpgme_keylist_mode_t.

gpgme/
2004-09-29  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (GPGME_IMPORT_NEW, GPGME_IMPORT_UID, GPGME_IMPORT_SIG,
	GPGME_IMPORT_SUBKEY, GPGME_IMPORT_SECRET,
	(GPGME_KEYLIST_MODE_LOCAL, GPGME_KEYLIST_MODERN_EXTERN,
	GPGME_KEYLIST_MODE_SIGS, GPGME_KEYLIST_MODE_VALIDATE): Change from
	enum to macros.
	(gpgme_keylist_mode_t): Define as unsigned int.
	(gpgme_key_t): Change type of keylist_mode to
	gpgme_keylist_mode_t.
2004-09-28 23:15:39 +00:00
Marcus Brinkmann
7bfcd45c9f 2004-09-23 Marcus Brinkmann <marcus@g10code.de>
* data.c (_gpgme_data_outbound_handler): Close the file descriptor
	if we get an EPIPE.
2004-09-23 19:23:33 +00:00
Marcus Brinkmann
4b8e1217fc 2004-09-23 Marcus Brinkmann <marcus@g10code.de>
* data-stream.c (stream_seek): Call ftello and return the current
	offset.
	* data.h (struct gpgme_data): Change type of data.mem.offset to
	off_t.
	* data.c (gpgme_data_seek): Check dh->cbs->seek callback, not read
	callback.  If SEEK_CUR, adjust the offset by the pending buffer
	size.  Clear pending buffer on success.
2004-09-23 17:54:26 +00:00
Marcus Brinkmann
13a65ef0e0 2004-09-14 Marcus Brinkmann <marcus@g10code.de>
* gpgme.m4: Add copyright notice.
2004-09-14 18:40:35 +00:00
Marcus Brinkmann
92f095084a 2004-08-18 Marcus Brinkmann <marcus@g10code.de>
* passphrase.c (_gpgme_passphrase_status_handler): Always run the
	status handler.
2004-08-18 00:48:50 +00:00
Marcus Brinkmann
8802eb4240 2004-08-17 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (build_argv): Use --no-sk-comment, not --no-comment.
2004-08-17 21:16:12 +00:00
Marcus Brinkmann
78bd20d676 2004-06-23 Marcus Brinkmann <marcus@g10code.de>
* key.c (_gpgme_key_append_name): Make sure tail points to the
        byte following the uid.
        (_gpgme_key_add_sig): Likewise.  Don't use calloc, but malloc and
        memset.
2004-06-23 21:15:21 +00:00
Marcus Brinkmann
8d2e1e7f61 2004-06-02 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers: Remove C-style comment, which is not supported by
	older binutils.
2004-06-02 14:18:03 +00:00
Marcus Brinkmann
ce8d1aed08 2004-05-21 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (GPGME_CONFIG_API_VERSION): New variable,
	substitute it.

gpgme/
2004-05-21  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme-config.in (Options): Support --api-version.
2004-05-21 19:49:38 +00:00
Marcus Brinkmann
60e6827efe 2004-05-21 Marcus Brinkmann <marcus@g10code.de>
* libgpgme.vers: List all gpgme symbols under version GPGME_1.0.
2004-05-21 19:43:39 +00:00
Marcus Brinkmann
bfe01a28ab 2004-05-21 Marcus Brinkmann <marcus@g10code.de>
* decrypt.c (_gpgme_decrypt_status_handler): Fix last change.
	* verify.c (parse_error): Likewise.
2004-05-21 19:17:27 +00:00
Marcus Brinkmann
17c7de32c3 2004-05-21 Marcus Brinkmann <marcus@g10code.de>
* verify.c (parse_error): Do not skip location of where token.
2004-05-21 19:15:06 +00:00
Marcus Brinkmann
b9d1269d0a 2004-05-21 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (gpgme_status_code_t): Add GPGME_STATUS_REVKEYSIG.
	* verify.c (_gpgme_verify_status_handler): Add handling of
	GPGME_STATUS_REVKEYSIG.
	(parse_trust): Likewise.
2004-05-21 16:36:28 +00:00
Marcus Brinkmann
cf6910f69d doc/
2004-05-21  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Decrypt): Add note about new field wrong_key_usage
	of gpgme_decrypt_result_t.

gpgme/
2004-05-21  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (struct _gpgme_decrypt_result): New fields
	wrong_key_usage and _unused.
	* decrypt.c (_gpgme_decrypt_status_handler): Don't skip over
	character after a matched string, as in a protocol error this
	could skip over the trailing binary zero.
	Handle decrypt.keyusage error notifications.
2004-05-21 15:51:53 +00:00
Marcus Brinkmann
6aeee0426a doc/
2004-05-21  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Key Management): Add note about new field
	keylist_mode of gpgme_key_t.

gpgme/
2004-05-21  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (struct _gpgme_key): New member keylist_mode.
	* keylist.c (keylist_colon_handler): Set the keylist_mode of KEY.
2004-05-21 15:15:21 +00:00
Marcus Brinkmann
619929800a 2004-04-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_signature): Change member WRONG_KEY_USAGE
	to unsigned int.  Same for member _unused.
2004-04-29 21:19:43 +00:00
Marcus Brinkmann
b9ed761b6e 2004-04-29 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (set_mainkey_trust_info): Rewritten.
	(set_subkey_capability): Handle 'd' (disabled).
	(set_mainkey_capability): Rewritten.
2004-04-29 10:55:50 +00:00
Marcus Brinkmann
a7adf03290 2004-04-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.m4: Quote first argument to AC_DEFUN.
2004-04-22 18:23:56 +00:00
Werner Koch
37a4f44f06 (gpgme_key_unref): Allow passing NULL like free does.
The rule of least surprise.
2004-04-21 18:14:12 +00:00
Werner Koch
09bd0f6a89 (prepare_new_sig, _gpgme_verify_status_handler): Remove
unused result.signatures items.
2004-04-15 15:58:08 +00:00
Werner Koch
a33e7ba3c7 (gpgme_get_key): Return an error if FPR is NULL. 2004-04-15 15:18:30 +00:00
Werner Koch
162ebc3b04 * verify.c (_gpgme_verify_status_handler): Ignore the error status
if we can't process it.
* decrypt-verify.c (decrypt_verify_status_handler): Backed out
yesterday's hack.  It is not any longer required.
2004-04-08 09:53:01 +00:00
Werner Koch
90837eb14e (decrypt_verify_status_handler): Hack to cope
with meaningless error codes from the verify status function.
2004-04-07 16:17:27 +00:00
Werner Koch
fe16ca5cc4 * verify.c (parse_error): Compare only the last part of the where
token.
(prepare_new_sig): New.
(parse_new_sig): Use prepare_new_sig when required.
(_gpgme_verify_status_handler): Handle STATUS_NEWSIG.

* engine-gpgsm.c (gpgsm_keylist_ext): Send with-validation
option.  Fixed pattern construction.
(status_handler): Add debugging output.
2004-04-05 18:39:28 +00:00
Werner Koch
761cd12e1e (parse_error): Compare only the last part of the where
token.
2004-04-05 13:49:29 +00:00
Werner Koch
92dff6e4f1 (gpgsm_keylist_ext): Send with-validation
option.  Fixed pattern construction.
2004-04-05 11:53:55 +00:00
Marcus Brinkmann
3816adb43a 2004-03-23 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_new): Protect _only_ tty related code with
	isatty().  Submitted by Bernhard Herzog.
2004-03-23 18:10:13 +00:00
Marcus Brinkmann
9ee42a1e47 *** empty log message *** 2004-03-11 14:31:20 +00:00
Marcus Brinkmann
f7e02a469f 2004-03-11 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (gpg_cancel): Set GPG->fd_data_map to NULL after
	releasing it.
2004-03-11 13:54:27 +00:00
Marcus Brinkmann
dcb04fb195 2004-03-11 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_cancel): Only call assuan_disconnect if
	GPGSM->assuan_ctx is not NULL.  Set it to NULL afterwards.
2004-03-10 23:52:18 +00:00
Marcus Brinkmann
d6d3eaa858 2004-03-07 Marcus Brinkmann <marcus@g10code.de>
* gpgme-config.in: Do not emit include and lib directory for
	prefix "/usr" or "".
2004-03-07 17:41:43 +00:00
Werner Koch
e65396c735 * engine-gpgsm.c (gpgsm_export_ext): Properly insert a space
beween patterns.

* gpgsm/t-export.c (main): Also check exporting 2 certificates.
2004-03-03 15:15:41 +00:00
Marcus Brinkmann
d988a1820c 2004-02-25 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (gpg_cancel): New function.
	(gpg_release): Call it here.
	(_gpgme_engine_ops_gpg): Add it here.
	* engine-gpgsm.c (gpgsm_cancel): Fix last change.
2004-02-24 23:15:33 +00:00
Marcus Brinkmann
ed314ff766 doc/
2004-02-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (cancellation): New section.

gpgme/
2004-02-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.c (gpgme_cancel): New function.
	* engine-backend.h (struct engine_ops): New member cancel.
	* engine.h (_gpgme_engine_cancel): New prototype.
	* engine.c (_gpgme_engine_cancel): New function.
	* engine-gpgsm.c: Add new member cancel.
	(gpgsm_cancel): New function.
	(gpgsm_release): Use it.
	* rungpg.c: Add new member cancel.
2004-02-24 23:08:48 +00:00
Werner Koch
afabac4c9d * gpgme.texi (Key Listing Mode): Doc KEYLIST_MODE_VALIDATE.
* gpgme.h: Add GPGME_KEYLIST_MODE_VALIDATE.
* engine-gpgsm.c (gpgsm_keylist): Send this to gpgsm.
2004-02-17 15:27:42 +00:00
Werner Koch
6e468be50e (memrchr): Fixed implementation. Problem pointed out
by Adriaan de Groot.
2004-02-15 16:02:36 +00:00
Marcus Brinkmann
b1b57049f5 2004-02-01 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (build_argv): Use --no-comment, not --comment "".
2004-02-01 14:34:54 +00:00
Marcus Brinkmann
68ab067358 2004-01-31 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add invocation of AC_SYS_LARGEFILE, AC_TYPE_OFF_T
	and AC_FUNC_FSEEKO.

doc/
2004-02-01  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Largefile Support): New section.

gpgme/
2004-02-01  Marcus Brinkmann  <marcus@g10code.de>

	* data-compat.c (gpgme_data_new_from_filepart): Call fseeko if
	available.
	* data-stream.c (stream_seek): Likewise.
2004-02-01 13:39:45 +00:00
Werner Koch
0c2e282d2f (_gpgme_map_gnupg_error): Handle numerical codes as
used by GnuPG 1.9.x
2004-01-16 15:47:27 +00:00
Marcus Brinkmann
76b5855b8e 2004-01-13 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_key_sig): Fix comment on REVOKED>
2004-01-13 21:42:04 +00:00
Werner Koch
215da10c1c About to release 0.4.4:
* configure.ac: Bumbed LT_Revision; now at C12/A1/R1.
(NEED_GPGSM_VERSION): Set to 1.9.3.

* sign.c: Include util.h for prototype of _gpgme_parse_timestamp.

* gpg/t-keylist-sig.c (main): Temporary disabled one test due top
gpg 1.3.4 problems.
* gpg/t-import.c (check_result): Likewise.
2004-01-12 13:28:36 +00:00
Marcus Brinkmann
de739f876b doc/
2003-12-25  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Key Management): Rename member class in
	gpgme_key_sig_t to sig_class.
	(Creating a Signature): Likewise for gpgme_signature_t.

gpgme/
2003-12-25  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.h (_GPGME_D_CLASS): Revert this change.
	(struct _gpgme_key_sig): For C++ compilers, rename class
	member to _obsolete_class.  Add new member sig_class.
	(struct _gpgme_new_signature): Same here.
	* key.c (gpgme_key_sig_get_ulong_attr): Use CERTSIG->sig_class,
	not CERTSIG->class.
	* keylist.c (keylist_colon_handler): Likewise for KEYSIG, but keep
	setting KEYSIG->class, too.  Rename variable CLASS to SIG_CLASS.
	* sign.c (parse_sig_created): Set SIG->sig_class.
2003-12-25 14:38:40 +00:00
Werner Koch
4597915910 C++ fixes 2003-12-23 08:21:08 +00:00
Werner Koch
7fab1937f8 * conversion.c (_gpgme_parse_timestamp): New.
(atoi_1, atoi_2, atoi_4): New.
* keylist.c (parse_timestamp): Removed. Changed all callers to use
the new function.
* verify.c (parse_valid_sig): Ditto.  Repalced the errno check.
* sign.c (parse_sig_created): Ditto.
2003-11-19 15:15:21 +00:00
Werner Koch
23a2e04133 Silly me: Reverted last change. The code here is actually okay but
when driving the one for gnupg, the bug was probably introduced.
2003-11-13 07:31:58 +00:00
Werner Koch
c2740411a9 (int_vasprintf): ARGS should not be a pointer. 2003-11-13 07:26:53 +00:00
Werner Koch
2f1226cea9 (parse_timestamp): Detect ISO 8601 timestamps and try
to convert them.
2003-10-31 12:07:48 +00:00
Marcus Brinkmann
2250b42294 2003-10-10 Marcus Brinkmann <marcus@g10code.de>
* genkey.c (get_key_parameter): Make a copy of the key parameters.
	Submitted by Miguel Coca <e970095@zipi.fi.upm.es>.
2003-10-10 09:08:23 +00:00
Marcus Brinkmann
01e247eeb4 2003-10-06 Marcus Brinkmann <marcus@g10code.de>
* data-compat.c: Include <sys/time.h> before <sys/stat.h> for
	broken systems.
2003-10-06 19:48:46 +00:00
Marcus Brinkmann
ccb90f4e4d 2003-10-06 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (map_assuan_error): If ERR is -1, return sensible
	error.
2003-10-06 19:12:50 +00:00
Marcus Brinkmann
0d0378a200 doc/
2003-10-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Signal Handling): New section.

gpgme/
2003-10-06  Marcus Brinkmann  <marcus@g10code.de>

	* io.h (_gpgme_io_subsystem_init): New prototype.
	* posix-io.c (_gpgme_io_subsystem_init): Add function.
	(_gpgme_io_spawn): Do not fixup signal handler here.
	* version.c (do_subsystem_inits): Call _gpgme_io_subsystem_init.

tests/
2003-10-06  Marcus Brinkmann  <marcus@g10code.de>

	* gpg/t-thread1.c (thread_one): Do not call initialize_gpgme.
	Likewise.
2003-10-06 16:17:13 +00:00
Marcus Brinkmann
5024a533e8 2003-10-06 Marcus Brinkmann <marcus@g10code.de>
* debug.c (debug_init): Drop const qualifier from E.
2003-10-06 14:50:19 +00:00
Marcus Brinkmann
142f4aea09 2003-10-06 Marcus Brinkmann <marcus@g10code.de>
* ath.h (struct ath_ops): Make ADDR argument of CONNECT prototype
	const.
	(ath_connect): Make ADDR argument const.
	* ath-pthread.c (ath_connect): Likewise.
	* ath-pth.c (ath_connect): Likewise.
	* ath-compat.c (ath_connect): Likewise.
	* ath.c (ath_connect): Likewise.
2003-10-06 14:06:31 +00:00
Marcus Brinkmann
4cb6f77a32 2003-10-06 Marcus Brinkmann <marcus@g10code.de>
* ath.h [HAVE_SYS_SELECT_H]: Include <sys/select.h> for fd_set.
	[!HAVE_SYS_SELECT_H]: Include <sys/time.h>.

	* conversion.c (_gpgme_hextobyte): Drop "unsigned" from type of
	SRC argument.
	* util.h (_gpgme_hextobyte): Likewise for prototype.

	* gpgme.h: Remove trailing comma in enum.
2003-10-06 13:24:13 +00:00