diff options
-rw-r--r-- | doc/gpgme.texi | 10 | ||||
-rw-r--r-- | src/gpgme.h.in | 15 | ||||
-rw-r--r-- | src/util.h | 1 | ||||
-rw-r--r-- | tests/run-decrypt.c | 3 | ||||
-rw-r--r-- | tests/run-keylist.c | 7 | ||||
-rw-r--r-- | tests/run-verify.c | 6 |
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; @@ -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) |