summaryrefslogtreecommitdiff
path: root/guile
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-08-31 16:33:33 +0200
committerLudovic Courtès <ludo@gnu.org>2019-08-31 16:42:39 +0200
commitf141ab11e7d16e23a55bdffcc03cd1c61497a801 (patch)
tree3d73ce2d8a096c762aec1e6ef85a43d7f61fd810 /guile
parent6522c27d70d29cdb67cbfe5864e2f02bdda69970 (diff)
downloadgnutls-f141ab11e7d16e23a55bdffcc03cd1c61497a801.tar.gz
guile: Update the list of certificate status values.
* guile/modules/gnutls/build/enums.scm (%certificate-status-enum): Add 'gnutls_certificate_status_t' values that were missing. * guile/src/core.c (scm_gnutls_peer_certificate_status): Add 'MATCH_STATUS' clauses to handle them. * guile/modules/gnutls.in: Export them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'guile')
-rw-r--r--guile/modules/gnutls.in12
-rw-r--r--guile/modules/gnutls/build/enums.scm7
-rw-r--r--guile/src/core.c12
3 files changed, 30 insertions, 1 deletions
diff --git a/guile/modules/gnutls.in b/guile/modules/gnutls.in
index eed0ffcf8e..7cd08f18f1 100644
--- a/guile/modules/gnutls.in
+++ b/guile/modules/gnutls.in
@@ -222,6 +222,18 @@
certificate-status/signer-not-found
certificate-status/signer-not-ca
certificate-status/insecure-algorithm
+ certificate-status/not-activated
+ certificate-status/expired
+ certificate-status/signature-failure
+ certificate-status/revocation-data-superseded
+ certificate-status/unexpected-owner
+ certificate-status/revocation-data-issued-in-future
+ certificate-status/signer-constraints-failed
+ certificate-status/mismatch
+ certificate-status/purpose-mismatch
+ certificate-status/missing-ocsp-status
+ certificate-status/invalid-ocsp-status
+ certificate-status/unknown-crit-extensions
certificate-request/ignore
certificate-request/request
certificate-request/require
diff --git a/guile/modules/gnutls/build/enums.scm b/guile/modules/gnutls/build/enums.scm
index 6554099f06..117059b0e3 100644
--- a/guile/modules/gnutls/build/enums.scm
+++ b/guile/modules/gnutls/build/enums.scm
@@ -395,7 +395,12 @@ unrecognized-name unknown-psk-identity)
(define %certificate-status-enum
(make-enum-type 'certificate-status "gnutls_certificate_status_t"
'(invalid revoked signer-not-found signer-not-ca
- insecure-algorithm)
+ insecure-algorithm not-activated expired
+ signature-failure revocation-data-superseded
+ unexpected-owner revocation-data-issued-in-future
+ signer-constraints-failure mismatch purpose-mismatch
+ missing-ocsp-status invalid-ocsp-status
+ unknown-crit-extensions)
#f
"GNUTLS_CERT_"))
diff --git a/guile/src/core.c b/guile/src/core.c
index dc6611a4d7..d78e53bbc9 100644
--- a/guile/src/core.c
+++ b/guile/src/core.c
@@ -1895,6 +1895,18 @@ SCM_DEFINE (scm_gnutls_peer_certificate_status, "peer-certificate-status",
MATCH_STATUS (GNUTLS_CERT_SIGNER_NOT_FOUND);
MATCH_STATUS (GNUTLS_CERT_SIGNER_NOT_CA);
MATCH_STATUS (GNUTLS_CERT_INSECURE_ALGORITHM);
+ MATCH_STATUS (GNUTLS_CERT_NOT_ACTIVATED);
+ MATCH_STATUS (GNUTLS_CERT_EXPIRED);
+ MATCH_STATUS (GNUTLS_CERT_SIGNATURE_FAILURE);
+ MATCH_STATUS (GNUTLS_CERT_REVOCATION_DATA_SUPERSEDED);
+ MATCH_STATUS (GNUTLS_CERT_UNEXPECTED_OWNER);
+ MATCH_STATUS (GNUTLS_CERT_REVOCATION_DATA_ISSUED_IN_FUTURE);
+ MATCH_STATUS (GNUTLS_CERT_SIGNER_CONSTRAINTS_FAILURE);
+ MATCH_STATUS (GNUTLS_CERT_MISMATCH);
+ MATCH_STATUS (GNUTLS_CERT_PURPOSE_MISMATCH);
+ MATCH_STATUS (GNUTLS_CERT_MISSING_OCSP_STATUS);
+ MATCH_STATUS (GNUTLS_CERT_INVALID_OCSP_STATUS);
+ MATCH_STATUS (GNUTLS_CERT_UNKNOWN_CRIT_EXTENSIONS);
if (EXPECT_FALSE (c_status != 0))
/* XXX: We failed to interpret one of the status flags. */