From: Oliver Bandel <oliver@first.in-berlin.de>
To: Alan Schmitt <alan.schmitt@polytechnique.org>
Cc: OCaml Mailing List <caml-list@inria.fr>
Subject: Re: [Caml-list] https and Ocamlnet
Date: Sun, 29 Dec 2019 14:42:41 +0100 [thread overview]
Message-ID: <20191229134240.censvvrki4xliexz@first.in-berlin.de> (raw)
In-Reply-To: <87impglc4p.fsf@polytechnique.org>
Quoting Alan Schmitt <alan.schmitt@polytechnique.org> (snt: 2019-09-25 15:49 +0200 CEST) (rcv: 2019-09-25 15:49 +0200 CEST):
> Hello,
>
> I have a small utility that downloads and parses the RSS feed from
> ocaml.org to include in the OCaml Weekly News, but a recent change to
> ocaml.org broke it: it seems to only be served through https. I tried to
> add a TLS provider, but it's still failing with a cryptic error message.
>
> Here is an extract of the code showing the problem:
>
> #+begin_src ocaml
> let () = Nettls_gnutls.init()
>
> let site = "https://ocaml.org"
> let feed_name = "/feed.xml"
>
> let planet = Nethttp_fs.http_fs site
> let feedic = planet # read [] feed_name
> let feed_string = Netchannels.string_of_in_obj_channel feedic
> let () = feedic # close_in()
> #+end_src
>
> I can compile it with
>
> ocamlfind ocamlc -o test -linkpkg -package netclient,nettls-gnutls test.ml
>
> but when I run it, I get this error
>
> Fatal error: exception Nettls_gnutls.TLS.Error(GNUTLS_E_PUSH_ERROR)
>
> I know nothing of TLS and searching for the error did not point me
> toward any solution.
>
> I'm using gnutls 3.6.9 and ocamlnet 4.1.6.
>
> How can I access the site using https?
>
> Thanks,
>
> Alan
Someone else had explored the problem with gnutls and
GNUTLS_E_PREMATURE_TERMINATION:
Missing "Content-Length" header results in "The TLS connection was non-properly terminated"
https://github.com/varnish/hitch/issues/127
Maybe that can help to find a solution here.
IMO it's good to have a library throwing an error / raising an exception
instead of ignoring it, but as user of that library it should be possible to catch it.
Don't know how to catch that exception with ocamlnet's Nettls_gnutls in
a convenient way.
If someone finds a solution to get the already read data even though the
exception was raised by gnutls/ocamlnet, please send it to the list.
Ciao,
Oliver
prev parent reply other threads:[~2019-12-29 13:42 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-25 13:49 Alan Schmitt
2019-09-25 14:52 ` Christophe TROESTLER
2019-09-25 15:47 ` Gerd Stolpmann
2019-09-26 6:20 ` Alan Schmitt
2019-09-26 6:27 ` Christophe TROESTLER
2019-09-26 6:56 ` Alan Schmitt
2019-09-26 13:41 ` Simon Cruanes
2019-09-26 15:44 ` Gerd Stolpmann
2019-09-27 6:31 ` Alan Schmitt
2019-09-27 13:53 ` Simon Cruanes
2019-09-26 14:39 ` Adrien Nader
2019-09-25 17:38 ` Oliver Bandel
2019-12-29 13:42 ` Oliver Bandel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191229134240.censvvrki4xliexz@first.in-berlin.de \
--to=oliver@first.in-berlin.de \
--cc=alan.schmitt@polytechnique.org \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox