use dns-client >= 4.0.0 in mirage-conduit#290
Conversation
|
//cc @dinosaure @cfcs turns out most of resolver_mirage is not used (i tried cohttp-mirage, irmin-mirage and git-mirage as revdeps), and was safe to remove :D |
|
oh, and there's actually a resolver API at https://roburio.github.io/udns/doc/udns-mirage-client/Udns_mirage_client/Make/index.html FWIW this PR requires a udns release. furthermore, it modifies the semantics. instead of requesting 8.8.8.8 via udp, 91.239.100.100 is requested via tcp. also, udns is slightly more picky about domain names.. |
|
I noticed these behaviors about I don't know if it's possible to let end-user to specify a default resolver in |
|
@dinosaure in Mirage_impl_resolver we already support |
|
What does |
|
@hcarty anycast.censurfridns.dk, see https://blog.uncensoreddns.org/ |
|
@hannesm Thanks! |
|
I especially would like to know whether the |
|
The only one i can think of that might be using it is https://github.com/moby/vpnkit, cc @djs55 |
|
I had a quick look -- there's no use of |
|
thanks! I still have to release udns, but this is likely to happen very soon now :) |
|
I am massively looking forward to switching away from the venerable ocaml-dns :-) |
|
@avsm yes, i hope https://github.com/roburio/udns/compare/next is my last rewrite before an initial release |
|
this PR has been revised to the revised API of dns-mirage-client (taking the random device as functor argument) -- also the ns and ns_port are now (mirage/mirage#996) parameters (configuration time and runtime) -- thus I think all the issues have been addressed, and this is good to go and being released once dns is released (tomorrow!) since I've not much clue about conduit releases, is it viable to merge, tag, and release only mirage-conduit (with version 4.0.0)? or how is the tooling to release conduit* as y.z and mirage-conduit as a different version (since they started off differently)!? |
|
ok, this was a bit more involved than anticipated. I took the opportunity (since there's anyways a split universe between those who use dns-1.y and dns-4.y) to rename this in addition adds a travis job which compiles conduit-mirage. if this is acceptable, please say so (or merge and release directly -- conduit-mirage is not yet used by anyone). once this is in opam, I'm happy to adjust other packages (most of which, since the API / module have not changed, may even just need a as a side-effect this fixes #178 then! |
|
the main argument from #231 is not valid anymore, since the dominant naming is now YY-mirage (as can be seen on the dependencies onto mirage-conduit http://opam.ocaml.org/packages/mirage-conduit/) for YY in {git,cohttp,irmin,resp,h2,dns}. |
|
turns out, it is a bit more work than adjusting opam files, since the references in |
|
force-pushed the mirage-conduit changes only, the rename is over in https://github.com/hannesm/ocaml-conduit/tree/rename -- feel free to PR that branch here and merge if you feel like... |
… conduit-lwt-unix (2.0.0) CHANGES: * lwt-unix: obtain client IP correctly when using TLS connections (mirage/ocaml-conduit#277 @victorgomes) * lwt-unix: replace the dune/ocaml file with a `(select)` build form. This avoids invoking `ocamlfind` from the build, and fits in with the rest of dune builds much more naturally (@avsm). * lwt-unix: force callers to give a custom callback `on_exn` in case of exceptions to avoid random crashes (mirage/ocaml-conduit#261 @kit-ty-kate) * mirage: use `dns-client>=4.0.0` which is the `udns` implementation (mirage/ocaml-conduit#290 @hannesm) * mirage: rename `mirage-conduit` to `conduit-mirage` to fit the naming structure of this library suite more. All new users of Mirage should use `conduit-mirage`, and migrating should involve simply swapping the name in your `dune` and `opam` files (mirage/ocaml-conduit#302 @hannesm @avsm) * async: expose `verify_mode` correctly in `Conduit_async` (mirage/ocaml-conduit#298 @brendanlong)
replaces the dns resolver implementation. while at it, I found some code which I could safely remove (I tested end-to-end with canopy). see robur-coop/udns#14 for changes needed in udns