1) The biggest problem with this product is a lack of documentation. Why?
2) Config Data Corruption
3) Patching is flaky (unpredictable)
4) do not believe what you see when using script sys$manager:tcipip$config
5) limiting the actions of hackers when sitting on the public internet.
! File name: TCPIP$SMTP.CONF
! Product: HP TCP/IP Services for OpenVMS
! Version: V5.7
!
! © Copyright 1976, 2007 Hewlett-Packard Development Company, L.P.
!
!
! SMTP server configuration file
!
!
! DESCRIPTION:
!
! This is a template for the TCPIP$SMTP.CONF file. The TCPIP$SMTP.CONF
! file holds SMTP configurable fields. The real TCPIP$SMTP.CONF file
! must reside in TCPIP$SMTP_COMMON directory (SYS$SPECIFIC:[TCPIP$SMTP]
! if you don't define the TCPIP$SMTP_COMMON logical name yourself).
!
! HP TCP/IP Services for OpenVMS Version 5.7 onwards, all the SMTP
! configurable fields, except the SMTP tracing logical names, supported
! in TCPIP$SMTP.CONF file. The TCPIP$SMTP.CONF will support configurable
! fields for anti-SPAM features, all configuration information stored in
! TCPIP$CONFIGURATION data file (i.e pre V5.7) from the TCPIP SET/SHOW
! CONFIGURATION SMTP command along with the SMTP configuration logical
! names. The logical names (other than tracing logical names) and
! TCPIP SET/SHOW CONFIGURATION SMTP will be obsolete.
!
!
! NOTES:
!
! 1. Do not modify this file. It exists for documentation purposes and
! will be updated periodically in the TCP/IP Services kit.
!
! 2. The field names for each supported field are listed below. Each one
! is preceded by three exclamation points. If you want to create an
! initial TCPIP$SMTP.CONF without the comments from this file do:
!
! $ SEARCH /OUT=TCPIP$SMTP_COMMON:TCPIP$SMTP.CONF -
! $_ TCPIP$SMTP_COMMON:TCPIP$SMTP_CONF.TEMPLATE
!
! Search for three !'s
!
! 3. This template file contains examples of each supported field; it
! does not document the purpose of the fields, their defaults, their
! syntax or the way they interact.
!
! 4. Regarding defaults note that all fields that require a default have
! one built into SMTP which means that configurations which require
! all the defaults need not even have an TCPIP$SMTP.CONF file.
!
! Refer to the HP TCP/IP Services for OpenVMS Management guide for more
! information on the SMTP configurable fields.
!
!
! CONFIGURATION:
!
! Examples for supported fields:
!
!!!Good-Clients: relay.dec.com, 16.20.0.0/16, 16.20.208.1
!
!!!Bad-Clients: 1.2.3.5, 11.1.0.0/8
!
!!!Relay-Zones: dec.com,
!!! digital.com,
!!! compaq.com
!
!!!RBLs: blackholes.mail-abuse.org, dialups.mail-abuse.org
!
!!!Relay-Based-On-Mx: TRUE
!
!!!Reject-Unbacktranslatable-IP: TRUE
!
!!!Accept-Unqualified-Senders: TRUE
!
!!!Accept-Unresolvable-Domains: TRUE
!
!!!Reject-Mail-From: *.xyz.com, known.spammer@*, *the_internet*
!
!!!Accept-Mail-From: *@notabadguy.xyz.com, the_internet_news@somehwere.com
!
!!!SPAM-Action: OPCOM, ACCOUNTING
!
!!!Security: FRIENDLY
!
! Legal values NEVER, ALWAYS or LOCALLY
!!!Allow-EXPN: NEVER
!
! Legal values NEVER, ALWAYS or LOCALLY
!!!Allow-VRFY: LOCALLY
!
!!!Unbacktranslatable-IP-Text: Your IP address is unbacktranslatable. SPAMMER!
!!!Bad-Clients-Text: You dirty SPAMmer.
!!!Client-In-RBL-Text: I Spotted you in an RBL. SPAMBREATH!
!!!Reject-Mail-From-Text: Haven't you SPAMmed me before?
!!!Unqualified-Sender-Text: MAIL FROM who? You've got to be kidding.
!!!Unresolvable-Domain-Text: MAIL FROM where? Yeah right.
!!!SPAM-Relay-Text: Trying to launch your SPAM from my site will get you nowhere.
!!!EXPN-Used-Text: Trying to mine my email lists, eh? Shame!
!!!VRFY-Used-Text: Usernames on my system are none of your business.
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Fields below are not strictly anti-SPAM fields.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! If Symbiont-Checks-Deliverability is set to TRUE, the SMTP receiver will not
! check the deliverability of incoming email, passing it to the symbiont to
! check. If Symbiont-Checks-Deliverability is set to FALSE, the SMTP receiver
! will check the deliverability of incoming email and reject it. The default is
! FALSE to allow the receiver to check deliverability.
!
!!!Symbiont-Checks-Deliverability: FALSE
!
! The symbiont will always try to relay outbound mail using the SMTP gateways
! specified in MX records. As an added measure it can also try to relay to hosts
! specified in A records. This switch tells the symbiont when it should try to
! relay an outbound mail using A records. Note that MX records are always used
! and they are always used before A records. The symbiont can be configured
! always to try A records, never to try A records or only to try them if it can
! find no MX records for the recipient's domain. The default is ALWAYS to remain
! consistent with past behavior but a setting of IFNOMX is recommended for
! new installations.
!
! Legal values NEVER, ALWAYS or IFNOMX
!!!Try-A-Records: ALWAYS
!
!!!Initial-Interval : 0 00:30:00.00
!
!!!Retry-Interval : 0 01:00:00.00
!
!!!Retry-Maximum : 3 00:00:00.00
!
!!!Zone : dec.com,hp.com
!
!!!Receive-Timeout : 5
!
!!!Retry-Address : 16
!
!!!Hop-Count : 16
!
!!!Send-Timeout-Init : 5
!
!!!Send-Timeout-Mail : 5
!
!!!Send-Timeout-Rcpt : 5
!
!!!Send-Timeout-Data : 3
!
!!!Send-Timeout-Term : 10
!
!!!Header-Placement : TOP
!
!!!Eightbit : TRUE
!
!!!Relay : FALSE
!
!!!Alternate-Gateway : MY.ALT.MYZONE.COM
!
!!!General-Gateway :
!
!!!Substitute-Domain : VMS.ZKO.HP.COM
!
!!!Queue-Name : TCPIP$SMTP
!
!!!Postmaster-Alias : Postmaster
!
!!!Receiver-Debug : 0
!
!!!Receiver-Trace : 0
!
!!!Symbiont-Debug : 0
!
!!!Symbiont-Trace : 0
!
!!!Utilities-Debug : 0
!
!!!Utilities-Trace : 0
!
!!!Log-Level : 0
!
!!!EF-Debug-Level : 0
!
!!!Channel-Debug-Level : 0
!
!!!Symbiont-Snapshot-Blocks : 0
!
!!!Receiver-Snapshot-Blocks : 0
!
!!!Utilities-Snapshot-Blocks : 0
!
!!!Log-Line-Numbers : TRUE
!
!!!Memory-Debug : TRUE
!
!!!Mail$Protocol-Debug : TRUE
!
!!!CF-Debug : TRUE
!
!!!Parse-Debug : TRUE
!
!!!Altgate-Always : TRUE
!
!!!Mx-If-Noaltgate : TRUE
!
!!!No-Mx : TRUE
!
!!!No-Subs-Domain-Inbound : TRUE
!
!!!Smtp-Jacket-Local : TRUE
!
!!!Cent-Sign-Hack : FALSE
!
!!!Nosey : TRUE
!
!!!Deliver-NoXVMS : TRUE
!
!!!Deliver-VMS-Def-To : TRUE
!
!!!MTS-From-Hack : TRUE
!
!!!Rewrite-MTS-From : TRUE
!
!!!Local-Alias-Only : TRUE
!
!!!SFF-Requires-Priv : TRUE
!
!!!8BitMIME-Hack : TRUE
!
!!!Suppress-Version-Info : TRUE
!
!!!Foreign-Transport-Synonyms : FALSE
!
!!!Postmaster-Forwards-To : FALSE
!
!!!Persistent-Server : OFF
!
!!!Idle-Timeout : 0 00:01:00.00
!
!!!Loop-Max : 10
!
%%%%%%%%%%%% 18-NOV-2014 07:27:53.35 %%%%%%%%%%%%
%TCPIP-I-SMTP_LOGSUC, using log file TCPIP$SMTP_COMMON:TCPIP$SMTP_KAWC98.LOG
TCPIP SMTP configuration data:
Server-Nodes : KAWC98
Queue-Name : TCPIP$SMTP
Alternate-Gateway :
General-Gateway :
Substitute-Domain :
Zone :
Postmaster-Alias : Postmaster
Postmaster-Forwards-To : SYSTEM
Foreign-Transport-Synonyms :
Smtp-Dis-Dir : TCPIP$SMTP_COMMON:
Initial-Interval : 0 00:30:00.00
Retry-Interval : 0 01:00:00.00
Retry-Maximum : 3 00:00:00.00
Idle-Timeout : 17-NOV-1858 00:00:00.00
Persistent-Server : FALSE
Loop-Max : 0
Receive-Timeout : 5
Retry-Address : 16
Hop-Count : 16
Symbiont-Snapshot-Blocks : 0
Receiver-Snapshot-Blocks : 0
Utilities-Snapshot-Blocks : 0
Number-Of-Queues-Per-Node : 1
Send-Timeout-Init : 5
Send-Timeout-Mail : 5
Send-Timeout-Rcpt : 5
Send-Timeout-Data : 3
Send-Timeout-Term : 10
Log-Level : 3
Receiver-Debug : 0
Receiver-Trace : 0
Symbiont-Debug : 0
Symbiont-Trace : 0
Utilities-Debug : 0
Utilities-Trace : 0
EF-Debug-Level : 0
Channel-Debug-Level : 0
Header-Placement : TOP
Eightbit : FALSE
Relay : FALSE
Altgate-Always : FALSE
Mx-If-Noaltgate : FALSE
No-Mx : FALSE
No-Subs-Domain-Inbound : FALSE
Smtp-Jacket-Local : TRUE
Cent-Sign-Hack : TRUE
Percent-Sign-Hack : FALSE
Nosey : FALSE
Log-Line-Numbers : FALSE
Memory-Debug : FALSE
Mail$Protocol-Debug : FALSE
CF-Debug : FALSE
Parse-Debug : FALSE
Deliver-VMS-Def-To : FALSE
Deliver-NoXVMS : FALSE
MTS-From-Hack : FALSE
Rewrite-MTS-From : FALSE
Local-Alias-Only : FALSE
Relay-Based-On-Mx : FALSE
Reject-Unbacktranslatable-IP : FALSE
Accept-Unqualified-Senders : FALSE
Accept-Unresolvable-Domains : FALSE
SFF-Requires-Priv : FALSE
8BitMIME-Hack : FALSE
Suppress-Version-Info : FALSE
Symbiont-Checks-Deliverability: FALSE
Try-A-Records : IFNOMX
Okay so the problem I am about to describe will not affect most systems but it affected me.
Jumping forward to the fall of 2014
I enabled even more anti-SPAM
Rules | Notes | |
---|---|---|
Reject-Unbacktranslatable-IP | TRUE | rejects any mail from an SMTP client whose IP address cannot be backtranslated to a hostname |
Accept-Unresolvable-Domains | FALSE | reject mail where the sender address (from the MAIL FROM command) has a domain that cannot be resolved using MX lookup |
Allow-EXPN | NEVER | Don't allow probing |
Allow-VRFY | NEVER | Don't allow probing |
Relay | FALSE | Don't agree to forward to another destination |
Relay-Based-On-Mx | false | Don't agree to forward to another destination even if MX tests pass |
Title | Source | TCPIP$FTPD_ UNIX_DISPLAY |
|
---|---|---|---|
1 | HP TCP/IP Services for OpenVMS User's Guide (2003) | http://h41379.www4.hpe.com/doc/732final/6525/6525pro.html | n |
2 | HP TCP/IP Services for OpenVMS Release Notes (2010) | http://h41379.www4.hpe.com/doc/84final/tcprn/tcp_rnpro.html | n |
3 | TCPIP57ECO04.RELEASE_NOTES (2012) | http://starlet.deltatel.ru/sys$common/syshlp/TCPIP57ECO04.RELEASE_NOTES | y |
4 | TCPIP57ECO05.RELEASE_NOTES (2014) | inspect folder sys$help on your system | y |
drwxrwxrwe my-folder/ drwxrwxrwx 1 commsvcs 226 1234 Nov 1 08:05 FOLDER1 -rwxr-x--- 1 commsvcs 226 15027 Nov 18 09:42 YADA.txt -rwxr-x--- 1 commsvcs 226 0 Dec 2 17:36 YADA.LOG
!UL byte record too large for user's bufferThis problem can be fixed (at least with ECO5) by shutting down the FTP server then defining this logical name like so:
$define/sys TCPIP$FTP_STREAMLF 1 ! remember to restart the server but you must not have defined: TCPIP$FTP_COMPAT_REV "5.1" TCPIP$FTPD_COMPAT_REV "5.1"
$def/sys/exec tcpip$ftp_file_alq 100 ! NSR - 2015-11-26 $def/sys/exec tcpip$ftp_file_deq 100 ! ''
first $set def sys$disk:[SYS0.SYSCOMMON.SYSEXE] then $search tcpip*ftp*.exe tcpip$ftp or $dump TCPIP$FTP_CHILD.EXE/out=neil.txt $edit neil1.txt or $dump TCPIP$FTP_SERVER.EXE/out=nei2.txt $edit neil2.txt
History from a UNIX perspective:
Test Tools:
TCPIP Services for OpenVMS 5.7
Legend: <sr> system response <ur> user response ------------------------------- <sr> $ ! my DCL prompt <ur> TCPIP <sr> TCPIP> ! my new prompt <ur> show host /local ! what is in the HOSTS file? <sr> LOCAL database Host address Host name 127.0.0.1 LOCALHOST, localhost 67.69.184.7 NSR_DNS 207.35.137.66 bellics.com, bellics, KAWC99, kawc99 207.35.137.65 defaultgate 67.69.184.83 ns83_kawc99 67.69.184.84 ns84_kawc99 67.69.184.87 ns87_kawc99 TCPIP> <ur> set host "yada.ca"/address=207.164.234.128/alias=yada ! add a new entry (quote to preserve case) <sr> TCPIP> <ur> show host /local ! view changes <sr> LOCAL database Host address Host name 127.0.0.1 LOCALHOST, localhost 67.69.184.7 NSR_DNS 207.35.137.66 bellics.com, bellics, KAWC99, kawc99 207.35.137.65 defaultgate 67.69.184.83 ns83_kawc99 67.69.184.84 ns84_kawc99 67.69.184.87 ns87_kawc99 207.164.234.128 yada.ca, YADA TCPIP> <ur> set nohost yada.ca ! removing an entry (this is not a joke) <sr> TCPIP> <ur> show host /local ! view changes <sr> LOCAL database Host address Host name 127.0.0.1 LOCALHOST, localhost 67.69.184.7 NSR_DNS 207.35.137.66 bellics.com, bellics, KAWC99, kawc99 207.35.137.65 defaultgate 67.69.184.83 ns83_kawc99 67.69.184.84 ns84_kawc99 67.69.184.87 ns87_kawc99 TCPIP>
caveats:
Legend: <sr> system response <ur> user response ------------------------------- <sr> $ ! this is my DCL prompt <ur> TCPIP ! activate the TCPIP command interpretor <sr> TCPIP> ! this is my new prompt <ur> show config name ! view permanent name_server settings <sr> BIND Resolver Configuration Transport: UDP Domain: com Retry: 2 Timeout: 2 Servers: 67.69.184.87, 67.69.184.7 Path: com TCPIP> <ur> show name ! view volatile name_server settings <sr> BIND Resolver Parameters Local domain: com System State: Started, Enabled Transport: UDP Domain: com Retry: 2 Timeout: 2 Servers: ns87_kawc99, NSR_DNS Path: com Process State: Enabled Transport: Domain: Retry: Timeout: Servers: Path: TCPIP> <ur> set name /server=yada ! add host "yada" to the volatile name_server <sr> TCPIP> <ur> show name ! view the changes (went into PROCESS, not SYSTEM) BIND Resolver Parameters Local domain: com System State: Started, Enabled Transport: UDP Domain: com Retry: 2 Timeout: 2 Servers: ns87_kawc99, NSR_DNS Path: com Process State: Enabled Transport: Domain: Retry: Timeout: Servers: YADA Path: TCPIP> <ur> exit <sr> $ Note: At this point you can do some testing from your (PROCESS) account <ur> nslookup ibm.com ! give me the I/P address of ibm.com <sr> Server: mtrlpq02dnsvp1.srvr.bell.ca ! Address: 207.164.234.128 ! Non-authoritative answer: ! "non-authoritative" means "from a cache" Name: ibm.com Address: 129.42.38.1 $
<ur> set name /noserver=yada ! remove the yada host from the PROCESS area <sr> TCPIP> <ur> set name /system /server=yada ! add the yada host to the SYSTEM area of the name server <sr> TCPIP> <ur> sh name ! view the changes <sr> BIND Resolver Parameters Local domain: com System State: Started, Enabled Transport: UDP Domain: com Retry: 2 Timeout: 2 Servers: ns87_kawc99, NSR_DNS, YADA Path: com Process State: Enabled Transport: Domain: Retry: Timeout: Servers: Path: TCPIP> Caveat: changes must also be in the permanent database in order to survive a reboot so repeat the "set name" commands above but use "set config name"
When it comes to computing, newer is almost always better. In March of 2024 I had the opportunity to play with v6.0 from VSI. This product appears much cleaner than 5.7 from HP/HPE. Anyone still running OpenVMS-8.4 would be wise to buy support from VSI then upgrade to OpenVMS-8.4-1H1 or higher, then upgrade to TCPIP v6