Commit Graph

480 Commits

Author SHA1 Message Date
Marcus Brinkmann
4ef64980fb 2002-07-25 Marcus Brinkmann <marcus@g10code.de>
* wait.c (fdt_global): Make static.  Reported by St�phane
	Corth�sy.
2002-07-25 15:33:03 +00:00
Karl-Heinz Zimmer
07f4264a5e 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
e3e127d4a8 fixing bug #1154 2002-07-03 15:43:41 +00:00
Werner Koch
992c88991d * 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
ea0acccf2b 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
d7b78c0987 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
b92c8f057c 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
0cf2a8a51a Fix news item. 2002-07-02 20:43:25 +00:00
Karl-Heinz Zimmer
59c6205c78 make sure key used for signing _can_ sign 2002-07-02 16:32:29 +00:00
Werner Koch
abf4c3bb50 * 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
458a133794 auto updated version number. 2002-07-02 09:07:52 +00:00
Werner Koch
1caf8a12ab typo fix in comment. 2002-07-02 08:53:31 +00:00
Werner Koch
ca43df065f (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
3f7e65f9a9 * 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
7a826e3f35 Fixed memory corruption bug 2002-07-01 12:52:29 +00:00
Karl-Heinz Zimmer
a4b45557ea avoid another memory leak in checkMessageSignature() 2002-07-01 12:08:24 +00:00
Werner Koch
d73a0f3c41 * 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
0fff553077 replace many comment lines by just one single comment 2002-06-28 19:50:31 +00:00
Karl-Heinz Zimmer
68f5d46094 Make it compile. :-( 2002-06-28 19:40:13 +00:00
Karl-Heinz Zimmer
054b78bdc0 Removed silly "free( dn )" statement forgotten during my last changes in findCertificates(). 2002-06-28 19:37:06 +00:00
Werner Koch
ee970fa57d * 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
e866179ce6 * 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
4114f4400d 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
406ec04563 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
92386f4dd1 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
3ccd2790b3 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
e0d89a9a15 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
2ea796a1a0 use gpgme_op_keylist_ext_start 2002-06-27 16:26:15 +00:00
Steffen Hansen
bb19f16ec4 handle truncated data 2002-06-27 13:15:02 +00:00
Karl-Heinz Zimmer
095eef1792 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
71266fd6ea Bugfix: enable function receiverCertificateDaysLeftToExpiry(). 2002-06-26 15:16:32 +00:00
Werner Koch
06cd423a8b * 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
73f47e40b1 Make the signatureCertificateDaysLeftToExpiry() work as expected. 2002-06-26 08:04:43 +00:00
Karl-Heinz Zimmer
f97a834df6 IMPORTANT BUGFIX: Avoid random crashes in findCertificates. (This also fixes bug #1088.) 2002-06-26 04:44:58 +00:00
Karl-Heinz Zimmer
0a4a00821d Oh pazzo mio! I forgot to *use* the nice dn string actually. 2002-06-26 00:05:30 +00:00
Steffen Hansen
4783cc23da cert export/import bugfix 2002-06-25 20:24:29 +00:00
Werner Koch
e37e5beb46 Prepared for further development. 2002-06-25 19:22:12 +00:00
Werner Koch
692d0e43f4 * gpgsm/Makefile.am (DISTCLEANFILES): new. 2002-06-25 19:04:40 +00:00
Werner Koch
5df644f5cc * engine-gpgsm.c (_gpgme_gpgsm_set_io_cbs) [ENABLE_GPGSM]: Fixed
function arguments.
2002-06-25 18:50:23 +00:00
Werner Koch
f93de93870 * 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
3debbf008e importCertificate( const char* fpr ) 2002-06-25 17:42:21 +00:00
Karl-Heinz Zimmer
da40b7130f 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
7a32c607e3 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
3ea78f5a20 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
ea042a1fa9 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
969ceb2e6e Disable debug output 2002-06-24 21:01:18 +00:00
Karl-Heinz Zimmer
b24b335b3b Use fine DN parts reordering from within findCertificates() as well. 2002-06-24 20:25:19 +00:00
Marcus Brinkmann
2ded628d4d 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
a8f087da34 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
Werner Koch
5e13668340 * gpgmeplug.c (reorder_dn): Added missing stdpart list terminator.
BTW, why did you change the sequence of the parts.  According to the
specs there is no standard but our implementation has to make sure
that it uses the same sequence everywhere.  Adding the extra parts is
useless because they are not defined in rfc2253 and thus can't occur.
2002-06-20 16:48:37 +00:00