Conversation
|
I have been able to build your branch *) But not yet for --target=hvt on OpenBSD-7.0 amd64 due to a problem with the assembler (whereas --target=unix builds OK): |
|
Thanks for testing. Yes, the robur-coop/unipi#4 is similar to this PR and is in my re-review pipeline and will be merged soon. About the issue: This has been discussed and fixed upstream (discussion in ocaml/ocaml#9981). The fix is included in 4.10.2 (that should be straightforward for OpenBSD to update to), also 4.11.2, and since 4.12.0. I suspect the OpenBSD port is still at 4.10.0, eventually with the patch applied manually, but ocaml-freestanding takes the exact same version as the installed OCaml compiler (4.10.0 in your case) without additional patches. A workaround is to create an opam switch with a different OCaml compiler (opam switch create 4.13.1) and compile & install the dns-primary-git there. OpenBSD 6.9 seems to use an older clang that does not complain about the assembly error. |
|
@hannesm Thanks for your hints. Managed to build a package with 4.10.2 derived from 4.10.0 and then upgrade |
|
so this leads to successful compilation of dns-primary-git, but what is still missing are positive functional tests -- and what should be unrelated to let the git implementation use ipv4/ipv6 (by using happy-eyeballs within mimic/paf). |
|
@hannesm Yes correct. For the functional tests, I intended to get |
|
@hannesm After |
|
this was merged manually into the main branch. |
|
@hb9cwp how I have it set up is indeed a self-hosted gitea instance (git.robur.io), and I use git over ssh for the dns-primary-git, i.e.:
I used to suffer from some issues in the git-http transport (that may be fixed by now), and lack of knowledge how to setup http user authentication (before I started using gitea). |
|
@hannesm Thank you for guidance, which confirms what I tried to gather from your Deploying authoritative OCaml-DNS servers as MirageOS unikernels earlier, and encourages me to have another go at using SSH with both public Github and Gitea today.
Yesterday, I spent a quite a few hours to setup self-hosted Gitea for HTTPS correctly, e.g. providing it with fresh self-signed cert that matches its FQDN instead of server IP address, etc. With the result that the unikernels with debug log level fails now with More irritating is the default log output on the side of the Gitea server which kept me from trying to resolve the problem above (10.0.0.7 is the According to a few reports, the Go library tends to log such errors if there are problems with checksum offloading to NICs, in my case a Realtek |
|
The log output of gitea is indeed irritating. On the OCaml side, this ocaml-git code plays a role, noteworthy: module Nss = Ca_certs_nss.Make (Pclock) (* https://github.com/mirage/ca-certs-nss package *)
[...]
let authenticator = Rresult.R.failwith_error_msg (Nss.authenticator ())
let default_tls_cfg = Tls.Config.client ~authenticator ()
[...]
dft tls default_tls_cfgBasically this means that the default authenticator is chain of trust validation of the server certificate, using the nss trust anchors (also used by mozilla firefox, ca-certs-nss extracts them from nss into OCaml). This also means that your self-signed certificate won't be authenticated by git-paf. The bad record mac may need some investigation, my expectation was a bad certificate sent by the OCaml client to the go server. And (/cc @dinosaure) git-paf should offer other authenticators via boot parameters, so that you can specify your own CA certificate, a key or certificate fingerprint, etc. -- similar to what git_mirage_ssh does with the |
No description provided.