[LEAPSECS] Bulletin C and all that

Rob Seaman seaman at noao.edu
Tue Jan 27 08:44:34 EST 2015


I realized I hadn't updated the printed header:

                Domain Name             IPv4               Decoded        Flags
--------------------------------------------------------------------------------
        bulletin-c.leapsec.com  ->  250.10.36.152   -> OK 2015  7  36  1  (1, 0)
            latest.leapsec.com  ->  250.10.36.152   -> OK 2015  7  36  1  (1, 0)

In case it wasn't clear, these addresses are live now (with a short TTL):

% dig +short bulletin-c.leapsec.com a
c49.leapsec.com.
250.10.36.152

% dig +short latest.leapsec.com a
c49.leapsec.com.
250.10.36.152

That is, TAI-UTC will equal 36s after 2015.5 where

	2015.5 = 1972 + (10 + (250-248) * 256) / 12.

If we converge on a different consensus encoding I'll update the zone file.  Or will delete the entries at the end of the experiment if the consensus is that DNS is insufficiently persuasive.  (And the owner of any domain that later can't commit to maintaining an up-to-date replica should do likewise.)

Regarding usage the client code for retrieving an encoded address should be prepared for name resolution to fail, either because the network is inaccessible or the entry is missing / stale, e.g.:

def get_addr(host):
        try:
                for res in socket.getaddrinfo(host, 0, socket.AF_INET, socket.SOCK_STREAM, 0, 0):
                        af, socktype, proto, canonname, sa = res
                        addr, port = sa
                        break
        except socket.gaierror:
                addr = "0.0.0.0"
        return addr

Decoding will then throw an error and the client does whatever is appropriate, e.g., read a locally cached value or try a different name / method.

Rob



More information about the LEAPSECS mailing list