johnforecast / linuxdecnet Goto Github PK
View Code? Open in Web Editor NEWDECnet as an external module for Linux
DECnet as an external module for Linux
dncopy will copy smaller files, but larger ones will either hang indefinitely or crash with SIGABRT.
ncp show exec char
Node Volatile Characteristics as of 17-Dec-2023 19:33:54
Executor node = 1.1 (ATR2)
Identification = Linux DECnet V3.2 on x86_64
Management version = V4.0.0
Outgoing timer = 60
NSP version = V4.0.0
Routing version = V2.0.0
Type = Nonrouting IV
Maximum circuits = 1
Segment buffer size = 576
File sizes, copy with a smaller file (ANSI color graphic), VMS 7.3:
ls -l vernon.ans decusutls.zoo
-rw------- 1 jayjwa users 2012801 Dec 15 01:41 decusutls.zoo
-rw------- 1 jayjwa users 64870 Jul 4 22:28 vernon.ans
jayjwa@atr2 ~/Downloads> dncopy -v -s -m record vernon.ans 'lunast"jayjwa -"::'
Password:
'/home/jayjwa/Downloads/vernon.ans' copied to 'lunast"jayjwa password"::DUA1:[JAYJWA]VERNON.ANS;1', 41 records
Sent 64870 bytes in 149.61 seconds: 0.42K/s
Larger file (zoo archive from Digiater):
jayjwa@atr2 ~/Downloads [SIGINT]> dncopy -v -s -m block decusutls.zoo 'lunast"jayjwa -"::'
Password:
Fatal error: glibc detected an invalid stdio handle
fish: Job 5, 'dncopy -v -s -m block decusutls…' terminated by signal SIGABRT (Abort)
On the VMS side, we have a zero length file.
$ dir /since /size
Directory DUA1:[JAYJWA]
DECUSUTLS.ZOO;1 0
NETSERVER.LOG;24 1
NETSERVER.LOG;23 2
VERNON.ANS;1 127
Total of 4 files, 130 blocks.
Sometimes the process will hang for a very long time (10+ minutes) before having to be stopped with Ctrl-C. On the VMS side, sometimes the process has to be STOPped to allow the zero length file to be deleted.
Other times there's a SIGSEGV.
dncopy -v -s -m block evil-kade.sixel 'lunast"jayjwa password"::'
fish: Job 5, 'dncopy -v -s -m block evil-kade…' terminated by signal SIGSEGV (Address boundary error)
jayjwa@atr2 ~/Downloads [SIGSEGV]> ls -l evil-kade.sixel
-rw------- 1 jayjwa users 393213 Dec 17 14:35 evil-kade.sixel
There's plenty room on that disk so that cannot be the problem.
$ free
Device Name Volume Label Type Used Blocks Free Blocks Total
---------------- -------------- ------ --------------- --------------- ---------
LUNAST$DUA0: OVMSVAXSYS RA92 2210916 (76%) 730035 (24%) 2940951
LUNAST$DUA1: VMSUSERS RA92 56814 ( 2%) 2884137 (98%) 2940951
Totals: 2 mounted disks 1160MB (39%) 1849MB (61%) 3009MB
$
LUNAST::JAYJWA 20:00:28 (DCL) CPU=00:00:04.86 PF=17474 IO=1751 MEM=334
VMS 5.5 system:
jayjwa@atr2 ~/Downloads> dncopy -v -s -m block rodent.ans 'kushal"system -"::'
Password:
fish: Job 5, 'dncopy -v -s -m block rodent.an…' terminated by signal SIGSEGV (Address boundary error)
jayjwa@atr2 ~/Downloads [SIGSEGV]> zsh
jayjwa@atr2 ~/Downloads % dncopy -v -s -m block rodent.ans 'kushal"system -"::'
Password:
zsh: segmentation fault dncopy -v -s -m block rodent.ans 'kushal"system -"::'
This happens with VMS 5.5 and 7.3 both. A file around 400k or larger seems to trip it. This small text file is fine:
jayjwa@atr2 ~/Downloads [SIGSEGV]> dncopy -v -s -m record o38jy31usa.txt 'lunast"jayjwa -"::'
Password:
'/home/jayjwa/Downloads/o38jy31usa.txt' copied to 'lunast"jayjwa password"::DUA1:[JAYJWA]O38JY31USA.TXT;1', 213 records
Sent 15662 bytes in 0.17 seconds: 88.24K/s
glibc-2.38. Although my kernel is newer now (6.6.6) I don't think that's an issue as everything that worked before still works now. Unfortunately, my password ends up in a packet trace so I'll have to set up another test if a packet capture is needed.
Though I've seen this behavior for awhile, I've been hesitant to report it as I was not sure it was a local issue or not. Now, with 4 ways (telnet, rlogin, LAT, dnlogin/sethost) to remote login to a VMS node, I think I can say with some degree of certainty something is off with dnlogin/sethost's terminal handling. This behavior is noticeable with various utilities, such as Kermit, MAIL, the edit/tpu (EVE) editor, or even (see test at the end) CREATE.
Consider a correctly working terminal via TELNET:
$ show term
Terminal: _TNA3: Device_Type: VT100 Owner: JAYJWA
Remote Port Info: Host: atr2.lan Port: 34088
Input: 9600 LFfill: 0 Width: 80 Parity: None
Output: 9600 CRfill: 0 Page: 23
Terminal Characteristics:
Interactive Echo Type_ahead No Escape
No Hostsync TTsync Lowercase Tab
Wrap Scope No Remote No Eightbit
Broadcast No Readsync No Form Fulldup
No Modem No Local_echo No Autobaud Hangup
No Brdcstmbx No DMA No Altypeahd Set_speed
No Commsync Line Editing Insert editing No Fallback
No Dialup No Secure server No Disconnect No Pasthru
No Syspassword No SIXEL Graphics No Soft Characters No Printer Port
Numeric Keypad ANSI_CRT No Regis No Block_mode
Advanced_video No Edit_mode DEC_CRT No DEC_CRT2
No DEC_CRT3 No DEC_CRT4 No DEC_CRT5 No Ansi_Color
VMS Style Input
A correctly working terminal via llogin (LAT):
$ show term
Terminal: _LTA5007: Device_Type: VT100 Owner: JAYJWA
LAT Server/Port: ATR2//dev/pts/11
Input: 9600 LFfill: 0 Width: 80 Parity: None
Output: 9600 CRfill: 0 Page: 23
Terminal Characteristics:
Interactive Echo Type_ahead No Escape
No Hostsync TTsync Lowercase Tab
Wrap Scope No Remote No Eightbit
Broadcast No Readsync No Form Fulldup
No Modem No Local_echo No Autobaud Hangup
No Brdcstmbx No DMA No Altypeahd Set_speed
No Commsync Line Editing Insert editing No Fallback
No Dialup No Secure server No Disconnect No Pasthru
No Syspassword No SIXEL Graphics No Soft Characters No Printer Port
Numeric Keypad ANSI_CRT No Regis No Block_mode
Advanced_video No Edit_mode DEC_CRT No DEC_CRT2
No DEC_CRT3 No DEC_CRT4 No DEC_CRT5 No Ansi_Color
VMS Style Input
Rlogin is similar to the above two (example omitted for brevity). Dnlogin session with terminal problems:
$ show term
Terminal: _RTA1: Device_Type: VT200_Series Owner: JAYJWA
Remote Port Info: ATR2::Linux0000
Input: 9600 LFfill: 0 Width: 80 Parity: None
Output: 9600 CRfill: 0 Page: 23
Terminal Characteristics:
Interactive Echo Type_ahead No Escape
No Hostsync TTsync Lowercase Tab
Wrap Scope No Remote Eightbit
Broadcast No Readsync No Form Fulldup
No Modem No Local_echo No Autobaud No Hangup
No Brdcstmbx No DMA No Altypeahd Set_speed
No Commsync Line Editing Insert editing No Fallback
No Dialup No Secure server No Disconnect No Pasthru
No Syspassword No SIXEL Graphics No Soft Characters No Printer Port
Numeric Keypad ANSI_CRT No Regis No Block_mode
Advanced_video No Edit_mode DEC_CRT No DEC_CRT2
No DEC_CRT3 No DEC_CRT4 No DEC_CRT5 No Ansi_Color
VMS Style Input
$ eve linetest.txt
;H[End of file]K22;H;7m Buffer: LINETEST.TXT | Write | Insert | Forward m
KK22A
Properly working mail editing via rlogin session (note lines):
$ mail
MAIL> send
To: atr2::jayjwa
Subj: Mail from rlogin session
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:
Line one.
Line two.
Line three.
Exit
MAIL>
dnlogin mail session keeps overwriting message space (note "Line three"):
$ mail
MAIL> send
To: atr2::jayjwa
Subj: Testing mail from dnlogin session
Line three.message below. Press CTRL/Z when complete, or CTRL/C to quit:
MAIL>
It is not possible to change the term type to vt100 like the working examples:
$ set term /device_type=VT100
$ show term
Terminal: _RTA1: Device_Type: VT200_Series Owner: JAYJWA
Remote Port Info: ATR2::Linux0000
Strange behavior with Kermit, via dnlogin, not present with LAT login (note echos):
DUA1:[JAYJWA] C-Kermit>sshhooww vveerrssiioonn
The easiest way to test this is likely with CREATE.
xterm VAX 5.5 dnlogin:
$ create dnlinetest.txt
Line three.linetest.txt
$ type dnlinetest.txt
Line one.
Line two.
Line three.
xterm VAX 5.5 llogin (LAT):
$ create lllinetest.txt
Line one.
Line two.
Line three.
Exit
$ type lllinetest.txt
Line one.
Line two.
Line three.
xterm dnlogin VAX 7.3:
$ create dnlinetest.txt
Line three.nlinetest.txt
$ type dnlinetest.txt
Line one.
Line two.
Line three.
xterm telnet VAX 7.3:
$ create tlinetest.txt
Line one.
Line two.
Line three.
Exit
$ type tlinetest.txt
Line one.
Line two.
Line three.
All tests from the same UXterm ( xterm -class UXTerm -u8 -fg bisque1 -bg black -fn -xos4-terminus-medium-r-normal--14-140-72-72-c-80-iso10646-1 -bc +ai -132 +cm -j -kt vt220 +mesg +si) (TERM=xterm) and Tmux (TERM=sixel-tmux). The same behavior occurs with no Tmux. While Xterm is most likely the most "DECnet friendly", the same occurs with Urxvt (TERM=rxvt-unicode), or even just "xterm" (TERM=xterm).
phoned seems to pick up even when it's not being called. Consider:
#V001.0
# DECnet hosts file
#
#Node Node Name Node Line Line
#Type Address Tag Name Tag Device
#----- ------- ----- ----- ----- ------
executor 1.1 name ATR2 line br0
node 1.10 name DTSR
node 1.11 name KIRIN
node 1.12 name KUSHAL
node 1.13 name TEOSTR
node 1.14 name LUNAST
node 1.15 name NERGIG
Phoning from VMS nodes KUSHAL (%phone lunast::system) to LUNAST ($phone answer) should not involve Linux node ATR2, yet phoned hits 100% CPU use and stays up, even though it is not in use. It's not enough to slow the system significantly, but it is noticeable.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
32171 nobody 20 0 3036 2036 1908 S 100.0 0.0 0:30.49 phoned
At this point, phoned has to be pkill'd and restarted, even after the nodes are done with the call. Another phone will produce the same results. phoned is fine - as long as it doesn't see phone traffic on the LAN that isn't meant for it. phone to the Linux node works as expected. Another example:
32479 nobody 20 0 3036 1536 1536 S 100.0 0.0 1:04.01 phoned
There's nothing noteworthy in the logs, just that phoned is starting. No matter what the VMS nodes are doing, it shouldn't put the CPU to 100% on the Linux node since it's not actually involved.
/usr/local/bin/node lunast
lunast has address 1.14
/usr/local/bin/node kushal
kushal has address 1.12
The packet capture shows the Linux node as well, 1.1.
phoned-100.pcap.gz
The same type of situation might be happening with ctermd as well, but for now let's look at phoned. This is decnet 3.0.4.
I'm creating a Slackbuild script (packaging) for Slackware. I've noticed a few minor issues. They may affect people packaging the source for other distros as well.
~/p/s/d/L/dnprogs (master)> find . -name Makefile -exec grep -H 'install -m 0644 $(STRIP
BIN) $(SHAREDLIB)' '{}' ';'
./libdaemon/Makefile: install -m 0644 $(STRIPBIN) $(SHAREDLIB) $(libprefix)$(libdir)
./libdap/Makefile: install -m 0644 $(STRIPBIN) $(SHAREDLIB) $(libprefix)$(libdir)
./libdnet/Makefile: install -m 0644 $(STRIPBIN) $(SHAREDLIB) $(libprefix)$(libdir)/$(SHAREDLIB)
./librms/Makefile: install -m 0644 $(STRIPBIN) $(SHAREDLIB) $(libprefix)$(libdir)
usr/
usr/bin/
usr/bin/dncopy
usr/bin/dndel
usr/bin/dndir
usr/bin/dnetcat
usr/bin/dnetstat
usr/bin/dnlogin
usr/bin/dnping
usr/bin/dnsubmit
usr/bin/dntask
usr/bin/dts
usr/bin/node
usr/bin/phone
usr/bin/sethost
With a nod to nslookup, and keeping with the "dn" prefix, suggest to rename node to dnlookup along with its corresponding man page. Renaming the program would avoid this situation, and bring its name in line with its work-alike, nslookup.
Built without RELEASE=1:
jayjwa@atr2 ~/p/s/d/L/d/phone (master)> ldd phone
linux-vdso.so.1 (0x00007ffff7fc4000)
libpanelw.so.6 => /lib64/libpanelw.so.6 (0x00007ffff7f76000)
libncurses.so.6 => /lib64/libncurses.so.6 (0x00007ffff7f4a000)
libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007ffff7f16000)
libdnet.so.3 => /usr/lib64/libdnet.so.3 (0x00007ffff7f0d000)
libgtk-1.2.so.0 => /usr/lib64/libgtk-1.2.so.0 (0x00007ffff7d87000)
libgdk-1.2.so.0 => /usr/lib64/libgdk-1.2.so.0 (0x00007ffff7d43000)
libgmodule-1.2.so.0 => /usr/lib64/libgmodule-1.2.so.0 (0x00007ffff7d3c000)
libglib-1.2.so.0 => /usr/lib64/libglib-1.2.so.0 (0x00007ffff7d0b000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007ffff7cf8000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007ffff7ce4000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007ffff7ba4000)
libm.so.6 => /lib64/libm.so.6 (0x00007ffff7abb000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffff7800000)
libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007ffff7a7d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ffff7a78000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007ffff7a50000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffff7fc6000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007ffff7a4b000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007ffff7a41000)
(working)
Built with make RELEASE=1:
jayjwa@atr2 ~/p/s/d/L/d/phone (master)> ldd phone
linux-vdso.so.1 (0x00007ffff7fc4000)
libpanelw.so.6 => /lib64/libpanelw.so.6 (0x00007ffff7f76000)
libncurses.so.6 => /lib64/libncurses.so.6 (0x00007ffff7f4a000)
libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007ffff7f16000)
libdnet.so.3 => /usr/lib64/libdnet.so.3 (0x00007ffff7f0d000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffff7c00000)
libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007ffff7ed1000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ffff7eca000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffff7fc6000)
%fish: Job 1, './phone' terminated by signal SIGSEGV (Address boundary error)
%
Program received signal SIGSEGV, Segmentation fault.
(gdb) bt
#0 0x00007ffff7f6c47e in ?? () from /lib64/libncurses.so.6
#1 0x00007ffff7f6c981 in wresize () from /lib64/libncurses.so.6
#2 0x0000000000402bf9 in rearrange_windows ()
#3 0x0000000000402cca in new_talk_window ()
#4 0x0000000000403a21 in ncurses_run ()
#5 0x00000000004026b2 in main ()
(gdb)
(not working)
That is, the TUI phone doesn't seem to run while the GUI one does. Slackware updated ncurses not too long ago (though I only used the GUI phone before), so maybe that's the issue. I thought I'd poinit it out.
HW: RPi 4B 2GB memory, USB boot
SW: Debian 12 (bookworm), clean install from Raspbian.com image
Kernel: 6.1.0-rpi4-rpi-v8
DECnet installed and working. On reboot, get a loop of messages:
unregister_netdevice: waiting for eth0 to become free. Usage count = 2
eth0 selects TX queue 0, but real number of TX queues is 0
stopping decnet3.service before reboot doesn't help.
If decnet3.service is not enabled, and not started, reboot proceeds
It was fine on 6.6.30. Something changed?
dapfs.c: At top level:
dapfs.c:594:21: error: initialization of ‘int (*)(const char *, struct statvfs *)' from incompatible pointer type ‘int (*)(const char *, struct statfs *)' [-Wincompatible-pointer-types]
594 | .statfs = dapfs_statfs,
| ^~~~~~~~~~~~
dapfs.c:594:21: note: (near initialization for ‘dapfs_oper.statfs')
dapfs.c:76:18: warning: ‘RFM_STMCR' defined but not used [-Wunused-const-variable=]
76 | static const int RFM_STMCR = 6;
| ^~~~~~~~~
dapfs.c:74:18: warning: ‘RFM_STM' defined but not used [-Wunused-const-variable=]
74 | static const int RFM_STM = 4;
| ^~~~~~~
dapfs.c:73:18: warning: ‘RFM_VFC' defined but not used [-Wunused-const-variable=]
73 | static const int RFM_VFC = 3;
| ^~~~~~~
dapfs.c:72:18: warning: ‘RFM_VAR' defined but not used [-Wunused-const-variable=]
72 | static const int RFM_VAR = 2;
| ^~~~~~~
dapfs.c:71:18: warning: ‘RFM_FIX' defined but not used [-Wunused-const-variable=]
71 | static const int RFM_FIX = 1;
| ^~~~~~~
dapfs.c:70:18: warning: ‘RFM_UDF' defined but not used [-Wunused-const-variable=]
70 | static const int RFM_UDF = 0; // RMS RFM values from fab.h
| ^~~~~~~
dapfs.c:69:18: warning: ‘RFM_DEFAULT' defined but not used [-Wunused-const-variable=]
69 | static const int RFM_DEFAULT = -1; // Use RMS defaults
| ^~~~~~~~~~~
dapfs.c:67:18: warning: ‘RAT_NONE' defined but not used [-Wunused-const-variable=]
67 | static const int RAT_NONE = 0;
| ^~~~~~~~
dapfs.c:63:18: warning: ‘RAT_DEFAULT' defined but not used [-Wunused-const-variable=]
63 | static const int RAT_DEFAULT = -1; // Use RMS defaults
| ^~~~~~~~~~~
make[1]: *** [<builtin>: dapfs.o] Error 1
make[1]: Leaving directory '/usr/src/LinuxDECnet/dnprogs/dapfs'
make: *** [Makefile:27: all] Error 2
Latest git as of this writing, gcc 14.1.0, Linux 6.6.32.
FAL (new, in the fal sub directory), will allow file listing from OpenVMS 7.3 to Linux
$ dir atr2"jayjwa password"::
Directory ATR2"jayjwa password"::
/home/jayjwa/Desktop/ /home/jayjwa/Downloads/
/home/jayjwa/EnergyMech/ /home/jayjwa/GKrellM-skins/
/home/jayjwa/GNUstep/ /home/jayjwa/Gophie/
/home/jayjwa/Narghiles.txt /home/jayjwa/News/
...
but will not copy files back into Linux:
$ copy VERNON.ANS atr2"jayjwa password"::
%COPY-E-OPENOUT, error opening ATR2"jayjwa password"::[]VERNON.ANS;1 as output
-RMS-F-SUPPORT, network operation not supported
-FAL-F-RFM, record format field rejected
%COPY-W-NOTCOPIED, DUA1:[JAYJWA]VERNON.ANS;1 not copied
FAL (old, in the fal-old sub directory) will allow both file listing and copying without error.
$ copy VERNON.ANS atr2"jayjwa password"::
$ dir atr2"jayjwa password"::
Directory ATR2"jayjwa password"::HOME:[JAYJWA]
DESKTOP.DIR;1 DOWNLOADS.DIR;1 ENERGYMECH.DIR;1 GKRELLM-SKINS.DIR;1
GNUSTEP.DIR;1 GOPHIE.DIR;1 NARGHILES.TXT;1 NEWS.DIR;1
...
TOOLS.DIR;1 UUCP.DIR;1 VERNON.ANS;1 VMS_INSTALL.LOG;1
...
Non-working dnetd.conf FAL line:
FAL 17 Y,N none fal -vv
working (changed out binary):
FAL 17 Y,N none fal.old -vv
x86_64 AMD Ryzen 5, Linux Slackware (current), 6.5.5 (kernel.org)
Sendmail 8.17.2
Network layout:
Node HWtype HWaddress Flags MTU Iface
ATR2 loop AA:00:04:00:01:04 --- 65533 lo
NERGIG ether AA:00:04:00:0F:04 --- 1498 br0
LUNAST ether AA:00:04:00:0E:04 --- 1498 br0
TEOSTR ether AA:00:04:00:0D:04 --- 1498 br0
KUSHAL ether AA:00:04:00:0C:04 --- 1498 br0
KIRIN ? AA:00:04:00:0B:04 --- 0 0001498
OpenVMS 7.3 on [lunast]ra:
jayjwa@atr2 /u/s/L/d/mail> rsh -4 lunast show net
Product: DECNET Node: LUNAST Address(es): 1.14
Product: TCP/IP Node: lunast.lan Address(es): 192.168.20.3
Sending from VMS sometimes hangs, forcing ctrl-Y exit.
$ mail
MAIL> send
To: atr2::jayjwa
Subj: Test of mail from VMS to Linux
Enter your message below. Press CTRL/Z when complete, or CTRL/C to quit:
As the subject states...
Exit
Cancel
Interrupt
A connection shows but nothing in the maillog. Debug info shows dnetd sees the connection.
Active DECnet sockets (servers and established)
Proto Local Address Foreign Address Dir State Accept mode
decnet *::PHONE *::* IN LISTEN IMMED
decnet ATR2::FAL KUSHAL::SYSTEM CLOSED
decnet ATR2::MAIL LUNAST::JAYJWA ESTABLISHED
decnet ATR2::FAL KIRIN::SYSTEM CLOSED
decnet ATR2::FAL KIRIN::SYSTEM CLOSED
2023-10-29T20:51:10.699694-04:00 atr2 dnetd[21015]: Connection from: LUNAST::jayjwa
2023-10-29T20:51:10.703538-04:00 atr2 vmsmaild[7104]: got local user: JAYJWA
From Linux to VMS (.com added to hostname to defeat spambots), mail never arrives:
mailx -s "Test of mail from Linux to OpenVMS" 'lunast::jayjwa <vmsmail>'
To: "lunast::jayjwa" <[email protected]>
Subject: Test of mail from Linux to OpenVMS
Testing from Linux to VMS...
^D
-------
(Preliminary) Envelope contains:
To: "lunast::jayjwa" <[email protected]>
Subject: Test of mail from Linux to OpenVMS
Send this message [yes/no, empty: recompose]? yes
$ mail
MAIL> dir
%MAIL-E-NOTEXIST, folder MAIL does not exist
MAIL>
LUNAST::JAYJWA 21:02:23 MAIL CPU=00:00:01.14 PF=11124 IO=165 MEM=761
MAIL>
What Sendmail thinks about it:
2023-10-29T21:01:23.162164-04:00 atr2 sendmail[7614]: 39U11Nis007614: from=jayjwa, size=182, class=0, nrcpts=1, msgid=<[email protected]>, relay=jayjwa@localhost
2023-10-29T21:01:23.227555-04:00 atr2 sm-mta[7616]: NOQUEUE: connect from jayjwa@localhost [127.0.0.1]
2023-10-29T21:01:23.228467-04:00 atr2 sm-mta[7616]: 39U11Nhu007616: Milter (milter-regex): init success to negotiate
2023-10-29T21:01:23.228471-04:00 atr2 sm-mta[7616]: 39U11Nhu007616: Milter: connect to filters
2023-10-29T21:01:23.320282-04:00 atr2 sm-mta[7616]: tls_srv_features=(null), relay=localhost [127.0.0.1]
2023-10-29T21:01:23.320287-04:00 atr2 sm-mta[7616]: tls_srv_features=empty, stat=0, relay=localhost [127.0.0.1]
2023-10-29T21:01:23.339944-04:00 atr2 sendmail[7614]: STARTTLS=client, relay=[127.0.0.1], version=TLSv1.3, verify=OK, cipher=TLS_AES_256_GCM_SHA384, bits=256/256
2023-10-29T21:01:23.340925-04:00 atr2 sm-mta[7616]: STARTTLS=server, relay=jayjwa@localhost [127.0.0.1], version=TLSv1.3, verify=OK, cipher=TLS_AES_256_GCM_SHA384, bits=256/256
2023-10-29T21:01:23.427944-04:00 atr2 sm-mta[7616]: ruleset=trust_auth, [email protected], relay=jayjwa@localhost [127.0.0.1], reject=550 5.7.1 <[email protected]>... not authenticated
2023-10-29T21:01:23.504374-04:00 atr2 sm-mta[7616]: 39U11Nhv007616: from=<[email protected]>, size=419, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTPS, daemon=MTA, relay=jayjwa@localhost [127.0.0.1]
2023-10-29T21:01:23.504398-04:00 atr2 sm-mta[7616]: 39U11Nhv007616: Milter accept: message
2023-10-29T21:01:23.539542-04:00 atr2 sendmail[7614]: 39U11Nis007614: [email protected], ctladdr=jayjwa (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30182, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (39U11Nhv007616 Message accepted for delivery)
2023-10-29T21:01:23.773353-04:00 atr2 sm-mta[7619]: 39U11Nhv007616: to=|/usr/local/sbin/sendvmsmail, ctladdr=<[email protected]> (197/12), delay=00:00:00, xdelay=00:00:00, mailer=prog, pri=30694, dsn=2.0.0, stat=Sent
2023-10-29T21:01:23.814437-04:00 atr2 sm-mta[7619]: 39U11Nhv007616: done; delay=00:00:00, ntries=1
I don't think the "not authenticated" bit matters. I can send mail from here to a Solaris host and from there back.
jayjwa@atr2 ~> mailx -s "Test of mail to Solaris" [email protected]
To: [email protected]
Subject: Test of mail to Solaris
To show that mail is working...
^D
-------
(Preliminary) Envelope contains:
To: [email protected]
Subject: Test of mail to Solaris
Send this message [yes/no, empty: recompose]? yes
Trying 192.168.20.5...
Connected to kulve.lan.
Escape character is '^]'.
SunOS 5.9
login: jayjwa
Password:
Last login: Sat Oct 28 21:10:26 from atr2:2
Sun Microsystems Inc. SunOS 5.9 Generic May 2002
You have new mail.
[21:25 jayjwa@kulve:~ >] mailx [pts/5 hst:1]
mailx version 5.0 Sat Apr 6 14:57:29 PST 2002 Type ? for help.
"/var/mail/jayjwa": 1 message 1 new
>N 1 jayjwa Sun Oct 29 21:24 22/909 Test of mail to Solaris
?
In other words, SMTP mail is working. Sometimes the DEC mail arrives with headers only but no body. Here is one with no body (also from OpenVMS 7.3 but another node):
jayjwa@atr2 ~> mailx
mailx version v14.9.24. Type `?' for help
/var/spool/mail/jayjwa: 2 messages 1 new
O 1 Mail System Intern 2023-10-29 19:17 13/536 DON'T DELETE THIS MESSAGE -
▸N 2 KIRIN::USER 2023-10-29 21:10 20/758 I hope this one gets thru..
? 2
[-- Message 2 -- 20 lines, 758 bytes --]:
Date: Sun, 29 Oct 2023 21:10:39 -0400
Message-Id: <[email protected]>
From: [email protected] (KIRIN::USER )
Subject: I hope this one gets thru...
To: [email protected]
Cc: [email protected]
--
?
Notice the subject landed in the CC, and the body landed in the Subject. The "forward" file is set up as per instructions.
cat /var/spool/vmsmail/.forward
|/usr/local/sbin/sendvmsmail
grep vmsmail /etc/passwd
vmsmail:x:197:12:VMS/DECNET mail gateway user:/var/spool/vmsmail:/bin/ksh
There's no vmsmail.conf (not needed) and dnetd.conf is mostly default except for the Mirror object.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.