I've seen/heard of various stories about how people update their
nodename databases on their machines, hacking together scripts, and
processing files. So I figured I should write a small mail about the
topic (I should create a web-page with this information as well).
The main/basic point is that people are creating work for themselves
they really don't need.
Exactly how you update your nodename database on your machine depends on
what OS you are running, but there are basically prepared tools and
scripts already existing for pretty much any scenario. And if you happen
to have a system or need not currently covered, I can easily create one
for you as well.
But before going into the solutions, let me explain a bit about the
source of the data here.
DECnet phase IV do not have a centralized nodename system like DNS. Each
node in the DECnet network has its own nodename database, and every
machine can have its own name for another machine, independent of what
that other machine thinks its own nodename is.
However, in order to make it easier for multiple people and machines to
talk, it helps if everyone have a somewhat similar database. And here is
where the nodename database in MIM comes it. The nodename database that
I have on MIM is not the regular DECnet nodename database. Instead I'm
using DATATRIEVE to maintain a nodename database, which contains more
information than just the number and name. It contains the owner,
information about the software and hardware of the node, the location,
and when things were updated. This database is what is queried when
someone goes to http://mim.stupi.net/nodedb . And that page is generated
by just making queries in DATATRIEVE. If someone have a host with
DATATRIEVE on it, it is even possible to remotely access this DATATRIEVE
database over DECnet (you'll only have read-only access).
I have been considering possibly adding a web interface for people to
possibly be able to update their own information remotely, but so far
that's been a low priority thing. Maybe one day...
From this DATATRIEVE database I can then generate the DECnet nodename
database on MIM. This is a simple makefile actually. Whenever I run it,
it will create a bunch of different files (I'll get to that in a
moment), and detect if any changes have happened on the DECnet level of
things. If so, it will send a mail to people who have requested it,
informing them that the nodename database have been updated, and they
should update the nodename database of their own machines.
I hope this makes it apparent that creating various files based on the
nodename database is actually very simple. This is in a sense what
DATATRIEVE is good at. Creating reports is sortof what all these output
files are.
So - what files do I create today? Well, here is a short list:
FIX.CMD - This is a script file suitable for RSX systems using CFE.
However, it's sortof specially tailored for MIM, so it's not a file I
would recommend anyone else to use.
FIX.COM - This is a script for VMS systems using phase IV.
FIX.PHV - This is a script for VMS systems using phase V.
FIX.IMP - This is a script for VMS for anyone using DECdns.
FIX.T20 - This is a script for TOPS-20.
HECNET.PY - This is a definition file for PyDECnet.
FIX.RST - This is a script for RSTS/E.
NODENAMES.DAT - This is basically just the basic information is a simple
output form from DATATRIEVE. It exist mostly for historical reasons, but
I understand that lots of people actually take this file, and then write
code to process, extract and apply information from this file.
In addition, some systems can directly import nodenames from another
machine on DECnet, meaning you do not have to fetch and run any scripts
at all.
So here is the actioins you need to do on each system in a summarized form:
RSX:
In RSX, there is a tool called NNC which copies definitions from another
node. Copy over MIM::HECNET:NNC.BAT which is a batch file you can use
which does all the work of importing the latest definitions from MIM and
updating your local system. All you need to do is just "SUBMIT NNC.BAT"
and you are done.
VMS:
With phase IV, the node copy capability is build into NCP. All you need
to do is: "NCP COPY KNOWN NODES FROM MIM TO BOTH" and you are done.
With phase V, copy over FIX.PHV and run it, or just directly run it from
MIM like this: "@MIM::HECNET:FIX.PHV"
If you run DECdns, grab FIX.IMP, and run it with whatever tool is used
to manage this (sorry that I can't help more, I don't really have any
experience with DECdns).
TOPS-20:
Grab MIM::HECNET:FIX.T20 and run in in the NCP submode of OPR (if I
remember the setup correctly).
RSTS/E:
Grab MIM::HECNET:FIX.RST, and run it with "@FIX.RST".
PyDECnet:
Fetch hecnet.py by doing "wget mim.stupi.net/hecnet.py". Place that
where you have configured PyDECnet to get the nodenames from, and you
are good (not sure if you need to restart PyDECnet).
Now. If you have some other system with some specific format you need,
just let me know, and I'll create such a file as well. It's trivial for
me to do this from DATATRIEVE. If you spot something wrong/bad in some
file created today, let me know, and we'll fix it. If you see any errors
or omissions in the information in this mail, let me know, and I'll get
it corrected. I will create a web page with this information as well.
If you want to get a mail whenever the nodename database is updated,
just let me know and I'll add you to the list.
And HECnet is slowly growing. Occasionally a completely new person/site
gets connected. Occasionally people add more nodes. The online presence
seems pretty constant. At the moment 19 areas are online. In area 1,
currently there are 19 machines online. Looking at Paul's HECnet map
(http://akdesign.dyndns.org:8080/map), there are machines online in
quite different locations, covering a large part of the world. I find
this cool, and even though there isn't a lot being done, it's still fun.
Well. Have a nice weekend everyone, and I hope some people find this
information useful.
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
Some time ago, I asked about a list of DECnet generic objects and what
they meant. I remember seeing a response and now I can't find it or
what I thought I saved as a file. Could somebody send me that again?
For now, all I have is what SYSDPY shows. This is an annotated list
(note that numbers are octal unless otherwise specified:
_Object#_ _Name_ _Comment_
0 TASK
1 FAL1
2 URDS Unit Record Device Service (DN200)
3 ATS
4 CTS
5 TCL1
6 OSI
7 NRM
10 3270 3270 Terminal
11 2780 2780 Remote Job Entry protocol
12 3790
13 TPS
14 DIBOL
15 T20TRM Tops-20/Tops-10/Ultrix Network Remote
Terminal (NRT)
16 T20RSP
17 TCL
20 TLK
21 FAL File Access Listener
22 RTL
23 NCU NICE?
24 NETCPY
25 ONCTH
26 MAIL How different from MAIL11?
27 NVT
30 TCON
31 LOOP Loopback Testing
32 EVENT DECnet Event Reporting
33 MAIL11 VAX mail?
34 FTS File Transfer Service
35 PHONE Phone
36 DDMF
37 X25GAT X.25 gateway
40 UETP User Environment Test Package
41 VXMAIL
42 X29SRV
43 RDS
44 X25HST X.25 Host
45 SNAGAT SNA Gateway
46 SNARJE SNA Remote Job Entry
47 SNAGIS
50 MTSS
51 ELF
52 CTERM Control Terminal
53 DNSTA
54 DNSUL
55 DHCF
^D47 POSI Remote OPR
^D63 DTR
^D65 TOPOL
^D66 DQS Digital Queue Service (LAT?)
^D117 FINGER Personal Name service
^D123 PMR
^D201 MS
I needed to take a break from finishing up the Tops-20 DECnet/SMTP code,
so I finally looked into doing a Tops-20 finger server.Over the weekend,
I cobbled something together.For example, on TOMMYT::
FINGER>oinky@venti2 /no-plan
OINKYGuinea PigOINKY not logged in
Last logout Sun 1-Sep-2024 1:40AM from TTY6 (NRT)
No new mail, last read on Tue 12-Apr-2022 10:00PM
The finger server is multi-forking and works by creating a group of
forks, putting the finger program in each fork and changing the primary
input and output to whatever connection is being served.It is general
enough so that you could probably have it run any program with little
tinkering.
Right now, it is in debugging mode and typing a lot of diagnostic
information about the link.So, for the above attempt from the client,
the finger server console output was:
FNGSRV: Connection from TOMMYT, User: SLOGIN, Data: Tops-20_Finger
Object Type: Generic (165), Segment Size: 1459
Local Flow Control: Segment, Remote Flow Control: Segment
Link Quota: Input Percentage: 50, Buffers: 16, Input Goal: 0
As can be seen, the Tops-20 finger client has been modified to send the
name of the local user and optional data identifying the finger
client.Probably I’ll change that to the finger version.The RFC for
TCP/IP finger is (naturally) silent on what you can send over DECnet, so
this doesn’t break anything.So, I can finger myself on MIM:: just fine, viz:
FINGER>debellis@mim
[Default directory: US00:[DEBELLIS]CLI: DCLSID: TDB
Last seen Sep 16 2024 23:04:37 on RT0: from VENTI2::
Logged on 16 times.
No plan.
Unfortunately, it /doesn’t /work when I sign on to MIM:: and try the
local finger client there, viz:
$ finger -d VENTI2::OINKY
[VENTI2::]
$
So, no obvious failure, but no output, either. On VENTI2::, what I’m
seeing appears to be a successful connection and that the finger program
running in the sub-fork is opening OINKY’s finger plan and sending it
back over the link, viz:
[Fork FNGSRV opening SRV:117 for reading, writing]
FNGSRV: Connection from MIM, Task: DEBELLIS
Object Type: Generic (165), Segment Size: 558
Local Flow Control: Segment, Remote Flow Control: Message
Link Quota: Input Percentage: 50, Buffers: 16, Input Goal: 0
[Fork 2 opening TOMMYT:FINGER.BIN.5 for reading thawed]
[Fork 2 opening TOMMYT:<OINKY>FINGER.PLAN.4 for reading]
Currently, the finger server is highly instrumented, so if it detected
that something was amiss (like the finger sub-fork was flat out
croaking), it would complain about it. Or it should… Finger itself is
not so highly instrumented as I wanted to make the changes there as
small as possible.
If you have a finger client that can do DECnet connections on another
platform (I’m thinking VMS or maybe RSTS) and can try it, let me know
how you make out. Be aware that I did just hack this together in two and
a half days, so I make no claims to any sort of stability. I'm just
trying to trouble shoot at this point.
—T
To the neighbors of area 27:
I have a new ISP which will hopefully prove better than Comcast did. My new addresses are:
IPv4: 165.188.116.102
IPv6: 2601:b058:1ff:0:d48b:ea7e:93ea:b795
As always, these addresses are in DNS as decnet.theberrymans.com <http://decnet.theberrymans.com/>.
I’m still making the final necessary changes on my router but everything should be up and running by the end of the day (GMT -0600).
Mark Berryman
I'm a bit late to the party, but I figured I'd chime in here anyway
8-}
I was the maintainer of VMS Finger from V50.1.00 (when I took it over
from Rand Hall) until V50.1.35 which was the last release in July 2000.
Which Finger you get by default (and what it supports) on VMS depends on
which TCP/IP package you have. There's no native DECnet-only Finger.
I've started working on VMS Finger again, including back-porting the
V50.1.35 back to VAX/VMS - VAX support was essentially frozen at
V50.1.29.
Idle time on VMS is a bucket full of eels - VMS kept track of idle
time
on physical terminals. I'm not sure if it still does. It never did it
for
terminal-like connections. Brian Schenkenberger wrote a loadable execu-
table image, loaded at boot time, that provides idle monitoring for TT
devices, as well as hooks to add monitoring of other terminal devices.
A separate utility hooks into it during normal systartup_vms.com proces-
sing to add monitoring to RT devices (since that device didn't exist at
boot time). Although it is copyrighted by him, he allows it to be dis-
tributed with VMS Finger (and it works on both VAX and Alpha). I never
had an Itanium system of my own (and never desire to), so if you have
one
and want to run Finger on it, drop me an email and I'll send you a test
kit once I have VMS Finger closer to release state.
Here's an example of VMS Finger (running on a real VAX to a virtual-
ized Alpha):
VX4200::$ finger @server/idle/version
[SERVER.DECnet]
OpenVMS Finger: Version V51.1.36 of 23-Aug-2024
Unauthorized Access Strictly Prohibited
SERVER DS10 616 MHz, OpenVMS V8.4-2L1, Thu, 12-Sep-2024 21:28, 4 Users,
0 Batch
Uptime 19 18:55, since Sat, 24-Aug-2024 02:33, Load: 0.06 0.04 0.07
PID Username Program Term Login CPU Idle Location
TT Type
0000AD16 TERRY $ NTY13: 02:55 0:00 1:19
bedroom.glaver.o VT3xx
0000AA2B TERRY Ltpad NTY14: 02:56 0:00 18:30
bedroom.glaver.o VT3xx
00008634 TERRY Ua NTY12: 16:47 0:38 1:19
portable3-wl.gla VT3xx
0000C496 TERRY $ NTY15: 14:00 0:00 2
office.glaver.or VT3xx
0000C497 TERRY Ltpad NTY16: 14:01 0:00 7:26
office.glaver.or VT3xx
Some info on that display - by default, if the node being fingered
looks like it could be a DECnet Phase IV node, it tries DECnet first.
If you specify something that either isn't a known DECnet node or can't
possibly be a DECnet node, it uses TCP/IP:
VX4200::$ finger @server.glaver.org/idle/version
[SERVER.GLAVER.ORG]
OpenVMS Finger: Version V51.1.36 of 23-Aug-2024
Unauthorized Access Strictly Prohibited
SERVER DS10 616 MHz, OpenVMS V8.4-2L1, Thu, 12-Sep-2024 21:31, 4 Users,
0 Batch
Uptime 19 18:57, since Sat, 24-Aug-2024 02:33, Load: 0.07 0.07 0.07
PID Username Program Term Login CPU Idle Location
TT Type
0000AD16 TERRY $ NTY13: 02:55 0:00 1:21
bedroom.glaver.o VT3xx
0000AA2B TERRY Ltpad NTY14: 02:56 0:00 18:33
bedroom.glaver.o VT3xx
00008634 TERRY Ua NTY12: 16:47 0:38 1:21
portable3-wl.gla VT3xx
0000C496 TERRY $ NTY15: 14:00 0:00 4
office.glaver.or VT3xx
0000C497 TERRY Ltpad NTY16: 14:01 0:00 7:29
office.glaver.or VT3xx
VMS Finger will still try to link code for use with Joiner Associates'
JNET (BITNET) networking stack if you ask for it, but it is untested for
decades. If anyone is still running JNET and connected to something,
drop me an email.
I'm only testing as far back as VAX/VMS V7.3 right now. Eventually
I'll
see how far back I can go. Hopefully VMS V5.5-2 and ideally VMS V4.4.
So much for VMS Finger...
I'm also the creator of RSTS/E Finger. It is DECnet-only, but can be
con-
figured to use any DECnet node as a gateway, either to other DECnet
areas
or to TCP/IP hosts.
Here's RSTS/E 10.1 being Fingered from VMS:
SERVER::$ finger @pidp11/version
[PIDP11.DECnet]
RSTS/E Finger: Version V1.2-09 of 06-Sep-2024
RSTS/E Your Organization Name Here PiDP-11
PIDP11 PDP-11/70, RSTS V10.1-L, Friday, 12-Sep-1924 21:33, 9 Jobs, 63
Max.
Uptime 4 07:33:52, since Monday, 8-Sep-1924 14:00
05-Sep-24 - Your message could be here! Edit FINGER$:FINGER.MSG to
change it.
Job Username PPN Progrm Term Login CPU ST Location
TTType
1 SYSTEM 1,2 ERRCPY Det 00:00 SR - Detached -
2 SYSTEM 1,2 MAILQ Det 00:01 SR - Detached -
3 SYSTEM 1,2 OMS Det 00:03 SL - Detached -
4 SYSTEM 1,2 PBS... Det 00:06 SL - Detached -
5 SYSTEM 1,2 EVTLOG Det 00:00 SL - Detached -
6 SYSTEM 1,2 MESMAN Det 00:00 SL - Detached -
7 TERRY 20,254 DCL KB33: 14:01 00:00 ^C SERVER::[11,376]
VT320
8 TERRY 20,254 DCL KB34: 02:57 00:00 ^C SERVER::[11,376]
VT320
9 SYSTEM 1,2 FINSRV Det 00:00 RN - Detached -
And here is RSTS/E 10.1 Fingering an Internet host:
$ finger @mim.stupi.net
[MIM.STUPI.NET via routing host SERVER]
[SERVER.DECnet]
[MIM.STUPI.NET]
RSX-11M-PLUS system MIM. Fri Sep 13 03:39:27 2024. Up: 1 day, 4:44.
Luser Real name Term Idle Logged in From
BILLQUIST Johnny Billquist TT15: 17 12 Sep 14:53
s-5eeaac7c-74736162
RSTS/E Finger requires RSTS/E V9.6 or later, since the DECnet/E
it relies on is V4.1, which itself requires RSTS/E V9.6 or later.
Moving right along:
I also wrote an MS-DOS Finger implementation. That isn't as useless
as it sounds. If you just say "finger", you get the message "You are
the only user, of course". But like RSTS/E Finger, it uses DECnet
(Pathworks or whatever product name du jour that product has). The
code still exists, but I don't know of any modern Microsoft Windows
system that has a DECnet stack available for it. If anyone knows of
a DECnet implementation that runs under Windows 10, let me know and
I'll resurrect MS-DOS finger as a CLI application for Windows. I can
even sign it 8-}
Once I have VMS and RSTS/E Finger updated to where I want them,
I'd love to have a network interoperability bake-off with as many
other implementations as possible. Probably the oddest one I ran
into in my testing 30+ years ago was the front-end CPU for a Cray.
--
Terri Kennedy
Version 5.3(277)-5 incorporates additional features, enhancements and
fixes since edit release 5.3(255)-5 in March of this year (29-Mar-2024).
Users of the HECnet community may anonymously transfer files from
VENTI2::TOMMYT:<OINKY.K20MIT> and related subdirectories.
The changes are summarized below and are further described in
TOMMYT:<OINKY.K20MIT.DOCUMENTATION>KERMIT-20_V5_3_277-5-ANNOUNCEMENT.TXT.
Rich text is also available in and .PDF and Microsoft .DOCX format.
Note that the FAL server on VENTI2:: is *beta code* which required
modifications to Tops-20 in order to function properly in an edge case
that could happen at boot time. Please email me any issues with FAL
transfers off list and I will investigate.
------------------------------------------------------------------------
[256] /PARITY switch to ECHO for batch and other testing purposes[257]
Teach INPUT to respect parity, if asked
[258] SET PARITY action /ABORT, /PROCEED
[259] Fix a few arcane bugs in the C constant expression expander
[260] Fix DEFINE to work (again) with ESCAPE and PARITY
[261] Decrease repeated parity error messing
[262] Remove the legacy INPUT code that uses BIN%'s
[263] Stop using a SIN% for a line at a time read
[264] Toggle session logging from command level
[265] Fix TTY Input Buffer full when doing a TRANSMIT on a PTY
[266] Turn TRANSMIT and CAPTURE increasingly hairy switches in SET
parameters
[267] Give effective data rate at end of TRANSMIT
[268] CAPTURE is no longer hidden. Further document it
[269] Review, update and correction of all help text
[270] Enhance default for SET PROMPT to give some extra useful information
[271] Fix TVT setting; it gets overwritten by automatic processing
[272] SET TRANSMIT DEFAULT-PROMPT
[273] SET TRANSMIT CASE OBSERVE/IGNORE
[274] Fix SET INPUT to better support DEFINE
[275] SET TRANSMIT SETTINGS-DEFAULTS for backwards compatibility
[276] Fix indirect recursion crash when reporting an error with REALLY
short packets
[277] Variable blips (so we don't get clobbered for very small packets)
Kermit-20-Testing-Battery-5.3(277)-5 Updates
Updated Help
Has anybody ever used this and had success with it? The magic switches,
please?
backwr.c is a user contribution to klh10 to write tape files that can be
'mounted' on a 10/20. It comes with no documentation nor does it
describe its usage. I puzzled out the command line parser and did:
./backwr -c -T -f ../k20mit-277/k20mit-277.tar > k20tar.tap
I want to copy the tar file off the tape to try to read it on the 20
with the 20's implementation of tar.
However, when I try to copy the file off the tape, I get ?File data
error on file MTA0:
If not backwr, what are alternative solutions? The klh10 micro-engine's
NI implementation has odd behavior in that if you do a download, you get
megabit speeds. If you try to upload on the other hand, you can barely
crack 1 kilobaud. So I'm currently uploading the tarball with Kermit,
but at 1KBd, it's going to take three days.