[HECnet] Effects of Rogue Duplicate HECnet Node?

Thomas DeBellis tommytimesharing at gmail.com
Tue Mar 3 20:05:51 PST 2020


Huh, now that is interesting.  I guess that's something that never made 
it into Tops-20, although it doesn't sound immediately difficult for 
some functionality to be implemented in NFT.  The 1982 DECnet-20 User 
Guide that I have is very specific that _only_ names (SIXBIT subset)  
can be given to GTJFN%. But it may be out of date or may have never been 
updated.

The GTJFN% file parsing code is formidable; not a few hours to look 
through, so I won't be looking at that tonight.  It seems to me that a 
very simple experiment will suffice: undefine a node (assuming the -1 
undocumented feature works) and then see what breaks.  The most 
important area would be the NICE handler, NMLT20.  If that can't do a 
TELL to an undefined node, then that is pretty definitive.

NFT will not parse for an area.number, although it could be made to 
(with sufficient coaxing).  It's using COMND% and GTJFN% to parse for 
the node name, so alternate parse tables would need to be done.  
However, that still leaves you with the fact that you would need to pump 
those numbers through the .NDRNN function of the NODE% JSYS if you were 
going to get anywhere.

Regretfully, I do not appear to have sources for NMLT20, so I can't tell 
what it does.  The parse tables for it (NCPTAB) accept an area.number, 
but I don't see that anything in the Tops-20 operator interface resolves 
it as above (Tops-10 does).

I'll tinker with it some more.  Wish I could find another Galaxy nerd, 
but we were very rare.
> ------------------------------------------------------------------------
> On 3/3/20 8:34 PM, Paul Koning wrote:
>
> 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
>
>> ------------------------------------------------------------------------
>> 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?
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sonic.net/pipermail/hecnet-list/attachments/20200303/a82266ee/attachment-0001.html>


More information about the Hecnet-list mailing list