Commit Graph

695 Commits

Author SHA1 Message Date
Karl-Heinz Zimmer
6c8fcaba7f CRASH prevention fix: Memory was overwritten if there were more than 1 email address in a signature certificate found in checkMessageSignature() function. 2002-07-04 00:02:19 +00:00
Karl-Heinz Zimmer
3e95a6c550 fixing bug #1154 2002-07-03 15:43:41 +00:00
Werner Koch
35787b08c2 * gpgmeplug.c (nextCertificate): Actually free the entire array
and don't loop over tmp_dn and double free the first item.
Spotted by Bernhard Herzog.
2002-07-03 11:04:54 +00:00
Marcus Brinkmann
6c7bfef313 2002-07-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Run Control): Update this section.
	(Waiting For Completion): Likewise for this subsection.
	(Cancelling an Operation): Likewise for this subsection.
	(Using External Event Loops): New subsection with several
	subsubsections.
2002-07-03 02:22:38 +00:00
Marcus Brinkmann
cd2100e0a9 2002-07-03 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-eventloop.c: New file.
	* gpg/Makefile (TESTS): Add t-eventloop.
2002-07-03 02:18:43 +00:00
Marcus Brinkmann
4658bc37a6 2002-07-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_set_io_cbs): Deal with CTX being NULL.

	* gpgme.c (_gpgme_op_event_cb_user): New function.
	* op-support.c (_gpgme_op_reset): Support a new mode of operation
	for private or user event loop.  Use new user event callback
	wrapper.
	* trustlist.c (gpgme_op_trustlist_start): Use this new mode.
	* keylist.c (gpgme_op_keylist_start): Likewise.

	* rungpg.c (_gpgme_gpg_io_event): New function.
	* rungpg.h (_gpgme_gpg_io_event): New prototype.
	* engine-gpgsm.c (_gpgme_gpg_io_event): New function.
	* engine-gpgsm.h (_gpgme_gpgsm_io_event): New prototype.
	* engine.c (_gpgme_engine_io_event): New function.
	* engine.h (_gpgme_engine_io_event): New prototype.
	* keylist.c (finish_key): Call _gpgme_engine_io_event, and move
	the real work for the default IO callback routines to ...
	(_gpgme_op_keylist_event_cb): ... here.  New function.
	* trustlist.c (trustlist_colon_handler): Signal
	GPGME_EVENT_NEXT_TRUSTITEM.  Move queue manipulation to ...
	(_gpgme_op_trustlist_event_cb): ... here.  New function.
	* gpgme.c (_gpgme_op_event_cb): Call _gpgme_op_keylist_event_cb
	and _gpgme_op_trustlist_event_cb when appropriate.
	* ops.h (_gpgme_op_keylist_event_cb): New prototype.
	(_gpgme_op_trustlist_event_cb): Likewise.
	* op-support.c (_gpgme_op_reset): Add comment why we don't use the
	user provided event handler directly.
	* gpgme.h (GpgmeRegisterIOCb): Return GpgmeError value, and TAG in
	a pointer argument.
	* wait.c (_gpgme_add_io_cb): Likewise.
	* wait.h (_gpgme_add_io_cb): Likewise for prototype.
	* rungpg.c (_gpgme_gpg_add_io_cb): Call IO_CBS->add with new
	argument.  Fix up error handling.
	* engine-gpgsm.c (_gpgme_gpgsm_add_io_cb): Call IO_CBS->add with
	new argument, fix up error handling.
2002-07-03 01:57:03 +00:00
Marcus Brinkmann
d6b6acb8bc Fix news item. 2002-07-02 20:43:25 +00:00
Repo Admin
91d45356b0 This commit was manufactured by cvs2svn to create tag
'dd9jn_pre_test_20020702'.
2002-07-02 16:32:29 +00:00
Karl-Heinz Zimmer
bd50e28df5 make sure key used for signing _can_ sign 2002-07-02 16:32:29 +00:00
Werner Koch
fd7901573f * configure.ac: Bumbed version number to 0.3.9; add a comment on
when to change it.

* gpgme.spec.in: New. Contributed by Wojciech Polak.
* Makefile.am (dist-hook): New.

* AUTHORS: Added Wojciech and bug reporting addresses.
2002-07-02 09:08:21 +00:00
Werner Koch
11a5cf670c auto updated version number. 2002-07-02 09:07:52 +00:00
Werner Koch
4cc801ae83 typo fix in comment. 2002-07-02 08:53:31 +00:00
Werner Koch
966b4bfb90 (xstrdup): Oops, obviously I calculated the length wrong when
coded this.  Tsss, wrote xstrdup some hundreds times but missed it
this time.  Thanks to Steffen Hansen for noticing it.
2002-07-01 13:09:18 +00:00
Werner Koch
3984ea8ba7 * gpgmeplug.c (findCertificates): Reintroduced a free which must
have been removed after my last fix.  This avoids a memory leak
when a fingerprint was not found.  Removed the double loop
increment in the code to release the arrays.
(make_fingerprint): Removed superfluous check on retrun value of
xmalloc.
(safe_free): Removed.  Changed all callers to use a regular free
and at appropriate palces set the free pointer to NULL.  That
safe_free stuff seems to have been copied verbatim from some
Mutt example code I posted.
(storeNewCharPtr): Use xmalloc instead of an unchecked
malloc. Removed superfluous string termination.
(parseAddress): Use xmalloc instead of an unchecked malloc.
(nextAddress): Ditto.
* gpgmeplug.c:  Moved a few helper functions more to the top.
Fixed comment syntax.  Merged a copyright notice somewhere in the
middle of the file with the one at the top.
2002-07-01 13:01:51 +00:00
Steffen Hansen
2aecadadb2 Fixed memory corruption bug 2002-07-01 12:52:29 +00:00
Karl-Heinz Zimmer
4502a57766 avoid another memory leak in checkMessageSignature() 2002-07-01 12:08:24 +00:00
Werner Koch
11888ab480 * gpgmeplug.c (findCertificates): Reintroduced a free which must
have been removed after my last fix.  This avoids a memory leak
when a fingerprint was not found.  Removed the double loop
increment in the code to release the arrays.
2002-07-01 11:36:48 +00:00
Karl-Heinz Zimmer
838faa02f8 replace many comment lines by just one single comment 2002-06-28 19:50:31 +00:00
Karl-Heinz Zimmer
0295e2a84d Make it compile. :-( 2002-06-28 19:40:13 +00:00
Karl-Heinz Zimmer
0ce8512aec Removed silly "free( dn )" statement forgotten during my last changes in findCertificates(). 2002-06-28 19:37:06 +00:00
Werner Koch
21879b861a * gpgmeplug.c (xmalloc): New.
(safe_malloc): Removed this macro and replaced it at all places
without return values checks by xmalloc.
(xstrdup): New. Replaces funny named macro with different
semantics.  Changed all callers to the new semantic.
(findCertificates): Don't free duplicate free the FPR array
values.  Removed the unneeded initialization.  Replaces the
gcc-ish use dynamic allocation of automatic variables by repalce
maxCerts with a macro MAXCERTS.  Made some comments Real C (tm).
(startListCertificates): Removed uneeded cast from xmalloc.
2002-06-28 18:30:23 +00:00
Bernhard Reiter
697d84d601 * gpgmeplug.c: new macro days_to_seconds().
this also fixes the dividing factor.
	(signatureCertificateDaysLeftToExpiry)
        (preceiverCertificateDaysLeftToExpiry): using the new macro

	(caCertificateDaysLeftToExpiry)
	(rootCertificateDaysLeftToExpiry): using new macro in deactivated code.
2002-06-28 14:51:12 +00:00
Karl-Heinz Zimmer
dd712a84bb internal AEgypten bugfix #1131: get full list of emails stored in certificated used for signing a received message 2002-06-28 14:12:18 +00:00
Marcus Brinkmann
652ae6fc2c 2002-06-28 Marcus Brinkmann <marcus@g10code.de>
* keylist.c (gpgme_op_keylist_ext_start): Always use our own FD
	table (eg use synchronous mode).
2002-06-28 12:02:43 +00:00
Marcus Brinkmann
93050c525a 2002-06-28 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Multi Threading): Remove item about the need to
	synchronize anything against gpgme_wait (except gpgme_wait
	itself).
2002-06-28 01:14:41 +00:00
Marcus Brinkmann
a9587d0b28 2002-06-28 Marcus Brinkmann <marcus@g10code.de>
* ops.h (_gpgme_wait_on_condition): Remove HANG argument from
	prototype and change return type to GpgmeError.
	(_gpgme_wait_one): New prototype.
	* wait.c (gpgme_wait): Replace with the meat from
	_gpgme_wait_on_condition here, and remove the support for
	conditions.
	(_gpgme_wait_on_condition): Remove HANG argument from prototype
	and change return type to GpgmeError.  Replace with meat from
	_gpgme_wait_one and add support for conditions.
	(_gpgme_wait_one): Just call _gpgme_wait_on_condition without
	condition.
	* keylist.c (gpgme_op_keylist_ext_start): Always use our own FD
	table (eg use synchronous mode).
	(gpgme_op_keylist_next): Remove HANG argument from
	_gpgme_wait_on_condition.  Check its return value.
	* trustlist.c (gpgme_op_trustlist_start): Always use our own FD
	table (eg use synchronous mode).
	(gpgme_op_trustlist_next): Remove HANG argument from
	_gpgme_wait_on_condition.  Check its return value.
2002-06-28 01:11:20 +00:00
Marcus Brinkmann
d7cbeb3e35 doc/
2002-06-27  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Information About Keys): Fix documentation for IDX.
	(Information About Trust Items): Likewise.

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

	* gpgme.h: Fix documentation of key attribute retrieval functions.
2002-06-27 16:34:10 +00:00
Steffen Hansen
1f829e3dd0 use gpgme_op_keylist_ext_start 2002-06-27 16:26:15 +00:00
Steffen Hansen
eb4c2774b9 handle truncated data 2002-06-27 13:15:02 +00:00
Karl-Heinz Zimmer
442edc6fcb Missing implementation bug fixed: Return both error id and error plain text from decryptMessage(). 2002-06-27 08:21:58 +00:00
Karl-Heinz Zimmer
523e652a80 Bugfix: enable function receiverCertificateDaysLeftToExpiry(). 2002-06-26 15:16:32 +00:00
Werner Koch
7bee5c61d5 * gpgsm/t-import.c (print_op_info): New.
(main): Print operation info.

* engine-gpgsm.c (map_assuan_error): Map No_Data_Available to EOF.

* import.c (append_xml_impinfo): Kludge to print fingerprint
instead of keyid for use with gpgsm.
(import_status_handler): Set a flag to know whether any import
occured.
(gpgme_op_import): Reurn -1 if no certificate ewas imported.

* gpgme.texi (Importing Keys): Document the return value -1 of
gpgme_op_import.
2002-06-26 12:49:59 +00:00
Karl-Heinz Zimmer
054c204bef Make the signatureCertificateDaysLeftToExpiry() work as expected. 2002-06-26 08:04:43 +00:00
Karl-Heinz Zimmer
787422a104 IMPORTANT BUGFIX: Avoid random crashes in findCertificates. (This also fixes bug #1088.) 2002-06-26 04:44:58 +00:00
Karl-Heinz Zimmer
b9db0fd302 Oh pazzo mio! I forgot to *use* the nice dn string actually. 2002-06-26 00:05:30 +00:00
Steffen Hansen
dc24ce6798 cert export/import bugfix 2002-06-25 20:24:29 +00:00
Werner Koch
1d48088f2f Prepared for further development. 2002-06-25 19:22:12 +00:00
Repo Admin
492c7c526e This commit was manufactured by cvs2svn to create tag 'gpgme-0-3-8'. 2002-06-25 19:04:40 +00:00
Werner Koch
4be7c0befb * gpgsm/Makefile.am (DISTCLEANFILES): new. 2002-06-25 19:04:40 +00:00
Werner Koch
490003aa2c * engine-gpgsm.c (_gpgme_gpgsm_set_io_cbs) [ENABLE_GPGSM]: Fixed
function arguments.
2002-06-25 18:50:23 +00:00
Werner Koch
4d36d054c0 * configure.ac: Bumbed LT version to 9/3/0.
(NEED_GPGSM_VERSION): Need 0.3.8 due to fixed export command.
2002-06-25 18:32:20 +00:00
Steffen Hansen
d55f155fa1 importCertificate( const char* fpr ) 2002-06-25 17:42:21 +00:00
Karl-Heinz Zimmer
13a3516233 Have additional secretOnly parameter at the findCertificates() function to allow for searching only secret keys. 2002-06-25 15:05:59 +00:00
Marcus Brinkmann
b3361bd9b9 2002-06-25 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/Makefile.am (TESTS): Add t-export.
	gpgsm/t-export.c: New file.
2002-06-25 12:12:25 +00:00
Marcus Brinkmann
631a7e5c2e 2002-06-25 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_export): Only export the keys
	listed in RECP.
	* export.c (gpgme_op_export): If no data was returned, return
	GPGME_No_Recipients.
2002-06-25 12:10:27 +00:00
Marcus Brinkmann
f24bbcc54f 2002-06-25 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_export): Implement.
2002-06-25 11:14:44 +00:00
Karl-Heinz Zimmer
1ee485d442 Disable debug output 2002-06-24 21:01:18 +00:00
Karl-Heinz Zimmer
c33eca3223 Use fine DN parts reordering from within findCertificates() as well. 2002-06-24 20:25:19 +00:00
Marcus Brinkmann
60b2d915ab 2002-06-21 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_assuan_simple_command): Return ERR.
	(parse_status): New function.
	(gpgsm_status_handler): Use parse_status.
	(gpgsm_assuan_simple_command): Accept new arguments STATUS_FNC and
	STATUS_FNC_VALUE and process status messages.
	(gpgsm_set_recipients): Pass new arugments to gpgsm_assuan_simple_command.
	(gpgsm_set_fd): Likewise.
	(_gpgme_gpgsm_op_keylist): Likewise.
	(_gpgme_gpgsm_op_keylist_ext): Likewise.
	(_gpgme_gpgsm_op_sign): Likewise.
2002-06-21 19:16:16 +00:00
Marcus Brinkmann
5add5dab59 2002-06-21 Marcus Brinkmann <marcus@g10code.de>
* wait.c (_gpgme_remove_io_cb): Unlock FDT->lock.
2002-06-21 15:28:56 +00:00