Skip to content
Commits on Source (4)
2018-05-07 Gerd Stolpmann <gerd@gerdbook.fritz.box>
* Release 4.1.6
* Support for OCaml-4.07
2017-12-06 Gerd Stolpmann <gerd@gerdbook.fritz.box>
* Release 4.1.5
2017-12-05 Gerd Stolpmann <gerd@gerdbook.fritz.box>
* Support for native plugins (cmxs files) (Jaap Boender)
* Fix Nettls_gnutls: If a TLS server is configured to
authenticate the client, it does not expect that the
name in the certificate matches the DNS name of the
client. (In particular, the check is not done anymore
when [peer_name] is [None].)
* Fix: compatibility with library Nettle-3.4
2017-08-14 Gerd Stolpmann <gerd@gerdbook.fritz.box>
* Release 4.1.4
* Fix: incompatibility for OCaml < 4.03 because of -opaque
2017-08-05 Gerd Stolpmann <gerd@gerdbook.fritz.box>
* Release 4.1.3
* Building modules with -opaque flag when we don't install the cmx file
* Fix: incompatbility with OCaml-4.05 (O_KEEPEXEC flag)
* Fix: the local cppo built has been made compatible with -safe-string
2016-06-19 Gerd Stolpmann <gerd@e130.lan.sumadev.de>
* Release 4.1.2
......
......@@ -48,7 +48,7 @@ doc:
.PHONY: tools
tools:
( cd tools/cppo-$(CPPO_VERSION) && $(MAKE) all )
( cd tools/cppo-$(CPPO_VERSION) && rm -f depend && $(MAKE) -f Makefile.pre generate && $(MAKE) all )
( cd tools/unimap_to_ocaml && $(MAKE) all )
......
......@@ -48,15 +48,20 @@ ARCHIVE ?= $(PKGNAME)
ARCHIVE_CMA ?= $(ARCHIVE).cma
ARCHIVE_CMXA ?= $(ARCHIVE).cmxa
ARCHIVE_CMXS ?= $(ARCHIVE).cmxs
ARCHIVE_P ?= $(ARCHIVE).p
ARCHIVE_P_CMXA ?= $(ARCHIVE_P).cmxa
ARCHIVE_P_CMXS ?= $(ARCHIVE_P).cmxs
MT_TYPE ?= posix
HAVE_GPROF ?= 0
HAVE_SHARED ?= 0
ALL ?= $(ARCHIVE_CMA) $(ALL_EXTRA) \
all-mt-$(MT_TYPE)
OPT ?= $(ARCHIVE_CMXA) $(OPT_EXTRA) \
opt-mt-$(MT_TYPE) opt-p-$(HAVE_GPROF) opt-mt-$(MT_TYPE)-p-$(HAVE_GPROF)
opt-mt-$(MT_TYPE) opt-p-$(HAVE_GPROF) opt-mt-$(MT_TYPE)-p-$(HAVE_GPROF) \
opt-shared-$(HAVE_SHARED) opt-p-$(HAVE_GPROF)-shared-$(HAVE_SHARED)
all: $(ALL)
......@@ -72,7 +77,12 @@ opt-mt-vm-p-0:
opt-mt-posix-p-0:
opt-mt-vm-p-1:
opt-mt-posix-p-1: $(OPTMTP_EXTRA)
opt-shared-0:
opt-shared-1: $(ARCHIVE_CMXS)
opt-p-0-shared-0:
opt-p-0-shared-1:
opt-p-1-shared-0:
opt-p-1-shared-1: $(ARCHIVE_P_CMXS)
$(ARCHIVE_CMA): $(OBJECTS) $(COBJECTS)
......@@ -89,6 +99,9 @@ $(ARCHIVE_CMXA): $(XOBJECTS) $(COBJECTS)
$(OCAMLMKLIB) -o $(ARCHIVE) $(XOBJECTS) $(COBJECTS) $(LINK_OPTIONS); \
fi
$(ARCHIVE_CMXS): $(ARCHIVE_CMXA)
$(OCAMLOPT) -linkall -shared -I . -o $(ARCHIVE_CMXS) $(ARCHIVE_CMXA);
$(ARCHIVE_P_CMXA): $(XOBJECTS) $(COBJECTS)
if [ "X$(COBJECTS)" = "X" ]; then \
$(OCAMLOPT) -a -o $(ARCHIVE_P_CMXA) $(POBJECTS); \
......@@ -96,9 +109,12 @@ $(ARCHIVE_P_CMXA): $(XOBJECTS) $(COBJECTS)
$(OCAMLMKLIB) -o $(ARCHIVE_P) $(POBJECTS) $(COBJECTS) $(LINK_OPTIONS); \
fi
$(ARCHIVE_P_CMXS): $(ARCHIVE_P_CMXA)
$(OCAMLOPT) -linkall -shared -I . -o $(ARCHIVE_P_CMXS) $(ARCHIVE_P_CMXA);
# Files to remove everywhere by "make clean":
CLEAN_LIST = *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa dll* packlist-* \
CLEAN_LIST = *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa *.cmxs dll* packlist-* \
ocamldoc.dump META depend $(PACKLIST) $(GENERATE)
# Generic build rules:
......@@ -106,14 +122,16 @@ CLEAN_LIST = *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa dll* packlist-* \
.SUFFIXES: .cmo .cmi .cmx .ml .mli .mll .mly .c .o
.ml.cmx:
$(OCAMLOPT) -c $(OCAMLOPT_OPTIONS_FOR_$<) $<
$(OCAMLOPT) -c $(OCAMLOPT_OPTIONS_FOR_$<) $< && \
[ $(HAVE_GPROF) -eq 0 ] || $(OCAMLOPT) -c -p -o `basename $@ .cmx`.p.cmx $(OCAMLOPT_OPTIONS_FOR_$<) $<
.ml.cmo:
$(OCAMLC) -c $(OCAMLC_OPTIONS_FOR_$<) $<
.mli.cmi:
$(OCAMLC_MLI) -c $(OCAMLC_OPTIONS_FOR_$<) $<
opts="$(OPAQUE)"; \
if [ -f "$$(basename $< .ml)".nopaque ]; then opts=""; fi; \
$(OCAMLC_MLI) -c $(OCAMLC_OPTIONS_FOR_$<) $$opts $<
.mll.ml:
$(OCAMLLEX) $<
......@@ -158,7 +176,7 @@ realuninstall: $(UNINSTOTHER) uninstall-$(INSTMETHOD)
.PHONY: install-findlib
install-findlib: META
files=`$(COLLECT_FILES) *.mli *.cmi *.cma *.cmxa *.a dll* META $(INSTALL_EXTRA)` && \
files=`$(COLLECT_FILES) *.mli *.cmi *.cma *.cmxa *.cmxs *.a dll* META $(INSTALL_EXTRA)` && \
$(OCAMLFIND) install $(PKGNAME) $$files
.PHONY: uninstall-findlib
......
OASISFormat: 0.4
Name: ocamlnet
Version: 4.1.2
Version: 4.1.6
Synopsis: Internet protocols and helper data structures
Authors: Gerd Stolpmann et al.
ConfType: custom (0.4)
......
......@@ -73,7 +73,7 @@ set_defaults () {
ocamlc=`get_path ocamlc`
set_defaults
version="4.1.2"
version="4.1.6"
exec_suffix=""
path_sep=":"
......@@ -522,6 +522,18 @@ if ocamlopt -thread -o tmp/t${exec_suffix} ${OCAMLOPTFLAGS} unix.cmxa threads.cm
fi
echo "$mt_type $mt_comment"
######################################################################
# Check for cmxs support
printf "%s" "Checking whether cmxs is supported... "
have_shared=0
if ocamlopt -shared -o .dummy.cmxs >/dev/null 2>/dev/null; then
have_shared=1
echo "yes"
else
echo "no"
fi
######################################################################
# Check word size at al
......@@ -614,9 +626,34 @@ fi
if [ $istring -gt 0 ]; then
string_opts="-safe-string"
pp_bytes="-D HAVE_BYTES"
echo "#define STRING_COPY (fun s -> s)" >> config.cppo
else
string_opts=""
pp_bytes="-U HAVE_BYTES"
echo "#define STRING_COPY String.copy" >> config.cppo
fi
######################################################################
printf "Checking for String.lowercase_ascii and the like... "
cat <<EOF >tmp/t.ml
let s = String.lowercase_ascii "FOO"
EOF
if ocamlc -c tmp/t.ml >/dev/null 2>/dev/null; then
echo "yes"
echo "#define STRING_LOWERCASE String.lowercase_ascii" >> config.cppo
echo "#define STRING_UPPERCASE String.uppercase_ascii" >> config.cppo
echo "#define STRING_CAPITALIZE String.capitalize_ascii" >> config.cppo
echo "#define CHAR_LOWERCASE Char.lowercase_ascii" >> config.cppo
echo "#define CHAR_UPPERCASE Char.uppercase_ascii" >> config.cppo
else
echo "no"
echo "#define STRING_LOWERCASE String.lowercase" >> config.cppo
echo "#define STRING_UPPERCASE String.uppercase" >> config.cppo
echo "#define STRING_CAPITALIZE String.capitalize" >> config.cppo
echo "#define CHAR_LOWERCASE Char.lowercase" >> config.cppo
echo "#define CHAR_UPPERCASE Char.uppercase" >> config.cppo
fi
######################################################################
......@@ -635,6 +672,67 @@ else
echo "#undef HAVE_EXTENSIBLE_VARIANTS" >> config.cppo
fi
######################################################################
# check whether we have Unix.map_file
printf "Checking for Unix.map_file... "
mkdir -p tmp
cat <<_EOF_ >tmp/t.ml
let f = Unix.map_file;;
_EOF_
if ocaml unix.cma tmp/t.ml >/dev/null 2>/dev/null; then
echo "yes"
echo "#define HAVE_UNIX_MAP_FILE" >> config.cppo
else
echo "no"
echo "#undef HAVE_UNIX_MAP_FILE" >> config.cppo
fi
######################################################################
# check whether to prefer [@@noalloc]
printf "Checking for [@@noalloc]... "
mkdir -p tmp
cat <<_EOF_ >tmp/t.ml
external foo : float -> float = "foo" [@@noalloc]
_EOF_
if ocamlc -c tmp/t.ml >/dev/null 2>/dev/null; then
mkdir -p tmp
cat <<_EOF_ >tmp/t.ml
external foo : float -> float = "foo" "noalloc"
_EOF_
if ocamlc -c tmp/t.ml >tmp/t.log 2>&1; then
if [ -s tmp/t.log ]; then
echo "yes"
echo '#define NOALLOC [@@noalloc]' >> config.cppo
else
echo "unclear"
echo '#define NOALLOC "noalloc"' >> config.cppo
fi
else
echo "something is wrong"
exit 2
fi
else
echo "no"
echo '#define NOALLOC "noalloc"' >> config.cppo
fi
######################################################################
# check for -opaque
printf "checking for -opaque... "
if ocamlc -opaque >/dev/null 2>/dev/null; then
echo "present"
opaque="-opaque"
else
echo "not present"
opaque=""
fi
######################################################################
# Check that pcre is available:
......@@ -712,7 +810,6 @@ else
echo "no"
fi
######################################################################
# TCL
......@@ -1124,6 +1221,9 @@ INSTMETHOD = findlib
# Multi-threading type:
MT_TYPE = $mt_type
# whether cmxs is supported:
HAVE_SHARED = $have_shared
# word size:
WORD_SIZE = $word_size
......@@ -1133,6 +1233,9 @@ ENDIANESS = $endianess
# gprof:
HAVE_GPROF = $have_gprof
# opaque
OPAQUE = $opaque
# definition of the DEPRECATED macro
PP_DEPRECATED =
......
......@@ -273,14 +273,7 @@ Wrapper for regexps with PCRE syntax
<b>The functions in this module are unavailable if Ocamlnet is built
with <code class="code">Str</code> as implementation of regular expressions! They will always
raise <code class="code">Invalid_argument</code>!</b>
<p>
<b>OPAM users</b>: Note that the OPAM package for OCamlnet does not
build with PCRE support by default. The trigger for this is the presence
of the <code class="code">pcre</code> OPAM package, i.e. do <code class="code">opam install pcre</code>
to include the <code class="code">netstring-pcre</code> library in a rebuild.
<br>
raise <code class="code">Invalid_argument</code>!</b><br>
</div>
<hr width="100%">
<br>
......
......@@ -412,8 +412,8 @@ Creates a new endpoint for this configuration.
<p>
<code class="code">peer_name</code> is the expected common name or DNS name of the
peer. <code class="code">peer_name</code> has an option type as it is not always
required to pass it. However, keep in mind that clients
peer (if set). <code class="code">peer_name</code> has an option type as it is not always
required to check the name. However, keep in mind that clients
normally authenticate servers (<code class="code">peer_auth=`Required</code>). In
order to do so, they need to check whether the name in the
server certificate equals the DNS name of the service they
......@@ -421,7 +421,12 @@ Creates a new endpoint for this configuration.
with the name in the certificate.
<p>
<code class="code">peer_name</code> is also used for the SNI extension.
If you set <code class="code">peer_name</code> to <code class="code">None</code>, the name in the certificate
is not checked.
<p>
<code class="code">peer_name</code> is also used for the SNI extension (name-based
virtual hosting).
<p>
Servers normally need not to set <code class="code">peer_name</code>. You can also omit it
......
......@@ -412,8 +412,8 @@ Creates a new endpoint for this configuration.
<p>
<code class="code">peer_name</code> is the expected common name or DNS name of the
peer. <code class="code">peer_name</code> has an option type as it is not always
required to pass it. However, keep in mind that clients
peer (if set). <code class="code">peer_name</code> has an option type as it is not always
required to check the name. However, keep in mind that clients
normally authenticate servers (<code class="code">peer_auth=`Required</code>). In
order to do so, they need to check whether the name in the
server certificate equals the DNS name of the service they
......@@ -421,7 +421,12 @@ Creates a new endpoint for this configuration.
with the name in the certificate.
<p>
<code class="code">peer_name</code> is also used for the SNI extension.
If you set <code class="code">peer_name</code> to <code class="code">None</code>, the name in the certificate
is not checked.
<p>
<code class="code">peer_name</code> is also used for the SNI extension (name-based
virtual hosting).
<p>
Servers normally need not to set <code class="code">peer_name</code>. You can also omit it
......
......@@ -412,8 +412,8 @@ Creates a new endpoint for this configuration.
<p>
<code class="code">peer_name</code> is the expected common name or DNS name of the
peer. <code class="code">peer_name</code> has an option type as it is not always
required to pass it. However, keep in mind that clients
peer (if set). <code class="code">peer_name</code> has an option type as it is not always
required to check the name. However, keep in mind that clients
normally authenticate servers (<code class="code">peer_auth=`Required</code>). In
order to do so, they need to check whether the name in the
server certificate equals the DNS name of the service they
......@@ -421,7 +421,12 @@ Creates a new endpoint for this configuration.
with the name in the certificate.
<p>
<code class="code">peer_name</code> is also used for the SNI extension.
If you set <code class="code">peer_name</code> to <code class="code">None</code>, the name in the certificate
is not checked.
<p>
<code class="code">peer_name</code> is also used for the SNI extension (name-based
virtual hosting).
<p>
Servers normally need not to set <code class="code">peer_name</code>. You can also omit it
......
......@@ -416,8 +416,8 @@ Creates a new endpoint for this configuration.
<p>
<code class="code">peer_name</code> is the expected common name or DNS name of the
peer. <code class="code">peer_name</code> has an option type as it is not always
required to pass it. However, keep in mind that clients
peer (if set). <code class="code">peer_name</code> has an option type as it is not always
required to check the name. However, keep in mind that clients
normally authenticate servers (<code class="code">peer_auth=`Required</code>). In
order to do so, they need to check whether the name in the
server certificate equals the DNS name of the service they
......@@ -425,7 +425,12 @@ Creates a new endpoint for this configuration.
with the name in the certificate.
<p>
<code class="code">peer_name</code> is also used for the SNI extension.
If you set <code class="code">peer_name</code> to <code class="code">None</code>, the name in the certificate
is not checked.
<p>
<code class="code">peer_name</code> is also used for the SNI extension (name-based
virtual hosting).
<p>
Servers normally need not to set <code class="code">peer_name</code>. You can also omit it
......
......@@ -294,9 +294,8 @@ We consider 1-dimensional bigarrays of chars as memory buffers.
<span class="warning">Deprecated.</span>"Use blit_memory_to_bytes instead."<br>
</div>
<pre><span id="VALblit_memory_to_bytes_unsafe"><span class="keyword">val</span> blit_memory_to_bytes_unsafe</span> : <code class="type"><a href="Netsys_mem.html#TYPEmemory">memory</a> -> int -> Bytes.t -> int -> int -> unit</code></pre><div class="info ">
<pre><span id="VALblit_memory_to_bytes_unsafe"><span class="keyword">val</span> blit_memory_to_bytes_unsafe</span> : <code class="type"><a href="Netsys_mem.html#TYPEmemory">memory</a> -> int -> Bytes.t -> int -> int -> unit</code></pre><br>
Unsafe version<br>
</div>
<pre><span id="VALblit_memory_to_string_unsafe"><span class="keyword">val</span> blit_memory_to_string_unsafe</span> : <code class="type"><a href="Netsys_mem.html#TYPEmemory">memory</a> -> int -> Bytes.t -> int -> int -> unit</code></pre><div class="info ">
<span class="warning">Deprecated.</span>"Use blit_memory_to_bytes_unsafe instead."<br>
......@@ -313,18 +312,16 @@ Unsafe version<br>
do not designate a valid subbuffer of <code class="code">dst</code>.<br>
</div>
<pre><span id="VALblit_bytes_to_memory_unsafe"><span class="keyword">val</span> blit_bytes_to_memory_unsafe</span> : <code class="type">Bytes.t -> int -> <a href="Netsys_mem.html#TYPEmemory">memory</a> -> int -> int -> unit</code></pre><div class="info ">
<pre><span id="VALblit_bytes_to_memory_unsafe"><span class="keyword">val</span> blit_bytes_to_memory_unsafe</span> : <code class="type">Bytes.t -> int -> <a href="Netsys_mem.html#TYPEmemory">memory</a> -> int -> int -> unit</code></pre><br>
Unsafe version<br>
</div>
<pre><span id="VALblit_string_to_memory"><span class="keyword">val</span> blit_string_to_memory</span> : <code class="type">string -> int -> <a href="Netsys_mem.html#TYPEmemory">memory</a> -> int -> int -> unit</code></pre><div class="info ">
<code class="code">blit_string_to_memory src srcoff dst dstoff len</code>: A version for
immutable strings<br>
</div>
<pre><span id="VALblit_string_to_memory_unsafe"><span class="keyword">val</span> blit_string_to_memory_unsafe</span> : <code class="type">string -> int -> <a href="Netsys_mem.html#TYPEmemory">memory</a> -> int -> int -> unit</code></pre><div class="info ">
<pre><span id="VALblit_string_to_memory_unsafe"><span class="keyword">val</span> blit_string_to_memory_unsafe</span> : <code class="type">string -> int -> <a href="Netsys_mem.html#TYPEmemory">memory</a> -> int -> int -> unit</code></pre><br>
Unsafe version<br>
</div>
<pre><span id="VALmemory_of_bytes"><span class="keyword">val</span> memory_of_bytes</span> : <code class="type">Bytes.t -> <a href="Netsys_mem.html#TYPEmemory">memory</a></code></pre><div class="info ">
Return a new bigarray as a copy of the string<br>
......
......@@ -263,21 +263,19 @@ Some helpers for en/decoding XDR faster<br>
</div>
<hr width="100%">
<pre><span id="VALs_read_int4_64_unsafe"><span class="keyword">val</span> s_read_int4_64_unsafe</span> : <code class="type">Bytes.t -> int -> int</code></pre><div class="info ">
<pre><span id="VALs_read_int4_64_unsafe"><span class="keyword">val</span> s_read_int4_64_unsafe</span> : <code class="type">Bytes.t -> int -> int</code></pre><br>
For 64 bit platforms only: Decodes 4 bytes at this string position
as a signed 32 bit int in network byte order
<p>
There is no index bounds check!<br>
</div>
<pre><span id="VALs_write_int4_64_unsafe"><span class="keyword">val</span> s_write_int4_64_unsafe</span> : <code class="type">Bytes.t -> int -> int -> unit</code></pre><div class="info ">
<pre><span id="VALs_write_int4_64_unsafe"><span class="keyword">val</span> s_write_int4_64_unsafe</span> : <code class="type">Bytes.t -> int -> int -> unit</code></pre><br>
For 64 bit platforms only: Encodes 4 bytes at this string position
as a signed 32 bit int in network byte order
<p>
There is no index bounds check!<br>
</div>
<pre><span id="VALs_read_string_array_unsafe"><span class="keyword">val</span> s_read_string_array_unsafe</span> : <code class="type">Bytes.t -> int -> int -> int32 -> string array -> int</code></pre><div class="info ">
<code class="code">let pos' = s_read_string_array s pos len max a</code>:
......
......@@ -419,8 +419,8 @@ Creates a new endpoint for this configuration.
<p>
<code class="code">peer_name</code> is the expected common name or DNS name of the
peer. <code class="code">peer_name</code> has an option type as it is not always
required to pass it. However, keep in mind that clients
peer (if set). <code class="code">peer_name</code> has an option type as it is not always
required to check the name. However, keep in mind that clients
normally authenticate servers (<code class="code">peer_auth=`Required</code>). In
order to do so, they need to check whether the name in the
server certificate equals the DNS name of the service they
......@@ -428,7 +428,12 @@ Creates a new endpoint for this configuration.
with the name in the certificate.
<p>
<code class="code">peer_name</code> is also used for the SNI extension.
If you set <code class="code">peer_name</code> to <code class="code">None</code>, the name in the certificate
is not checked.
<p>
<code class="code">peer_name</code> is also used for the SNI extension (name-based
virtual hosting).
<p>
Servers normally need not to set <code class="code">peer_name</code>. You can also omit it
......
......@@ -308,9 +308,6 @@ Bindings of a C library<br>
<pre><span id="TYPEgnutls_x509_crt_t"><span class="keyword">type</span> <code class="type"></code>gnutls_x509_crt_t</span> </pre>
<pre><span id="TYPEgnutls_openpgp_keyring_t"><span class="keyword">type</span> <code class="type"></code>gnutls_openpgp_keyring_t</span> </pre>
<pre><span id="TYPEgnutls_certificate_credentials_t"><span class="keyword">type</span> <code class="type"></code>gnutls_certificate_credentials_t</span> </pre>
......@@ -368,9 +365,6 @@ Bindings of a C library<br>
<pre><span id="TYPEgnutls_certificate_verify_flags"><span class="keyword">type</span> <code class="type"></code>gnutls_certificate_verify_flags</span> = <code class="type"><a href="Nettls_gnutls_bindings.html#TYPEgnutls_certificate_verify_flags_flag">gnutls_certificate_verify_flags_flag</a> list</code> </pre>
<pre><span id="TYPEgnutls_openpgp_crt_status_t"><span class="keyword">type</span> <code class="type"></code>gnutls_openpgp_crt_status_t</span> = <code class="type">[ `Cert | `Cert_fingerprint ]</code> </pre>
<pre><span id="TYPEgnutls_close_request_t"><span class="keyword">type</span> <code class="type"></code>gnutls_close_request_t</span> = <code class="type">[ `Rdwr | `Wr ]</code> </pre>
......@@ -594,7 +588,6 @@ Bindings of a C library<br>
<pre><span id="VALgnutls_certificate_get_issuer"><span class="keyword">val</span> gnutls_certificate_get_issuer</span> : <code class="type"><a href="Nettls_gnutls_bindings.html#TYPEgnutls_certificate_credentials_t">gnutls_certificate_credentials_t</a> -><br> <a href="Nettls_gnutls_bindings.html#TYPEgnutls_x509_crt_t">gnutls_x509_crt_t</a> -><br> <a href="Nettls_gnutls_bindings.html#TYPEempty_flags">empty_flags</a> -><br> <a href="Nettls_gnutls_bindings.html#TYPEgnutls_x509_crt_t">gnutls_x509_crt_t</a></code></pre>
<pre><span id="VALgnutls_certificate_set_verify_flags"><span class="keyword">val</span> gnutls_certificate_set_verify_flags</span> : <code class="type"><a href="Nettls_gnutls_bindings.html#TYPEgnutls_certificate_credentials_t">gnutls_certificate_credentials_t</a> -><br> <a href="Nettls_gnutls_bindings.html#TYPEgnutls_certificate_verify_flags">gnutls_certificate_verify_flags</a> -> unit</code></pre>
<pre><span id="VALgnutls_certificate_set_verify_limits"><span class="keyword">val</span> gnutls_certificate_set_verify_limits</span> : <code class="type"><a href="Nettls_gnutls_bindings.html#TYPEgnutls_certificate_credentials_t">gnutls_certificate_credentials_t</a> -> int -> int -> unit</code></pre>
<pre><span id="VALgnutls_openpgp_send_cert"><span class="keyword">val</span> gnutls_openpgp_send_cert</span> : <code class="type"><a href="Nettls_gnutls_bindings.html#TYPEgnutls_session_t">gnutls_session_t</a> -><br> <a href="Nettls_gnutls_bindings.html#TYPEgnutls_openpgp_crt_status_t">gnutls_openpgp_crt_status_t</a> -> unit</code></pre>
<pre><span id="VALgnutls_srp_allocate_client_credentials"><span class="keyword">val</span> gnutls_srp_allocate_client_credentials</span> : <code class="type">unit -> <a href="Nettls_gnutls_bindings.html#TYPEgnutls_srp_client_credentials_t">gnutls_srp_client_credentials_t</a></code></pre>
<pre><span id="VALgnutls_srp_set_client_credentials"><span class="keyword">val</span> gnutls_srp_set_client_credentials</span> : <code class="type"><a href="Nettls_gnutls_bindings.html#TYPEgnutls_srp_client_credentials_t">gnutls_srp_client_credentials_t</a> -><br> string -> string -> unit</code></pre>
<pre><span id="VALgnutls_srp_allocate_server_credentials"><span class="keyword">val</span> gnutls_srp_allocate_server_credentials</span> : <code class="type">unit -> <a href="Nettls_gnutls_bindings.html#TYPEgnutls_srp_server_credentials_t">gnutls_srp_server_credentials_t</a></code></pre>
......
......@@ -1275,10 +1275,6 @@ A set of code points is given as a list of ranges <code class="code">(from,to)</
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#TYPEgnutls_mac_algorithm_t">gnutls_mac_algorithm_t</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#TYPEgnutls_openpgp_crt_status_t">gnutls_openpgp_crt_status_t</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#TYPEgnutls_openpgp_keyring_t">gnutls_openpgp_keyring_t</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#TYPEgnutls_params_type_t">gnutls_params_type_t</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#TYPEgnutls_pk_algorithm_t">gnutls_pk_algorithm_t</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
......
......@@ -1631,10 +1631,7 @@ Compatibility name for <code class="code">blit_to_bytes</code>
</div>
</td></tr>
<tr><td><a href="Netsys_mem.html#VALblit_bytes_to_memory_unsafe">blit_bytes_to_memory_unsafe</a> [<a href="Netsys_mem.html">Netsys_mem</a>]</td>
<td><div class="info">
Unsafe version
</div>
</td></tr>
<td></td></tr>
<tr><td><a href="Netbuffer.html#VALblit_from_bytes">blit_from_bytes</a> [<a href="Netbuffer.html">Netbuffer</a>]</td>
<td><div class="info">
Same for bytes
......@@ -1665,10 +1662,7 @@ Same for tagged string
</div>
</td></tr>
<tr><td><a href="Netsys_mem.html#VALblit_memory_to_bytes_unsafe">blit_memory_to_bytes_unsafe</a> [<a href="Netsys_mem.html">Netsys_mem</a>]</td>
<td><div class="info">
Unsafe version
</div>
</td></tr>
<td></td></tr>
<tr><td><a href="Netsys_mem.html#VALblit_memory_to_string">blit_memory_to_string</a> [<a href="Netsys_mem.html">Netsys_mem</a>]</td>
<td><div class="info">
<span class="deprecated"></span></div>
......@@ -1696,10 +1690,7 @@ blits the mstrings one after the other to the memory, so that
</div>
</td></tr>
<tr><td><a href="Netsys_mem.html#VALblit_string_to_memory_unsafe">blit_string_to_memory_unsafe</a> [<a href="Netsys_mem.html">Netsys_mem</a>]</td>
<td><div class="info">
Unsafe version
</div>
</td></tr>
<td></td></tr>
<tr><td><a href="Netpagebuffer.html#VALblit_to_bytes">blit_to_bytes</a> [<a href="Netpagebuffer.html">Netpagebuffer</a>]</td>
<td><div class="info">
Blits contents to a string
......@@ -7127,8 +7118,6 @@ Get the <code class="code">gnutls_credentials</code> of the generic credentials
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#VALgnutls_mac_list">gnutls_mac_list</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#VALgnutls_openpgp_send_cert">gnutls_openpgp_send_cert</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#VALgnutls_pk_bits_to_sec_param">gnutls_pk_bits_to_sec_param</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
<td></td></tr>
<tr><td><a href="Nettls_gnutls_bindings.html#VALgnutls_pk_get_id">gnutls_pk_get_id</a> [<a href="Nettls_gnutls_bindings.html">Nettls_gnutls_bindings</a>]</td>
......@@ -12446,11 +12435,7 @@ Runs all post fork handlers.
<td></td></tr>
<tr><td align="left"><br>S</td></tr>
<tr><td><a href="Netsys_xdr.html#VALs_read_int4_64_unsafe">s_read_int4_64_unsafe</a> [<a href="Netsys_xdr.html">Netsys_xdr</a>]</td>
<td><div class="info">
For 64 bit platforms only: Decodes 4 bytes at this string position
as a signed 32 bit int in network byte order
</div>
</td></tr>
<td></td></tr>
<tr><td><a href="Netsys_xdr.html#VALs_read_string_array_unsafe">s_read_string_array_unsafe</a> [<a href="Netsys_xdr.html">Netsys_xdr</a>]</td>
<td><div class="info">
<code class="code">let pos' = s_read_string_array s pos len max a</code>:
......@@ -12458,11 +12443,7 @@ For 64 bit platforms only: Decodes 4 bytes at this string position
</div>
</td></tr>
<tr><td><a href="Netsys_xdr.html#VALs_write_int4_64_unsafe">s_write_int4_64_unsafe</a> [<a href="Netsys_xdr.html">Netsys_xdr</a>]</td>
<td><div class="info">
For 64 bit platforms only: Encodes 4 bytes at this string position
as a signed 32 bit int in network byte order
</div>
</td></tr>
<td></td></tr>
<tr><td><a href="Netmech_scram.html#VALsalt_password">salt_password</a> [<a href="Netmech_scram.html">Netmech_scram</a>]</td>
<td><div class="info">
<code class="code">let salted_password = salt_password h password salt iteration_count</code>
......
......@@ -264,7 +264,6 @@
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_x509_privkey_t<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_x509_crl_t<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_x509_crt_t<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_openpgp_keyring_t<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_certificate_credentials_t<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_anon_server_credentials_t<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_anon_client_credentials_t<br>
......@@ -357,7 +356,6 @@
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Do_not_allow_x509_v1_ca_crt</span>&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_certificate_verify_flags&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Nettls_gnutls_bindings</span>.gnutls_certificate_verify_flags_flag&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_openpgp_crt_status_t&nbsp;=&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Cert</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Cert_fingerprint</span>&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_close_request_t&nbsp;=&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Rdwr</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="keywordsign">`</span><span class="constructor">Wr</span>&nbsp;]<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;gnutls_protocol_t&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;<span class="keywordsign">`</span><span class="constructor">Dtls0_9</span><br>
......@@ -954,9 +952,6 @@
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gnutls_certificate_set_verify_limits&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Nettls_gnutls_bindings</span>.gnutls_certificate_credentials_t&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gnutls_openpgp_send_cert&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Nettls_gnutls_bindings</span>.gnutls_session_t&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Nettls_gnutls_bindings</span>.gnutls_openpgp_crt_status_t&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gnutls_srp_allocate_client_credentials&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Nettls_gnutls_bindings</span>.gnutls_srp_client_credentials_t<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gnutls_srp_set_client_credentials&nbsp;:<br>
......
This diff is collapsed.
......@@ -4,4 +4,6 @@ requires = "unix equeue lablgtk"
archive(byte) = "equeue_gtk1.cma"
archive(native) = "equeue_gtk1.cmxa"
archive(native,gprof) = "equeue_gtk1.p.cmxa"
plugin(byte) = "equeue_gtk1.cma"
plugin(native) = "equeue_gtk1.cmxs"
plugin(native,gprof) = "equeue_gtk1.p.cmxs"
......@@ -4,3 +4,6 @@ requires = "unix equeue lablgtk2"
archive(byte) = "equeue_gtk2.cma"
archive(native) = "equeue_gtk2.cmxa"
archive(native,gprof) = "equeue_gtk2.p.cmxa"
plugin(byte) = "equeue_gtk2.cma"
plugin(native) = "equeue_gtk2.cmxs"
plugin(native,gprof) = "equeue_gtk2.p.cmxs"