Conversation
with some minor touchups.
but HSTSIX implementation should go in RESOLV
since that was already implemented.
|
Thanks! It's not really necessary to convert to a draft but it could be nice to signal the intent. There's a small line saying "Still in progress? Convert to draft" in the right sidebar on this page. |
and use it in SUPDUP
for simplicity etc
But for now, use only the HSTSIX of NETWRK (HOSTS3) since it's faster and hard to tell if it failed.
which decides whether to use DQ: (DQXDEV) or DOMAIN: (DQDEV). Default DQ:. Support that in NAME, SUPDUP and COMSAT.
and rename DODQ to DODNS for a little less confusion.
|
I think it's polite to ping @cstacy and explain the DQDEV code is being hacked here. |
|
Reviewing the changes to NAME took me on a tour in time to see the ups and downs of ITS. |
| CAIL B,1000 ; If any of high 3 bits were set, | ||
| JRST CVH3N3 ; it must be a HOSTS3 strange-fmt addr. | ||
| JUMPN B,CVH3N2 ; If not zero, then must assume HOSTS2 fmt. | ||
| ;; Noone uses Arpanet anymore - but some use Chaosnet. |
| Check out this [external guide](https://its.victor.se/wiki/dqdev) | ||
| To make ITS use DNS like a modern netizen, you need to do the following: | ||
|
|
||
| 1. Compile the handler for the DOMAIN: device, which interfaces to DNS. |
There was a problem hiding this comment.
Explain about DQ, DQX, and DOMAIN?
There was a problem hiding this comment.
Yes, somewhere. I'm not sure where to document what really, this file seems to be "user friendly" while explaining DQ/DQXDEV and DOMAIN/DQDEV might be more low-level info?
| MOVEI A,JCLBUF | ||
| PUSHJ P,NETWRK"HSTLOOK ;GET HOST NUMBER INTO A, NETWORK NUMBER INTO TT | ||
| ifn DODNS,[ | ||
| ;; NETWRK failed, try DNS |
There was a problem hiding this comment.
Why can't NETWRK"HSTLOOK do DNS under the covers?
There was a problem hiding this comment.
It would make sense, except it would (under the hood) make many programs larger and more complex/slower. Consider e.g. PEEK which is in a sense a real-time program, and might need to resolve addresses quite a few times per time unit in some circumstances.
The other way around might be more reasonable: let RESOLV use NETWRK under the hood?
But it's really unsustainable to have "all these programs" do both, in a manual fashion, reproducing the same code.
There was a problem hiding this comment.
I see your point about size/speed considerations. I don't know what PEEK does with hostnames. Would it make sense for programs to say $$DNS==0 or 1 before .INSRTing NETWRK to control whether to use DNS or not? It seems to me HSTLOOK is the natural entry point for any program that want to look up a host name, and it might be possible to extend this API in a way to make all callers happy.
There was a problem hiding this comment.
And then again, NETWRK is not only about name/address resolution, and RESOLV is not only about name<->address but also other DNS things. Hmm.
There was a problem hiding this comment.
Ho hum, reading the code is a way to learn. DQDEV already uses NETWRK if asked for it (e.g. domain:HOSTS3;ch;a;no.nocrew.org rather than domain:QUERY;ch;a;no.nocrew.org), so making RESOLV first ask for HOSTS3 and then DNS data should be easy - not efficient, but easy. ;-)
|
/T would be ok. Or people can also just edit the file.
|
also spelling error fix
Need to develop HOSTNM replacement in resolv or telnet.
Needed after PR PDP-10#2061, where the address is read from the IMP rather than hardcoded.
|
I'm still working on this - there is plenty still to do - but I find it a bit convenient to have the sum of all the commits visible in a PR. (Maybe there is another way?) |
|
I think it's perfectly fine to have an evolving work in progress as a draft pull request. |
(plus typo fix)
|
Is this still in (intermittent) progress? |
|
It is, indeed, but as you say, intermittently. Will find the time! |
This is a cleanup of the stuff I did back in 2005, previously "documented" at http://its.victor.se/wiki/dqdev. I added support in SUPDUP, and changed the default DNS server to 1.1.1.1.
To make this work, I think the only thing you might need is
It might not be needed if your ITS has a "real" IP address (rather than a tun address). For Chaosnet support, you need a DNS server which knows about DNS.Chaosnet.NET and allows recursion (for your requests).
Before merging, it needs some more/better documentation, and perhaps some testing. (Some of the fixes in DQDEV I admit I haven't understood now - there are some odd comments, but "it seems to work".)
How do I make this a "draft" pull request, or is that not necessary?