Commit Graph

1340 Commits

Author SHA1 Message Date
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
01baed5b70 Added missing files and fixed stuff from the recent merged. I did only
tests on W32 at that time.
2005-08-19 16:34:42 +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
bf93a73b31 Add new status codes. 2005-06-02 22:01:58 +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
749ed3a258 2005-05-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Key Listing Mode): Fix return type of
	gpgme_set_keylist_mode.
	Reported by "Sergio" <ml_sergico@virgilio.it>.
2005-05-28 20:09:20 +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
cbddc8e134 Fix last change. 2005-04-14 08:45:00 +00:00
Marcus Brinkmann
bfa554b3e8 Add Igor Belyi <gpgme@katehok.ac93.org>. 2005-04-14 08:44:18 +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
2262d604c2 (struct assuan_io): Renamed elements READ and
WRITE to READFNC and WRITEFNC to avoid problems with read defined
as macro.  Changed callers.  Noted by Ville Skytt��.
2005-03-22 09:10:36 +00:00
Timo Schulz
2e21a29ff9 2005-03-10 Timo Schulz <twoaday@g10code.com>
* gpgme.def: New. Exported GPGME functions.
        * build-dll: New.
2005-03-10 19:25:55 +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
7d10a7f296 Remove some obsolete entries. 2005-01-12 11:18:19 +00:00
Marcus Brinkmann
d45f97f185 2005-01-12 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Engine Configuration): New section.
	(Crypto Engine): New subsection.
2005-01-12 11:13:17 +00:00
Marcus Brinkmann
2fe3ceba81 2004-12-28 Werner Koch <wk@g10code.com>
Released 1.0.2.

	* Makefile.am (AUTOMAKE_OPTIONS): Build bzip 2 version.
	(ACLOCAL_AMFLAGS): Add -I m4.
	* configure.ac: Require automake 1.9.3 and autoconf 2.59.
	* acinclude.m4: Changed quoting for automake 1.9.
	* README: Use SHA1 instead of MD5.
2005-01-12 10:28:42 +00:00
Marcus Brinkmann
a8d0033fff 2004-12-28 Werner Koch <wk@g10code.com>
* pth.m4: Changed quoting for use with automake 1.9.
2005-01-12 10:16:32 +00:00
Marcus Brinkmann
a68fd530ef 2004-12-16 Marcus Brinkmann <marcus@g10code.de>
* assuan-pipe-connect.c (do_finish): Do not wait for child to finish.
	(assuan_pipe_connect): Use double-fork approach.
	* assuan-connect.c (assuan_disconnect): Do not write BYE to the
	status line.
2004-12-21 08:42:31 +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
c00c3c75ff Small beautification. 2004-12-11 15:48:34 +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
f355692a65 Add news entry for 0.3.16. 2004-12-07 21:24:03 +00:00
Marcus Brinkmann
31c6be048f 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* lesser.texi (Library Copying): Change from @appendixsec to
        @appendix.
        * gpgme.texi (Features): Change reference to GPL to one to LGPL.
2004-12-07 21:21:41 +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
a4a985c4cc Add Noel Torres <envite@rolamasao.org>. 2004-12-07 19:06:29 +00:00
Marcus Brinkmann
d40de0d14f 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Creating Contexts): Fix cut&paste error.  Reported
	by Noel Torres <envite@rolamasao.org>.
2004-12-07 19:05:18 +00:00
Marcus Brinkmann
4b45385889 Update. 2004-12-07 18:49:35 +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
e8e4400785 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (GPGSM_VERSION): Fix filter to get it.
2004-12-07 15:30:36 +00:00
Marcus Brinkmann
0120be1520 Fix up gpgme-1.0.1 release changes. Somehow the correct change didn't
make it into the repository.
2004-12-07 15:27:11 +00:00
Marcus Brinkmann
886cde2ea0 Revert change to fix up gpgme-1.0.1 release tag glitch. 2004-12-07 15:25:48 +00:00
Marcus Brinkmann
4504426076 2004-12-07 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (GPGSM_VERSION): Fix filter to get it.
2004-12-07 14:37:00 +00:00