ITS wiki

The Incompatible Timesharing System

User Tools

Site Tools


Setting up DNS support in ITS

Christopher Stacy implemented DNS support for ITS, which I later (ca 2005) hacked to get it working in my setup. The advantage is of course that you don't need to keep SYSHST;H3TEXT updated, but instead use the standard domain name system. Drawbacks are that programs need to be recompiled, and that some aren't yet fully compatible with the RESOLV library.

So: all this is optional!!

Work is ongoing to move this into the “new standard” ITS at Stay tuned, see the Github pull request for more info.

Files needed

  • VICTOR;DIG (for debugging)

A tape file can be found here, including the diffs from original files. [Updated 1028-02-13.]


Crucial: have your firewall intercept all DNS queries and send to local DNS server, otherwise all traffic goes to root server (configured at ROOHST) which might not even allow it. See $nameserver parameter (3rd arg) of my iptables script.
Or, as suggested below, change the server address to (Cloudflare) or (Google).

Compile DQDEV and install it as a “driver” for the DOMAIN: device.

:midas device;jobdev domain_hack;dqdev

Optional: Update the domain search list in VICTOR;RESOLV (see below).

Recompile programs which use SYSNET;RESOLV to instead use VICTOR;RESOLV (or where you choose to put it).

  • It turns out the only program that I seem to have converted to use the resolver is NAME (a.k.a. :FINGER or :F or :WHOIS). See HACK;NAME >. To install the new version, do
    • :midas hack;name
    • name$j
    • $l [followed by Enter]
    • debug[0
    • $g
  • In particular COMSAT (the mail server program) seems not to use the resolver - this makes sense since it sends all mail to the local “real” mail server (see my mail setup).
  • PEEK, SUPDUP, TELNET would be candidates, as well as MLDEV et al?


First you need to create a new “database” (do this once, don't mess with it):

:print domain:xyzzy; (dat)

When you have recompiled the programs, they will use DNS automatically.


Print “database” (never really updated):

:print domain:foo;.file. (dir)

Dig in the DNS:

:dig in;a;
:dig ch;hinfo;


See notes in files but also note in particular:


The root server is hardcoded at ROOHST/ROOADR to J.ROOT-SERVERS.NET with address If you set up your firewall as (strongly!) suggested above, this doesn't matter. FIXME A simpler idea might be to change this to (Cloudflare) or (Google).

The “main domain list” is set after MAKD10 to ITS.OS.ORG (instead of AI.MIT.EDU), both rather useless (but doesn't matter since RESOLV has its own search list).

The Chaosnet address-to-domain translation domain is hardcoded to CH-ADDR.NET after label RCHADR and after HSTB10. This only matters if you use Chaosnet.


The domain search list hardcoded to “” and “” at DOMS just before HSTADN. FIXME You probably want to update this, at least change “” to “”, since has been replaced by An updated version can be found here. (Then remember to recompile NAME.)

The Chaosnet address-to-domain translation domain is hardcoded to CH-ADDR.NET after HSTSRC (see note above).

dqdev.txt · Last modified: 2021-09-09 11:11 by victor