aboutsummaryrefslogtreecommitdiffstats
path: root/sm
diff options
context:
space:
mode:
Diffstat (limited to 'sm')
-rw-r--r--sm/call-agent.c2
-rw-r--r--sm/gpgsm.h1
-rw-r--r--sm/sign.c6
3 files changed, 7 insertions, 2 deletions
diff --git a/sm/call-agent.c b/sm/call-agent.c
index 06319cf62..698039504 100644
--- a/sm/call-agent.c
+++ b/sm/call-agent.c
@@ -890,6 +890,8 @@ istrusted_status_cb (void *opaque, const char *line)
flags->chain_model = 1;
else if (has_leading_keyword (line, "qual"))
flags->qualified = 1;
+ else if (has_leading_keyword (line, "de-vs"))
+ flags->de_vs = 1;
}
return 0;
}
diff --git a/sm/gpgsm.h b/sm/gpgsm.h
index 6149b8491..cef39ff2a 100644
--- a/sm/gpgsm.h
+++ b/sm/gpgsm.h
@@ -295,6 +295,7 @@ struct rootca_flags_s
unsigned int relax:1; /* Relax checking of root certificates. */
unsigned int chain_model:1; /* Root requires the use of the chain model. */
unsigned int qualified:1; /* Root CA used for qualfied signatures. */
+ unsigned int de_vs:1; /* Root CA is de-vs compliant. */
};
diff --git a/sm/sign.c b/sm/sign.c
index 64bbf8d56..b3b7e1883 100644
--- a/sm/sign.c
+++ b/sm/sign.c
@@ -433,8 +433,8 @@ write_detached_signature (ctrl_t ctrl, const void *blob, size_t bloblen,
estream_t out_fp)
{
gpg_error_t err;
- const unsigned char *p, *psave;
- size_t n, nsave, objlen, objlensave, hdrlen;
+ const unsigned char *p;
+ size_t n, objlen, hdrlen;
int class, tag, cons, ndef;
const unsigned char *p_ctoid, *p_version, *p_algoset, *p_dataoid;
size_t n_ctoid, n_version, n_algoset, n_dataoid;
@@ -445,6 +445,8 @@ write_detached_signature (ctrl_t ctrl, const void *blob, size_t bloblen,
unsigned char *finalder = NULL;
size_t finalderlen;
+ (void)ctrl;
+
p = blob;
n = bloblen;
if ((err=parse_ber_header (&p,&n,&class,&tag,&cons,&ndef,&objlen,&hdrlen)))