Regarding finger for VMS, I have no real recollection of how we used to gather idle time
for the 'job' (collection of process and subprocesses attached to the terminal).
Back in the university days, some of the VMS systems had a small fixed number of lines
connected to the Gandalf (a terminal server/switch) so we had to do something
to prevent users hogging the lines.
I think we used to enumerate allocated terminal class devices every 10 minutes and
remember their completed I/O counts. If the count hadn't changed since the last
sweep, then the user was logged out. There may have been other considerations involving
CPU time, etc. but as I said the details are permanently paged out of my
memory. I don't think the above would be any good really for finger idle time.
I have the beginnings of a DECnet finger server for VMS in Pascal, which will produce
summary information for who's logged, when, what they're doing and where
they're doing it
from and also specific information for matched users if supplied as a parameter, including
plan and the read/unread status of their mailbox. I won't do "poor man's
routing"
and I'm tempted to restrict the breadth of partial searches to a complete username
and/or complete word components of a user's real name.
It'll fit into the framework I have for a DECnet server that declares itself as an
object and remains running, handling multiple requests... but who wants a finger server
hanging around?!
I don't, so the initial version will be instantiated on incoming request.
It'll be on DUNE's default DECnet account if/when I finish it.
K
-----Original Message-----
From: Johnny Billquist [mailto:bqt@softjar.se]
Sent: 12 January 2026 09:29
To: hecnet(a)lists.dfupdate.se
Subject: [HECnet] Re: DECnet Finger Specification (Possible re-post) and Tops-20 Finger
Setup Documentation (New)
A couple of quick ones again then. :-)
On 2026-01-12 07:56, Terri Kennedy wrote:
On 2026-01-11 23:17, Johnny Billquist wrote:
Just a few comments, as I really should try to
get some sleep... :-)
I know the feeling...
I changed the RSTS/E finger to no longer send /IAM, which helped.
Well. That should just create some message about something not understood. I might not be
parsing things good enough on the RSX side, which I might need to improve. But anyway...
But a subsequent change to remove "FINGER
" from the command sent
to either a remote host or a local host breaks a great many things,
both in RSTS/E Finger (both fingering local users and remote node::
stuff) as well as breaking VMS Finger in the same way you say -
getting a bunch of "oops" for qualifiers you didn't specify.
This appears to be a DECnet-only thing, as VMS finger does not pre-
fix the command lines it sends to TCP/IP hosts with "FINGER ".
Ok. So confirmed an unfortunate difference in the request format here.
2BSD finger doesn't send "finger "
either, but when I say "finger
terry@server", a tcpdump on server shows that the expected command
line end isn't there (got a hex C9 instead):
No. 2.11BSD is in fact sending the same thing as any other finger client you've seen.
The c9 is not even sent. Just something you "think" is there.
01:29:18.31 spc11e.glaver.org.1028 >
server.glaver.org.finger: P
1:6(5) ack 1 win 4096
4500 002d b258 0000 4006 e834 cc8d 23e4 E..-.X..@..4..#.
cc8d 233f 0404 004f 0206 3502 cbef b2dd ..#?...O..5.....
5018 1000 a588 0000 7465 7272 79c9 P.......terry.
Note that the length of the data is actually 5 bytes. Ie. "terry". The
c9 after is just some cruft hanging around because of the minimum length of a packet on
ethernet, but is not actually a part of the actual tcp data sent.
And if you check more, you'll see that 2.11BSD then sends another packet, which
contains just the CR+LF. Which completes the request line.
FreeBSD doesn't send "finger " either,
but does correctly terminate
the command line with CR/LF:
All TCP/IP finger clients/servers are doing this right. You just have to remember that TCP
does really do a stream of bytes. Where things might be chopped up between underlying IP
packets don't matter.
So the "must prefix with 'FINGER
'" business seems to be a DECnet-
only thing. The RSTS/E version must have inherited it from DECUS
Finger, which looks like it was doing it long before I took over the
maintainership of the DECUS VMS Finger project. The reason why is
probably lost to history.
Seems that DECnet fingers of old did that, yeah.
I just checked the old finger client/server from DECUS for RSX, and it also did that. I
hadn't checked that detail before.
Much more investigation is needed, as I assume
nobody else wants to
modify their DECnet Finger implementation to make my life easier. 8-}
It would be an option, but I would prefer to have a consistent format and semantics across
different protocols, and not start adding/removing that extra string and possibly also
consider other differences in behavior based on transport.
How many more Finger implementations that handle
DECnet are outthere?
I know of my VMS Finger and RSTS/E Finger, Johnny's RSX Finger and
the
TOPS-20 one (ones?) Any others? I'm curious where the "send 'FINGER
'"
in the command came from. I wonder if it has something to do with VMS
and its oddball ideas about generic DECnet objects.
Like I said - there is a DECUS implementation in FORTRAN for RSX. Seems to be doing things
the same way you are, from a cursory glance.
But in most ways that implementation is much less capable than the one I've written.
Anyway, so long and thanks for all the fish -
I'll report back once
I have at least a conforming RSTS/E implementation. VMS may take longer.
Have fun. :-)
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
_______________________________________________
HECnet mailing list -- hecnet(a)lists.dfupdate.se To unsubscribe send an email to
hecnet-leave(a)lists.dfupdate.se