aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/gpgme.texi10
-rw-r--r--src/gpgme.h.in15
-rw-r--r--src/util.h1
-rw-r--r--tests/run-decrypt.c3
-rw-r--r--tests/run-keylist.c7
-rw-r--r--tests/run-verify.c6
6 files changed, 33 insertions, 9 deletions
diff --git a/doc/gpgme.texi b/doc/gpgme.texi
index 0e64254b..004d66ba 100644
--- a/doc/gpgme.texi
+++ b/doc/gpgme.texi
@@ -3645,6 +3645,11 @@ information in Germany at the restricted level (VS-NfD). This are
currently RSA keys of at least 2048 bits or ECDH/ECDSA keys using a
Brainpool curve.
+@item unsigned int beta_complinance : 1;
+@since{1.24.0}
+The compliance flags (e.g. is_de_vs) are set but the software has not
+yet been approved or is in a beta state.
+
@item unsigned int secret : 1
This is true if the subkey is a secret key. Note that it will be
false if the key is actually a stub key; i.e., a secret key operation
@@ -5900,6 +5905,11 @@ The message claims that the content is a MIME object.
The message was encrypted in a VS-NfD compliant way. This is a
specification in Germany for a restricted communication level.
+@item unsigned int beta_complinance : 1;
+@since{1.24.0}
+The compliance flags (e.g. is_de_vs) are set but the software has not
+yet been approved or is in a beta state.
+
@item gpgme_recipient_t recipients
@since{1.1.0}
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index cdd945bf..e2c22362 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -586,8 +586,11 @@ struct _gpgme_subkey
/* True if the private key is possessed by more than one person. */
unsigned int is_group_owned : 1;
+ /* The compliance mode (is_de_vs) has not yet been approved. */
+ unsigned int beta_compliance : 1;
+
/* Internal to GPGME, do not use. */
- unsigned int _unused : 17;
+ unsigned int _unused : 16;
/* Public key algorithm supported by this subkey. */
gpgme_pubkey_algo_t pubkey_algo;
@@ -1455,8 +1458,11 @@ struct _gpgme_op_decrypt_result
* protection. This might be an old but legitimate message. */
unsigned int legacy_cipher_nomdc : 1;
+ /* The compliance mode (is_de_vs) has not yet been approved. */
+ unsigned int beta_compliance : 1;
+
/* Internal to GPGME, do not use. */
- int _unused : 28;
+ int _unused : 27;
gpgme_recipient_t recipients;
@@ -1645,8 +1651,11 @@ struct _gpgme_signature
/* True if the signature is in compliance to the de-vs mode. */
unsigned int is_de_vs : 1;
+ /* The compliance mode (is_de_vs) has not yet been approved. */
+ unsigned int beta_compliance : 1;
+
/* Internal to GPGME, do not use. */
- int _unused : 27;
+ int _unused : 26;
gpgme_validity_t validity;
gpgme_error_t validity_reason;
diff --git a/src/util.h b/src/util.h
index eedad610..03b800a0 100644
--- a/src/util.h
+++ b/src/util.h
@@ -230,6 +230,7 @@ int _gpgme_assuan_log_cb (assuan_context_t ctx, void *hook,
{ \
switch (comp_ul) \
{ \
+ case 2023: (result)->beta_compliance = 1; /*fallthru */ \
case 23: (result)->is_de_vs = 1; break; \
} \
} \
diff --git a/tests/run-decrypt.c b/tests/run-decrypt.c
index 0e38e0d3..6869f4d5 100644
--- a/tests/run-decrypt.c
+++ b/tests/run-decrypt.c
@@ -57,7 +57,8 @@ print_result (gpgme_decrypt_result_t result)
printf ("Original file name .: %s\n", nonnull(result->file_name));
printf ("Wrong key usage ....: %s\n", result->wrong_key_usage? "yes":"no");
printf ("Legacy w/o MDC ... .: %s\n", result->legacy_cipher_nomdc?"yes":"no");
- printf ("Compliance de-vs ...: %s\n", result->is_de_vs? "yes":"no");
+ printf ("Compliance de-vs ...: %s%s\n", result->is_de_vs? "yes":"no",
+ result->is_de_vs && result->beta_compliance? "(beta)":"");
printf ("MIME flag ..........: %s\n", result->is_mime? "yes":"no");
printf ("Unsupported algo ...: %s\n", nonnull(result->unsupported_algorithm));
printf ("Session key ........: %s\n", nonnull (result->session_key));
diff --git a/tests/run-keylist.c b/tests/run-keylist.c
index 9ecf380b..8e784451 100644
--- a/tests/run-keylist.c
+++ b/tests/run-keylist.c
@@ -325,7 +325,7 @@ main (int argc, char **argv)
key->has_sign? "s":"",
key->has_certify? "c":"",
key->has_authenticate? "a":"");
- printf ("flags :%s%s%s%s%s%s%s%s\n",
+ printf ("flags :%s%s%s%s%s%s%s%s%s\n",
key->secret? " secret":"",
key->revoked? " revoked":"",
key->expired? " expired":"",
@@ -333,6 +333,8 @@ main (int argc, char **argv)
key->invalid? " invalid":"",
key->is_qualified? " qualified":"",
key->subkeys && key->subkeys->is_de_vs? " de-vs":"",
+ key->subkeys && key->subkeys->is_de_vs
+ && key->subkeys->is_de_vs? "(beta)":"",
key->subkeys && key->subkeys->is_cardkey? " cardkey":"");
printf ("upd : %lu (%u)\n", key->last_update, key->origin);
if (key->chain_id)
@@ -360,7 +362,7 @@ main (int argc, char **argv)
subkey->can_authenticate? "a":"",
subkey->can_renc? "r":"",
subkey->can_timestamp? "t":"");
- printf ("flags %2d:%s%s%s%s%s%s%s%s%s\n",
+ printf ("flags %2d:%s%s%s%s%s%s%s%s%s%s\n",
nsub,
subkey->secret? " secret":"",
subkey->revoked? " revoked":"",
@@ -370,6 +372,7 @@ main (int argc, char **argv)
subkey->is_group_owned? " group":"",
subkey->is_qualified? " qualified":"",
subkey->is_de_vs? " de-vs":"",
+ subkey->is_de_vs && subkey->beta_compliance? "(beta)":"",
subkey->is_cardkey? " cardkey":"");
}
for (nuids=0, uid=key->uids; uid; uid = uid->next, nuids++)
diff --git a/tests/run-verify.c b/tests/run-verify.c
index 2d53ad19..13efd89f 100644
--- a/tests/run-verify.c
+++ b/tests/run-verify.c
@@ -159,11 +159,11 @@ print_result (gpgme_verify_result_t result)
sig->pka_trust == 0? "n/a" :
sig->pka_trust == 1? "bad" :
sig->pka_trust == 2? "okay": "RFU");
- printf (" other flags:%s%s%s\n",
+ printf (" other flags:%s%s%s%s\n",
sig->wrong_key_usage? " wrong-key-usage":"",
sig->chain_model? " chain-model":"",
- sig->is_de_vs? " de-vs":""
- );
+ sig->is_de_vs? " de-vs":"",
+ sig->is_de_vs && sig->beta_compliance? "(beta)":"");
for (nt = sig->notations; nt; nt = nt->next)
{
if (nt->name)