[HECnet] Effects of Rogue Duplicate HECnet Node?

Paul Koning paulkoning at comcast.net
Tue Mar 3 17:34:33 PST 2020



> On Mar 3, 2020, at 6:57 PM, Thomas DeBellis <tommytimesharing at gmail.com> wrote:
> 
> You've put your finger on something that's puzzled me for quite some time about Tops-20's lexical implementation.
> 
> There is no standardized syntax in the generalized parsing interface (COMND% and GTJFN%) for using numeric node names.  If you ask COMND% to parse a node name and do not shut off standard syntax, then you must specify a maximum six character word which conforms to the SIXBIT character set followed a double colon, which looks like what you would think it would, viz: VENTI2::
> 
> However, the integration into the monitor isn't as seamless as it appears to be under VMS.  In order to make a connection, you must build a special string for GTJFN% to swallow.  Let's suppose I wanted to grab the latest node list from MIM:: (which I do on a weekly basis); you would type MIM::FIX.T20;0 as the source to NFT. That's not what GTJFN% wants and you must transmogrify the string into DCN:MIM-FAL.  Once that connection is open, you negotiate DAP and then ask MIM:: to send the file.
> 
> There is no standardized "[a.b.c.d]" syntax such as what you might use to get to an IP4 host which is neither in the DNS nor host tables.  You can use COMND% to parse for a number optionally followed by a dot and another number and the operator NICE interface (NCP) does in fact do this.  Indeed, it is the only interface besides SETNOD which does this (in order to define nodes).  So I can give an area.address to NCP as an argument to a TELL verb in order to get remote information.
> ...
> 
> Curiouser and curiouser.  Do the above two functionalities exist in other operating systems?

The area.node notation, and the Phase 3 numeric address notation, were intended to be standard, not just limited to NCP.  And indeed DECnet/E (in RSTS) does both:

$ dir 1.13::[decnet]nodenames.dat;0
           Node: 1.13
           User: guest
       Password: 
System Password: 

Directory 1.13::DU1:[DECNET]
Name     .Typ          Size     Prot    Access    Date    Time     UIC

NODENAMES.DAT;254  30/30       < 40>  28-Feb-20 28-Feb-20 01:08 [7,14]

Total of 30/30 blocks in 1 file.

$ dir 1037::[decnet]nodenames.dat;0
           Node: 1037
           User: guest
       Password: 
System Password: 

Directory 1037::DU1:[DECNET]
Name     .Typ          Size     Prot    Access    Date    Time     UIC

NODENAMES.DAT;254  30/30       < 40>  28-Feb-20 28-Feb-20 01:08 [7,14]

Total of 30/30 blocks in 1 file.

These are DECnet kernel features.  The connect call takes a 6-character ASCII node argument, and if that's numeric string (possibly with a . in it) it's interpreted as a node number in the way shown.  Of course, 63.1023 doesn't fit in 6 characters so for that one you'd be forced to write it as 65535.

	paul





More information about the Hecnet-list mailing list