guile: Deprecate OpenPGP bindings.
authorLudovic Courtès <ludo@gnu.org>
Thu, 6 Jun 2019 16:30:28 +0000 (18:30 +0200)
committerLudovic Courtès <ludo@gnu.org>
Wed, 12 Jun 2019 09:55:07 +0000 (11:55 +0200)
* guile/modules/gnutls.in (define-deprecated): New macro.
Use it for all the *openpgp* bindings.
* guile/src/core.c: Rename *openpgp* bindings with a '%' prefix.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
guile/modules/gnutls.in
guile/src/core.c

index 193603238ff0a11de5e5fd3677b68f27ab7e1cfe..d705a0db42a32aef5ecdc671d583e765ab62a04d 100644 (file)
   (load-extension (string-append %libdir "/guile-gnutls-v-2")
                   "scm_init_gnutls"))
 
+(cond-expand
+  ((not guile-2)
+   (define-macro (define-deprecated new)
+     `(define ,new ,(symbol-append '% new))))
+  (else
+   (define-syntax define-deprecated
+     (lambda (s)
+       "Define a deprecated variable or procedure, along these lines:
+
+  (define-deprecated variable alias)
+
+This defines 'variable' as an alias for 'alias', and emits a warning when
+'variable' is used."
+       (syntax-case s ()
+         ((_ variable)
+          (with-syntax ((alias (datum->syntax
+                                #'variable
+                                (symbol-append
+                                 '% (syntax->datum #'variable)))))
+            #'(define-deprecated variable alias)))
+         ((_ variable alias)
+          (identifier? #'variable)
+          #`(define-syntax variable
+              (lambda (s)
+                (issue-deprecation-warning
+                 (format #f "GnuTLS variable '~a' is deprecated"
+                         (syntax->datum #'variable)))
+                (syntax-case s ()
+                  ((_ args (... ...))
+                   #'(alias args (... ...)))
+                  (id
+                   (identifier? #'id)
+                   #'alias))))))))))
+
+
 ;; Renaming.
 (define protocol/ssl-3 protocol/ssl3)
 (define protocol/tls-1.0 protocol/tls1-0)
 (define certificate-verify/allow-x509-v1-ca-certificate
   certificate-verify/allow-x509-v1-ca-crt)
 
+;; Deprecated OpenPGP bindings.
+(define-deprecated certificate-type/openpgp)
+(define-deprecated error/openpgp-getkey-failed)
+(define-deprecated error/openpgp-uid-revoked)
+(define-deprecated error/openpgp-fingerprint-unsupported)
+(define-deprecated error/openpgp-keyring-error)
+(define-deprecated error/openpgp-subkey-error)
+(define-deprecated error/openpgp-preferred-key-error)
+(define-deprecated openpgp-private-key?)
+(define-deprecated import-openpgp-certificate)
+(define-deprecated import-openpgp-private-key)
+(define-deprecated openpgp-certificate-id)
+(define-deprecated openpgp-certificate-id!)
+(define-deprecated openpgp-certificate-fingerprint)
+(define-deprecated openpgp-certificate-fingerprint!)
+(define-deprecated openpgp-certificate-name)
+(define-deprecated openpgp-certificate-names)
+(define-deprecated openpgp-certificate-algorithm)
+(define-deprecated openpgp-certificate-version)
+(define-deprecated openpgp-certificate-usage)
+(define-deprecated openpgp-keyring?)
+(define-deprecated import-openpgp-keyring)
+(define-deprecated openpgp-keyring-contains-key-id?)
+(define-deprecated set-certificate-credentials-openpgp-keys!)
+
+;; XXX: The following bindings should be marked as deprecated as well, but due
+;; to the way binding names are constructed for enums and smobs, it's
+;; complicated.  Oh well.
+;;
+;; (define-deprecated openpgp-certificate?)
+;; (define-deprecated openpgp-certificate-format->string)
+;; (define-deprecated openpgp-certificate-format/raw)
+;; (define-deprecated openpgp-certificate-format/base64)
+
 ;;; Local Variables:
 ;;; mode: scheme
 ;;; coding: latin-1
index 546d63a1e32477a3ae9b37a9f654cbcbf7a960c0..c392886772cb9d1f79b2a059243d1d2062b764fe 100644 (file)
@@ -1,5 +1,5 @@
 /* GnuTLS --- Guile bindings for GnuTLS.
-   Copyright (C) 2007-2014, 2016 Free Software Foundation, Inc.
+   Copyright (C) 2007-2014, 2016, 2019 Free Software Foundation, Inc.
 
    GnuTLS is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -2797,7 +2797,7 @@ SCM_DEFINE (scm_gnutls_x509_certificate_subject_alternative_name,
 #define GUILE_GNUTLS_MAX_OPENPGP_NAME_LENGTH  2048
 
 SCM_DEFINE (scm_gnutls_import_openpgp_certificate,
-            "import-openpgp-certificate", 2, 0, 0, (SCM data, SCM format),
+            "%import-openpgp-certificate", 2, 0, 0, (SCM data, SCM format),
             "Return a new OpenPGP certificate object resulting from the "
             "import of @var{data} (a uniform array) according to "
             "@var{format}.")
@@ -2841,7 +2841,7 @@ SCM_DEFINE (scm_gnutls_import_openpgp_certificate,
 #undef FUNC_NAME
 
 SCM_DEFINE (scm_gnutls_import_openpgp_private_key,
-            "import-openpgp-private-key", 2, 1, 0, (SCM data, SCM format,
+            "%import-openpgp-private-key", 2, 1, 0, (SCM data, SCM format,
                                                     SCM pass),
             "Return a new OpenPGP private key object resulting from the "
             "import of @var{data} (a uniform array) according to "
@@ -2896,7 +2896,7 @@ SCM_DEFINE (scm_gnutls_import_openpgp_private_key,
 
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_gnutls_openpgp_certificate_id, "openpgp-certificate-id",
+SCM_DEFINE (scm_gnutls_openpgp_certificate_id, "%openpgp-certificate-id",
             1, 0, 0,
             (SCM key),
             "Return the ID (an 8-element u8vector) of certificate "
@@ -2922,7 +2922,7 @@ SCM_DEFINE (scm_gnutls_openpgp_certificate_id, "openpgp-certificate-id",
 
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_gnutls_openpgp_certificate_id_x, "openpgp-certificate-id!",
+SCM_DEFINE (scm_gnutls_openpgp_certificate_id_x, "%openpgp-certificate-id!",
             2, 0, 0,
             (SCM key, SCM id),
             "Store the ID (an 8 byte sequence) of certificate "
@@ -2957,7 +2957,7 @@ SCM_DEFINE (scm_gnutls_openpgp_certificate_id_x, "openpgp-certificate-id!",
 #undef FUNC_NAME
 
 SCM_DEFINE (scm_gnutls_openpgp_certificate_fingerpint_x,
-            "openpgp-certificate-fingerprint!",
+            "%openpgp-certificate-fingerprint!",
             2, 0, 0,
             (SCM key, SCM fpr),
             "Store in @var{fpr} (a u8vector) the fingerprint of @var{key}.  "
@@ -2988,7 +2988,7 @@ SCM_DEFINE (scm_gnutls_openpgp_certificate_fingerpint_x,
 #undef FUNC_NAME
 
 SCM_DEFINE (scm_gnutls_openpgp_certificate_fingerprint,
-            "openpgp-certificate-fingerprint",
+            "%openpgp-certificate-fingerprint",
             1, 0, 0,
             (SCM key),
             "Return a new u8vector denoting the fingerprint of " "@var{key}.")
@@ -3046,7 +3046,7 @@ SCM_DEFINE (scm_gnutls_openpgp_certificate_fingerprint,
 
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_gnutls_openpgp_certificate_name, "openpgp-certificate-name",
+SCM_DEFINE (scm_gnutls_openpgp_certificate_name, "%openpgp-certificate-name",
             2, 0, 0,
             (SCM key, SCM index),
             "Return the @var{index}th name of @var{key}.")
@@ -3071,7 +3071,7 @@ SCM_DEFINE (scm_gnutls_openpgp_certificate_name, "openpgp-certificate-name",
 
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_gnutls_openpgp_certificate_names, "openpgp-certificate-names",
+SCM_DEFINE (scm_gnutls_openpgp_certificate_names, "%openpgp-certificate-names",
             1, 0, 0, (SCM key), "Return the list of names for @var{key}.")
 #define FUNC_NAME s_scm_gnutls_openpgp_certificate_names
 {
@@ -3104,7 +3104,7 @@ SCM_DEFINE (scm_gnutls_openpgp_certificate_names, "openpgp-certificate-names",
 #undef FUNC_NAME
 
 SCM_DEFINE (scm_gnutls_openpgp_certificate_algorithm,
-            "openpgp-certificate-algorithm",
+            "%openpgp-certificate-algorithm",
             1, 0, 0,
             (SCM key),
             "Return two values: the certificate algorithm used by "
@@ -3125,7 +3125,7 @@ SCM_DEFINE (scm_gnutls_openpgp_certificate_algorithm,
 #undef FUNC_NAME
 
 SCM_DEFINE (scm_gnutls_openpgp_certificate_version,
-            "openpgp-certificate-version",
+            "%openpgp-certificate-version",
             1, 0, 0,
             (SCM key),
             "Return the version of the OpenPGP message format (RFC2440) "
@@ -3143,7 +3143,7 @@ SCM_DEFINE (scm_gnutls_openpgp_certificate_version,
 
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_gnutls_openpgp_certificate_usage, "openpgp-certificate-usage",
+SCM_DEFINE (scm_gnutls_openpgp_certificate_usage, "%openpgp-certificate-usage",
             1, 0, 0,
             (SCM key),
             "Return a list of values denoting the key usage of @var{key}.")
@@ -3214,7 +3214,7 @@ SCM_DEFINE (scm_gnutls_import_openpgp_keyring, "import-openpgp-keyring",
 #undef FUNC_NAME
 
 SCM_DEFINE (scm_gnutls_openpgp_keyring_contains_key_id_p,
-            "openpgp-keyring-contains-key-id?",
+            "%openpgp-keyring-contains-key-id?",
             2, 0, 0,
             (SCM keyring, SCM id),
             "Return @code{#f} if key ID @var{id} is in @var{keyring}, "
@@ -3252,7 +3252,7 @@ SCM_DEFINE (scm_gnutls_openpgp_keyring_contains_key_id_p,
 /* OpenPGP certificates.  */
 
 SCM_DEFINE (scm_gnutls_set_certificate_credentials_openpgp_keys_x,
-            "set-certificate-credentials-openpgp-keys!",
+            "%set-certificate-credentials-openpgp-keys!",
             3, 0, 0,
             (SCM cred, SCM pub, SCM sec),
             "Use certificate @var{pub} and secret key @var{sec} in "