Some time ago in 2024, while I was writing the Tops-20 Finger Server,
Johnny and I collaborated on a finger specification for Finger over
DECnet. By 'collaborate', I mean I tried putting something together and
Johnny pointed out the mistakes and things iterated from there. It is
hopefully better than an RFC.
The major difference from the Internet specification is that the
protocol more closely aligns with a record orientated paradigm which is
more appropriate for DECnet applications. It can be told to do
otherwise and stream large buffers, but the default is for the
application to limit messages to line at time of no more than about 100
characters. I don't remember if I ever publicly announced availability,
but it can be found on VENTI2::DECNET-FINGER-SPECIFICATION.TXT for
anonymous NFT.
The Tops-20 Finger server itself was effectively complete enough last
year that I felt it appropriate to write a setup guide. It can be read
as a companion piece to the DECnet specification for more background
information on how to implement the protocol.
Further, and perhaps of more interest, it shows how to set up a network
service on Tops-20 without Operator capability, which makes the server
safer to run. Think of not using Administrator (on Windows), root (on
Ultrix), or SYS:, JACCT or [1,2] (on Tops-10) if you know what those
are. I don't know what the equivalent is on other DEC operating
systems. It can also be found on VENTI2::FNGSRV-SETUP.TXT.TXT for
anonymous NFT.
If there are other DECnet finger clients on HECnet than Johnny's or
mine, I would be delighted to hear about it. It's pretty trivial; you
open a connection to a remote host on object 117 (decimal) and send
either a carriage return, a line feed (which gets you the default full
system listing) or a user name followed by one of those two characters.
You then read responses and print them until the connection closes.
That's it. That's all.
Maybe a one or two line Python program? I could probably still do a
trivial BLISS Common client, but I don't recall having learned the
DECnet API for VMS. At Marlboro, the little Bliss work that I did was
for Tops-20 and Tops-10 and didn't do DECnet. Supposedly, it would have
been easy enough to run on VMS, but I never had the opportunity.
The only DECnet finger servers that are in full time production that I
am aware of are running on MIM:: and VENTI2::. TOMMYT:: runs it on an
experimental basis, but requires a monitor upgrade and reconfiguration
to do a full installation in order to go into production. I'll do that
later this year, I hope.
As we are preparing our relocation to Oregon, I have shut down my home network almost completely taking down all my HECNET nodes.
I expect them to be back online in May or June
Mike
Version 5.3(297)-5 incorporates additional features, enhancements and
fixes since the minor release of 5.3(277)-5 in 30-Aug-2024. These are as
listed below and can be identified in the source code with the edit
number as the prefix of a comment.
As a courtesy, it is being made available early to users of the HECnet
community prior to the tarball being posted on the Internet. It may be
anonymously NFT'ed from VENTI2::TOMMYT:<OINKY.K20MIT> and related
subdirectories.
The changes are briefly summarized below and are further described in
TOMMYT:<OINKY.K20MIT.DOCUMENTATION>KERMIT-20_V5_3_297-5-ANNOUNCEMENT.TXT.
Rich text is also available in .PDF and Microsoft .DOCX format.
Please email me any issues with FAL transfers off list and I will
investigate.
------------------------------------------------------------------------
[278] Modify DEFINE/SAVE to allow another terminal we've assigned
[279] If doing parity, show count of parity errors in STATUS if non-zero
[280] Catch an edge case of a missed parity substitution for a single
character
[281] When logging, do not issue an error message if not local
[282] Fix no blips when logging packets on a local terminal
[283] Specifically identify and log a time out packet, if logging
[284] PUSH [/CONTINUE /RECREATE /RESET (/KILL)]
[285] Rework capabilities when PUSH'ing
[286] Rework POP logic to handle the arcane case of being detached
[287] /NO-MACROS switch to SHOW (ALL) command
[288] Replace an unrolled LSH/IDPB loop with MOVSLJ.
[289] Fix fast multi-generation delete for server
[290] Move some more constants into CONST .PSECT
[291] Properly handle 30 bit one word global pointer in string error
processing
[292] Fix fast multi-generational delete for all wildcards
[293] Fix reporting for no Control-C capability
[294] Do an SFPTR% on every PMAP% in mapi:.
[295] Manage debugging of 36 bit transfers a little better
[296] Fix directory header which I subtly broke with [193]
[297] If no ^C, mention it on SHOW LINE
Kermit-20-Testing-Battery-5.3(297)-5 Updates