Skip to content
Commits on Source (11)
*.install
.merlin
_build
\ No newline at end of file
[submodule "m4"]
path = m4
url = https://github.com/savonet/m4.git
language: c
dist: xenial
sudo: false
addons:
apt:
sources:
- avsm
packages:
- opam
- libssl-dev
before_install:
- export OPAMYES=1
- opam init
- opam install -q -y dune
- eval `opam config env`
script: dune build @default @runtest
0.5.9 (2019-07-15)
=====
* Backward compatibility with OpenSSL 1.0.2 (#53).
0.5.8 (2019-07-03)
=====
* Better error reporting.
* Add support for hostname validation (#49).
* Add ALPN support (#37, #38, #48).
0.5.7 (2018-10-25)
=====
* Correctly set #defines (#40).
* Correctly deal with non-existent directories for Homebrew (#42).
0.5.6 (2018-09-12)
=====
* Switch to the dune build system.
0.5.5 (2017-10-13)
=====
* Make sure that LDFLAGS is honored during build.
......
PROGNAME = ocaml-ssl
DISTFILES = bootstrap CHANGES configure configure.ac COPYING Makefile README.md \
src/Makefile.in src/OCamlMakefile src/META.in src/*.ml src/*.mli src/*.c \
examples/configure* examples/Makefile*.in examples/OCamlMakefile examples/Makefile examples/*.ml \
doc/html
VERSION := $(shell grep 'AC_INIT' configure.ac| sed -e 's/AC_INIT([^,]*,\[\([^,]*\)\],.*)/\1/')
.PHONY: build clean test install uninstall clean all-supported-ocaml-versions
all byte opt install uninstall update:
$(MAKE) -C src $@
build:
dune build @default
doc:
mkdir -p doc/html
ocamldoc -html -stars -d doc/html $(wildcard src/*.mli)
test:
dune runtest
install:
dune install
uninstall:
dune uninstall
clean:
-$(MAKE) -C src clean
-$(MAKE) -C examples clean
distclean: clean
rm -rf autom4te.cache config.log config.status
rm -rf doc
rm -f src/META src/Makefile
-$(MAKE) -C examples distclean
dist: doc
mkdir $(PROGNAME)-$(VERSION)
cp -R -L --parents $(DISTFILES) $(PROGNAME)-$(VERSION)
tar zcvf $(PROGNAME)-$(VERSION).tar.gz $(PROGNAME)-$(VERSION)
rm -rf $(PROGNAME)-$(VERSION)
.PHONY: all byte opt doc install uninstall update clean distclean dist
dune clean
all-supported-ocaml-versions:
dune build @default @runtest --workspace dune-workspace.dev
install-dev:
opam install -y opam-query opam-publish tls
VERSION := $$(opam query --version)
NAME_VERSION := $$(opam query --name-version)
ARCHIVE := $$(opam query --archive)
release:
git tag -a $(VERSION) -m "Version $(VERSION)."
git push origin $(VERSION)
opam publish prepare $(NAME_VERSION) $(ARCHIVE)
cp descr $(NAME_VERSION)
grep -Ev '^(name|version):' opam >$(NAME_VERSION)/opam
opam publish submit $(NAME_VERSION)
rm -rf $(NAME_VERSION)
......@@ -7,28 +7,13 @@ OCaml-SSL - OCaml bindings for the libssl
Copyright (c) 2003-2015 the Savonet Team.
Dependencies
------------
To build this library you need to have OCaml 3.08 (and the
[bytes](https://github.com/chambart/ocaml-bytes) module if your OCaml is older
than 4.03) and the [openssl](https://www.openssl.org/) library.
Installation
------------
To compile the program type:
```
./configure
make
```
(you can set specific build options with the configure script, see
`./configure --help`) then, to install it, type as root:
`ocaml-ssl` can be installed via [OPAM](https://opam.ocaml.org):
```
make install
opam install ssl
```
Is this library thread-safe?
......
#!/bin/sh
if [ -d m4 ]; then
OPTIONS="-I m4"
fi
autoreconf -f -i $OPTIONS $1
# autoconf maintainers have not yet implemented
# a function to install missing files from autoconf
# itself, so we need to fake a call to automake here..
automake -a -c -f 2>/dev/null || true
if [ -d examples ]; then
if [ -f examples/configure.ac ]; then
cd examples
autoreconf -f -i
fi
fi
This diff is collapsed.
AC_INIT([ocaml-ssl],[0.5.5],[savonet-users@lists.sourceforge.net])
VERSION=$PACKAGE_VERSION
AC_MSG_RESULT([configuring $PACKAGE_STRING])
MINGW=`uname -s | grep -c "MINGW"`
OCAMLFIND_LDCONF=""
AC_ARG_ENABLE([ldconf], AS_HELP_STRING([--disable-ldconf],[don't modify the dynamic loader configuration file (default is enable)]),[ac_enable_ldconf=$enableval],[ac_enable_ldconf=$enableval],[ac_enable_ldconf=yes])
if test "$ac_enable_ldconf" = no ; then
AC_MSG_RESULT([disabling modification of ld.conf])
OCAMLFIND_LDCONF=dummy
fi
AC_CHECK_LIB(pthread, pthread_create)
# Check for Ocaml compilers
# we first look for ocamlc in the path; if not present, we fail
AC_CHECK_PROG(OCAMLC,ocamlc,`which ocamlc`,no)
if test "$OCAMLC" = no ; then
AC_MSG_ERROR(Cannot find ocamlc.)
fi
# we look for the directory of ocamlc in $OCAMLC
OCAMLBIN=`dirname $OCAMLC`
# we extract Ocaml version number and library path
OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
echo "ocaml version is $OCAMLVERSION"
OCAMLLIB=`$OCAMLC -v | tail -n 1 | cut -f 4 -d " "`
echo "ocaml library path is $OCAMLLIB"
# then we look for ocamlopt; if not present, we issue a warning
# if the version is not the same, we also discard it
# we set OCAMLBEST to "opt" or "byte", whether ocamlopt is available or not
AC_PATH_PROG(OCAMLOPT,ocamlopt,no)
OCAMLBEST=byte
if test "$OCAMLOPT" = no ; then
AC_MSG_WARN(Cannot find ocamlopt; bytecode compilation only.)
else
AC_MSG_CHECKING(ocamlopt version)
TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
if test "$TMPVERSION" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlopt discarded.)
OCAMLOPT=no
else
AC_MSG_RESULT(ok)
OCAMLBEST=opt
fi
fi
# checking for ocamlc.opt
AC_PATH_PROG(OCAMLCDOTOPT,ocamlc.opt,no)
if test "$OCAMLCDOTOPT" != no ; then
AC_MSG_CHECKING(ocamlc.opt version)
TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
if test "$TMPVERSION" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlc.opt discarded.)
else
AC_MSG_RESULT(ok)
OCAMLC=$OCAMLCDOTOPT
fi
fi
# checking for ocamlopt.opt
if test "$OCAMLOPT" != no ; then
AC_PATH_PROG(OCAMLOPTDOTOPT,ocamlopt.opt,no)
if test "$OCAMLOPTDOTOPT" != no ; then
AC_MSG_CHECKING(ocamlc.opt version)
TMPVER=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
if test "$TMPVER" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlopt.opt discarded.)
else
AC_MSG_RESULT(ok)
OCAMLOPT=$OCAMLOPTDOTOPT
fi
fi
fi
if test "$OCAMLOPT" = no ; then
BEST="bcl"
else
BEST="bcl ncl"
fi
# ocamldep, ocamllex and ocamlyacc should also be present in the path
AC_PATH_PROG(OCAMLDEP,ocamldep,no)
if test "$OCAMLDEP" = no ; then
AC_MSG_ERROR(Cannot find ocamldep.)
fi
AC_PATH_PROG(OCAMLLEX,ocamllex,no)
if test "$OCAMLLEX" = no ; then
AC_MSG_ERROR(Cannot find ocamllex.)
fi
AC_PATH_PROG(OCAMLYACC,ocamlyacc,no)
if test "$OCAMLYACC" = no ; then
AC_MSG_ERROR(Cannot find ocamlyacc.)
fi
AC_PATH_PROG(OCAMLDOC,ocamldoc,no)
AC_ARG_ENABLE([debugging],
AS_HELP_STRING([--enable-debugging],[compile with debugging information (backtrace printing in particular)]))
if test "x$enable_debugging" = "xyes" ; then
OCAMLFLAGS="$OCAMLFLAGS -g"
fi
AC_PATH_PROG(OCAMLMKTOP,ocamlmktop,no)
if test "$OCAMLMKTOP" = no ; then
AC_MSG_ERROR(Cannot find ocamlmktop.)
fi
CAMLLIBPATH=`$OCAMLC -where`
AC_PROG_CC
if test "$MINGW" != 0; then
OTHER_LIBS="-lcrypto -lws2_32 -lgdi32 -lcrypt32"
fi
AC_CHECK_LIB(ssl,SSL_new,,AC_MSG_ERROR(Cannot find libssl.),[$OTHER_LIBS])
AC_CHECK_HEADER(openssl/ssl.h,,AC_MSG_ERROR(Cannot find libssl headers.))
AC_CHECK_LIB(ssl,TLSv1_1_method,[CFLAGS="$CFLAGS -DHAVE_TLS11"],,[$OTHER_LIBS])
AC_CHECK_LIB(ssl,TLSv1_2_method,[CFLAGS="$CFLAGS -DHAVE_TLS12"],,[$OTHER_LIBS])
AC_CHECK_LIB(crypto,EC_KEY_free,[CFLAGS="$CFLAGS -DHAVE_EC"],,[$OTHER_LIBS])
AC_CHECK_DECL([SSL_set_tlsext_host_name], [CFLAGS="$CFLAGS -DHAVE_SNI"], [], [[#include <openssl/ssl.h>]])
# other progs
AC_PATH_PROG(OCAMLFIND,ocamlfind,no)
if test "$OCAMLFIND" = no ; then
AC_MSG_ERROR(Cannot find ocamlfind.)
fi
AC_PATH_PROG(OCAMLCP,ocamlcp,no)
#if test "$OCAMLCP" = no ; then
# AC_MSG_ERROR(Cannot find ocamlcp.)
#fi
AC_PATH_PROG(LATEX,latex,no)
#if test "$LATEX" = no ; then
# AC_MSG_ERROR(Cannot find LaTeX.)
#fi
AC_PATH_PROG(DVIPS,dvips,no)
#if test "$DVIPS" = no ; then
# AC_MSG_ERROR(Cannot find dvips.)
#fi
AC_PATH_PROG(PS2PDF,ps2pdf,no)
#if test "$PS2PDF" = no ; then
# AC_MSG_ERROR(Cannot find ps2pdf.)
#fi
# substitutions to perform
AC_SUBST(VERSION)
AC_SUBST(OCAMLC)
AC_SUBST(OCAMLOPT)
AC_SUBST(OCAMLFLAGS)
AC_SUBST(BEST)
AC_SUBST(OCAMLDEP)
AC_SUBST(OCAMLLEX)
AC_SUBST(OCAMLYACC)
AC_SUBST(OCAMLBEST)
AC_SUBST(OCAMLVERSION)
AC_SUBST(OCAMLLIB)
AC_SUBST(OCAMLBIN)
AC_SUBST(OCAMLDOC)
AC_SUBST(OCAMLMKTOP) # TODO
AC_SUBST(OCAMLFIND) # TODO
AC_SUBST(OCAMLFIND_LDCONF)
AC_SUBST(OCAMLCP) # TODO
AC_SUBST(CAMLLIBPATH)
AC_SUBST(LATEX) # TODO
AC_SUBST(DVIPS) # TODO
AC_SUBST(DVIPS) # TODO
AC_SUBST(PS2PDF) # TODO
# Finally create the Makefile and samples
AC_CONFIG_FILES([src/Makefile],[chmod a-w src/Makefile])
AC_CONFIG_FILES([src/META])
AC_OUTPUT
ocaml-ssl (0.5.9-1~exp1) experimental; urgency=medium
* Fix watch file url
* New upstream version 0.5.9
* Add new uploader
* Add new build-dep on dune build system
* Use debhelper-compat
* Update build rules to use new upstream build system (dune)
* Bump Standards-Version to 4.4.0 (no change)
-- Kyle Robbertze <paddatrapper@debian.org> Mon, 29 Jul 2019 16:13:49 -0300
ocaml-ssl (0.5.5-1) unstable; urgency=medium
* Team upload
......
......@@ -2,26 +2,25 @@ Source: ocaml-ssl
Section: ocaml
Priority: optional
Maintainer: Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>
Uploaders:
Samuel Mimram <smimram@debian.org>,
Stéphane Glondu <glondu@debian.org>
Build-Depends:
debhelper (>= 10),
Uploaders: Samuel Mimram <smimram@debian.org>,
Stéphane Glondu <glondu@debian.org>,
Kyle Robbertze <paddatrapper@debian.org>
Build-Depends: debhelper (>= 12),
debhelper-compat (=12),
dh-ocaml (>= 0.9),
dune,
libdune-ocaml-dev,
libssl-dev (>= 0.9.6),
ocaml-nox (>= 4),
ocaml-findlib (>= 1.4),
dh-ocaml (>= 0.9)
Standards-Version: 4.1.4
ocaml-nox (>= 4)
Standards-Version: 4.4.0
Homepage: https://github.com/savonet/ocaml-ssl
Vcs-Git: https://salsa.debian.org/ocaml-team/ocaml-ssl.git
Vcs-Browser: https://salsa.debian.org/ocaml-team/ocaml-ssl
Package: libssl-ocaml
Architecture: any
Depends:
${ocaml:Depends},
${misc:Depends},
${shlibs:Depends}
Depends: ${misc:Depends}, ${ocaml:Depends}, ${shlibs:Depends}
Provides: ${ocaml:Provides}
Description: OCaml bindings for OpenSSL (runtime)
OCaml library for communicating through SSL/TLS encrypted connections
......@@ -31,11 +30,7 @@ Description: OCaml bindings for OpenSSL (runtime)
Package: libssl-ocaml-dev
Architecture: any
Depends:
libssl-dev,
${ocaml:Depends},
${shlibs:Depends},
${misc:Depends}
Depends: libssl-dev, ${misc:Depends}, ${ocaml:Depends}, ${shlibs:Depends}
Provides: ${ocaml:Provides}
Recommends: ocaml-findlib
Description: OCaml bindings for OpenSSL
......
Document: libssl-ocaml-dev
Title: OCaml SSL Module Documentation
Author: Samuel Mimram
Abstract: Documentation of the OCaml SSL Module
Section: Programming/OCaml
Format: HTML
Index: /usr/share/doc/libssl-ocaml-dev/html/index.html
Files: /usr/share/doc/libssl-ocaml-dev/html/*
README.md
doc/html
usr/doc/ssl/README.md
@OCamlStdlibDir@/ssl/META
@OCamlStdlibDir@/ssl/*.a
@OCamlStdlibDir@/ssl/*.cm*
@OCamlStdlibDir@/ssl/*.ml*
@OCamlStdlibDir@/ssl
@OCamlStdlibDir@/ssl/dllssl_stubs.so @OCamlDllDir@
@OCamlStdlibDir@/ssl/dllssl_threads_stubs.so @OCamlDllDir@
@OCamlStdlibDir@/stublibs/dllssl_stubs.so @OCamlDllDir@
usr/doc/ssl/CHANGES
From: Kyle Robbertze <paddatrapper@debian.org>
Date: Mon, 29 Jul 2019 12:46:02 -0300
Subject: Remove TLS 1, 1.1 and 1.2 support
These are deprecated upstream
---
src/ssl_stubs.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/ssl_stubs.c b/src/ssl_stubs.c
index 3d431b8..293ba19 100644
--- a/src/ssl_stubs.c
+++ b/src/ssl_stubs.c
@@ -58,6 +58,8 @@
#include <pthread.h>
#endif
+#define DEBIAN_DISABLE_TLS1
+
static int client_verify_callback(int, X509_STORE_CTX *);
static DH *load_dh_param(const char *dhfile);
@@ -329,6 +331,7 @@ static const SSL_METHOD *get_method(int protocol, int type)
#endif
case 2:
+#ifndef DEBIAN_DISABLE_TLS1
switch (type)
{
case 0:
@@ -343,10 +346,12 @@ static const SSL_METHOD *get_method(int protocol, int type)
method = TLSv1_method();
break;
}
+#endif
break;
case 3:
#ifdef HAVE_TLS11
+#ifndef DEBIAN_DISABLE_TLS1
switch (type)
{
case 0:
@@ -361,11 +366,13 @@ static const SSL_METHOD *get_method(int protocol, int type)
method = TLSv1_1_method();
break;
}
+#endif
#endif
break;
case 4:
#ifdef HAVE_TLS12
+#ifndef DEBIAN_DISABLE_TLS1
switch (type)
{
case 0:
@@ -380,6 +387,7 @@ static const SSL_METHOD *get_method(int protocol, int type)
method = TLSv1_2_method();
break;
}
+#endif
#endif
break;
0001-remove-tls-1.patch