I finally got my issues with Comcast straightened out and I now have static IP addresses. They are
IPv4: 50.185.8.122
IPv6: 2603:300b:6c4:21a0:c77b:4f58:27e4:6de2
These are also always available in DNS as decnet.theberrymans.com <http://decnet.theberrymans.com/>
Hopefully, this will be the last change for a while.
Mark Berryman
Area 27
After I got done 'enough' with the auto-mounting code for FAL (meaning,
I didn't make the modifications to the access control job because I
bumped into .MSIMF), I turned to fixing a bug that I bumped into a few
years ago. While Tops-20 does not support wildcarding devices, it does
support wildcarding all structures that the system currently has online
via the DSK*: moniker.
So, let's say you're a 60+ who is having those occasional lapses of
memory and you /really/ can't remember a single thing about something
you think you might have somewhere. This is, of course, completely
forgetting that you wanted to find something in the first place... you
can ask the EXEC to do something like, DIRECT DSK*:<*>*SOMETHING*.*.0.
You can also hand that to FIND to have it look in all those files.
Some experimentation with NFT shows that Tops-20 FAL supports structure
wildcarding. BUT!! If you're being nosy or are just plain hacking and
do DIRECT DSK*:<*>*.*.*, it crashes with a GLXLIB out of memory error
(ASE, Out of Address Space)...
Researching this shows that Tops-20 DAPLIB tries to buffer messages
before dumping them over the wire and that the decision it makes to dump
is file count based. That appeared to not work properly because of two
issues. First, each file was actually generating four separate
messages: a Name, an Attributes, a Date/Time Attributes and a File
Protection Attributes. Second, the buffer builder was always allocating
a buffer for the maximum size message, 4090 characters (1032 thirty-six
bit words).
That's pretty excessive, considering the typical sizes. Some
instrumentation shows the below:
Message Allocated Actual %Excess
Name 4,090 18 99.56%
Attributes 4,090 17 99.58%
Date/Time 4,090 40 99.02%
Protection 4,090 7 99.83%
I changed the buffering algorithm to dump based on available memory.
The starting available memory is 448 pages, so I take ¾ of that to
devote to DAP buffers and ¼ (122 pages) to do the dumping. That fixed
the problem. Then I changed the memory allocation to trim unused words
from the end of messages. That's not working as well as I expected,
probably because I need compact (or 'burp') the memory. Another
alternative would be to build all messages in a single area and then
only allow a chunk in the linked list for what I need. No burping.
A concern is what happens with the Configuration BUFSIZ operator and
what to do if it is 0 (unlimited). The DAP specification specifies that
an operand of zero means that if one of the two systems has an
unlimited buffer size, it sends a 0 and the two systems will use the
nonzero buffer size as the maximum. If both systems send 0, there is no
limit on the length of messages which may be sent.
My question is whether zero is absurd. Does any implementation send that?
It probably doesn't matter that much for sending, but I'm also thinking
that I might hypothetically have a similar problem on receive.
Obviously I don't because the current Tops-20 DAP won't negotiate a size
larger than 4096 bytes. Is anything running larger than that? Would it
be silly to?
Hi Johnny,
The network is up again over here; thanks ... A LOT!
I shelve the formation of the Swbu56 with multinet link to Mim for a while
in favour for more important issues at the moment, but for backup purposes
it is useful to have.
Thanks again,
Reindert
-----Original Message-----
From: Johnny Billquist [mailto:bqt@softjar.se]
Sent: Friday, 28 April, 2023 04:20
To: 'The Hobbyist DECnet mailing list' <hecnet(a)lists.dfupdate.se>
Subject: [HECnet] ANKE
After some head scratching, and some RSX hacking, I solved the problem
of accessing the host where ANKE is running. ANKE now restarted, and all
various connections that goes through there should come up now.
Let me know if you spot any problems.
This also means I'd like to reduce the number of links to MIM a little.
Some I like to keep for redundancy, but ANKE is easier to have lots of
different connections set up to.
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
After some head scratching, and some RSX hacking, I solved the problem
of accessing the host where ANKE is running. ANKE now restarted, and all
various connections that goes through there should come up now.
Let me know if you spot any problems.
This also means I'd like to reduce the number of links to MIM a little.
Some I like to keep for redundancy, but ANKE is easier to have lots of
different connections set up to.
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
Time for a new release announcement of TCP/IP for RSX-11M-PLUS.
This is version 2.12 of BQTCP/IP.
It's been four months since the last official update. Some major
improvements and bugfixes have been done, and it is strongly recommended
that systems are updated.
Highlights:
. Performance improvements
. Bugfixes
Detailed information on things that have been done since the last release:
Ethernet:
. Tweaked default configuration for ethernet to improve performance.
TCP:
. Implement TCP window scale option.
. Implemented full TCP retransmit timeout computation according to RFC.
Multinet:
. Changed Multinet/TCP to use push for data, and delayed ack.
SPOOF detection:
. Changed call to notify about spammers.
Resolver:
. Bugfix. Resolver library handled IP address string wrong.
IFCONFIG:
. Improved IFCONFIG SHOW ARP to read multiple entries before printing
anything out.
. Added max pool allocation statistics.
TELNETD:
. Fix telnet server to not delay/buffer output if a write with
breakthrough happens.
. Improve telnetd performance by doing more buffering and fewer packets.
. Improved behavior of TELNET and FTP with timeouts and multiple addr.
FTPD:
. Fix FTPD timeout through FTPD$TIMEOUT logical
. Fixed idle timeout handling to FTPD.
. Changed FTPD to use ast notifications for incoming commands, instead
of QIO. That way, no I/O is normally active, and things like task
extensions can proceed without problems.
MAILD:
. Improved MAILD SMTP error handling when happening in the middle of an
ongoing connection.
. Rewritten MAILD queue RMS processing.
. Improved MAILD. Mail content was artificially wrapped because of
buffer length limit. This limit was now raised to proper value.
. Improved MAILD SMTP send connection error handling.
. Changed MAILD MAIL11 reception to do delivery in separate process.
. Fixed MAILD SMTP$RELAY handling.
. Added capability to act as relay for mail for other systems.
. Bugfixes in mail handling and error reporting.
. Added ability to handle multiple IP addresses for host in MAILD
NTPD:
. Added improved exit status to NTPD to indicate if time changed.
TELNET:
. Added ability to handle multiple IP addresses for host in TELNET
. Improved behavior of TELNET with timeouts and multiple addr.
FTP:
. Added better error message to FTP in case of timeout.
. Added PORT command to FTP client.
. Improved FTP HELP command. Improved FTP help file.
. Added ability to handle multiple IP addresses for host in FTP
. Improved behavior of FTP with timeouts and multiple addr.
MAILRD:
. Improved MAILRD command line parsing.
. Changed MAIL DIRECTORY listing format slightly.
Some additional notes:
As usual, I would recommend people to update as soon as possible.
The changes are not critical, but will lead to a much better experience.
The patches to the TT: driver cannot be applied automatically, but
requires users to apply the patches themselves, and then run SYSGEN to
generate a new system.
Once added, the TNC2 task can be run at login, and will define logical
names for the user telling where he is connected from, if using telnet
or LAT.
The TT: driver patches also allows the updated MCR to give more
information with the DEV command (SHOW TERMINAL in DCL).
The other patches to RSX can be applied automatically by IPGEN, either
if used interactively when answering YES to the question about applying
RSX patches, or by running IPGEN explicitly to do the patches, with the
command:
@IPGEN PATCH
Specific information about the patches:
LAT: Fixes a memory leak, and adds the ability to read where a terminal
connection comes from when using LAT, using SF.GMC.
RMSDAP: Fixes a bug in getting the file protection, so the XAB gets
filled in correctly for remote files.
RMSDSP: Fixes that some numbers were displayed in signed octal, which
should have been displayed in decimal or unsigned octal, depending on
number.
DCL: Added terminal attributes for COLOR.
MCR: Too many fixes to be listed here...
INS: Fixes that users cannot circumvent protection on common regions.
HEL: Fix that users can login with session ID, or with directory, in
addition to name and UIC.
ACNT: Add no password change attribute to accounts.
PSW: Add no password change handling.
SYL (SYSLOG): Add terminal idle tracking on accounts without idle logout.
ECL: If the receiving machine is very slow, and the sending machine is
very fast, and the receiver announce several large buffers available,
ECL cannot keep up, and drops packets. This is a problem with the DECnet
flow control, as it is used in RSX. The simple solution is to allow more
outstanding buffers when receiving. A more complex solution would be to
change how RSX DECnet do flow control, but that would require rewriting
a fair chunk of the ECL module.
NMVACP: Fix handling of "show known nodes" command, which could skip
some nodes.
NVP: Add ability to use session ID or directory name for user identity
in DECnet nodename specifications.
EPM: Fix handling of ethernet multicast.
NTDEMO: Fix that hosts without names should display DECnet address.
NCP: Parse of additional information types in NICE messages.
As usual, the distribution is available from:
ftp://mim.stupi.net/bqtcp.dskftp://mim.stupi.net/bqtcp.tap
!!! BQTCP is also available through RPM !!!
(As an additional note, if there are any problems communicating with Mim
using port 21, the ftp service is also available at port 10021)
The documentation is also available through ftp on Mim, or also at
http://mim.stupi.net/tcpipdoc
I hope people find this update 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
The DAP 5.6 specification (28-Mar-1980) does not appear to have much
information concerning device mounting.
It's not clear how much DAP was designed to be concerned with such
activities, but it would appear that it implicitly expects that any
device that is available is usable. There are some bits in the File
Access Options (FOP) and Generic Device Characteristics (DEV) attributes
that have some information concerning mounting, viz:
*Attribute*
*Bit*
*Name*
*Meaning*
FOP
13
FB$DMO
Rewind and dismount magnetic tape on close.
DEV
10
FB$MNT
Device is currently mounted.
DEV
11
FB$DMT
Deviceis marked for dismount.
So assuming you are accessing a magnetic tape, you can request that it
be rewound and dismounted when closed and you can get some information
concerning mount status.
At this time of DAP design, large systems basically lived on tape and
disk mounts, given the expense of the devices to actually read and write
their respective media. There was a cost for a mount, but if you were
using a lot of space, it could pay to have your own media where you
wouldn't get hit with the storage costs.
Mounting structures is also a well understood mechanism to provide
additional access control granularity.
A "regulated" structure on Tops-20 can not be used unless it is first
mounted by the user. It may be spun up and online, but if it is
regulated, you must mount it first. This gives you the opportunity to
put policy on the mount with an access control request. At Columbia,
nobody was allowed to mount the (regulated) staff structure (CU:, an
RP07) unless they were staff. Students were not allowed to mount
anything. Paying customers could mount non-domestic regulated
structures. I wrote the code for the 'Judge', our access control job
(or ACJ) which did this as it required some hooks in Galaxy (Quasar and
MOUNTR).
FAL is not subject to such ACJ policy because it specifically informs
Tops-20 to by-pass mount counts. So that's kind of a back door because
you could use FAL to snoop around regulated structures, which is exactly
what we didn't want to be happening. It bothered me, but not enough for
me to tell management that it should be addressed.
I was fixing a bug in FAL ANONYMOUS processing when I recalled this and
it began to bother me more. I don't want regulated structures being
implicitly used. My extended mode FTP server does not bypass mount
counts and this is what keeps web crawlers from snooping through every
file I have. You have to explicitly know the structure name and request
it with an SMNT verb which you can then put policy on. So I scratched
the itch and implemented a MOUNTING command with the following options:
* BYPASSED, the current FAL behavior: use whatever is online.
* PREVENTED, respect regulated structure mount counts and fail if the
structure isn't mounted.
* AUTOMATIC, attempt to mount the structure on the behalf of the user
where necessary.
PREVENTED is the most restricted, as a FAL job only has access to
unregulated structures (which require no mounting). So that's good.
AUTOMATIC maybe gets you the best of both worlds. You can access online
structures provided policy allows you to, elsewhere which means that
users that expect to be able to mount structures will have this done for
them. I have yet to put in another command to restrict ANONYMOUS usage,
in other words, forbid automatic mounting for ANONYMOUS.
Is my reading of DAP is close enough? How do other DEC operating
systems handle this? I know VMS can handle disk and tape mounts, I
forget about RSTS, RSX and RT.
Correct disk images of layered products (y2k patched) are uploaded to https://pdp-11.online/~form/files/pdp-11/rt-11/layered/
- MU MASIC-11/RT-11 V2.00R
- BASIC-11/RT-11 V02-03S
- FORTRAN IV/RT-11 V2.8
- FORTRAN-77 V5.0A
On 19/04/2023 18:33, Dave McGuire wrote:
>
> Oh, weird, ok. Please let me know what you find. Thanks!
>
> -Dave
>
> On 4/18/23 13:40, Oleg Safiullin wrote:
>> Hmm.
>> It looks like this directory contains wrong/broken images and patches, so I'll look at my archive and put correct images there.
>>
>> On 18/04/2023 17:46, Dave McGuire wrote:
>>>
>>> Ahh, excellent, thank you Oleg!
>>>
>>> -Dave
>>>
>>> On 4/18/23 02:04, Oleg Safiullin wrote:
>>>> You can get some layered products for RT-11 here: https://pdp-11.online/~form/files/pdp-11/rt-11/layered/
>>>> There're BASIC-11, BASIC-PLUS, FORTRAN IV, FORTRAN 77, MU/BASIC-11 and pre-built PASCAL there.
>>>> All of these are Y2K-patched. MU/BASIC-11 also patched to make it work under RT-11 V5.7
>>>>
>>>>
>>>> On 18/04/2023 05:02, Dave McGuire wrote:
>>>>>
>>>>> Has anyone found a release of FORTRAN-IV for RT-11 that's later than v2.5?
>>>>>
>>>>> Thanks,
>>>>> -Dave
>>>>>
>>>>
>>>> _______________________________________________
>>>> HECnet mailing list -- hecnet(a)lists.dfupdate.se
>>>> To unsubscribe send an email to hecnet-leave(a)lists.dfupdate.se
>>>
>
I have been planning for a long time to post a small reflection when I
reached 1000 nodes registered in the hecnet nodename database.
This happened tonight. I think it is a pretty cool thing. There are now
1000 nodenames registered in this small hobby DECnet. I guess you could
say it's actually not that small.
However, I know that rather few machines are actually online, and it
might even be that the majority of nodes registered have never been
online. My guess is that maybe 5% of the registered machines are usually
online. But I do not have any hard data to back this up.
HECnet started out about 20 years ago from a desire I had to hook up a
PDP-11 I had at home, to some machines at my university, using DECnet.
At the time, I didn't have any TCP/IP for RSX, and the only way to get
any kind of networking was to try and come up with some way of getting
DECnet up.
My first implementation basically just forwarded a serial port
communication between two Unix machines. And on each end I then hooked
that serial port into a PDP-11 running RSX, and used DDCMP for the
actual DECnet link.
This worked, but was obviously not that fast, as the serial ports were
limited to 9600 bps.
After a year or so, I figured I could instead write a small program that
would forward ethernet packets. Using UDP I basically had the same
property as a local ethernet, but it could be located somewhere pretty
far away. From a DECnet point of view, it would appear as if they were
on the same ethernet segment, while in reality they were nowhere near.
As DECnet have pretty long timeouts on things, it turned out this worked
without a hitch, and I could achieve much better throughput.
Not long after that, the first other users were hooked up to HECnet as
well. This was maybe around 2003 or so.
Another data point is that there are 113 different persons that have one
or more nodenames registered.
Happy milestone, everyone, and thanks for being around.
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
Now that I'm done with Kermit-20, I wanted to get back to finishing up
some other work that I had been doing. FAL, DAP and NFT are in good
enough shape for me to leave them alone for the moment, so that's
another rabbit hole I've gotten myself out of.
I'm now looking fix an error that I somehow introduced into MMAILR (SMTP
over DECnet). Fixing this required modifying DDT, which I had to do to
fix another issue I had introduced into Kermit. I wanted to have a
quick look at what Tops-20 hosts might be up on HECnet and wrote up a
little batch job to use NETPTH to test connectivity.
NETPTH is a nifty utility to find paths between DECnet nodes. It builds
a connection the NCU's of various nodes to determine the path that a
message might take to get there. Think of it like traceroute or ping -R
(RECORD_ROUTE option).
It almost never works...
Before I roll up my sleeves and jump into this I was wondering if
anybody had any observations about the errors I'm seeing?
------------------------------------------------------------------------
*TINA*::*PAMINA*::*KLIO*::*TWLGHT*::*RARITY*::*FLUSHY*::*RBDASH*::*APPLEJ*::*PINKIE*::*DISCRD*::*TWENEX*::
From Via Back Thru Cost Hops
VENTI2 (2.522) =>NI-0-0 / BRG-0 <= A2RTR (2.1023) -1 -1
A2RTR (2.1023) =>DMC-31 /
?NETCFO Can't find Output Circuit parameter
*SAMT20*::
?NETURN Unreachable node
*TOMMYT*::
From Via Back Thru Cost Hops
VENTI2 (2.522) =>NI-0-0 / NI-0-0 <= TOMMYT (2.520) 1 1
*BITXT2*::*BITXT0*::*MINDY*::*FALLON*::*JOSHUA*::*OLAF*::
From Via Back Thru Cost Hops
VENTI2 (2.522) =>NI-0-0 / BRG-0 <= A2RTR (2.1023) -1 -1
A2RTR (2.1023) =>
?NETCFO Can't find Output Circuit parameter
*WALACH*::
From Via Back Thru Cost Hops
VENTI2 (2.522) =>NI-0-0 / BRG-0 <= A2RTR (2.1023) -1 -1
A2RTR (2.1023) =>DMC-29-206 /
?NETCFO Can't find Output Circuit parameter
*SOL*::
From Via Back Thru Cost Hops
VENTI2 (2.522) =>NI-0-0 / BRG-0 <= A2RTR (2.1023) -1 -1
A2RTR (2.1023) =>MUL-59-1016 / DMC-1 <= STORTR (59.1016) -1 -1
STORTR (59.1016) =>GRE-16 /
?NETCFO Can't find Output Circuit parameter
*FENCER*::
From Via Back Thru Cost Hops
VENTI2 (2.522) =>NI-0-0 / BRG-0 <= A2RTR (2.1023) -1 -1
A2RTR (2.1023) =>MUL-59-1016 / DMC-1 <= STORTR (59.1016) -1 -1
STORTR (59.1016) =>GRE-16 /
?NETPTH NTMAN failed, reason:
Parameter missing
$