This is an automated email from the git hooks/post-receive script. mehdi pushed a commit to branch master in repository ocamlnet.
commit 20a54b7c635e623dd05da6ab97af8c343f31f46c Author: Mehdi Dogguy <me...@debian.org> Date: Sat Jan 27 20:22:39 2018 +0100 Add patch from upstream to support Nettle 3.4+ --- debian/changelog | 7 + debian/patches/0010-Support-for-nettle-3.4.patch | 185 +++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 193 insertions(+) diff --git a/debian/changelog b/debian/changelog index df7044e..d8f8dda 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +ocamlnet (4.1.2-3) UNRELEASED; urgency=medium + + * Team upload. + * Add patch from upstream to support Nettle 3.4+ (Closes: #887577) + + -- Mehdi Dogguy <me...@debian.org> Sat, 27 Jan 2018 20:21:39 +0100 + ocamlnet (4.1.2-2) unstable; urgency=medium [ Dimitri John Ledkov ] diff --git a/debian/patches/0010-Support-for-nettle-3.4.patch b/debian/patches/0010-Support-for-nettle-3.4.patch new file mode 100644 index 0000000..8bae681 --- /dev/null +++ b/debian/patches/0010-Support-for-nettle-3.4.patch @@ -0,0 +1,185 @@ +From: Mehdi Dogguy <me...@debian.org> +Date: Sat, 27 Jan 2018 20:19:53 +0100 +Subject: Support for nettle-3.4 + +Upstream: https://gitlab.camlcity.org/gerd/lib-ocamlnet3/commit/a23ef6b4941243063ae2c1bcc7e08cd839725820 +--- + src/nettls-gnutls/gnutls.descr | 25 ------------------------- + src/nettls-gnutls/nettle.c | 19 +++++++++++++++++-- + src/nettls-gnutls/nettle.descr | 2 ++ + tools/stubgen.ml | 15 ++++++++++++++- + 4 files changed, 33 insertions(+), 28 deletions(-) + +diff --git a/src/nettls-gnutls/gnutls.descr b/src/nettls-gnutls/gnutls.descr +index 4f5708d..68cd1ea 100644 +--- a/src/nettls-gnutls/gnutls.descr ++++ b/src/nettls-gnutls/gnutls.descr +@@ -29,7 +29,6 @@ let types = + "gnutls_x509_crl_t", abstract_ptr "gnutls_x509_crl_deinit"; + "gnutls_x509_crt_t", abstract_ptr "gnutls_x509_crt_deinit"; + (* "gnutls_x509_crq_t", `Abstract_ptr; (* in x509.h *) *) +- "gnutls_openpgp_keyring_t", abstract_ptr "gnutls_openpgp_keyring_deinit"; + "gnutls_certificate_credentials_t", abstract_ptr "gnutls_certificate_free_credentials"; + "gnutls_anon_server_credentials_t", abstract_ptr "gnutls_anon_free_server_credentials"; + "gnutls_anon_client_credentials_t", abstract_ptr "gnutls_anon_free_client_credentials"; +@@ -37,8 +36,6 @@ let types = + "gnutls_srp_client_credentials_t", abstract_ptr "gnutls_srp_free_client_credentials"; + "gnutls_psk_server_credentials_t", abstract_ptr "gnutls_psk_free_server_credentials"; + "gnutls_psk_client_credentials_t", abstract_ptr "gnutls_psk_free_client_credentials"; +- (* "gnutls_openpgp_crt_t", `Abstract_ptr; *) +- (* "gnutls_openpgp_privkey_t", `Abstract_ptr; *) + (* "gnutls_pkcs11_privkey_t", `Abstract_ptr; *) + + (* "gnutls_datum_t", `Abstract_ptr; *) +@@ -143,10 +140,6 @@ let types = + "?GNUTLS_VERIFY_|DISABLE_CRL_CHECKS"; + ]; + +- "gnutls_openpgp_crt_status_t", +- `Enum [ "GNUTLS_OPENPGP_|CERT"; +- "GNUTLS_OPENPGP_|CERT_FINGERPRINT" +- ]; + "gnutls_close_request_t", `Enum [ "GNUTLS_SHUT_|RDWR"; + "GNUTLS_SHUT_|WR"; + ]; +@@ -1059,14 +1052,6 @@ let functions = + gnutls_x509_crl_t array crl_list, \ + crl_list array_size crl_list_size)"; + (* NB: crls are copied by this function *) +-(* +- "gnutls_certificate_get_openpgp_keyring", +- [ "sc", `In, "gnutls_certificate_credentials_t"; +- "keyring", `Out, "gnutls_openpgp_keyring_t"; +- "result", `Return_ignore, "void"; +- ], +- [ ]; +- *) + + + (**********************************************************************) +@@ -1219,16 +1204,6 @@ let functions = + uint max_bits, \ + uint max_depth)"; + +- (**********************************************************************) +- (* OpenPGP details *) +- (**********************************************************************) +- +- standard +- "void gnutls_openpgp_send_cert \ +- (gnutls_session_t session, gnutls_openpgp_crt_status_t status)"; +- +- +- + (**********************************************************************) + (* SRP *) + (**********************************************************************) +diff --git a/src/nettls-gnutls/nettle.c b/src/nettls-gnutls/nettle.c +index 62f9996..77d00ff 100644 +--- a/src/nettls-gnutls/nettle.c ++++ b/src/nettls-gnutls/nettle.c +@@ -98,6 +98,7 @@ static const char *net_nettle_cipher_name(net_nettle_cipher_t cipher) { + return cipher->name; + } + ++#ifndef HAVE_FUN_nettle_get_ciphers + #ifndef HAVE_FUN_nettle_ciphers + const struct nettle_cipher * const nettle_ciphers[] = { + &nettle_aes128, +@@ -122,13 +123,19 @@ const struct nettle_cipher * const nettle_ciphers[] = { + NULL + }; + #endif +- ++#endif + + static void net_nettle_ciphers(net_nettle_cipher_t **ciphers, + size_t *n) { + size_t k; ++ const struct nettle_cipher * const *nciphers; ++#ifdef HAVE_FUN_nettle_get_ciphers ++ nciphers = nettle_get_ciphers(); ++#else ++ nciphers = nettle_ciphers; ++#endif + k = 0; +- while (nettle_ciphers[k] != NULL) k++; ++ while (nciphers[k] != NULL) k++; + *ciphers = (net_nettle_cipher_t *) nettle_ciphers; + *n = k; + } +@@ -337,6 +344,7 @@ static void net_nettle_hash_digest(net_nettle_hash_t hash, + hash->digest(ctx, length, dst); + } + ++#ifndef HAVE_FUN_nettle_get_hashes + #ifndef HAVE_FUN_nettle_hashes + const struct nettle_hash * const nettle_hashes[] = { + &nettle_md2, +@@ -347,10 +355,17 @@ const struct nettle_hash * const nettle_hashes[] = { + NULL + }; + #endif ++#endif + + static void net_nettle_hashes(net_nettle_hash_t **hashes, + size_t *n) { + size_t k; ++ const struct nettle_hash * const *nhashes; ++#ifdef HAVE_FUN_nettle_get_hashes ++ nhashes = nettle_get_hashes(); ++#else ++ nhashes = nettle_hashes; ++#endif + k = 0; + while (nettle_hashes[k] != NULL) k++; + *hashes = (net_nettle_hash_t *) nettle_hashes; +diff --git a/src/nettls-gnutls/nettle.descr b/src/nettls-gnutls/nettle.descr +index 0320dfb..82d7d9a 100644 +--- a/src/nettls-gnutls/nettle.descr ++++ b/src/nettls-gnutls/nettle.descr +@@ -137,7 +137,9 @@ let optional_types = + [ "nettle_cipher_func" ] + let optional_functions = + [ "nettle_ciphers"; (* actually a variable *) ++ "nettle_get_ciphers"; + "nettle_hashes"; (* actually a variable *) ++ "nettle_get_hashes"; + ] + + +diff --git a/tools/stubgen.ml b/tools/stubgen.ml +index 2433b23..3cd35c4 100644 +--- a/tools/stubgen.ml ++++ b/tools/stubgen.ml +@@ -683,8 +683,21 @@ let gen_flags c mli ml tyname cases ~optional = + let gen_same_as c mli ml old_tyname tyname = + fprintf mli "type %s = %s\n" tyname old_tyname; + fprintf ml "type %s = %s\n" tyname old_tyname; ++ (* (* this generates gcc warnings: *) + fprintf c "#define wrap_%s wrap_%s\n" tyname old_tyname; + fprintf c "#define unwrap_%s unwrap_%s\n" tyname old_tyname ++ *) ++ fprintf c "/************** %s *************/\n\n" tyname; ++ fprintf c "static value wrap_%s(%s x) {\n" tyname tyname; ++ fprintf c " %s y;\n" old_tyname; ++ fprintf c " y = (%s) x;\n" old_tyname; ++ fprintf c " return wrap_%s(y);\n" old_tyname; ++ fprintf c "}\n\n"; ++ fprintf c "static %s unwrap_%s(value v) {\n" tyname tyname; ++ fprintf c " %s y;\n" old_tyname; ++ fprintf c " y = unwrap_%s(v);\n" old_tyname; ++ fprintf c " return (%s) y;\n" tyname; ++ fprintf c "}\n\n" + + (**********************************************************************) + (* Functions *) +@@ -804,7 +817,7 @@ let rec translate_type_to_c name ty = + | _ -> + ty, `Unsupported in + let c_ty1 = +- if is_const then "const " ^ c_ty else c_ty in ++ if is_const && tag <> `Unsupported then "const " ^ c_ty else c_ty in + (c_ty1, tag) + + diff --git a/debian/patches/series b/debian/patches/series index 09c054e..67fa924 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -7,3 +7,4 @@ 0007-Fix-distclean-target.patch 0008-Ship-cmx-files-to-fix-reverse-depends-FTBFS.patch 0009-ocaml-4.05-support-for-O_KEEPEXEC.patch +0010-Support-for-nettle-3.4.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/ocamlnet.git _______________________________________________ Pkg-ocaml-maint-commits mailing list Pkg-ocaml-maint-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ocaml-maint-commits