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.
This commit is contained in:
parent
826736608a
commit
02a1dbee30
11
NEWS
11
NEWS
@ -4,10 +4,21 @@ Noteworthy changes in version 1.1.0 (unreleased)
|
||||
* You can now configure the backend engine file name and home
|
||||
directory to be used, as default and per context.
|
||||
|
||||
* Previousy, GPGME would use a default "include certs" of 1. This
|
||||
has been changed. Now GPGME will use the crypto backend engines
|
||||
default unless you set the value with gpgme_set_include_certs()
|
||||
explicitely. A new macro GPGME_INCLUDE_CERTS_DEFAULT can be used
|
||||
as a value to explicitely request the new default behaviour.
|
||||
|
||||
Because the default changes, this is a slight change of the API
|
||||
semantics. We consider it to be a bug fix.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
gpgme_set_engine_info NEW
|
||||
gpgme_ctx_get_engine_info NEW
|
||||
gpgme_ctx_set_engine_info NEW
|
||||
gpgme_set_include_certs CHANGED DEFAULT
|
||||
GPGME_INCLUDE_CERTS_DEFAULT NEW
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2005-04-28 Marcus Brinkmann <marcus@g10code.de>
|
||||
|
||||
* gpgme.texi (Included Certificates): Document
|
||||
GPGME_INCLUDE_CERTS_DEFAULT.
|
||||
|
||||
2005-01-12 Marcus Brinkmann <marcus@g10code.de>
|
||||
|
||||
* gpgme.texi (Engine Configuration): New section.
|
||||
|
@ -2028,6 +2028,9 @@ default, only the sender's certificate is included. The possible
|
||||
values of @var{nr_of_certs} are:
|
||||
|
||||
@table @code
|
||||
@item GPGME_INCLUDE_CERTS_DEFAULT
|
||||
Fall back to the default of the crypto backend. This is the default
|
||||
for GPGME.
|
||||
@item -2
|
||||
Include all certificates except the root certificate.
|
||||
@item -1
|
||||
|
@ -1,3 +1,12 @@
|
||||
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-21 Werner Koch <wk@g10code.com>
|
||||
|
||||
* verify.c (calc_sig_summary): Set the key revoked bit.
|
||||
|
@ -1437,19 +1437,27 @@ gpgsm_sign (void *engine, gpgme_data_t in, gpgme_data_t out,
|
||||
if (!gpgsm)
|
||||
return gpg_error (GPG_ERR_INV_VALUE);
|
||||
|
||||
if (asprintf (&assuan_cmd, "OPTION include-certs %i", include_certs) < 0)
|
||||
return gpg_error_from_errno (errno);
|
||||
err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, assuan_cmd, NULL,NULL);
|
||||
free (assuan_cmd);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
/* We must send a reset because we need to reset the list of
|
||||
signers. Note that RESET does not reset OPTION commands. */
|
||||
err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, "RESET", NULL, NULL);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (include_certs != GPGME_INCLUDE_CERTS_DEFAULT)
|
||||
{
|
||||
/* FIXME: Make sure that if we run multiple operations, that we
|
||||
can reset any previously set value in case the default is
|
||||
requested. */
|
||||
|
||||
if (asprintf (&assuan_cmd, "OPTION include-certs %i", include_certs) < 0)
|
||||
return gpg_error_from_errno (errno);
|
||||
err = gpgsm_assuan_simple_command (gpgsm->assuan_ctx, assuan_cmd,
|
||||
NULL, NULL);
|
||||
free (assuan_cmd);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
||||
for (i = 0; (key = gpgme_signers_enum (ctx, i)); i++)
|
||||
{
|
||||
const char *s = key->subkeys ? key->subkeys->fpr : NULL;
|
||||
|
@ -222,12 +222,14 @@ gpgme_get_textmode (gpgme_ctx_t ctx)
|
||||
|
||||
|
||||
/* Set the number of certifications to include in an S/MIME message.
|
||||
The default is 1 (only the cert of the sender). -1 means all
|
||||
certs, and -2 means all certs except the root cert. */
|
||||
The default is GPGME_INCLUDE_CERTS_DEFAULT. -1 means all certs,
|
||||
and -2 means all certs except the root cert. */
|
||||
void
|
||||
gpgme_set_include_certs (gpgme_ctx_t ctx, int nr_of_certs)
|
||||
{
|
||||
if (nr_of_certs < -2)
|
||||
if (nr_of_certs == GPGME_INCLUDE_CERTS_DEFAULT)
|
||||
ctx->include_certs = GPGME_INCLUDE_CERTS_DEFAULT;
|
||||
else if (nr_of_certs < -2)
|
||||
ctx->include_certs = -2;
|
||||
else
|
||||
ctx->include_certs = nr_of_certs;
|
||||
|
@ -706,6 +706,9 @@ void gpgme_set_textmode (gpgme_ctx_t ctx, int yes);
|
||||
/* Return non-zero if text mode is set in CTX. */
|
||||
int gpgme_get_textmode (gpgme_ctx_t ctx);
|
||||
|
||||
/* Use whatever the default of the backend crypto engine is. */
|
||||
#define GPGME_INCLUDE_CERTS_DEFAULT -256
|
||||
|
||||
/* Include up to NR_OF_CERTS certificates in an S/MIME message. */
|
||||
void gpgme_set_include_certs (gpgme_ctx_t ctx, int nr_of_certs);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user