-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[new release] dns (12 packages) (8.0.0) #25965
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CHANGES: * dns-client (lwt, mirage): depend on happy-eyeballs-{lwt,mirage} instead of duplicating the code. This requires happy-eyeballs 1.1.0, and now the same Happy_eyeballs_{lwt,mirage}.t is used for DNS (connecting to the nameserver) and for the application (connecting to a remote host) (@dinosaure @hannesm mirage/ocaml-dns#346) * server: improve API documentation (@hannesm 1a80bd4080e597687152cf351d035ef5f00c5946 000ae02dfc477d91c05891e3891a447328ae448a) * server: add a `packet_callback` to `handle_packet` and `handle_buf` (@RyanGibb mirage/ocaml-dns#349) * server: expose `update_data` (@RyanGibb mirage/ocaml-dns#350) * resolver: b root name server IP change (@hannesm mirage/ocaml-dns#348) * secondary server [mirage]: avoid infinite loop in connect (avoids SYN floods) (@hannesm @reynir mirage/ocaml-dns#347) * resolver, dns_zone: use consistently `Log` instead of `Logs` (@palainp mirage/ocaml-dns#342)
``` == ERROR while compiling conduit-mirage.6.2.2 ===============================# context 2.2.0~beta3~dev | linux/x86_64 | ocaml-base-compiler.5.2.0 | file:///home/opam/opam-repository path ~/.opam/5.2/.opam-switch/build/conduit-mirage.6.2.2 command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p conduit-mirage -j 39 exit-code 1 env-file ~/.opam/log/conduit-mirage-7-c37021.env output-file ~/.opam/log/conduit-mirage-7-c37021.out # output ### (cd _build/default && /home/opam/.opam/5.2/bin/ocamlopt.opt -w -40 -g -I src/conduit-mirage/.conduit_mirage.objs/byte -I src/conduit-mirage/.conduit_mirage.objs/native -I /home/opam/.opam/5.2/lib/angstrom -I /home/opam/.opam/5.2/lib/asn1-combinators -I /home/opam/.opam/5.2/lib/astring -I /home/opam/.opam/5.2/lib/base64 -I /home/opam/.opam/5.2/lib/bigstringaf -I /home/opam/.opam/5.2/lib/ca-certs-nss -I /home/opam/.opam/5.2/lib/conduit -I /home/opam/.opam/5.2/lib/conduit-lwt -I /home/opam/.opam/5.2/lib/cstruct -I /home/opam/.opam/5.2/lib/dns -I /home/opam/.opam/5.2/lib/dns-client -I /home/opam/.opam/5.2/lib/dns-client-mirage -I /home/opam/.opam/5.2/lib/dns/cache -I /home/opam/.opam/5.2/lib/domain-name -I /home/opam/.opam/5.2/lib/duration -I /home/opam/.opam/5.2/lib/eqaf -I /home/opam/.opam/5.2/lib/eqaf/bigstring -I /home/opam/.opam/5.2/lib/eqaf/cstruct -I /home/opam/.opam/5.2/lib/fmt -I /home/opam/.opam/5.2/lib/gmap -I /home/opam/.opam/5.2/lib/happy-eyeballs -I /home/opam/.opam/5.2/lib/happy-eyeballs-mirage -I /home/opam/.opam/5.2/lib/hkdf -I /home/opam/.opam/5.2/lib/io-page -I /home/opam/.opam/5.2/lib/ipaddr -I /home/opam/.opam/5.2/lib/ipaddr-sexp -I /home/opam/.opam/5.2/lib/logs -I /home/opam/.opam/5.2/lib/lru -I /home/opam/.opam/5.2/lib/lwt -I /home/opam/.opam/5.2/lib/macaddr -I /home/opam/.opam/5.2/lib/metrics -I /home/opam/.opam/5.2/lib/mirage-clock -I /home/opam/.opam/5.2/lib/mirage-crypto -I /home/opam/.opam/5.2/lib/mirage-crypto-ec -I /home/opam/.opam/5.2/lib/mirage-crypto-pk -I /home/opam/.opam/5.2/lib/mirage-crypto-rng -I /home/opam/.opam/5.2/lib/mirage-flow -I /home/opam/.opam/5.2/lib/mirage-flow-combinators -I /home/opam/.opam/5.2/lib/mirage-kv -I /home/opam/.opam/5.2/lib/mirage-random -I /home/opam/.opam/5.2/lib/mirage-time -I /home/opam/.opam/5.2/lib/optint -I /home/opam/.opam/5.2/lib/parsexp -I /home/opam/.opam/5.2/lib/pbkdf -I /home/opam/.opam/5.2/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.2/lib/psq -I /home/opam/.opam/5.2/lib/ptime -I /home/opam/.opam/5.2/lib/randomconv -I /home/opam/.opam/5.2/lib/seq -I /home/opam/.opam/5.2/lib/sexplib -I /home/opam/.opam/5.2/lib/sexplib0 -I /home/opam/.opam/5.2/lib/stringext -I /home/opam/.opam/5.2/lib/tcpip -I /home/opam/.opam/5.2/lib/tls -I /home/opam/.opam/5.2/lib/tls-mirage -I /home/opam/.opam/5.2/lib/uri -I /home/opam/.opam/5.2/lib/uri/services -I /home/opam/.opam/5.2/lib/vchan -I /home/opam/.opam/5.2/lib/x509 -I /home/opam/.opam/5.2/lib/xenstore -I /home/opam/.opam/5.2/lib/xenstore/client -I /home/opam/.opam/5.2/lib/zarith -intf-suffix .ml -no-alias-deps -o src/conduit-mirage/.conduit_mirage.objs/native/resolver_mirage.cmx -c -impl src/conduit-mirage/resolver_mirage.pp.ml) File "src/conduit-mirage/resolver_mirage.ml", line 100, characters 4-21: 100 | DNS.gethostbyname dns host >>= function ^^^^^^^^^^^^^^^^^ Error: The module DNS is a functor, it cannot have any components (cd _build/default && /home/opam/.opam/5.2/bin/ocamlc.opt -w -40 -g -bin-annot -I src/conduit-mirage/.conduit_mirage.objs/byte -I /home/opam/.opam/5.2/lib/angstrom -I /home/opam/.opam/5.2/lib/asn1-combinators -I /home/opam/.opam/5.2/lib/astring -I /home/opam/.opam/5.2/lib/base64 -I /home/opam/.opam/5.2/lib/bigstringaf -I /home/opam/.opam/5.2/lib/ca-certs-nss -I /home/opam/.opam/5.2/lib/conduit -I /home/opam/.opam/5.2/lib/conduit-lwt -I /home/opam/.opam/5.2/lib/cstruct -I /home/opam/.opam/5.2/lib/dns -I /home/opam/.opam/5.2/lib/dns-client -I /home/opam/.opam/5.2/lib/dns-client-mirage -I /home/opam/.opam/5.2/lib/dns/cache -I /home/opam/.opam/5.2/lib/domain-name -I /home/opam/.opam/5.2/lib/duration -I /home/opam/.opam/5.2/lib/eqaf -I /home/opam/.opam/5.2/lib/eqaf/bigstring -I /home/opam/.opam/5.2/lib/eqaf/cstruct -I /home/opam/.opam/5.2/lib/fmt -I /home/opam/.opam/5.2/lib/gmap -I /home/opam/.opam/5.2/lib/happy-eyeballs -I /home/opam/.opam/5.2/lib/happy-eyeballs-mirage -I /home/opam/.opam/5.2/lib/hkdf -I /home/opam/.opam/5.2/lib/io-page -I /home/opam/.opam/5.2/lib/ipaddr -I /home/opam/.opam/5.2/lib/ipaddr-sexp -I /home/opam/.opam/5.2/lib/logs -I /home/opam/.opam/5.2/lib/lru -I /home/opam/.opam/5.2/lib/lwt -I /home/opam/.opam/5.2/lib/macaddr -I /home/opam/.opam/5.2/lib/metrics -I /home/opam/.opam/5.2/lib/mirage-clock -I /home/opam/.opam/5.2/lib/mirage-crypto -I /home/opam/.opam/5.2/lib/mirage-crypto-ec -I /home/opam/.opam/5.2/lib/mirage-crypto-pk -I /home/opam/.opam/5.2/lib/mirage-crypto-rng -I /home/opam/.opam/5.2/lib/mirage-flow -I /home/opam/.opam/5.2/lib/mirage-flow-combinators -I /home/opam/.opam/5.2/lib/mirage-kv -I /home/opam/.opam/5.2/lib/mirage-random -I /home/opam/.opam/5.2/lib/mirage-time -I /home/opam/.opam/5.2/lib/optint -I /home/opam/.opam/5.2/lib/parsexp -I /home/opam/.opam/5.2/lib/pbkdf -I /home/opam/.opam/5.2/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/5.2/lib/psq -I /home/opam/.opam/5.2/lib/ptime -I /home/opam/.opam/5.2/lib/randomconv -I /home/opam/.opam/5.2/lib/seq -I /home/opam/.opam/5.2/lib/sexplib -I /home/opam/.opam/5.2/lib/sexplib0 -I /home/opam/.opam/5.2/lib/stringext -I /home/opam/.opam/5.2/lib/tcpip -I /home/opam/.opam/5.2/lib/tls -I /home/opam/.opam/5.2/lib/tls-mirage -I /home/opam/.opam/5.2/lib/uri -I /home/opam/.opam/5.2/lib/uri/services -I /home/opam/.opam/5.2/lib/vchan -I /home/opam/.opam/5.2/lib/x509 -I /home/opam/.opam/5.2/lib/xenstore -I /home/opam/.opam/5.2/lib/xenstore/client -I /home/opam/.opam/5.2/lib/zarith -intf-suffix .ml -no-alias-deps -o src/conduit-mirage/.conduit_mirage.objs/byte/resolver_mirage.cmo -c -impl src/conduit-mirage/resolver_mirage.pp.ml) File "src/conduit-mirage/resolver_mirage.ml", line 100, characters 4-21: 100 | DNS.gethostbyname dns host >>= function ^^^^^^^^^^^^^^^^^ Error: The module DNS is a functor, it cannot have any components ```
``` == ERROR while compiling capnp-rpc-mirage.1.2.3 =============================# context 2.2.0~beta3~dev | linux/x86_64 | ocaml-base-compiler.5.2.0 | file:///home/opam/opam-repository path ~/.opam/5.2/.opam-switch/build/capnp-rpc-mirage.1.2.3 command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p capnp-rpc-mirage -j 255 exit-code 1 env-file ~/.opam/log/capnp-rpc-mirage-7-71047e.env output-file ~/.opam/log/capnp-rpc-mirage-7-71047e.out # output ### (cd _build/default && /home/opam/.opam/5.2/bin/ocamlc.opt -w -40 -g -bin-annot -I mirage/.capnp_rpc_mirage.objs/byte -I /home/opam/.opam/5.2/lib/angstrom -I /home/opam/.opam/5.2/lib/asetmap -I /home/opam/.opam/5.2/lib/asn1-combinators -I /home/opam/.opam/5.2/lib/astring -I /home/opam/.opam/5.2/lib/base64 -I /home/opam/.opam/5.2/lib/bigstringaf -I /home/opam/.opam/5.2/lib/bytes -I /home/opam/.opam/5.2/lib/ca-certs-nss -I /home/opam/.opam/5.2/lib/capnp -I /home/opam/.opam/5.2/lib/capnp-rpc -I /home/opam/.opam/5.2/lib/capnp-rpc-lwt -I /home/opam/.opam/5.2/lib/capnp-rpc-net -I /home/opam/.opam/5.2/lib/cstruct -I /home/opam/.opam/5.2/lib/dns -I /home/opam/.opam/5.2/lib/dns-client -I /home/opam/.opam/5.2/lib/dns-client-mirage -I /home/opam/.opam/5.2/lib/dns/cache -I /home/opam/.opam/5.2/lib/domain-name -I /home/opam/.opam/5.2/lib/duration -I /home/opam/.opam/5.2/lib/eqaf -I /home/opam/.opam/5.2/lib/eqaf/bigstring -I /home/opam/.opam/5.2/lib/eqaf/cstruct -I /home/opam/.opam/5.2/lib/fmt -I /home/opam/.opam/5.2/lib/gmap -I /home/opam/.opam/5.2/lib/happy-eyeballs -I /home/opam/.opam/5.2/lib/happy-eyeballs-mirage -I /home/opam/.opam/5.2/lib/hkdf -I /home/opam/.opam/5.2/lib/ipaddr -I /home/opam/.opam/5.2/lib/logs -I /home/opam/.opam/5.2/lib/lru -I /home/opam/.opam/5.2/lib/lwt -I /home/opam/.opam/5.2/lib/macaddr -I /home/opam/.opam/5.2/lib/metrics -I /home/opam/.opam/5.2/lib/mirage-clock -I /home/opam/.opam/5.2/lib/mirage-crypto -I /home/opam/.opam/5.2/lib/mirage-crypto-ec -I /home/opam/.opam/5.2/lib/mirage-crypto-pk -I /home/opam/.opam/5.2/lib/mirage-crypto-rng -I /home/opam/.opam/5.2/lib/mirage-flow -I /home/opam/.opam/5.2/lib/mirage-kv -I /home/opam/.opam/5.2/lib/mirage-random -I /home/opam/.opam/5.2/lib/mirage-time -I /home/opam/.opam/5.2/lib/ocplib-endian -I /home/opam/.opam/5.2/lib/optint -I /home/opam/.opam/5.2/lib/pbkdf -I /home/opam/.opam/5.2/lib/prometheus -I /home/opam/.opam/5.2/lib/psq -I /home/opam/.opam/5.2/lib/ptime -I /home/opam/.opam/5.2/lib/randomconv -I /home/opam/.opam/5.2/lib/re -I /home/opam/.opam/5.2/lib/res -I /home/opam/.opam/5.2/lib/result -I /home/opam/.opam/5.2/lib/seq -I /home/opam/.opam/5.2/lib/sexplib0 -I /home/opam/.opam/5.2/lib/stdint -I /home/opam/.opam/5.2/lib/stringext -I /home/opam/.opam/5.2/lib/tcpip -I /home/opam/.opam/5.2/lib/tls -I /home/opam/.opam/5.2/lib/tls-mirage -I /home/opam/.opam/5.2/lib/uri -I /home/opam/.opam/5.2/lib/x509 -I /home/opam/.opam/5.2/lib/zarith -no-alias-deps -open Capnp_rpc_mirage__ -o mirage/.capnp_rpc_mirage.objs/byte/capnp_rpc_mirage__Network.cmi -c -intf mirage/network.mli) File "mirage/network.mli", line 22, characters 10-15: 22 | dns : Dns.t; ^^^^^ Error: The module Dns is a functor, it cannot have any components ```
``` === ERROR while compiling dkim-mirage.0.5.0 ==================================# context 2.2.0~beta3~dev | linux/x86_64 | ocaml-base-compiler.5.2.0 | file:///home/opam/opam-repository path ~/.opam/5.2/.opam-switch/build/dkim-mirage.0.5.0 command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p dkim-mirage -j 255 exit-code 1 env-file ~/.opam/log/dkim-mirage-7-df3170.env output-file ~/.opam/log/dkim-mirage-7-df3170.out ## output ### (cd _build/default && /home/opam/.opam/5.2/bin/ocamlc.opt -w -40 -g -bin-annot -I mirage/.dkim_mirage.objs/byte -I /home/opam/.opam/5.2/lib/angstrom -I /home/opam/.opam/5.2/lib/asn1-combinators -I /home/opam/.opam/5.2/lib/astring -I /home/opam/.opam/5.2/lib/base64 -I /home/opam/.opam/5.2/lib/base64/rfc2045 -I /home/opam/.opam/5.2/lib/bigarray-overlap -I /home/opam/.opam/5.2/lib/bigstringaf -I /home/opam/.opam/5.2/lib/ca-certs-nss -I /home/opam/.opam/5.2/lib/coin -I /home/opam/.opam/5.2/lib/cstruct -I /home/opam/.opam/5.2/lib/digestif -I /home/opam/.opam/5.2/lib/dkim -I /home/opam/.opam/5.2/lib/dns -I /home/opam/.opam/5.2/lib/dns-client -I /home/opam/.opam/5.2/lib/dns-client-mirage -I /home/opam/.opam/5.2/lib/dns/cache -I /home/opam/.opam/5.2/lib/domain-name -I /home/opam/.opam/5.2/lib/duration -I /home/opam/.opam/5.2/lib/emile -I /home/opam/.opam/5.2/lib/eqaf -I /home/opam/.opam/5.2/lib/eqaf/bigstring -I /home/opam/.opam/5.2/lib/eqaf/cstruct -I /home/opam/.opam/5.2/lib/fmt -I /home/opam/.opam/5.2/lib/gmap -I /home/opam/.opam/5.2/lib/happy-eyeballs -I /home/opam/.opam/5.2/lib/happy-eyeballs-mirage -I /home/opam/.opam/5.2/lib/hkdf -I /home/opam/.opam/5.2/lib/hmap -I /home/opam/.opam/5.2/lib/ipaddr -I /home/opam/.opam/5.2/lib/ke -I /home/opam/.opam/5.2/lib/logs -I /home/opam/.opam/5.2/lib/lru -I /home/opam/.opam/5.2/lib/lwt -I /home/opam/.opam/5.2/lib/macaddr -I /home/opam/.opam/5.2/lib/metrics -I /home/opam/.opam/5.2/lib/mirage-clock -I /home/opam/.opam/5.2/lib/mirage-crypto -I /home/opam/.opam/5.2/lib/mirage-crypto-ec -I /home/opam/.opam/5.2/lib/mirage-crypto-pk -I /home/opam/.opam/5.2/lib/mirage-crypto-rng -I /home/opam/.opam/5.2/lib/mirage-flow -I /home/opam/.opam/5.2/lib/mirage-kv -I /home/opam/.opam/5.2/lib/mirage-random -I /home/opam/.opam/5.2/lib/mirage-time -I /home/opam/.opam/5.2/lib/mrmime -I /home/opam/.opam/5.2/lib/optint -I /home/opam/.opam/5.2/lib/pbkdf -I /home/opam/.opam/5.2/lib/pecu -I /home/opam/.opam/5.2/lib/prettym -I /home/opam/.opam/5.2/lib/psq -I /home/opam/.opam/5.2/lib/ptime -I /home/opam/.opam/5.2/lib/randomconv -I /home/opam/.opam/5.2/lib/rosetta -I /home/opam/.opam/5.2/lib/seq -I /home/opam/.opam/5.2/lib/sexplib0 -I /home/opam/.opam/5.2/lib/tcpip -I /home/opam/.opam/5.2/lib/tls -I /home/opam/.opam/5.2/lib/tls-mirage -I /home/opam/.opam/5.2/lib/unstrctrd -I /home/opam/.opam/5.2/lib/unstrctrd/parser -I /home/opam/.opam/5.2/lib/uutf -I /home/opam/.opam/5.2/lib/uuuu -I /home/opam/.opam/5.2/lib/x509 -I /home/opam/.opam/5.2/lib/yuscii -I /home/opam/.opam/5.2/lib/zarith -intf-suffix .ml -no-alias-deps -o mirage/.dkim_mirage.objs/byte/dkim_mirage.cmo -c -impl mirage/dkim_mirage.ml) File "mirage/dkim_mirage.ml", line 71, characters 12-54: 71 | include Dns_client_mirage.Make (R) (T) (M) (P) (S) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error: This module is not a structure; it has type "functor (H : sig type t type stack = S.t type flow = S.TCP.flow type getaddrinfo = [ `A | `AAAA ] -> [ `host ] Domain_name.t -> (Ipaddr.Set.t, [ `Msg of string ]) result Lwt.t val create : ?happy_eyeballs:Happy_eyeballs.t -> ?getaddrinfo:getaddrinfo -> ?timer_interval:int64 -> stack -> t val inject : t -> getaddrinfo -> unit val connect_host : t -> ?aaaa_timeout:int64 -> ?connect_delay:int64 -> ?connect_timeout:int64 -> ?resolve_timeout:int64 -> ?resolve_retries:int -> [ `host ] Domain_name.t -> int list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t val connect_ip : t -> ?aaaa_timeout:int64 -> ?connect_delay:int64 -> ?connect_timeout:int64 -> (Ipaddr.t * int) list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t val connect : t -> ?aaaa_timeout:int64 -> ?connect_delay:int64 -> ?connect_timeout:int64 -> ?resolve_timeout:int64 -> ?resolve_retries:int -> string -> int list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t end) -> sig type happy_eyeballs = H.t module Transport : sig type context = Dns_client_mirage.Make(R)(T)(M)(P)(S)(H).Transport.context type 'a io = 'a Lwt.t type io_addr = [ `Plaintext of Ipaddr.t * int | `Tls of Tls.Config.client * Ipaddr.t * int ] type stack = S.t * H.t type t = Dns_client_mirage.Make(R)(T)(M)(P)(S)(H).Transport.t val create : ?nameservers:Dns.proto * io_addr list -> timeout:int64 -> stack -> t val nameservers : t -> Dns.proto * io_addr list val rng : int -> Cstruct.t val clock : unit -> int64 val connect : t -> (Dns.proto * context, [> `Msg of string ]) result io val send_recv : context -> Cstruct.t -> (Cstruct.t, [> `Msg of string ]) result io val close : context -> unit io val bind : 'a io -> ('a -> 'b io) -> 'b io val lift : 'a -> 'a io val happy_eyeballs : t -> happy_eyeballs end type t = Dns_client.Make(Transport).t val transport : t -> Transport.t val create : ?cache_size:int -> ?edns:[ `Auto | `Manual of Dns.Edns.t | `None ] -> ?nameservers:Dns.proto * Transport.io_addr list -> ?timeout:int64 -> Transport.stack -> t val nameservers : t -> Dns.proto * Transport.io_addr list val getaddrinfo : t -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> ('response, [> `Msg of string ]) result Transport.io val gethostbyname : t -> [ `host ] Domain_name.t -> (Ipaddr.V4.t, [> `Msg of string ]) result Transport.io val gethostbyname6 : t -> [ `host ] Domain_name.t -> (Ipaddr.V6.t, [> `Msg of string ]) result Transport.io val get_resource_record : t -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> ('response, [> `Msg of string | `No_data of [ `raw ] Domain_name.t * Dns.Soa.t | `No_domain of [ `raw ] Domain_name.t * Dns.Soa.t ]) result Transport.io val get_raw_reply : t -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> (Dns.Packet.reply, [> `Msg of string | `Partial ]) result Transport.io val nameserver_of_string : string -> (Dns.proto * Transport.io_addr, [> `Msg of string ]) result val connect : ?cache_size:int -> ?edns:[ `Auto | `Manual of Dns.Edns.t | `None ] -> ?nameservers:string list -> ?timeout:int64 -> Transport.stack -> t Lwt.t end" (cd _build/default && /home/opam/.opam/5.2/bin/ocamlopt.opt -w -40 -g -I mirage/.dkim_mirage.objs/byte -I mirage/.dkim_mirage.objs/native -I /home/opam/.opam/5.2/lib/angstrom -I /home/opam/.opam/5.2/lib/asn1-combinators -I /home/opam/.opam/5.2/lib/astring -I /home/opam/.opam/5.2/lib/base64 -I /home/opam/.opam/5.2/lib/base64/rfc2045 -I /home/opam/.opam/5.2/lib/bigarray-overlap -I /home/opam/.opam/5.2/lib/bigstringaf -I /home/opam/.opam/5.2/lib/ca-certs-nss -I /home/opam/.opam/5.2/lib/coin -I /home/opam/.opam/5.2/lib/cstruct -I /home/opam/.opam/5.2/lib/digestif -I /home/opam/.opam/5.2/lib/dkim -I /home/opam/.opam/5.2/lib/dns -I /home/opam/.opam/5.2/lib/dns-client -I /home/opam/.opam/5.2/lib/dns-client-mirage -I /home/opam/.opam/5.2/lib/dns/cache -I /home/opam/.opam/5.2/lib/domain-name -I /home/opam/.opam/5.2/lib/duration -I /home/opam/.opam/5.2/lib/emile -I /home/opam/.opam/5.2/lib/eqaf -I /home/opam/.opam/5.2/lib/eqaf/bigstring -I /home/opam/.opam/5.2/lib/eqaf/cstruct -I /home/opam/.opam/5.2/lib/fmt -I /home/opam/.opam/5.2/lib/gmap -I /home/opam/.opam/5.2/lib/happy-eyeballs -I /home/opam/.opam/5.2/lib/happy-eyeballs-mirage -I /home/opam/.opam/5.2/lib/hkdf -I /home/opam/.opam/5.2/lib/hmap -I /home/opam/.opam/5.2/lib/ipaddr -I /home/opam/.opam/5.2/lib/ke -I /home/opam/.opam/5.2/lib/logs -I /home/opam/.opam/5.2/lib/lru -I /home/opam/.opam/5.2/lib/lwt -I /home/opam/.opam/5.2/lib/macaddr -I /home/opam/.opam/5.2/lib/metrics -I /home/opam/.opam/5.2/lib/mirage-clock -I /home/opam/.opam/5.2/lib/mirage-crypto -I /home/opam/.opam/5.2/lib/mirage-crypto-ec -I /home/opam/.opam/5.2/lib/mirage-crypto-pk -I /home/opam/.opam/5.2/lib/mirage-crypto-rng -I /home/opam/.opam/5.2/lib/mirage-flow -I /home/opam/.opam/5.2/lib/mirage-kv -I /home/opam/.opam/5.2/lib/mirage-random -I /home/opam/.opam/5.2/lib/mirage-time -I /home/opam/.opam/5.2/lib/mrmime -I /home/opam/.opam/5.2/lib/optint -I /home/opam/.opam/5.2/lib/pbkdf -I /home/opam/.opam/5.2/lib/pecu -I /home/opam/.opam/5.2/lib/prettym -I /home/opam/.opam/5.2/lib/psq -I /home/opam/.opam/5.2/lib/ptime -I /home/opam/.opam/5.2/lib/randomconv -I /home/opam/.opam/5.2/lib/rosetta -I /home/opam/.opam/5.2/lib/seq -I /home/opam/.opam/5.2/lib/sexplib0 -I /home/opam/.opam/5.2/lib/tcpip -I /home/opam/.opam/5.2/lib/tls -I /home/opam/.opam/5.2/lib/tls-mirage -I /home/opam/.opam/5.2/lib/unstrctrd -I /home/opam/.opam/5.2/lib/unstrctrd/parser -I /home/opam/.opam/5.2/lib/uutf -I /home/opam/.opam/5.2/lib/uuuu -I /home/opam/.opam/5.2/lib/x509 -I /home/opam/.opam/5.2/lib/yuscii -I /home/opam/.opam/5.2/lib/zarith -intf-suffix .ml -no-alias-deps -o mirage/.dkim_mirage.objs/native/dkim_mirage.cmx -c -impl mirage/dkim_mirage.ml) File "mirage/dkim_mirage.ml", line 71, characters 12-54: 71 | include Dns_client_mirage.Make (R) (T) (M) (P) (S) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error: This module is not a structure; it has type "functor (H : sig type t type stack = S.t type flow = S.TCP.flow type getaddrinfo = [ `A | `AAAA ] -> [ `host ] Domain_name.t -> (Ipaddr.Set.t, [ `Msg of string ]) result Lwt.t val create : ?happy_eyeballs:Happy_eyeballs.t -> ?getaddrinfo:getaddrinfo -> ?timer_interval:int64 -> stack -> t val inject : t -> getaddrinfo -> unit val connect_host : t -> ?aaaa_timeout:int64 -> ?connect_delay:int64 -> ?connect_timeout:int64 -> ?resolve_timeout:int64 -> ?resolve_retries:int -> [ `host ] Domain_name.t -> int list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t val connect_ip : t -> ?aaaa_timeout:int64 -> ?connect_delay:int64 -> ?connect_timeout:int64 -> (Ipaddr.t * int) list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t val connect : t -> ?aaaa_timeout:int64 -> ?connect_delay:int64 -> ?connect_timeout:int64 -> ?resolve_timeout:int64 -> ?resolve_retries:int -> string -> int list -> ((Ipaddr.t * int) * flow, [> `Msg of string ]) result Lwt.t end) -> sig type happy_eyeballs = H.t module Transport : sig type context = Dns_client_mirage.Make(R)(T)(M)(P)(S)(H).Transport.context type 'a io = 'a Lwt.t type io_addr = [ `Plaintext of Ipaddr.t * int | `Tls of Tls.Config.client * Ipaddr.t * int ] type stack = S.t * H.t type t = Dns_client_mirage.Make(R)(T)(M)(P)(S)(H).Transport.t val create : ?nameservers:Dns.proto * io_addr list -> timeout:int64 -> stack -> t val nameservers : t -> Dns.proto * io_addr list val rng : int -> Cstruct.t val clock : unit -> int64 val connect : t -> (Dns.proto * context, [> `Msg of string ]) result io val send_recv : context -> Cstruct.t -> (Cstruct.t, [> `Msg of string ]) result io val close : context -> unit io val bind : 'a io -> ('a -> 'b io) -> 'b io val lift : 'a -> 'a io val happy_eyeballs : t -> happy_eyeballs end type t = Dns_client.Make(Transport).t val transport : t -> Transport.t val create : ?cache_size:int -> ?edns:[ `Auto | `Manual of Dns.Edns.t | `None ] -> ?nameservers:Dns.proto * Transport.io_addr list -> ?timeout:int64 -> Transport.stack -> t val nameservers : t -> Dns.proto * Transport.io_addr list val getaddrinfo : t -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> ('response, [> `Msg of string ]) result Transport.io val gethostbyname : t -> [ `host ] Domain_name.t -> (Ipaddr.V4.t, [> `Msg of string ]) result Transport.io val gethostbyname6 : t -> [ `host ] Domain_name.t -> (Ipaddr.V6.t, [> `Msg of string ]) result Transport.io val get_resource_record : t -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> ('response, [> `Msg of string | `No_data of [ `raw ] Domain_name.t * Dns.Soa.t | `No_domain of [ `raw ] Domain_name.t * Dns.Soa.t ]) result Transport.io val get_raw_reply : t -> 'response Dns.Rr_map.key -> 'a Domain_name.t -> (Dns.Packet.reply, [> `Msg of string | `Partial ]) result Transport.io val nameserver_of_string : string -> (Dns.proto * Transport.io_addr, [> `Msg of string ]) result val connect : ?cache_size:int -> ?edns:[ `Auto | `Manual of Dns.Edns.t | `None ] -> ?nameservers:string list -> ?timeout:int64 -> Transport.stack -> t Lwt.t end" ```
CI looks fine -- there are some revdeps runs waiting to be finished, but these are only for packages where the upper bound was adjusted. so, good to merge. |
All looks good. Thanks! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
An opinionated Domain Name System (DNS) library
CHANGES:
duplicating the code. This requires happy-eyeballs 1.1.0, and now the same
Happy_eyeballs_{lwt,mirage}.t is used for DNS (connecting to the nameserver)
and for the application (connecting to a remote host)
(@dinosaure @hannesm Directly use Happy_eyeballs_lwt instead of a copy of it mirage/ocaml-dns#346)
1a80bd4080e597687152cf351d035ef5f00c5946
000ae02dfc477d91c05891e3891a447328ae448a)
packet_callback
tohandle_packet
andhandle_buf
(@RyanGibb add a packet callback mirage/ocaml-dns#349)
update_data
(@RyanGibb expose Dns_server.update_data mirage/ocaml-dns#350)(@hannesm @reynir secondary server, mirage layer mirage/ocaml-dns#347)
Log
instead ofLogs
(@palainp be consistent in the use of Logs vs Log module mirage/ocaml-dns#342)