dns-client-lwt 8.0.0 · OCaml Package (2024)

ocaml-dns - a Domain Name System (DNS) library

(c) 2017-2019 Hannes Mehnert (robur.io, Center for the Cultivation of Technology)

v8.0.0

This library supports most of the domain name system used in the wild. It adheres to strict conventions. Failing early and hard. It is mostly implemented in the pure fragment of OCaml (no mutation, isolated IO, no exceptions).

It all started out as an experiment to run a recursive resolver, but after initial prototypes it turned out that every configurable recursive resolver needs a fully-fledged authoritative nameserver as well (for overriding various zones such as .localhost and reverse lookups of RFC 1918 IP ranges).

Legacy resource record types are not dealt with, and there is no plan to support ISDN, MAILA, MAILB, WKS, MB, HINFO, ... . AXFR, IXFR, and UPDATE is only handled via TCP connections. The only resource class supported is IN (the Internet). Truncated hmac in TSIG are not supported (always the full length of the hash algorithm is used).

Please read the blog article for a more detailed overview.

This library is published under the 2 clause BSD license.

Supported RFCs

*: Please note that the RFCs marked with * are only partially implemented (i.e. only wire format, but no logic handling the feature).

Installation

You first need to install OCaml (at least 4.08.2) and opam, the OCaml package manager (at least 2.0.0) on your machine (you can use opam to install an up-to-date OCaml (opam switch 4.08.2)).

You may want to follow the mirage installation instructions to get mirage installed on your computer.

To minimize the amount of run-time dependencies for each individual functionality, the library is split into multiple opam packages (core, server, client, resolver, cli, certify), with multiple ocamlfind libraries for the different backends (no optional dependencies) -- i.e. dns-server.mirage contains the MirageOS-specific DNS server code.

Now the µDNS library is installed, and you can try out the examples. Find some examples at the unikernel repository.

Documentation

API documentation is available online.

Transition from older versions

The pre-4.0.0 versions of ocaml-dns had a significantly different interface, and so applications using them will need to be rewritten to follow the stricter coding style used in the post-4.0.0 branches. The major improvements from 1.x to the 4.x series are:

  • data (rrset) is defined in a single GADT in Rr_map

  • added support for: notify, dynamic update, zone transfer, tsig (hmac authentication), edns

  • no mutable data structures, leading to easier reasoning about library state

  • switched to an independent domain_name library which uses a faster and more compact string array instead of string list for storing domain names

  • integration with LetsEncrypt for provisioning valid X.509 certificates

  • no use of exceptions, instead preferring explicit result values from API functions

Please get in touch on mirageos-devel@lists.xenproject.org or on the Discuss forum at https://discuss.ocaml.org (with the mirageos tag) if you have any questions about migrating (or just general questions).

Development

To work with the opam packages provided when developing modifications to DNS, or when pinning a specific version, you will have to pin the same version for all of them:

: csh syntaxset version=4.99.0set repo=git+https://github.com/mirage/ocaml-dns.git# the -y parameter means "force" or# "do go ahead and register a new package"# the -n parameter means# "just register the pin, don't actually install it yet"foreach pkg ( dns dns-{certify,cli,client,resolver,server,mirage,tsig,stub} ) opam pin add -y -n $pkg.$version --dev $repoend
: bash syntaxversion=4.99.0repo=git+https://github.com/mirage/ocaml-dns.gitfor pkg in dns dns-{certify,cli,client,resolver,server,mirage,tsig,stub}do opam pin add -y -n $pkg.$version --dev $repodone

Now you can install the packages you need, for instance:

opam install dns-client

or

opam install dns-resolver
dns-client-lwt 8.0.0 · OCaml Package (2024)

References

Top Articles
Example Zoom search template page
PriMera Scientific Engineering | International Journal
Citi Trends Watches
Karl Torp Height
ALLEN 'CHAINSAW' KESSLER | LAS VEGAS, NV, United States
Monthly Weather Calendar
Equipment Hypixel Skyblock
Chevrolet Colorado - Infos, Preise, Alternativen
Ups Cc Center
Dryers At Abc Warehouse
Selinas Gold Full Movie Netflix
Lakeport Craigslist
Bobibanking Retail
Mid-Autumn Festival 2024: The Best Lantern Displays and Carnivals in Hong Kong 
Bingo Kans Berekenen
When His Eyes Opened Chapter 3096
I've spent £23,000 to stay in the UK but it could all be for nothing
Reforge Update – Which Reforges Are The Best? – Hypixel Skyblock - Sirknightj
Rancho Medanos Schedule
SpaceX Polaris Dawn spacewalk - latest: 'It's gorgeous' - billionaire Jared Isaacman's awed reaction as he steps out of capsule on historic spacewalk
Nwi Police Blotter
-apostila-de-ingles-cn-epcar-eam-essa-eear-espcex-afa-efomm-en-e-ita-pr f3476c8ab0af975f02f2f651664c5f13 - Matemática
Https //Myapps.microsoft.com Portal
Hahs Sentral
Top Songs On Octane 2022
Huntress Neighborhood Watch
What Does FYP Mean on TikTok?
Ok Google Zillow
Taco Bell Fourth Of July Hours
Stronghold Slayer Cave
My Meet Scores Online Gymnastics
Logisticare Transportation Provider Login
REGULAMENTUL CAMPANIEI "Extra Smart Week" valabil in perioada 12-18 septembrie 2024
Leonards Truck Caps
Did Hannah Jewell Leave Wnem Tv5
Strange World Showtimes Near Twin County Cinema
Diminutiv: Definition, Bedeutung und Beispiele
Maatschappij- en Gedragswetenschappen: van inzicht naar impact
Wgu Admissions Login
Zip Tv Guide
Tcu Jaggaer
Natick Mall Directory Map
Glowforge Forum
Apartments for rent in Rotterdam
Clea-Lacy Juhn: Schwerer Schicksalsschlag kurz nach Zwillingsgeburt
German American Bank Owenton Ky
Gasmonkeygarage.com Cars For Sale
Southwest Flight 238
The Crew 2 Cheats für PS4, Xbox One und PC ▷➡️
Siôn Parry: The Welshman in the red of Canada
Raleigh Craigs List
Highplainsobserverperryton
Latest Posts
Article information

Author: Greg O'Connell

Last Updated:

Views: 5873

Rating: 4.1 / 5 (42 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Greg O'Connell

Birthday: 1992-01-10

Address: Suite 517 2436 Jefferey Pass, Shanitaside, UT 27519

Phone: +2614651609714

Job: Education Developer

Hobby: Cooking, Gambling, Pottery, Shooting, Baseball, Singing, Snowboarding

Introduction: My name is Greg O'Connell, I am a delightful, colorful, talented, kind, lively, modern, tender person who loves writing and wants to share my knowledge and understanding with you.