Karl-Heinz Zimmer [Thu, 21 Mar 2002 21:48:33 +0000 (21:48 +0000)]
changed code according to our hack before CeBIT, we are giving *binary* data to the decryptMessage() and to the checkMessageSignature() methode instead of passing base64 encoded data to them
Werner Koch [Thu, 21 Mar 2002 19:48:12 +0000 (19:48 +0000)]
* util.h (struct) [!HAVE_FOPENCOOKIE]: Make sure off_t and ssize_t
are defined.
Matthias Kalle Dalheimer [Thu, 21 Mar 2002 13:14:20 +0000 (13:14 +0000)]
More feature selectors
Plugin says which features it supports
Marcus Brinkmann [Mon, 18 Mar 2002 00:04:06 +0000 (00:04 +0000)]
2002-03-17 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Add automake conditional HAVE_DOSISH_SYSTEM.
gpgme/
2002-03-18 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (system_components): New variable, set depending on
HAVE_DOSISH_SYSTEM.
(libgpgme_la_SOURCES): Use system_components. Remove `syshdr.h'.
* syshdr.h: File removed.
* posix-io.c: Remove !HAVE_DOSISH_SYSTEM safeguard. Clean up source.
* posix-sema.c: Likewise.
* posix-util.c: Likewise.
* w32-io.c: Remove HAVE_DOSISH_SYSTEM safeguard.
* w32-sema.c: Likewise.
* w32-util.c: Likewise.
* posix-io.c: Include `unistd.h', do not include `syshdr.h'.
* posix-sema.c: Likewise.
* w32-io.c: Include `io.h', do not include `syshdr.h'
* w32-sema.c: Likewise.
* w32-util.c: Likewise.
* data.c: Do not include `syshdr.h'.
* wait.c: Likewise.
* wait.h: Code cleanup.
* mutex.h: New file.
* posix-sema.c: Implement.
Marcus Brinkmann [Mon, 18 Mar 2002 00:01:51 +0000 (00:01 +0000)]
2002-03-17 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Detailed Results): Fix syntax error in last change.
Werner Koch [Sun, 10 Mar 2002 18:41:02 +0000 (18:41 +0000)]
removed all the .cvsignre files - they should be local
Werner Koch [Sun, 10 Mar 2002 18:35:33 +0000 (18:35 +0000)]
Minor doc fixes
Karl-Heinz Zimmer [Sat, 9 Mar 2002 16:46:36 +0000 (16:46 +0000)]
bugfix in findCertificates function
Karl-Heinz Zimmer [Fri, 8 Mar 2002 18:13:20 +0000 (18:13 +0000)]
Bugfix: forgot to initialize the list of certificates in findCertificates() before adding the found entries
Karl-Heinz Zimmer [Fri, 8 Mar 2002 15:44:09 +0000 (15:44 +0000)]
New feature: Ask user which certificate is to be taken when more than one found by the crypto plug-in for a single recipient. - NOTE: This code is not working correctly (yet) so we allways get some *all* keys that are stored by gpg instead of the right key information.
Steffen Hansen [Fri, 8 Mar 2002 00:51:25 +0000 (00:51 +0000)]
A little better address-parsing. Not real rfc822 yet, but at least it fetches
the address between < and > now if they are present.
Matthias Kalle Dalheimer [Thu, 7 Mar 2002 21:18:27 +0000 (21:18 +0000)]
Support for various warnings about expiring encryption certificates.
Support for checking encryption certificate paths.
Needs GPGME support.
Werner Koch [Thu, 7 Mar 2002 19:49:40 +0000 (19:49 +0000)]
* gpgme.h (gpgme_op_keylist_ext_start): Add prototype.
Steffen Hansen [Thu, 7 Mar 2002 14:10:07 +0000 (14:10 +0000)]
encryptMessage() now accepts a comma separated list of addressees
Werner Koch [Wed, 6 Mar 2002 17:23:17 +0000 (17:23 +0000)]
* gpgmeplug.c (signMessage): Fixed offbyone. Don't include the
EOS character into the signature.
(checkMessageSignature): Ditto.
Marcus Brinkmann [Wed, 6 Mar 2002 15:35:09 +0000 (15:35 +0000)]
Adjust requirement for GpgSM version according to configure.ac.
Marcus Brinkmann [Wed, 6 Mar 2002 01:40:25 +0000 (01:40 +0000)]
doc/
2002-03-06 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Encrypting a Plaintext): Document symmetric
encryption.
gpgme/
2002-03-06 Marcus Brinkmann <marcus@g10code.de>
* encrypt.c (_gpgme_encrypt_sym_status_handler): New function.
(gpgme_op_encrypt_start): New variable SYMMETRIC, set it if RECP
is null, and if it is set, use _gpgme_encrypt_sym_status_handler
as status handler and run _gpgme_passphrase_start.
* rungpg.c (_gpgme_gpg_op_encrypt): If RECP is zero, do symmetric
encryption.
* engine-gpgsm.c (_gpgme_gpgsm_op_encrypt): If RECP is zero,
return error value.
* rungpg.c (_gpgme_gpg_op_verify): Add "--" argument.
tests/
2002-03-06 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-encrypt-sym.c: New file.
* gpg/Makefile.am (TESTS): Add t-encrypt-sym.
Marcus Brinkmann [Wed, 6 Mar 2002 00:33:50 +0000 (00:33 +0000)]
2002-03-06 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Error Strings): Add example.
* gpgme.texi (Listing Keys): Likewise.
Karl-Heinz Zimmer [Tue, 5 Mar 2002 21:23:58 +0000 (21:23 +0000)]
Changed interface: additionally we now pass the following parameters into the checkMessageSignature function: bool signatureIsBinary - telling us whether the signature is armored ASCII or binary data, int signatureLen - holding the TRUE length of the signature if (and only if) this is binary data
Marcus Brinkmann [Tue, 5 Mar 2002 20:22:06 +0000 (20:22 +0000)]
2002-03-05 Marcus Brinkmann <marcus@g10code.de>
* gpg/Makefile.am (CLEANFILES): Remove random_seed, which is now
in DISTCLEANFILES.
Werner Koch [Mon, 4 Mar 2002 11:39:52 +0000 (11:39 +0000)]
* configure.ac: Bumbed version to 0.3.4-cvs to continue development.
Repo Admin [Mon, 4 Mar 2002 11:16:11 +0000 (11:16 +0000)]
This commit was manufactured by cvs2svn to create tag 'V0-3-4'.
Werner Koch [Mon, 4 Mar 2002 11:16:11 +0000 (11:16 +0000)]
* gpg/Makefile.am (DISTCLEANFILES): Added.
* configure.ac: Bumbed LT version numbers to (7,1,0), requires
gpgsm 0.3.1.
Marcus Brinkmann [Sun, 3 Mar 2002 19:40:13 +0000 (19:40 +0000)]
2002-03-03 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_INIT): Change version number to snapshot CVS
version.
Marcus Brinkmann [Sun, 3 Mar 2002 17:37:34 +0000 (17:37 +0000)]
doc/
2002-03-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Information About Keys): Document GPGME_ATTR_EXPIRE.
gpgme/
2002-03-03 Marcus Brinkmann <marcus@g10code.de>
* passphrase.c (_gpgme_passphrase_status_handler): Also set the
error No_Passphrase if only a bad passphrase was provided.
Marcus Brinkmann [Sun, 3 Mar 2002 16:46:33 +0000 (16:46 +0000)]
doc/
2002-03-03 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Verify): Document verification of normal and
cleartext signatures.
gpgme/
2002-03-03 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_op_verify): If TEXT is of mode
GPGME_DATA_MODE_IN, construct a command line that stores the
plaintext in TEXT.
* verify.c (gpgme_op_verify_start): Accept TEXT being
uninitialized, and in this case interpret SIG as a normal or
cleartext signature and TEXT as a return data object.
* engine-gpgsm.c (_gpgme_gpgsm_op_verify): Likewise.
tests/
2002-03-03 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-verify.c (main): Add a few more sanity checks, and a check
for normal signatures.
Marcus Brinkmann [Sun, 3 Mar 2002 14:50:29 +0000 (14:50 +0000)]
2002-03-03 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_op_keylist_ext) [!ENABLE_GPGSM]:
Add stub function.
Matthias Kalle Dalheimer [Fri, 1 Mar 2002 17:54:26 +0000 (17:54 +0000)]
Support for warning when a CRL expires
Matthias Kalle Dalheimer [Fri, 1 Mar 2002 16:55:50 +0000 (16:55 +0000)]
Support for asking the for the PIN a certain number of times.
Matthias Kalle Dalheimer [Thu, 28 Feb 2002 12:09:45 +0000 (12:09 +0000)]
Support for checking whether the signer's email address is contained in
his certificate.
Werner Koch [Thu, 28 Feb 2002 09:53:56 +0000 (09:53 +0000)]
* key.h (subkey_s): New member expires_at.
* keylist.c (keylist_colon_handler): Set it here
* key.c (gpgme_key_get_as_xml,gpgme_key_get_ulong_attr): Return it.
Matthias Kalle Dalheimer [Thu, 28 Feb 2002 09:16:25 +0000 (09:16 +0000)]
*** empty log message ***
Matthias Kalle Dalheimer [Thu, 28 Feb 2002 09:14:39 +0000 (09:14 +0000)]
Implemented warning when the certificates used for signing are about to
expire
Matthias Kalle Dalheimer [Thu, 28 Feb 2002 07:49:13 +0000 (07:49 +0000)]
Marked up where g10 needs to implement the selection of the signature algorithm
Werner Koch [Thu, 28 Feb 2002 07:29:08 +0000 (07:29 +0000)]
Removed the gpgme_set_signature_algorithm stuff. We can't add a
function to our API without discussion the consequences of. By design
the signature algorithm is a property of the signer's key and can't be
set arbitrary. The library is named GnuPG Made Easy so we should not
burden the user with an API to select stuff which can only be done by
the backend. Changes in gpgme require support by the backend. If we
have the requirement to implement it, it will be done as a global
configuration option for signers or as meta-data asscociated with a
certificates for recipients. I habe not found this as a requirement of
the Aegypten project.
Matthias Kalle Dalheimer [Wed, 27 Feb 2002 20:59:20 +0000 (20:59 +0000)]
select the signature algorithm - dummy in gpgme.c
Marcus Brinkmann [Wed, 27 Feb 2002 00:59:31 +0000 (00:59 +0000)]
doc/
2002-02-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Listing Keys): Document gpgme_op_keylist_ext_start.
gpgme/
2002-02-27 Marcus Brinkmann <marcus@g10code.de>
* rungpg.h (_gpgme_gpg_op_keylist_ext): New prototype.
* rungpg.c (_gpgme_gpg_op_keylist_ext): New function.
* engine-gpgsm.h (_gpgme_gpgsm_op_keylist_ext): New prototype.
* engine-gpgsm.c (_gpgme_gpgsm_op_keylist_ext): New function.
* engine.h (_gpgme_engine_op_keylist_ext): New prototype.
* engine.c (_gpgme_engine_op_keylist_ext): New function.
* keylist.c (gpgme_op_keylist_ext_start): New function.
Marcus Brinkmann [Tue, 26 Feb 2002 23:39:58 +0000 (23:39 +0000)]
doc/
2002-02-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Encrypting a Plaintext): Document
GPGME_Invalid_Recipients.
(Error Values): Likewise.
gpgme/
2002-02-27 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h: Add new error code GPGME_Invalid_Recipient.
* encrypt.c (struct encrypt_result_s): New member invalid_recipients,
rename no_recipients to no_valid_recipients.
(_gpgme_encrypt_status_handler): Include error for invalid
recipients.
* engine-gpgsm.c (gpgsm_set_recipients): Change type of first
argument to GpgsmObject. Use that to report back the status about
the recipients.
Marcus Brinkmann [Tue, 26 Feb 2002 23:19:19 +0000 (23:19 +0000)]
2002-02-27 Marcus Brinkmann <marcus@g10code.de>
* gpgmeplug.c (signMessage): Fix code syntax.
Marcus Brinkmann [Tue, 26 Feb 2002 22:41:31 +0000 (22:41 +0000)]
2002-02-26 Marcus Brinkmann <marcus@g10code.de>
* verify.c (_gpgme_verify_status_handler): Fix the last change.
Karl-Heinz Zimmer [Tue, 26 Feb 2002 01:01:28 +0000 (01:01 +0000)]
now signMessage() calls the gpgme_set_include_certs() function before each call of gpgme_op_sign
Marcus Brinkmann [Tue, 26 Feb 2002 00:08:09 +0000 (00:08 +0000)]
doc/
2002-02-26 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Encrypting a Plaintext): Document
gpgme_op_encrypt_sign and gpgme_op_encrypt_sign_start.
gpgme/
2002-02-25 Marcus Brinkmann <marcus@g10code.de>
* engine.c (_gpgme_engine_op_encrypt_sign): New function.
* engine.h (_gpgme_engine_op_encrypt_sign): New prototype.
* rungpg.c (_gpgme_append_gpg_args_from_signers): New function.
(_gpgme_gpg_op_sign): Use that new function.
(_gpgme_gpg_op_encrypt_sign): New function.
* rungpg.h (_gpgme_gpg_op_encrypt_sign): New prototype.
* gpgme.h (gpgme_op_encrypt_sign_start): New prototype.
(gpgme_op_encrypt_sign): Likewise.
* Makefile.am (libgpgme_la_SOURCES): Add encrypt-sign.c.
* ops.h (_gpgme_encrypt_status_handler): Add prototype.
(_gpgme_sign_status_handler): Add prototype.
* sign.c (sign_status_handler): Rename to ...
(_gpgme_sign_status_handler): ... this and make non-static.
* encrypt.c (encrypt_status_handler): Rename to ...
(_gpgme_encrypt_status_handler): ... this and make non-static.
* encrypt.c (gpgme_op_encrypt_start): Use new status handler name.
* sign.c (gpgme_op_sign_start): Likewise.
tests/
2002-02-26 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-encrypt-sign.c: New file.
* gpg/Makefile.am (TESTS): Add t-encrypt-sign.
Marcus Brinkmann [Mon, 25 Feb 2002 19:08:51 +0000 (19:08 +0000)]
2002-02-25 Marcus Brinkmann <marcus@g10code.de>
* verify.c (_gpgme_verify_status_handler): Parse the args line to
see if the problem is due to a missing key, and report that back
to the user.
Marcus Brinkmann [Mon, 25 Feb 2002 18:34:17 +0000 (18:34 +0000)]
Fix typo.
Marcus Brinkmann [Mon, 25 Feb 2002 18:31:07 +0000 (18:31 +0000)]
doc/
2002-02-25 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Creating a Signature): Add a note about
certifications to include.
(Included Certifications): New section.
gpgme/
2002-02-25 Marcus Brinkmann <marcus@g10code.de>
* context.h (struct gpgme_context_s): New member include_certs.
* gpgme.h (gpgme_set_include_certs): Add prototype.
(gpgme_get_include_certs): Likewise.
* gpgme.c (gpgme_set_include_certs): New function.
(gpgme_get_include_certs): Likewise.
(gpgme_new): Set include_certs to 1 (the default).
* engine.c (_gpgme_engine_op_sign): Accept new argument include_certs,
and pass it to _gpgme_gpgsm_op_sign.
* engine.h (_gpgme_engine_op_sign): Likewise for prototype.
* engine-gpgsm.c (_gpgme_gpgsm_op_sign): Accept new argument
include_certs and handle it.
* engine-gpgsm.h (_gpgme_gpgsm_start): Add new argument include_certs.
* sign.c (gpgme_op_sign_start): Add new argument to
_gpgme_engine_op_sign call.
Karl-Heinz Zimmer [Mon, 18 Feb 2002 16:45:00 +0000 (16:45 +0000)]
fixed wrong GPGMEPLUG_SIGN_CTYPE_CODE parameter for S/MIME
Werner Koch [Thu, 14 Feb 2002 12:43:28 +0000 (12:43 +0000)]
* keylist.c (gpgme_op_keylist_start): Do not use a verbose listing.
Steffen Hansen [Wed, 13 Feb 2002 19:23:00 +0000 (19:23 +0000)]
Removed temporary passphrase callback
Werner Koch [Wed, 13 Feb 2002 15:05:19 +0000 (15:05 +0000)]
Write a fake gpg-agent so that we can supply known passphrases to
gpgsm and setup the configuration files to use the agent. Without
this we are testing a currently running gpg-agent which is not a
clever idea.
Werner Koch [Wed, 13 Feb 2002 15:02:09 +0000 (15:02 +0000)]
* gpgsm/Makefile.am (private-keys-v1.d): Don't
fail when the directory already exists.
Werner Koch [Wed, 13 Feb 2002 14:59:50 +0000 (14:59 +0000)]
* vasprintf.c, fopencookie.c: Add replacement functions.
* util.h: Add prototypes for them.
Werner Koch [Wed, 13 Feb 2002 14:59:22 +0000 (14:59 +0000)]
* configure.ac (vasprintf,fopencookie): Add checks.
Marcus Brinkmann [Tue, 12 Feb 2002 22:08:10 +0000 (22:08 +0000)]
2002-02-12 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_INIT): Bump version to 0.3.3.
* jnlib/Makefile.am: Rever to older version that includes xmalloc
but not dotlock and some other files. Reported by St�phane
Corth�sy.
tests/
2002-02-12 Marcus Brinkmann <marcus@g10code.de>
* gpg/Makefile.am (CLEANFILES): New target.
(distclean-local): Rename to ...
(clean-local): ... this.
Marcus Brinkmann [Tue, 12 Feb 2002 17:57:34 +0000 (17:57 +0000)]
Reverting last change.
Marcus Brinkmann [Sun, 10 Feb 2002 13:31:36 +0000 (13:31 +0000)]
2002-02-10 Marcus Brinkmann <marcus@g10code.de>
* Released 0.3.2.
* configure.ac (AC_INIT): Bump version to 0.3.2.
* jnlib/libjnlibconfig.h: Revert to older version that doesn't
expect libgcrypt. Reported by Jose Carlos Garcia Sogo
<jsogo@debian.org>.
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
Marcus Brinkmann [Sat, 9 Feb 2002 21:41:46 +0000 (21:41 +0000)]
Revert last change to this file.
Repo Admin [Sat, 9 Feb 2002 01:04:12 +0000 (01:04 +0000)]
This commit was manufactured by cvs2svn to create tag 'gpgme-0-3-1'.
Marcus Brinkmann [Sat, 9 Feb 2002 01:04:12 +0000 (01:04 +0000)]
Update as edited by configure.
Marcus Brinkmann [Sat, 9 Feb 2002 00:59:14 +0000 (00:59 +0000)]
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (AC_INIT): Bump version to 0.3.1
Marcus Brinkmann [Sat, 9 Feb 2002 00:58:42 +0000 (00:58 +0000)]
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/Makefile.am (./private-keys-v1.d/$(key_id).key): Fix rule.
Marcus Brinkmann [Sat, 9 Feb 2002 00:58:22 +0000 (00:58 +0000)]
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_assuan_simple_command): Return 0 if we
reach the end of the function.
Marcus Brinkmann [Sat, 9 Feb 2002 00:35:04 +0000 (00:35 +0000)]
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Generating Keys): Fix syntax error.
Marcus Brinkmann [Sat, 9 Feb 2002 00:26:58 +0000 (00:26 +0000)]
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
* Released 0.3.1.
* configure.ac (LIBGPGME_LT_CURRENT): Bump it up to 6!
(NEED_GPGSM_VERSION): Bump it up to 0.3.0!
Marcus Brinkmann [Sat, 9 Feb 2002 00:20:48 +0000 (00:20 +0000)]
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Detailed Results): Remove literal tags.
(Generating Keys): Update documentation.
Marcus Brinkmann [Sat, 9 Feb 2002 00:07:59 +0000 (00:07 +0000)]
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/t-genkey.c: New file (not added to Makefile.am because of
gpg-agent bug).
Marcus Brinkmann [Sat, 9 Feb 2002 00:06:32 +0000 (00:06 +0000)]
2002-02-09 Marcus Brinkmann <marcus@g10code.de>
* genkey.c (gpgme_op_genkey_start): Fix logic in validity check.
(gpgme_op_genkey_start): Skip newlines after opening tag.
* engine-gpgsm.c (_gpgme_gpgsm_start): Remove cruft.
Marcus Brinkmann [Fri, 8 Feb 2002 22:43:44 +0000 (22:43 +0000)]
2002-02-08 Marcus Brinkmann <marcus@g10code.de>
* genkey.c (gpgme_op_genkey_start): Allow PUBKEY and SECKEY to be
set, and pass them down to the crypto engine.
* engine-gpgsm.h (_gpgme_gpgsm_start): New arguments PUBKEY and SECKEY.
* engine.h: Likewise.
* rungpg.h (_gpgme_gpg_spawn): Likewise.
* engine.c (_gpgme_engine_op_genkey): Likewise. Use those
arguments.
* rungpg.c (_gpgme_gpg_op_genkey): Likewise. Complain if those
arguments are set.
* engine-gpgsm.c (_gpgme_gpgsm_op_genkey): Likewise. Implement
function.
* engine-gpgsm.c (_gpgme_gpgsm_op_keylist): Beautify comment.
Marcus Brinkmann [Fri, 8 Feb 2002 22:36:57 +0000 (22:36 +0000)]
2002-02-08 Marcus Brinkmann <marcus@g10code.de>
* gpgsm/Makefile.am (key_id): Update value.
(all-local): Add .key to keyid filename.
(./private-keys-v1.d/$(key_id)): Renamed to ...
(./private-keys-v1.d/$(key_id).key): ... this.
(all-local): Add ./gpgsm.conf, ./trustlist.txt.
(./gpgsm.conf, ./trustlist.txt): New target.
* gpgsm/
567064FE6D14A17B2D811ABB407728BC558AA455: Renamed to ...
* gpgsm/
32100C27173EF6E9C4E9A25D3D69F86D37A4F939: ... this.
Marcus Brinkmann [Wed, 6 Feb 2002 01:41:15 +0000 (01:41 +0000)]
Add 2002 as copyright year for files changed recently without updating the
year.
Marcus Brinkmann [Wed, 6 Feb 2002 01:40:48 +0000 (01:40 +0000)]
Some minor source code cleanup.
Marcus Brinkmann [Wed, 6 Feb 2002 01:34:52 +0000 (01:34 +0000)]
2002-02-06 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (_gpgme_gpg_op_keylist): Remove handling of keylist
mode (for now).
Marcus Brinkmann [Wed, 6 Feb 2002 01:30:27 +0000 (01:30 +0000)]
Update some items.
Marcus Brinkmann [Wed, 6 Feb 2002 01:21:41 +0000 (01:21 +0000)]
Fill in some missing repetitive "Likewise." explanations.
Marcus Brinkmann [Wed, 6 Feb 2002 01:20:49 +0000 (01:20 +0000)]
doc/
2002-02-06 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Waiting For Completion): Adjust doc to changes in
the code.
gpgme/
2002-02-06 Marcus Brinkmann <marcus@g10code.de>
* wait.c (gpgme_wait): Add new argument STATUS, in which the
status of the returned context is returned.
(_gpgme_wait_on_condition): Rework the function a bit, to make it
aware of cancelled processes, and to allow to use gpgme_wait with
CTX being NULL (as documented in the source).
(struct proc_s): New member REPORTED.
* gpgme.h: Fix prototype.
* verify.c (gpgme_op_verify): Fix use of gpgme_wait.
* sign.c (gpgme_op_sign):
* import.c (gpgme_op_import):
* genkey.c (gpgme_op_genkey):
* export.c (gpgme_op_export):
* encrypt.c (gpgme_op_encrypt):
* delete.c (gpgme_op_delete):
* decrypt-verify.c (gpgme_op_decrypt_verify):
Marcus Brinkmann [Wed, 6 Feb 2002 00:08:47 +0000 (00:08 +0000)]
doc/
2002-02-06 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Key Listing Mode): Update documentation.
gpgme/
2002-02-06 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_set_keylist_mode): Possibly return an error
value.
(gpgme_get_keylist_mode): New function.
(gpgme_new): Set the default for keylist_mode member of CTX.
* gpgme.h (gpgme_set_keylist_mode): Fix prototype.
(gpgme_get_keylist_mode): New prototype.
(GPGME_KEYLIST_MODE_LOCAL): New macro.
(GPGME_KEYLIST_MODE_EXTERN): Likewise..
Marcus Brinkmann [Sat, 2 Feb 2002 03:52:59 +0000 (03:52 +0000)]
2002-02-02 Marcus Brinkmann <marcus@g10code.de>
This patch has gotten a bit large... mmh. The main thing that
happens here is that error values are now not determined in the
operation function after gpgme_wait completed, but in the status
handler when EOF is received. It should always be the case that
either an error is flagged or EOF is received, so that after a
gpgme_wait you should never have the situation that no error is
flagged and EOF is not received. One problem is that the engine
status handlers don't have access to the context, a horrible
kludge works around this for now. All errors that happen during a
pending operation should be catched and reported in ctx->error,
including out-of-core and cancellation. This rounds up neatly a
couple of loose ends, and makes it possible to pass up any errors
in the communication with the backend as well. As a bonus, there
will be a function to access gpgme->wait, so that the operations
can truly be implemented with their _start function.
* engine-gpgsm.c (gpgsm_status_handler): Horrible kludge to report
error back to the context.
* rungpg.c (gpg_status_handler): Same horrible kludge applied here.
* engine-gpgsm.c (gpgsm_assuan_simple_command): Add error checking.
* wait.c (_gpgme_wait_on_condition): If canceled, set CTX->error
to a value indication that.
* verify.c (add_notation): Set error, not out_of_core.
(finish_sig): Likewise.
(gpgme_op_verify_start): Don't clear out_of_core.
(_gpgme_verify_status_handler): At EOF, clean up the notation data.
(gpgme_op_verify): And don't do it here.
* trustlist.c (trustlist_status_handler): Check error, not out_of_core.
(gpgme_op_trustlist_start): Don't clear out_of_core.
(gpgme_op_trustlist_next): Check error, not out_of_core.
(gpgme_op_trustlist_end): Likewise.
* ops.h (test_and_allocate_result): New macro.
(_gpgme_passphrase_result): Remove prototype.
* delete.c (gpgme_op_delete): Return error from context.
(delete_status_handler): Use macro test_and_allocate_result.
Perform error checking at EOF.
(gpgme_op_delete_start): Release result.
* passphrase.c (_gpgme_passphrase_status_handler): Use macro
test_and_allocate_result, and perform error checking here.
(_gpgme_passphrase_result): Function removed.
* sign.c (gpgme_op_sign_start): Do not set out_of_core to zero.
(gpgme_op_sign): Just return the error value from the context.
(sign_status_handler): Only progress if no error is set yet. If
we process an EOF, set the resulting error value (if any).
* decrypt.c (_gpgme_decrypt_result): Function removed.
(create_result_struct): Function removed.
(_gpgme_decrypt_status_handler): Use macro test_and_allocate_result,
caclulate error on EOF, do not progress with errors.
(_gpgme_decrypt_start): Do not set out_of_core to zero.
(gpgme_op_decrypt): Just return the error value from the context.
* encrypt.c (encrypt_status_handler): Perform the error checking
here.
(gpgme_op_encrypt_start): Do not clear out_of_core.
* export.c (export_status_handler): Return if error is set in context.
(gpgme_op_export_start): Release result.
(gpgme_op_export): Return error from context.
* decrypt-verify.c (gpgme_op_decrypt_verify): Return the error in
the context.
* genkey.c (genkey_status_handler): Use macro
test_and_allocate_result. Perform error checking at EOF.
(gpgme_op_genkey): Just return the error from context.
* import.c (gpgme_op_import): Return the error from context.
(import_status_handler): Use macro test_and_allocate_result.
* keylist.c (gpgme_op_keylist_start): Do not clear out_of_core.
(gpgme_op_keylist_next): Return error of context.
(keylist_colon_handler): Set error instead out_of_code.
(finish_key): Likewise.
* context.h: Remove member out_of_core, add member error.
* gpgme.c (_gpgme_release_result): Clear error flag.
* engine.h (_gpgme_engine_get_error): New prototype.
* engine.c (_gpgme_engine_get_error): New function.
* engine-gpgsm.c (_gpgme_gpgsm_get_error): New function.
* engine-gpgsm.c (map_assuan_error): New function.
(gpgsm_assuan_simple_command): Change return type to GpgmeError,
use the new function to map error values.
(gpgsm_set_fd): Change return type tp GpgmeError.
(_gpgme_gpgsm_op_decrypt): Change type of ERR to GpgmeError.
(gpgsm_set_recipients): Likewise. Change type of return value
equivalently. Adjust error values.
(_gpgme_gpgsm_op_import): Likewise.
(_gpgme_gpgsm_op_sign): Likewise.
(struct gpgsm_object_s): New member error.
(gpgsm_status_handler): Set error if error occurs. Determine
error number from ERR line received. If assuan_read_line fails,
terminate the connection.
Marcus Brinkmann [Fri, 1 Feb 2002 20:28:59 +0000 (20:28 +0000)]
2002-02-01 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (MOSTLYCLEANFILES): New variable.
Marcus Brinkmann [Fri, 1 Feb 2002 20:28:35 +0000 (20:28 +0000)]
2002-02-01 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (EXTRA_gpgme_openpgp_la_SOURCES): New variable.
(EXTRA_gpgme_smime_la_SOURCES): Likewise.
* gpgmeplug.c (passphrase_cb): Fix type of third argument.
Marcus Brinkmann [Fri, 1 Feb 2002 19:54:25 +0000 (19:54 +0000)]
Update to latest version.
Marcus Brinkmann [Fri, 1 Feb 2002 18:10:19 +0000 (18:10 +0000)]
2002-02-01 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (gpgsm_status_handler): At error, terminate the
connection to the server.
Marcus Brinkmann [Thu, 31 Jan 2002 15:27:49 +0000 (15:27 +0000)]
Really add this file.
Marcus Brinkmann [Thu, 31 Jan 2002 00:31:44 +0000 (00:31 +0000)]
doc/
2002-01-31 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Generating Keys): Document error at creation
failure.
gpgme/
2002-01-31 Marcus Brinkmann <marcus@g10code.de>
* rungpg.h: Add STATUS_KEY_CREATED.
* progress.c: New file.
* Makefile.am (libgpgme_la_SOURCES): Add progress.c.
* genkey.c (genkey_status_handler): Use
_gpgme_progress_status_handler. Add check for status.
(struct genkey_result_s): New structure.
(_gpgme_release_genkey_result): New function.
(gpgme_op_genkey): Check for error.
* gpgme.c (_gpgme_release_result): Call
_gpgme_release_genkey_result.
* ops.h (_gpgme_release_genkey_result): Add prototype.
* types.h (GenKeyResult): New type.
* context.h (gpgme_context_s): Add GenKeyResult to member result.
Marcus Brinkmann [Wed, 30 Jan 2002 22:48:09 +0000 (22:48 +0000)]
2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Deleting Keys): Document new error values.
Marcus Brinkmann [Wed, 30 Jan 2002 22:45:22 +0000 (22:45 +0000)]
2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (_gpgme_release_result): Call
_gpgme_release_delete_result.
* ops.h (_gpgme_release_delete_result): Add prototype.
* types.h (DeleteResult): New type.
* context.h (gpgme_context_s): Add DeleteResult to member result.
* delete.c (enum delete_problem): New type.
(struct delete_result_s): New structure.
(_gpgme_release_delete_result): New function.
(delete_status_handler): Implement more status codes.
(gpgme_op_delete): Return error on failure.
* import.c (MAX_IMPORTED_FIELDS): Bump up to 14.
Marcus Brinkmann [Wed, 30 Jan 2002 21:52:32 +0000 (21:52 +0000)]
doc/
2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Importing Keys): Add reference to gpgme_get_op_info.
gpgme/
2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* import.c (struct import_result_s): New structure.
(_gpgme_release_import_result): New function.
(append_xml_impinfo): Likewise.
(import_status_handler): Implement.
* gpgme.c (_gpgme_release_result): Add call to
_gpgme_release_import_result.
* ops.h (_gpgme_release_impoer_result): Add prototype.
* types.h (ImportResult): New type.
* context.h (gpgme_context_s): Add ImportResult to member result.
* encrypt.c (gpgme_op_encrypt): Code clean up.
tests/
2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-import.c (print_op_info): New function.
(main): Use it.
Marcus Brinkmann [Wed, 30 Jan 2002 01:47:29 +0000 (01:47 +0000)]
Be a bit clearer.
Marcus Brinkmann [Wed, 30 Jan 2002 01:43:05 +0000 (01:43 +0000)]
2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi: Some spell checking.
Marcus Brinkmann [Wed, 30 Jan 2002 01:21:55 +0000 (01:21 +0000)]
Add more about status handler.
Marcus Brinkmann [Wed, 30 Jan 2002 01:17:30 +0000 (01:17 +0000)]
doc/
2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi: Add all the gpgme_op_*_start functions.
Fill the concept index with many, many entries.
gpgme/
2002-01-30 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h: Add lots of comment and fix the formatting. Add
gpgme_trustlist_end prototype.
Marcus Brinkmann [Tue, 29 Jan 2002 22:59:15 +0000 (22:59 +0000)]
Add copyright year.
Marcus Brinkmann [Tue, 29 Jan 2002 22:58:25 +0000 (22:58 +0000)]
doc/
2002-01-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Run Control): New section.
(Verify): Docuent gpgme_get_notation.
(More Information): New section describing gpgme_get_op_info.
gpgme/
2002-01-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h: Add new type GpgmeIdleFunc. Change type of
gpgme_register_idle to return and accept this type.
* wait.c (gpgme_register_idle): Fix type.
Save and return old value of idle_function.
Werner Koch [Tue, 29 Jan 2002 10:04:41 +0000 (10:04 +0000)]
* engine-gpgsm.c (_gpgme_gpgsm_op_keylist): Implement secret only mode.
* keylist.c (keylist_colon_handler): Add support for the new "crs"
record type.
Marcus Brinkmann [Tue, 22 Jan 2002 18:14:33 +0000 (18:14 +0000)]
Delete obsolete item.
Marcus Brinkmann [Tue, 22 Jan 2002 16:55:58 +0000 (16:55 +0000)]
Some small updates.
Marcus Brinkmann [Tue, 22 Jan 2002 16:36:08 +0000 (16:36 +0000)]
2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* engine-gpgsm.c (_gpgme_gpgsm_release): Call assuan_disconnect,
not assuan_pipe_disconnect.
* Makefile.am (libgpgme_la_LIBADD): Change to link assuan and
jnlib (needed by assuan) statically into libgpgme. Linking a
static library into a shared library this way is not portable.
Marcus Brinkmann [Tue, 22 Jan 2002 16:34:52 +0000 (16:34 +0000)]
2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (HAVE_JNLIB_LOGGING): Define always for assuan.
Marcus Brinkmann [Tue, 22 Jan 2002 16:29:12 +0000 (16:29 +0000)]
Update to current version in newpg module.
Marcus Brinkmann [Tue, 22 Jan 2002 15:34:17 +0000 (15:34 +0000)]
Remove obsolete item.
Marcus Brinkmann [Tue, 22 Jan 2002 15:32:44 +0000 (15:32 +0000)]
doc/
2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Passphrase callback): Change GpgmePassphraseCb's
R_HD type from void* to void**.
gpgme/
2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (GpgmePassphraseCb): Change type of R_HD from void* to
void**.
tests/
2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* gpg/t-signers.c (passphrase_cb): Change type of r_hd to void**.
* gpg/t-sign.c (passphrase_cb): Likewise.
* gpg/t-decrypt-verify.c (passphrase_cb): Likewise.
* gpg/t-decrypt.c (passphrase_cb): Likewise.
Marcus Brinkmann [Tue, 22 Jan 2002 15:21:42 +0000 (15:21 +0000)]
doc/
2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Creating data buffers): Change
gpgme_data_new_from_filepart's LENGTH type from off_t to size_t.
gpgme/
2002-01-22 Marcus Brinkmann <marcus@g10code.de>
* data.c (gpgme_data_new_from_filepart): Change type of LENGTH
from off_t to size_t.
* gpgme.h: Likewise.