Janus TCP/IP Base Reference Manual

advertisement
———————————————————
Janus TCP/IP Base Reference Manual
Model 204 Interoperability Products
———————————————————
Sirius Software, Inc.
875 Massachusetts Avenue, Suite 21
Cambridge, MA 02139
Telephone: (617) 876-6677
FAX: (617) 234-1200
E-mail: support@sirius-software.com
World Wide Web: http://sirius-software.com
December 15, 2010
© 2010 Sirius Software, Inc.
——————————————————————————————————————————
——————————————————————————————————————————
——————————————————————————————————————————
ii
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Proprietary Notices
——————————————————————————————————————————
——————
Proprietary Notices
The following products:
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Fast/Backup
Fast/Reload
Fast/Unload User Language Interface
Janus Network Security
Janus Open Client
Janus Open Server
Janus Sockets
Janus Specialty Data Store
Janus TCP/IP Base
Janus Web Server
Sirius Mods
SirMon
SirPro
SirScan
UL/SPF
are proprietary products of Sirius Software, Inc.:
Sirius Software, Inc.
875 Massachusetts Avenue, Suite 21
Cambridge, Massachusetts 02139
USA
Model 204® is a proprietary product of Computer Corporation of America, a whollyowned subsidiary of Rocket Software, Inc., which owns the trademark:
Rocket Software Corporate Office
M204 Division
275 Grove Street
Suite 3-410
Newton, Massachusetts 02466-2272
USA
Microsoft Internet Explorer™ is a proprietary product of Microsoft Corporation.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
iii
——————————————————————————————————————————
Proprietary Notices
——————————————————————————————————————————
——————————————————————————————————————————
iv
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Contents
——————————————————————————————————————————
———————
Contents
Proprietary Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Summary of Changes . . .
Sirius Mods Version 7.7
Sirius Mods Version 7.6
Sirius Mods Version 7.2
Sirius Mods Version 7.1
Sirius Mods Version 6.8
Sirius Mods Version 6.7
Sirius Mods Version 6.5
Sirius Mods Version 6.4
Sirius Mods Version 6.3
Sirius Mods Version 6.2
Sirius Mods Version 6.1
Sirius Mods Version 6.0
Sirius Mods Version 5.5
Sirius Mods Version 5.4
Sirius Mods Version 5.3
Chapter 1:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xiii
xiii
xiii
xiii
xiii
xiv
xiv
xiv
xv
xv
xvi
xvii
xvii
xvii
xviii
xviii
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Janus, the Sirius Mods, and UL/SPF
Versions and compatibility . . . . .
Related manuals . . . . . . . . . .
Related products . . . . . . . . . .
System requirements . . . . . . .
Chapter 2:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
3
4
4
4
Janus / Connectivity Concepts . . . . . . . . . . . . . . . . . . . 7
Server Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
JANUS DEFINE and JANUS DEFINEREMOTE Subcommands . . . . . . . . . 8
Chapter 3:
Translate tables
. . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Defining translate tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 4:
Environment Definition
. . . . . . . . . . . . . . . . . . . . . .
10
15
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
v
——————————————————————————————————————————
Contents
——————————————————————————————————————————
Chapter 5:
Janus Commands . . . . . . . . . . . . . . . . . . . . . . . . .
The JANUSDEBUG command . . . . . . . . . .
JANUSDEBUG command format . . . . . . .
JANUS command overview . . . . . . . . . . . .
JANUS ADDCA . . . . . . . . . . . . . . . . . .
JANUS CHARSET . . . . . . . . . . . . . . . . .
JANUS CLSOCK . . . . . . . . . . . . . . . . .
JANUS CLSOCK ALLOW . . . . . . . . . . .
JANUS CLSOCK DISALLOW . . . . . . . . .
Rule matching order and examples . . . . . .
JANUS CONFIGURATION . . . . . . . . . . . .
JANUS DEFINE . . . . . . . . . . . . . . . . . .
ALLOCC . . . . . . . . . . . . . . . . . . .
ANONYMOUS [maxanon | *] . . . . . . . . .
ANONUSER user . . . . . . . . . . . . . . .
AUDTERM . . . . . . . . . . . . . . . . . .
AUTODONE . . . . . . . . . . . . . . . . .
AUTOLOAD . . . . . . . . . . . . . . . . . .
AUTOON . . . . . . . . . . . . . . . . . . .
AUTOSYS subsys . . . . . . . . . . . . . .
BINARY . . . . . . . . . . . . . . . . . . . .
BINDADDR xxx . . . . . . . . . . . . . . . .
BSIZE xxx . . . . . . . . . . . . . . . . . . .
CHAR . . . . . . . . . . . . . . . . . . . . .
CHARSET xxx . . . . . . . . . . . . . . . .
CLIENTSOCKET socketname . . . . . . . .
CLOSEIMMED . . . . . . . . . . . . . . . .
CLOSEREAD . . . . . . . . . . . . . . . . .
CMD 'xxx' . . . . . . . . . . . . . . . . . . .
COMPRESS level . . . . . . . . . . . . . . .
CR . . . . . . . . . . . . . . . . . . . . . . .
CRLF . . . . . . . . . . . . . . . . . . . . .
CSSINSP, NOCSSINSP, and AUTOCSSINSP
CSSTITLEDIV and CSSTITLESPAN . . . . .
DBCS and NODBCS . . . . . . . . . . . . .
DEBPORTCMD and NODEBPORTCMD . . .
DEBPORTOPEN and NODEBPORTOPEN .
EXEC2RPC . . . . . . . . . . . . . . . . . .
FDWOL . . . . . . . . . . . . . . . . . . . .
FORMPOSTWAIT seconds . . . . . . . . . .
FORMREDIRWAIT seconds . . . . . . . . .
FINCLOSE | NOFINCLOSE . . . . . . . . . .
HIGHPRIORITY . . . . . . . . . . . . . . . .
HTTPVERSION xxx . . . . . . . . . . . . . .
IBSIZE xxx . . . . . . . . . . . . . . . . . .
INPUTTIMEOUT xxx . . . . . . . . . . . . .
JANCAT xxx . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
22
24
25
27
30
31
32
36
39
40
40
43
43
44
44
45
45
46
46
47
47
48
48
48
49
49
49
50
51
53
53
53
54
55
55
55
56
56
56
57
57
58
58
59
59
60
——————————————————————————————————————————
vi
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Contents
——————————————————————————————————————————
KEEPALIVE xxxx . . . . . . . . . . . . . . . . . . . . . . . . . . .
LANGUAGE xxx . . . . . . . . . . . . . . . . . . . . . . . . . . .
LEGBL, LEGREV, LEGUS, NOLEGBL, NOLEGREV and NOLEGUS
LEGCSS and NOLEGCSS . . . . . . . . . . . . . . . . . . . . . .
LEGJS and NOLEGJS . . . . . . . . . . . . . . . . . . . . . . . .
LF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LINEND [hexstr | NONE] . . . . . . . . . . . . . . . . . . . . . . .
LOG REQ | OPT [FORMAT COMMON | COMBINED] xxxx . . . . .
LOGAPPEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOGCLOSET minutes . . . . . . . . . . . . . . . . . . . . . . . .
LOGGMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOGMSGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MASTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MAXCURS xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MAXIPSES xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MAXREC xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MAXSAVE xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MAXTEMP nnnn . . . . . . . . . . . . . . . . . . . . . . . . . . .
MSGSEND and NOMSGSEND . . . . . . . . . . . . . . . . . . . .
MSG204 xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MSG204L xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NEWPASSWORDC . . . . . . . . . . . . . . . . . . . . . . . . . .
NEWSESCMD 'xxx' . . . . . . . . . . . . . . . . . . . . . . . . . .
NEWGUESTOK . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NEWSESNOCLEARG . . . . . . . . . . . . . . . . . . . . . . . .
NEWSESOPEN list . . . . . . . . . . . . . . . . . . . . . . . . . .
NOAUDTERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NOAUTODONE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NOAUTOON . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NOSCREENREDIR . . . . . . . . . . . . . . . . . . . . . . . . . .
NOTRACEFIELD . . . . . . . . . . . . . . . . . . . . . . . . . . .
NOUPCASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OBSIZE xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OMNIACCT xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OMNIUSER xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OPEN list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PASVPORT startportnum . . . . . . . . . . . . . . . . . . . . . . .
PRELOGINUSER userid . . . . . . . . . . . . . . . . . . . . . . .
PRSTOK [AMBIG|]hexstr1|hexstr2|... | NONE . . . . . . . . . . . .
PUBLOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RAWINPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RAWINPUTONLY . . . . . . . . . . . . . . . . . . . . . . . . . . .
RBSIZE xxxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REMOTE hostID portnum | * . . . . . . . . . . . . . . . . . . . . .
RPCONLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SCREEN and NOSCREEN . . . . . . . . . . . . . . . . . . . . . .
SCREENURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SDSACCT xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
60
61
61
61
62
62
63
63
64
65
65
65
66
66
67
67
68
68
68
69
69
69
70
72
72
72
73
74
75
76
76
77
77
77
77
78
78
79
79
80
81
81
82
82
83
83
84
84
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
vii
——————————————————————————————————————————
Contents
——————————————————————————————————————————
SDSUSER xxx . . . . . . . . . . .
SESCOOKIE cookie . . . . . . . .
SESCOOKIENOSEC . . . . . . . .
SESFASTLOGIN . . . . . . . . . .
SESTIMEOUT xxx . . . . . . . . .
SLOWCLOSE mask . . . . . . . .
SOCKACCT xxxx . . . . . . . . . .
SOCKPMAX . . . . . . . . . . . .
SOCKUSER xxxx . . . . . . . . . .
SQUAREB opsys . . . . . . . . . .
SSL . . . . . . . . . . . . . . . . .
SSLBSIZE xxxx . . . . . . . . . . .
SSLCACHE xxxx . . . . . . . . . .
SSLCIPH xxx . . . . . . . . . . . .
SSLCLCERT and SSLCLCERTR . .
SSLIBSIZE xxxx . . . . . . . . . .
SSLMAXAGE xxx . . . . . . . . . .
SSLMAXCERTL xxx . . . . . . . .
SSLOBSIZE xxxx . . . . . . . . . .
SSLOPT . . . . . . . . . . . . . . .
SSLPROT xxx . . . . . . . . . . . .
SSLSES . . . . . . . . . . . . . . .
SSLUNENC . . . . . . . . . . . . .
STIMEOUT seconds . . . . . . . .
TCPLOG . . . . . . . . . . . . . .
TCPKEEPALIVE . . . . . . . . . .
TIMEOUT xxxx . . . . . . . . . . .
TRACE xxx . . . . . . . . . . . . .
UPCASE . . . . . . . . . . . . . .
VARIPADDR . . . . . . . . . . . .
WEBACCT xxxx . . . . . . . . . . .
WEBCOOKID . . . . . . . . . . . .
WEBLH . . . . . . . . . . . . . . .
WEBLM . . . . . . . . . . . . . . .
WEBLOGCOOKIE cookie-name . .
WEBLOGHOLD xxxx . . . . . . . .
WEBLOGMAX xxxx . . . . . . . . .
WEBPL . . . . . . . . . . . . . . .
WEBPUBLOG . . . . . . . . . . . .
WEBREALM xxxx . . . . . . . . . .
WEBSDMAX xxxx . . . . . . . . . .
WEBSM . . . . . . . . . . . . . . .
WEBUSER xxxx . . . . . . . . . .
WSFQUERY . . . . . . . . . . . .
XTAB table . . . . . . . . . . . . .
Janus port processing and examples
JANUS DEFINEIPGROUP . . . . . . .
JANUS DEFINEREMOTE . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
84
85
85
85
86
86
87
87
88
88
89
90
90
91
92
93
94
94
95
95
96
97
97
98
98
99
100
100
101
101
102
102
102
102
103
103
104
104
104
105
105
106
106
106
107
107
110
111
——————————————————————————————————————————
viii
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Contents
——————————————————————————————————————————
CHARSET xxx . . . . . . . . . . . . . . . .
INONLY . . . . . . . . . . . . . . . . . . . .
LANGUAGE xxx . . . . . . . . . . . . . . .
NOSITE . . . . . . . . . . . . . . . . . . . .
OPTSITE . . . . . . . . . . . . . . . . . . .
OUTONLY . . . . . . . . . . . . . . . . . .
SITEACCT xxx . . . . . . . . . . . . . . . .
SITEUSER xxx . . . . . . . . . . . . . . . .
TIMEOUT xxx . . . . . . . . . . . . . . . . .
TRUST, JANUS DEFINEREMOTE . . . . . .
VERIP . . . . . . . . . . . . . . . . . . . . .
Janus remote server processing and examples
JANUS DEFINEUSGROUP . . . . . . . . . . . .
JANUS DELCA . . . . . . . . . . . . . . . . . .
JANUS DELETE . . . . . . . . . . . . . . . . . .
JANUS DELETEIPGROUP . . . . . . . . . . . .
JANUS DELETEREMOTE . . . . . . . . . . . . .
JANUS DELETEUSGROUP . . . . . . . . . . . .
JANUS DISPLAY . . . . . . . . . . . . . . . . .
JANUS DISPLAYCA . . . . . . . . . . . . . . . .
JANUS DISPLAYREMOTE . . . . . . . . . . . .
JANUS DISPLAYSOCK . . . . . . . . . . . . . .
JANUS DISPLAYTRACE . . . . . . . . . . . . .
JANUS DISPLAYWEB . . . . . . . . . . . . . . .
JANUS DISPXT . . . . . . . . . . . . . . . . . .
JANUS DOMAIN . . . . . . . . . . . . . . . . . .
JANUS DRAIN . . . . . . . . . . . . . . . . . . .
JANUS FTP . . . . . . . . . . . . . . . . . . . .
JANUS FTP ALLOW . . . . . . . . . . . . .
JANUS FTP ASSIGN . . . . . . . . . . . . .
JANUS FTP DEASSIGN . . . . . . . . . . .
JANUS FTP DISALLOW . . . . . . . . . . .
JANUS FTP HOME . . . . . . . . . . . . . .
JANUS FTP ON . . . . . . . . . . . . . . . .
JANUS FTP SUFFIX . . . . . . . . . . . . .
JANUS FORCE . . . . . . . . . . . . . . . . . .
JANUS LANGUAGE . . . . . . . . . . . . . . . .
JANUS LIMITS . . . . . . . . . . . . . . . . . . .
JANUS LOADXT . . . . . . . . . . . . . . . . . .
JANUS NAMESERVER . . . . . . . . . . . . . .
JANUS RELOAD . . . . . . . . . . . . . . . . .
JANUS SRVSOCK . . . . . . . . . . . . . . . . .
JANUS SRVSOCK ALLOW . . . . . . . . . .
JANUS SRVSOCK DISALLOW . . . . . . . .
Rule matching order and examples . . . . . .
JANUS SSLSTAT or SSLSTATUS . . . . . . . .
JANUS START . . . . . . . . . . . . . . . . . .
JANUS STAT or STATUS . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
112
112
112
112
112
113
113
113
113
113
113
114
116
116
117
117
118
118
119
120
121
121
122
123
124
125
126
127
128
129
131
132
133
134
136
137
137
138
139
141
144
145
146
147
148
149
151
151
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
ix
——————————————————————————————————————————
Contents
——————————————————————————————————————————
JANUS STATCA or STATUSCA . . . . . . . . .
JANUS STATUSREMOTE . . . . . . . . . . . .
JANUS TCPLOG . . . . . . . . . . . . . . . .
JANUS TRACE . . . . . . . . . . . . . . . . .
JANUS TSTAT or TSTATUS . . . . . . . . . .
The JANUS WEB command . . . . . . . . . . .
JANUS WEB NOREDIRECT . . . . . . . . . .
JANUS WEB REDIRECT . . . . . . . . . . . .
JANUS WEB DISALLOW . . . . . . . . . . . .
JANUS WEB ALLOW . . . . . . . . . . . . . .
JANUS WEB TYPE . . . . . . . . . . . . . . .
JANUS WEB DEBUG . . . . . . . . . . . . . .
JANUS WEB ON . . . . . . . . . . . . . . . . .
CMD cmd [AND cmd [AND...]] . . . . . . .
SEND pname . . . . . . . . . . . . . . . .
RECV pname . . . . . . . . . . . . . . . .
AUDTERM | NOAUDTERM . . . . . . . . .
AUTODONE | NOAUTODONE . . . . . . .
AUTOON | NOAUTOON . . . . . . . . . .
BASE64 | BINARY | TEXT . . . . . . . . .
CLOSEIMMED | NOCLOSEIMMED . . . .
CLOSEREAD | NOCLOSEREAD . . . . . .
COMPRESS level . . . . . . . . . . . . . .
CR | CRLF | LF . . . . . . . . . . . . . . .
EXPIRE time . . . . . . . . . . . . . . . .
FORMREDIRWAIT nnnn . . . . . . . . . .
FORMPOSTWAIT nnnn . . . . . . . . . .
MAXTEMP nnnn . . . . . . . . . . . . . .
MSGSEND | NOMSGSEND . . . . . . . .
OPEN FILE | GROUP fgname [[WITH] priv]
RAWINPUTONLY | NOTRAWINPUTONLY
SSI . . . . . . . . . . . . . . . . . . . . .
WRAPJS . . . . . . . . . . . . . . . . . .
XTAB xtabname . . . . . . . . . . . . . . .
JANUS WEB SCREEN . . . . . . . . . . . . .
AUTOPF setting . . . . . . . . . . . . . . .
BGCOLOR color . . . . . . . . . . . . . .
BRIGHT color . . . . . . . . . . . . . . . .
BROWSER [NOT] type [PRE | POST ver.rel]]
CSS url . . . . . . . . . . . . . . . . . . .
CSSINSP | NOCSSINSP | AUTOCSSINSP
CSSTITLECLASS class . . . . . . . . . . .
CSSTITLEDIV | CSSTITLESPAN . . . . . .
EXITURL url . . . . . . . . . . . . . . . . .
HEADJS url, PREJS url, and POSTJS url .
HOVER color . . . . . . . . . . . . . . . .
HOVERBG color . . . . . . . . . . . . . .
KBGCOLOR color . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
152
153
154
155
158
159
162
163
163
164
166
168
171
171
173
174
174
174
175
175
176
176
176
176
177
177
177
177
177
178
179
182
182
182
183
184
185
185
185
186
187
187
187
187
188
188
189
189
——————————————————————————————————————————
x
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Contents
——————————————————————————————————————————
KEYLOC where . . . . . . . . . . . .
KHOVER color . . . . . . . . . . . .
KHOVERBG color . . . . . . . . . . .
KTEXT color . . . . . . . . . . . . .
LEGBL | NOLEGBL . . . . . . . . . .
LEGCSS | NOLEGCSS . . . . . . . .
LEGJS | NOLEGJS . . . . . . . . . .
LEGREV | NOLEGREV . . . . . . . .
LEGUS | NOLEGUS . . . . . . . . .
ONLOAD text . . . . . . . . . . . . .
SCREEN | NOSCREEN . . . . . . . .
SCREENREDIR | NOSCREENREDIR
SCREENURL | NOSCREENURL . . .
STIMEOUT seconds . . . . . . . . .
STIMEOUTURL url . . . . . . . . . .
TEXT color . . . . . . . . . . . . . .
TITLE title . . . . . . . . . . . . . . .
UBGCOLOR color . . . . . . . . . .
UBRIGHT color . . . . . . . . . . . .
UTEXT color . . . . . . . . . . . . .
3270color HTMLcolor . . . . . . . . .
3270key label . . . . . . . . . . . . .
Rule matching order and examples . . . .
Exception rules . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
190
190
190
191
191
191
191
192
192
192
192
192
193
193
193
193
194
194
194
194
195
196
196
198
Janus User Parameters . . . . . . . . . . . . . . . . . . . . .
201
JANDEBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SRSPARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
201
201
Chapter 6:
Chapter 7:
Janus IFDIAL Library
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . .
203
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
203
204
206
207
208
210
212
212
212
Janus TCP/IP Base IFDIAL Installation . . . . . . . . . . . . .
215
Unix-style workstations . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows-based workstations . . . . . . . . . . . . . . . . . . . . . . . . .
215
217
C Routines . . . . .
ifdial . . . . . .
iffinish . . . . .
ifhangup . . . .
ifread . . . . .
ifwrite . . . . .
Workstation Utilities
batch2 . . . . .
m204 . . . . .
Appendix A:
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
xi
——————————————————————————————————————————
Contents
——————————————————————————————————————————
Appendix B:
Storage requirements . . . . . . . . . . . . . . . . . . . . . .
219
Appendix C:
Sample IFDIAL procedure . . . . . . . . . . . . . . . . . . . .
221
Appendix D:
Date Processing . . . . . . . . . . . . . . . . . . . . . . . . .
223
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
225
——————————————————————————————————————————
xii
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Summary of Changes
——————————————————————————————————————————
——————
Summary of Changes
This section describes significant changes to the documentation. Usually, these
changes correspond to enhancements made to the underlying product, although they
might be simple documentation improvements.
Sirius Mods Version 7.7
The following changes correspond to changes in Janus TCP/IP Base since version 7.6:
●
ADDCA utility lets you load Sirius-provided SSL CA certificates (“JANUS ADDCA”
on page 27).
Sirius Mods Version 7.6
The following changes correspond to changes in Janus TCP/IP Base since version 7.2:
●
UNICODE and DEFAULT parameter options added to the JANUS LOADXT
command (“JANUS LOADXT” on page 139).
●
Description added for the largely undocumented JANUS DISPXT subcommand
(“JANUS DISPXT” on page 124).
Sirius Mods Version 7.2
The following changes correspond to changes in Janus TCP/IP Base since version 7.1:
●
The JANUS TCPLOG subcommand is added (“JANUS TCPLOG” on page 154).
Sirius Mods Version 7.1
The following changes correspond to changes in Janus TCP/IP Base since version 6.8:
●
The DEBUGGERSERVER and DEBUGGERCLIENT port types are added to the
JANUS DEFINE command (“JANUS DEFINE” on page 40).
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
xiii
——————————————————————————————————————————
Summary of Changes
——————————————————————————————————————————
Sirius Mods Version 6.8
The following changes correspond to changes in Janus TCP/IP Base since version 6.7:
●
The RAWINPUTONLY parameter implemented for the JANUS DEFINE command
(“RAWINPUTONLY” on page 81).
●
Janus Web Server and Janus Sockets HTTP helper keep-alive support. See
“KEEPALIVE xxxx” on page 60.
●
JANUS NAMESERVER command enhancements. See “JANUS NAMESERVER”
on page 141.
Sirius Mods Version 6.7
The following changes correspond to changes in Janus TCP/IP Base since version 6.6:
●
New port definition parameter RAWINPUT (“RAWINPUT” on page 81), to facilitate
generic treatment of input and output HTTP content and to allow Janus Web Server
to automatically detect whether an HTTP Post used the encoding used for form
posts.
●
The RAWINPUTONLY parameter implemented for JANUS WEB ON rules
(“RAWINPUTONLY | NOTRAWINPUTONLY” on page 179).
Sirius Mods Version 6.5
The following changes correspond to changes in Janus TCP/IP Base since version 6.4:
●
The new Janus DEFINE parameter SESFASTLOGIN (see “SESFASTLOGIN” on
page 85) reduces the login security overhead for Janus Web threads by causing fast
logins for continued sessions. The new Janus DEFINE parameter HIGHPRIORITY
(see “HIGHPRIORITY” on page 58) starts web threads at the upper end of their
priority range rather than at their default priority.
Both parameters are valid only for Janus Web Server ports.
●
The new JANUS DEFINE parameter HTTPVERSION (see “HTTPVERSION xxx” on
page 58) allows changing of the HTTP version returned to the browser by Janus
Web Server.
●
The JANUS DEBUG subcommand is no longer available, and it is removed from
this manual. Formerly, you could use JANUS DEBUG as an alias for the JANUS
TRACE command (which specifies what kind of audit trail tracing to perform on one
or more JANUS ports or on some selected connections on the ports).
——————————————————————————————————————————
xiv
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Sirius Mods Version 6.5
——————————————————————————————————————————
The DEBUG parameter of the JANUS DEFINE command is also no longer available
and is removed from this manual. Formerly, you could use DEBUG as an alias for
the TRACE parameter of the JANUS DEFINE command.
The DEBUG parameter of the JANUS DEFINEREMOTE command is obsolete and
is removed from this manual.
The JANUS DISPLAYDEBUG command, which formerly was an alias for the
JANUS DISPLAYTRACE command, is obsolete and is removed from this manual.
Sirius Mods Version 6.4
The following changes correspond to changes in Janus TCP/IP Base in version 6.4 of
the Sirius Mods.
●
The new JANUS DEFINE parameter FINCLOSE closes a Janus Sockets connection
immediately if the remote host closes the connection (“FINCLOSE | NOFINCLOSE”
on page 57).
●
New User 0 parameter NCMPBUF defines the number of buffers available for
compressed data. NCMPBUF must be set before the data compression $functions
($DEFLATE or $INFLATE) can be used by Janus products and before the
compression feature can be used by Janus Web Server ports (“Environment
Definition” on page 15).
●
New option, (TLS, X'04'), which also becomes the new default, for the SSLPROT
parameter of the JANUS DEFINE command: (see “SSLPROT xxx” on page 96).
Sirius Mods Version 6.3
The following changes correspond to changes in Janus TCP/IP Base in version 6.3 of
the Sirius Mods.
●
New JANUS DEFINE parameter, SCREENURL, for backward compatibility. See
“SCREENURL” on page 84.
●
Data compresssion for Janus ports. See “COMPRESS level” on page 51 and
“COMPRESS level” on page 176.
●
New wildcard substitution capabilities in JANUS WEB ON rules. See “CMD cmd
[AND cmd [AND...]]” on page 171 and “OPEN FILE | GROUP fgname [[WITH] priv]”
on page 178.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
xv
——————————————————————————————————————————
Summary of Changes
——————————————————————————————————————————
●
New HEADJS and ONLOAD JANUS WEB SCREEN rule parameters. See
“HEADJS url, PREJS url, and POSTJS url” on page 188 and “ONLOAD text” on
page 192.
Sirius Mods Version 6.2
The following changes correspond to changes in Janus TCP/IP Base in version 6.2 of
the Sirius Mods.
●
JANUS command now available as an operator command.
●
AUTOPF LINK in JANUS WEB SCREEN rules. See “AUTOPF setting” on page
184.
●
New JANUS DEFINE parameters. See “CSSINSP, NOCSSINSP, and
AUTOCSSINSP” on page 53, “CSSTITLEDIV and CSSTITLESPAN” on page 54,
“LEGBL, LEGREV, LEGUS, NOLEGBL, NOLEGREV and NOLEGUS” on page 61,
and “LEGCSS and NOLEGCSS” on page 61.
●
EXPIRE parameter in JANUS WEB ON rules. See “EXPIRE time” on page 177.
●
New JANUS DEFINE parameters. See “CSSINSP, NOCSSINSP, and
AUTOCSSINSP” on page 53, “CSSTITLEDIV and CSSTITLESPAN” on page 54,
“LEGBL, LEGREV, LEGUS, NOLEGBL, NOLEGREV and NOLEGUS” on page 61,
and “LEGCSS and NOLEGCSS” on page 61.
●
New JANUS DISPLAYWEB now allows URL. See “JANUS DISPLAYWEB” on page
123.
●
New JANUS WEB SCREEN rule parameters: BRIGHT, BROWSER, CSS,
CSSINSP, NOCSSINSP, AUTOCSSINSP, CSSTITLECLASS, CSSTITLEDIV,
CSSTITLESPAN, HOVER, HOVERBG, KBGCOLOR, KEYLOC, KHOVER,
KHOVERBG, KTEXT, LEGBL, NOLEGBL, LEGREV, NOLEGREV, LEGUS,
NOLEGUS, PREJS, POSTJS, UBGCOLOR, UBRIGHT and UTEXT. See “JANUS
WEB SCREEN” on page 183.
●
WRAPJS parameter in JANUS WEB ON rules and $WEBSET. See “WRAPJS” on
page 182.
——————————————————————————————————————————
xvi
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Sirius Mods Version 6.1
——————————————————————————————————————————
Sirius Mods Version 6.1
The following changes correspond to changes in Janus TCP/IP Base in version 6.1 of
the Sirius Mods.
●
VSE operating systems are now supported using the TCP/IP stack from
Connectivity Systems Inc..
Sirius Mods Version 6.0
The following changes correspond to changes in Janus TCP/IP Base in version 6.0 of
the Sirius Mods.
●
New CLSOCK and SRVSOCK port types: for the new Janus Sockets product.
●
New JANUS CLSOCK, JANUS SRVSOCK, and JANUS DISPLAYSOCK commands
to establish and display rules to control access to CLSOCK and SRVSOCK ports.
●
New parameters for Janus Sockets on JANUS DEFINE command:
▪
▪
▪
▪
▪
▪
▪
▪
BINARY
CHAR
LINEND
PRSTOK
REMOTE
SOCKACCT
SOCKPMAX
SOCKUSER
●
DEBUG keyword replaced by TRACE
●
JANUS DEFINE's [NO]AUDTERM parameter applicable to all server port types, with
NOAUDTERM becoming the default
●
LOADXT parameter for JANUS DEFINE command..
Sirius Mods Version 5.5
The following changes correspond to changes in Janus TCP/IP Base in version 5.5 of
the Sirius Mods.
●
New parameter SDSUSER and SDSACCT on JANUS DEFINE command.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
xvii
——————————————————————————————————————————
Summary of Changes
——————————————————————————————————————————
Sirius Mods Version 5.4
The following changes correspond to changes in Janus TCP/IP Base in version 5.4 of
the Sirius Mods.
●
New port types SDS and OAS.
●
New parameter MAXCURS on JANUS DEFINE command.
Sirius Mods Version 5.3
The following changes correspond to changes in Janus TCP/IP Base in version 5.3 of
the Sirius Mods.
●
New SSLCIPH parameter for JANUS DEFINE
——————————————————————————————————————————
xviii
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Overview
——————————————————————————————————————————
——————
CHAPTER 1
Overview
Janus TCP/IP Base is part of the Janus family of products that provides connectivity to
the Model 204 database. Janus TCP/IP Base is a pre-requisite for all other products in
the Janus family, because without it, it is impossible to use these other products. A
Janus TCP/IP Base site will probably have one or more of the other products in the
Janus family, though no others are required. The other Janus products are:
●
Janus Network Security, which supports the Secure Sockets Layer (SSL) protocol,
providing secure communications for users of Janus products. This is documented
in Janus Network Security Reference Manual.
●
Janus Specialty Data Store, which enables Model 204 to operate as a
Sybase/Microsoft SQL Server, principally for the Sybase OmniConnect feature of
Adaptive Server. Features include optimized translation of SQL into User Language
and cataloging tools to map unchanged Model 204 files onto normalized. This is
documented in Janus Specialty Data Store Reference Manual.
●
Janus Open Client, which enables your Model 204 User Language applications to
invoke Sybase/Microsoft Remote Procedure Calls (RPCs) or language requests
(e.g. SQL) to one or more Sybase or Microsoft Open Servers and/or SQL servers.
This is documented in Janus Open Client Reference Manual.
●
Janus Open Server, which enables you to create Model 204 User Language
applications which respond to requests from clients which use Sybase DB-Library
Open Client calls and SQL EXECUTE statements. This is documented in Janus
Open Server Reference Manual.
●
Janus Web Server, which enables you to provide access to Model 204 data and
objects to clients (usually called browsers) via the World Wide Web. This is
documented in Janus Web Server Reference Manual.
A single Model 204 online region can contain any number of the three different Janus
server products (Janus Specialty Data Store, Janus Open Server, and Janus Web
Server). A Janus Open Server or Janus Web Server User Language request can also
invoke Janus Open Client $functions; this enables server applications to exchange
information with other Model 204 or non-Model 204 servers.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
1
——————————————————————————————————————————
Overview
——————————————————————————————————————————
1.1
Janus, the Sirius Mods, and UL/SPF
Janus TCP/IP Base is part of the Janus family of products that provides connectivity to
the Model 204 database. A Janus TCP/IP Base site might also have one or more of the
other products in the Janus family, though no others are required. Note that if Limited
Janus Web Server is available, then Janus TCP/IP Base is automatically authorized.
Limited Janus Web Server is a free, restricted version of Janus Web Server; they are
both documented in the Janus Web Server Reference Manual.
The Janus family of products is itself made up of two components installed on the
mainframe; additionally, if Janus TCP/IP Base IFDIAL is used, installation of software on
a workstation is required (see “Janus TCP/IP Base IFDIAL Installation” on page 215).
●
A collection of object code enhancements to the Model 204 database-engine
nucleus.
These enhancements are distributed as components of the Sirius Mods and make
up a collection of products including those in the Janus family. The Sirius Mods
include many non-connectivity related products (such as Fast/Backup, Fast/Reload,
and the Fast/Unload User Language Interface) that are not part of the Janus family.
No Sirius Mods products are required to run Janus TCP/IP Base other than itself.
●
A collection of Model 204 procedures that contain User Language, documentation,
and assorted other data.
These Model 204 procedures install and implement the components of the User
Language Structured Programming Facility, also known as UL/SPF. All the UL/SPF
files reside in the SIRIUS procedure file (as of Sirius Mods version 6.8). which also
contains code and data useful to Janus users including Janus TCP/IP Base users.
UL/SPF also includes files that are components of non-connectivity related products
such as SirPro, SirScan, and SirMon. No other UL/SPF products are required to run
Janus TCP/IP Base, or any other Janus product, for that matter.
Thus, to install Janus TCP/IP Base, both the Sirius Mods and UL/SPF must be installed,
following the instructions in the Sirius Mods Installation Guide and the UL/SPF
Installation and Maintenance Guide, respectively. When the Sirius Mods are installed,
all other products owned by the installing site that are part of the Sirius Mods will also be
installed. Similarly, when UL/SPF is installed, all other products owned by the installing
site that are part of UL/SPF will be installed.
——————————————————————————————————————————
2
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Versions and compatibility
——————————————————————————————————————————
1.2
Versions and compatibility
Because the Sirius Mods and UL/SPF have somewhat different release cycles, the
version numbers for these two components will often differ in a distribution. For
example, version 7.6 of the Sirius Mods might be shipped with version 7.3 of UL/SPF.
All the products in UL/SPF depend on certain features being present in the version of the
Sirius Mods that is installed in the Model 204 load module under which UL/SPF is
running. This implies, obviously, that the Sirius Mods must be installed for any UL/SPF
component to operate correctly. And, as of version 6.8, the Sirius Mods version must
match or be higher than the UL/SPF version number.
The Sirius Mods however, do not depend on any particular features of the UL/SPF
product, merely the presence of the UL/SPF SIRIUS file. The SIRIUS file contains the
code for the sample Janus Web Server, and Janus port definitions have default rules
that call to this file.
Sirius Software has a strong commitment to backward compatibility with the Sirius Mods.
This means that any User Language application (including UL/SPF) that uses the Sirius
Mods will run correctly on subsequent versions of the Sirius Mods. It is, thus, always
possible to upgrade the Sirius Mods without having to worry about upgrading UL/SPF.
This is not to say that this is always a good idea, only that it is possible and that the
installed version of a UL/SPF product will continue to run as it had before the Sirius
Mods upgrade.
While the Janus family of products has a UL/SPF component, most of the critical code is
actually in the Sirius Mods — object code enhancements to the Model 204 nucleus. The
UL/SPF component of the Janus family consists mostly of utilities, examples, and
documentation. Because of this, the version number of a Janus product is generally
considered to be the version of the Sirius Mods in which it is contained.
This document, the Janus TCP/IP Base Reference Manual, assumes that a site is
running Sirius Mods version 6.7 or later and has installed UL/SPF version 6.2 or later.
Any documentation that requires a later version of the Sirius Mods or UL/SPF will be
clearly marked to indicate this. For example, a JANUS DEFINE parameter that is only
available in versions 7.7 and later of the Sirius Mods will have a sentence such as “This
parameter is only available in version 7.7 and later of Sirius Mods” in its documentation.
If a feature, $function, command, or parameter is not indicated as requiring any specific
version of the Sirius Mods, it can be assumed that it is available, as documented, in all
versions of Janus TCP/IP Base; that is, all versions since version 6.7 of the Sirius Mods
and version 6.2 of UL/SPF.
As an exception to this, Sirius documentation does not necessarily indicate the version
with which a specific feature was introduced, if that feature applies only to a particular
product and was introduced with the initial version of that product. For example, the
LINEND parameter of the JANUS DEFINE command only applies to Janus Sockets
ports.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
3
——————————————————————————————————————————
Overview
——————————————————————————————————————————
1.3
Related manuals
As mentioned in “Janus, the Sirius Mods, and UL/SPF” on page 2, Janus TCP/IP Base
requires the installation of both the Sirius Mods and UL/SPF. As such, the person
responsible for the installation of Janus TCP/IP Base should refer to the Sirius Mods
Installation Guide and the UL/SPF Installation and Maintenance Guide. Also, the
Sirius Messages Manual contains documentation on Sirius Mods error messages, so it
might be useful to application programmers.
1.4
Related products
If security is a concern, whether it be internet or intranet security, SSL (Secure Socket
Layer) is the de-facto standard for providing encryption and validation security for webbased applications. The Janus Network Security product provides SSL support for
Janus TCP/IP Base (as well as other products in the Janus family).
One of the convenient debugging features available with Janus TCP/IP Base is a
TRACE facility which logs Janus request/response information to the Model 204 journal.
In addition, most application debugging in a Model 204 environment is done on a 3270
or 3270 emulator — but since Janus TCP/IP Base IFDIAL applications are not
associated with a 3270, debugging techniques geared toward a 3270 will not work for
them, so most of their debugging information goes to the Model 204 journal. If you don't
have good tools to view the journal, using it for debugging is a tedious process.
AUDIT204 and ISPF provide some capabilities for viewing the journal, but they have
many inherent shortcomings and inefficiencies. Because of this, it is strongly
recommended that any site that installs Janus TCP/IP Base also install SirScan.
SirScan is a product in the UL/SPF family that facilitates the interactive extraction of
journal information within the Model 204 region. It does so via a user-friendly web
browser or full-screen 3270 interface and low-level routines to provide efficient access to
in-memory and on-disk journal buffers. SirScan can provide an order of magnitude
improvement in debugging efficiency for non-terminal-related Model 204 processes such
as Janus TCP/IP Base, Horizon, BATCH2 and other Janus server applications.
Note: If Limited Janus Web Server is available, SirScan is automatically authorized for
viewing audit trail entries on WEBSERV threads.
1.5
System requirements
The current release of Janus TCP/IP Base requires the following components to run:
●
Mainframe operating systems:
▪
Any supported version of z/OS
——————————————————————————————————————————
4
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
System requirements
——————————————————————————————————————————
▪
▪
z/VSE Version 4 or later or
CMS (releases currently supported by IBM) running under
any supported version of z/VM
●
Model 204 Version 6 Release 1 or later
●
One of the following mainframe TCP/IP implementations:
▪
▪
▪
IBM TCP/IP for z/VM or z/OS
InterLink TCP/IP for MVS - Version 1.1 or later
TCP/IP for VSE (Connectivity Systems, Inc., Columbus, OH) - Version 1
Release 4.0 or later
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
5
——————————————————————————————————————————
Overview
——————————————————————————————————————————
——————————————————————————————————————————
6
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Janus / Connectivity Concepts
——————————————————————————————————————————
——————
CHAPTER 2
Janus / Connectivity Concepts
2.1
Server Ports
In order for a client application to communicate with a server application, it must have a
way to identify the server application on the network. Under the TCP/IP protocols, the
identity of a server has two parts. The first part identifies the machine on which the
server runs. This part is called the machine's (or host's) IP address. The second part
distinguishes the server application from other applications on the host. This part is
called the port number.
A host's IP address is a 32-bit unsigned binary number that is displayed in “dotted”
format, for example, 198.242.244.33. To avoid having to refer to these types of
addresses, most networks have nameservers or names files that map names to IP
addresses. That way, a client application can connect to a host by a name (such as
IBM3090) rather than by an address.
A port number is a number from 1 to 65535 that is assigned to every server application
that is available on a host. In the case of Janus IFDIAL, the Janus server products
(Janus Specialty Data Store, Janus Open Server, and Janus Web Server), and Janus
server sockets, this port number is specified by the second parameter on the JANUS
DEFINE command. Since this port number must be unique for the host, it is impossible
to start (JANUS START) a port with a port number that matches a port number for any
other application running on the same host. This includes any Janus port on the same
or a different Online that uses the same IP address. This also includes any other nonJanus server application. For example, port number 23 is almost always used by the
telnet server. An attempt to start a Janus server for port number 23 will undoubtedly
encounter a port in use situation and be unable to start.
On a system with several local server applications, or with more than one Online (maybe
test and production) with several Janus ports, a simple strategy to keep port numbers
from conflicting is to assign a range of ports to each Online. For example, port numbers
300-399 might be reserved for the test Online, and port numbers 400-499 might be
reserved for the production Online.
The BINDADDR parameter of the JANUS DEFINE command also allows you to specify
which IP address to use for a Janus server, if your operating system is configured to
bind a port to one of multiple IP server addresses.
Sybase provides a way of mapping an application name to a host name (or address) and
port number. This makes it possible to access a specific application by specifying only a
single application name. This mapping is done through a mapping file called the
“interfaces file” on Unix workstations, and through entries in WIN.INI or SQL.INI under
Microsoft Windows. For more information on this mapping, refer to the Sybase
DB/Library manuals.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
7
——————————————————————————————————————————
Janus / Connectivity Concepts
——————————————————————————————————————————
2.2
JANUS DEFINE and JANUS DEFINEREMOTE
Subcommands
A JANUS DEFINE command can do any one of the following:
●
Assign a port number for Janus IFDIAL processing.
●
Assign a port number to a Janus Open Server application.
●
Assign a port number to a Janus Specialty Data Store server.
●
Assign a port number to a Janus Web Server server.
In addition to the second option above, assigning a port number to a Janus Open Server
application, a JANUS DEFINE command can also:
●
Assign a (MASTER) port number for use by non-Janus Open Server users to
access Janus Open Client applications.
A JANUS DEFINEREMOTE command can do any combination of the following:
●
Assign a remote host address and port number for Janus Open Client processing,
and assign which local port numbers can call the remote host/port (non-INONLY).
●
Specify the address of a remote host and the Janus Open Server applications it may
access (non-OUTONLY).
——————————————————————————————————————————
8
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Translate tables
——————————————————————————————————————————
——————
CHAPTER 3
Translate tables
Janus Connectivity products typically communicate with applications on remote
computers. In many cases, these remote computers use different encodings for
symbols, numerals, and letters or “characters.” A character usually occupies a single
byte of memory on any computer, but the character displayed for a particular bit value
may vary. For example, in an ASCII encoding, the numeral “1” is represented by the
hexadecimal value X'31'. On a computer that uses an EBCDIC encoding (IBM
mainframes), the representation is X'F1'. Therefore a numeral “1” transmitted from an
ASCII-based computer to an EBCDIC-based computer, or vice versa, will be
misinterpreted. To avoid such misinterpretation, a method of converting a byte from one
encoding to another is needed. Janus translate tables were implemented to solve this
problem.
In Janus release 5.6 and earlier, a fixed translate table provided the most common type
of translation: that is, it converted ASCII to EBCDIC when receiving, and it converted
EBCDIC to ASCII when sending. In most cases, this is adequate for any of the Janus
products. There are, however, many different types of EBCDIC and ASCII character
sets, designed to display foreign language characters, currency, and other special
symbols. To ensure these characters are transmitted and received correctly, a more
flexible approach is required.
In Janus 6.0, the translate table facility was expanded to allow simultaneous use of
many different translate tables, and further, to allow user-written or customized translate
tables.
To use Janus translate tables, you must do one of the following if you do not want to use
the standard tables:
●
Code your own translate table source.
●
Use an external translate table.
●
Use or modify a Sirius-provided translate table.
The LOADXT command (“JANUS LOADXT” on page 139) then validates the new table,
converts it to an internal format, and adds or replaces any existing table with the same
name.
To use the most up-to-date Sirius-provided translation file, specify the following to load
and name the Unicode table that handles Janus SOAP XML document translations (you
must be running Sirius Mods version 7.6 or higher):
JANUS LOADXT xtabname UNICODE
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
9
——————————————————————————————————————————
Translate tables
——————————————————————————————————————————
To view the translations in effect after issuing this command:
1.
Determine the codepage in use at your site for translations between Unicode and
EBCDIC:
UNICODE Display Table Standard
The result of this UNICODE command (described further in the Janus SOAP
Reference Manual) will begin with something like:
* The following commands produce the current Unicode
translation tables:
UNICODE Table Standard Base Codepage pppp
where pppp is the codepage in use.
2.
Using that codepage, issue:
UNICODE Display Codepage pppp
The result will be many lines of single-character translations, one line for each
character translated between EBCDIC and Unicode. This format differs entirely
from that described below in “Defining translate tables”.
To provide backward compatibility with earlier releases, two additional translate tables
are loaded during Model 204 initialization. The standard table, named “STANDARD,” is
an exact copy of the translate table used with earlier Janus releases. This is the default
translate table for all Janus ports, unless you define Web ports with DBCS support. In
this case, the “JAPANIBM” translate table is used. Both these tables are built-in to the
Sirius Mods code. As described in the next section, “Defining translate tables”, the
JANUS DISPXT and JANUS LOADXT commands let you view (or copy for modification
purposes) and reload these translate tables.
3.1
Defining translate tables
You can define your own translate tables and load them with the JANUS LOADXT
command (“JANUS LOADXT” on page 139). These tables can be defined in a
Model 204 procedure file or group, or in a sequential file or MVS Partitioned Data Set
(PDS).
A translate table must define a 256-byte EBCDIC-to-ASCII table, followed by a 256-byte
ASCII-to-EBCDIC table.
Comment lines are allowed and can begin with a semicolon (;) or an asterisk (*).
——————————————————————————————————————————
10
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Defining translate tables
——————————————————————————————————————————
Comments are allowed on the same line as definition lines, provided they are preceded
by either of the two comment characters.
You can define any number of bytes of the translate table on a single line, but it is easier
to read and maintain if you define 16 bytes per line.
Certain characters must be translated to their equivalent values in EBCDIC and ASCII
for basic Janus functions to work correctly. Therefore, these characters are reserved for
use by Janus, and they may not be translated to any other characters. These reserved
characters are the following:
0-9
a-z
A-Z
.
<
(
+
&
!
*
)
;
/
,
%
>
?
:
#
'
=
"
period
less than
left parenthesis
plus
ampersand
exclamation
asterisk
right parenthesis
semicolon
forward slash
comma
percent
greater than
question mark
colon
pound sign
single quote
equal sign
double quote
JANUS LOADXT will validate any table it attempts to load, and if these characters are
not preserved when translating to ASCII and back, the table will not be loaded.
Each character in the translate table is coded in hexadecimal format and must be two
bytes long. Each two-byte hexadecimal string must be separated by one or more
blanks.
Following is an abbreviated example of translate table source code. Each of the rows of
hexadecimal characters define the EBCDIC encoding for an ASCII character at that
offset in the table. So for example, to find out how this table would translate an ASCII 2
(hexadecimal X'32'), you locate offset X'32' in the table, which is in the fourth row, third
pair of characters. Note that the top and right-side comments help to locate offsets
quickly. At offset X'32' in this table, you find the value X'F2', which is the EBCDIC
encoding for the numeral 2.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
11
——————————————————————————————————————————
Translate tables
——————————————————————————————————————————
Of course, to send characters, you would want to translate EBCDIC encoding back into
ASCII. Therefore, an EBCDIC to ASCII section must also be coded. This is not shown
in the example.
;
; ASCII-to-EBCDIC table for English (US)
; 00 01 02 03 04 05 06 07 08 09 0A 0B 0C
;
00 01 02 03 37 2D 2E 2F 16 05 25 0B 0C
10 11 12 13 3C 3D 32 26 18 19 3F 27 1C
40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C
7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3
D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 BA E0
79 81 82 83 84 85 86 87 88 89 91 92 93
97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F
68 DC 51 42 43 44 47 48 52 53 54 57 56
71 9C 9E CB CC CD DB DD DF EC FC 70 B1
45 55 CE DE 49 69 9A 9B AB AF 5F B8 B7
2B 2C 09 21 28 65 62 64 B4 38 31 34 33
22 17 29 06 20 2A 46 66 1A 35 08 39 36
8C AC 72 73 74 0A 75 76 77 23 15 14 04
EE 59 EB ED CF EF A0 8E AE FE FB FD 8D
CA 8F 1B B9 B6 B5 E1 9D 90 BD B3 DA FA
CECP Code Page 037
0D 0E 0F
0D
1D
60
7E
D4
BB
94
D0
58
80
AA
4A
30
6A
AD
EA
0E
1E
4B
6E
D5
B0
95
A1
63
BF
8A
B2
3A
78
BC
3E
0F
1F
61
6F
D6
6D
96
07
67
FF
8B
24
9F
3B
BE
41
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
00
10
20
30
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
You can specify existing external translate table source when loading translate tables.
For example, IBM supplies many translate tables with its TCP/IP product under MVS.
You can use these tables directly with JANUS LOADXT. To use these tables, you must
first allocate the dataset and member you want to load. Use the Model 204 ALLOCATE
command to do this:
ALLOCATE IBMXTAB WITH SCOPE=SYSTEM DSN=TCPIP.AEZAXLT1 MEMBER=US OLD SEQUENTIAL VOLUME=OS260R
Then use the JANUS LOADXT command to load the translate table:
JANUS LOADXT name DDNAME IBMXTAB
You can obtain source copies of any previously loaded translate table (including internal
tables) by using the JANUS DISPXT command and the Model 204 USE command. For
example, to obtain a copy of the current translate table “STANDARD,” issue the
following commands:
USE ddname
JANUS DISPXT STANDARD
You can then modify the source and reload the table using the JANUS LOADXT
command.
Note: Because the STANDARD table in the example above may already be a modified
version of the STANDARD table distributed with Janus TCP/IP Base, if you definitely
——————————————————————————————————————————
12
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Defining translate tables
——————————————————————————————————————————
want to copy the distributed STANDARD table, issue the USE and JANUS DISPXT
commands in a “private” Online where you are confident the table has not been
modified.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
13
——————————————————————————————————————————
Translate tables
——————————————————————————————————————————
——————————————————————————————————————————
14
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Environment Definition
——————————————————————————————————————————
——————
CHAPTER 4
Environment Definition
Once the Janus object modules are linked into Model 204, the system manager must
modify the CCAIN stream to allow the online to act as a TCP/IP-Janus server1.
User 0 parameters that affect Janus functionality are listed below and described
thereafter. Set the parameters that apply to Janus components installed at your site,
and ignore parameters for components not installed at your site.
CSIPID
NCMPBUF
SDAEMDEV
SRSDEFTO
SRSMAX
SRSMAXTO
SRSMAXUS
TCPSERV
TCPTYPE
CSIPID
Identifier of the CSI TCP/IP server under VSE. This is a two-character
identifier that must match the ID= parameter on the VSE // EXEC
statement for the TCP/IP partition with which Janus will communicate. If
not specified, this parameter defaults to 00, which is also the CSI
TCP/IP default.
NCMPBUF
Defines the number of buffers available for compressed data.
NCMPBUF must be set to a positive value before the data compression
$functions ($DEFLATE or $INFLATE) can be used by Janus products
and before the compression feature can be used by Janus Web Server
ports.
NCMPBUF should be set to the maximum number of users expected to
concurrently use compression. The default value is 0, that is,
compression is not available.
About 309K bytes are required for each NCMPBUF buffer. These are
allocated in 31-bit storage.
————————————————————————
1
When discussing Janus Open Server applications, this manual uses the term server to refer to the
Model 204 address space in general. Server program or server application is used when refering
to User Language code that responds to a client request.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
15
——————————————————————————————————————————
Environment Definition
——————————————————————————————————————————
Although NCMPBUF is available only in Sirius Mods 6.4 and later, the
compression facility is available for sending data from Janus Web
Server ports in Sirius Mods version 6.3. In version 6.3, compression
buffers were 64K bytes and were allocated to every thread on a port if
the COMPRESS parameter was specified on the JANUS DEFINE
command.
For more information about the compression feature, see the
$DEFLATE and $INFLATE descriptions in the Sirius Functions
Reference Manual, and see “COMPRESS level” on page 51.
SDAEMDEV
Specifies the IODEV number to be used for sdaemon (pronounced essdemon) threads. These are special background threads (analogous to
IODEV=3 threads) that operate without terminals and offload processing
from the online user's thread.
Any Janus session that treats the Model 204 address space as a server
— that is, IFDIAL2, Janus SDS, Web Server, or Open Server sessions
— requires the same resources as any user session, including a
Model 204 server and a thread on which to run. The sdaemon facility
makes these resources available.
Sdaemon threads are activated when Model 204 establishes a Janus
Web Server, Janus Sockets (for server ports), Janus Specialty Data
Store, Janus Open Server, or IFDIAL connection. Many UL/SPF
products also use sdaemon threads for brief units of work. It is
recommended that a site have an sdaemon thread for each concurrent
connection to be maintained by a Janus product, and have at least four
sdaemon threads if using any UL/SPF products.
The SDAEMDEV parameter can be any odd number from 1 to 53.
Note: Any IODEV number selected for SDAEMDEV will be unavailable
for its normal function. Thus the recommended setting for SDAEMDEV
is 15 (unless a site is using BTAM TTY terminals).
For more information about setting up sdaemon threads, see the Sirius
Mods Installation Guide
SRSDEFTO
The default timeout value (in seconds) to be used for saved record sets
if none is specified on the $WEB_SAVE_RECSET function. If
SRSDEFTO exceeds SRSMAXTO, SRSMAXTO will effectively act as
the default timeout value. The default for SRSDEFTO is 900, which
means 15 minutes. Setting SRSDEFTO to 0 means no record sets will
be saved unless an explicit timeout is specified in the
————————————————————————
2
The terms BATCH2 and IFDIAL are used somewhat interchangeably, because IFDIAL is used to
refer to the low level routines that are used to provide BATCH2 access to Model 204.
——————————————————————————————————————————
16
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Environment Definition
——————————————————————————————————————————
$WEB_SAVE_RECSET function. SRSDEFTO can be reset.
The saved record set facility and the SRSDEFTO parameter are only
available in version 5.1 and later of Sirius Mods.
SRSMAX
Maximum number of total saved record sets in the system. This
parameter defaults to 0, and it must be set to a positive value to allow
use of the saved record set feature of Janus Web Server. If this
parameter is 0, $WEB_SAVE_RECSET will never save a record set.
The number of record sets that can actually be saved at a given time
might be somewhat less than this value if many of the saved record sets
are associated with groups with large numbers of members. The saved
record set feature will use approximately 64*SRSMAX bytes of virtual
storage.
The saved record set facility and the SRSMAX parameter are only
available in version 5.1 and later of Sirius Mods.
SRSMAXTO
Maximum length of time (in seconds) that a saved record set can be
saved without being referenced. The actual maximum length of time a
record set will be saved can be set in the $WEB_SAVE_RECSET
function, but it will be set to SRSMAXTO if that value exceeds
SRSMAXTO. Similarly if a timeout is not specified on the
$WEB_SAVE_RECSET, so the timeout value is derived from
SRSDEFTO, but if SRSDEFTO is greater than SRSMAXTO,
SRSMAXTO will be used as the timeout. The default for SRSMAXTO is
3600, which means a maximum timeout of one hour.
SRSMAXTO can be reset. By resetting SRSMAXTO to 0, the saved
record set facility is temporarily disabled, and all enqueues associated
with saved record sets are freed. This can be useful in clearing up an
enqueuing problem caused by a saved record set. Resetting
SRSMAXTO will dynamically adjust the timeout for any record sets
saved with a higher timeout value. So if there is a saved record set with
a timeout of 1800 seconds when SRSMAXTO is reset to 300, that
record set's timeout is updated to 300. If that record set had been
saved more than 300 seconds before the reset, it would be immediately
freed.
The saved record set facility and the SRSMAXTO parameter are only
available in version 5.1 and later of Sirius Mods.
SRSMAXUS
Maximum number of saved record sets per user. This limit is a peruserid limit, and it applies even if the userid is being used from multiple
web browsers. The default for SRSMAXUS is 0, which means that there
is no per-user limit for saved record sets. SRSMAXUS can be used to
ensure that a single user, either as the result of a programming error or
simply through running frequent queries, does not monopolize the saved
record set facility. SRSMAXUS can be reset.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
17
——————————————————————————————————————————
Environment Definition
——————————————————————————————————————————
The saved record set facility and the SRSMAXUS parameter are only
available in version 5.1 and later of Sirius Mods.
TCPSERV
Name of the TCP/IP server address space (MVS) or virtual machine
(CMS). If not specified, this parameter defaults to TCPIP.
TCPTYPE
Specifies the type of TCP/IP network to which Model 204 is connected.
If you are using Janus Version 5.3 or later, you may omit this parameter
and allow Janus to automatically detect the type of TCP/IP you have on
your machine.
If you are using Janus Version 5.5 or later, and you specify type IBM,
Janus will detect and set the type of IBM interface it will use:
●
●
●
Under CMS, this is always IUCV.
Under MVS, Janus will select the IBM interface in the following
order: BPX (Unix System Services), HPNS, then IUCV.
If multiple types are installed, Janus will select the interface in the
following order for MVS: BPX, HPNS, IUCV, Interlink, then KNET.
For CMS the order is IUCV, then KNET.
You can always override auto-detection by explicitly supplying a
TCPTYPE parameter.
The valid TCPTYPE values are:
IBM
to specify IBM TCP/IP. In Janus Version 5.5 and later,
this means auto-detect the best IBM TCP/IP interface.
For CMS, this is always IUCV. For MVS, Janus will look
for BPX, HPNS, then IUCV. For Janus Version 5.4 and
earlier, this setting always implies IUCV for both CMS
and MVS.
BPX
Specifies IBM BPX (Unix System Services) (MVS only).
HPNS
Specifies IBM HPNS (High Performance Native Sockets)
(MVS only).
INTERLNK
Specifies InterLink TCP/IP (MVS only).
CSI
Specifies Connectivity Systems TCP/IP (VSE only).
TCP/IP notes:
●
If you are using the IBM BPX TCP/IP interface, check the following APARs for PTFs
that may apply to your system: OW42346, PQ24583, and OW37717. These
APARs relate to SIGPIPE handling in the BPX API and can cause abends which
result in immediate termination of Model 204. Also, customers have reported
occasional hung threads that may be fixed by APAR PQ33040.
——————————————————————————————————————————
18
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Environment Definition
——————————————————————————————————————————
●
Most of the communication with the TCP/IP address space is accomplished via a
PST. Because of this, NSUBTKS may need to be increased by 1 before using
Janus.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
19
——————————————————————————————————————————
Environment Definition
——————————————————————————————————————————
——————————————————————————————————————————
20
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
——————
CHAPTER 5
Janus Commands
The Janus command set (simply referred to as "Janus commands") consists of
commands and subcommands that begin with the string JAN. The two Janus
commands currently supported as of Sirius Mods version 6.3 are JANUS and
JANUSDEBUG.
You use Janus commands to:
●
Define Model 204 as a server on the TCP/IP network. Janus commands set port
numbers for your Janus server applications and start, stop, and monitor Janus
activity in the Model 204 address space.
●
Define remote servers to the Model 204 client for access by Janus Open Client
applications and Janus Sockets client applications, and define which remote hosts
can establish connections with Janus Specialty Data Store, Janus Open Server, and
Janus Sockets.
●
Add security to Janus ports using Secure Sockets Layer (SSL) or Transport Layer
Security (TLS) to provide encrypted communications.
●
Define server rules (like redirection or security filtering for specific data types, users,
or TCP/IP addresses) for Janus Web Server and Janus Sockets applications.
●
Perform interactive, terminal-based debugging of Janus Web Server applications
(using the JANUSDEBUG command).
Janus commands require the executing user to have System Manager privileges.
Exceptions are the JANUSDEBUG command, which can be issued by any logged-in
user, and commands that are executed through the JANMAN subsystem. JANMAN is
an optional application subsystem that ships with Janus and is described later. As of
Sirius Mods version 6.2, Janus commands can also be issued as operator commands
(on the Online virtual console under VM) or as replies to the HALT message under
OS/390.
Janus commands make use of the following wildcard characters:
*
?
"
An asterisk represents any string of characters.
A question mark represents any character.
A double quote escapes wildcard translation of the special character that
follows it.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
21
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
For example, the following command starts all Janus ports whose names begin with the
string BA (like BART, BARNEY, BALES, BAY):
JANUS START BA*
The following command drains all Janus ports whose names are three characters long,
beginning with BA (BAY, BAD, BAX, etc.):
JANUS DRAIN BA?
The following command starts all Janus ports whose names end in ? (WHODONEIT?,
WHERES_THE_BEEF?, WHAT?_ME_WORRY?, WHO_YA_GONNA_CALL?, etc.):
JANUS START *"?
5.1
The JANUSDEBUG command
The JANUSDEBUG command (which can be entered as JANDEB, JANUSDEB, or
JANDEBUG), allows a Janus Web Server request to be run on the 3270 thread that
issued the command. JANUSDEBUG requires no special user privileges and is
available in Sirius Mods version 6.0 and later.
JANUSDEBUG works in conjunction with JANUS WEB DEBUG rules (“JANUS WEB
DEBUG” on page 168) — if a JANUS WEB DEBUG rule matches a request, the request
is suspended until a user issues a JANUSDEBUG command for that request. When the
JANUSDEBUG command is issued for the request, these actions follow:
●
●
●
The request is transferred to the user that issued the JANUSDEBUG command.
The commands specified in the JANUS WEB ON rules are issued and run.
The request completes, and a response is sent back to the browser.
While the request is running on the 3270 thread, any debugging tools that are available
for 3270 applications such as SoftSpy, TEST DEBUG, or SSTEST can be used for the
web request, though the means by which these tools are invoked might be different in a
JANUSDEBUG context.
Informational messages describing the initial request and web status code for the
response are sent to the 3270 terminal. Other Model 204 messages and even the text
being sent to the browser can also be sent to the 3270 screen (under control of the
JANDEBM user parameter described in “Janus User Parameters” on page 201).
If a browser should cancel a request that is waiting for a user to issue a JANUSDEBUG
command, the request is immediately cleaned up and the thread is made available to
process other requests. Until then, however, a request will tie up a Janus Web Server
thread and an sdaemon thread. Since most browsers will wait indefinitely for a
response, heavy use of JANUS WEB DEBUG rules could increase an Online's Janus
——————————————————————————————————————————
22
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
The JANUSDEBUG command
——————————————————————————————————————————
Web Server and sdaemon thread requirements. The fact that most browsers will wait
indefinitely for a response while the request is being debugged becomes convenient
indeed, however, as the debugging process for a request can take arbitrarily long. If the
browser request is cancelled while the request is being debugged, the request will be
cancelled because of the lost connection.
JANUSDEBUG can only debug these requests:
●
●
Those run under the userid that issued the command
Those run against a public URL (that is, running under the WEBUSER user when
the JANUS WEB DEBUG rule has the PUBLIC keyword)
While it might seem useful to be able to debug PUBLIC requests, it can be quite
confusing and difficult to manage in an environment where there are many programmers
running against the URLs to be debugged. In such a case, unless programmers qualify
their JANUSDEBUG commands with IP addresses, URLs, or PORTs, they find
themselves debugging someone else's requests. For this reason, it is highly
recommended that all URLs to be debugged also have ALLOW rules that force a user
login, even if the URL would ultimately run as a public URL. By using this approach, a
programmer can run their browser requests under the same userid that they'll be using
for debugging. Then, as long as he or she doesn't request multiple URLs at the same
time from a browser, they can easily debug the current request with an unqualified
JANUSDEBUG (abbreviated JANDEB) command.
While it is possible to temporarily turn on debugging for a URL that is ordinarily not
debugged, this can be problematic in a multiple programmer, multiple tester, or
production environment because:
●
If debugging is turned on for a URL, it is turned on for all requests for the URL,
unless JANUS WEB DEBUG rules are issued for the specific userids for which
debugging is required.
●
Dynamically changing the debugging attributes of a URL requires access to the
JANUS command, which ordinarily requires system manager privileges (as it
should).
Consequently, it is recommended that when users of the Janus Web Server debug
facility are setting up the standard JANUS WEB ON rules, they set up parallel JANUS
WEB ON rules for all application URLs that might be debugged. This can be done by
specifying the path /debug before the application URLs. A JANUS WEB ON rule for
the URL /history/* could have a parallel JANUS WEB ON rule for URL
/debug/history/*, for example. Another approach is to define a separate port to
have all the same JANUS WEB ON rules as the primary port.
In any case, once the parallel JANUS WEB ON rules are set up, debugging could simply
be enabled for those URLs. If the parallel ON rules use the /debug path prefix, a debug
rule like the following could be issued:
JANUS WEB WEBPORT DEBUG /DEBUG/*
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
23
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Or, if a debugging port is set up, the rule could simply be this:
JANUS WEB DEBUGPORT DEBUG *
With this in place, a programmer could debug an application simply by changing the
URL being debugged to include the debugging prefix, or by pointing the URL at the
debugging port.
In no cases can one debug a JANUS WEB ON rule that indicates SEND or RECV
instead of CMD. Also, a NEWSESCMD command cannot be debugged via
JANUSDEBUG. A port command, that is the CMD on the JANUS DEFINE for a port,
can be debugged via JANUSDEBUG if DEBPORTCMD is specified in the port definition
or if PORTCMD is specified in the JANUS WEB DEBUG rule in effect.
The files or groups that are specified in the OPEN clause of the JANUS WEB ON rule for
a request being debugged are opened just as if the request were running on an
sdaemon. At request completion the files and groups are automatically closed.
However, if any of the files or groups specified in the OPEN clause is already open on
the debugging user's thread, it is left open with the file/group privileges unchanged. This
means that it is possible for a request to fail because the file or group privileges
indicated in the JANUS WEB ON rule OPEN clause are different from the ones with
which the debugging user has them open.
Any APSY subsystem invocation during JANUSDEBUG processing will, as with all
subsystem processing, open the subsystem's required files and groups with their
required privileges and close them upon exit from the subsystem.
By default, files and groups specified in the OPEN clause of the JANUS DEFINE
command for a port are not opened as part of JANUSDEBUG command processing. If
these files or groups are required for an application, the DEBPORTOPEN command
should be specified in the port definition, or PORTOPEN should be specified in the
JANUS WEB DEBUG rule. Processing for files or groups opened in this way is identical
to that for files or groups opened as a result of JANUS WEB ON rule processing.
5.1.1
JANUSDEBUG command format
JAN[US]DEB[UG] [IPADDR ipaddr] [PORT port] [URL url]
JANUSDEBUG command syntax
Where:
ipaddr
The IP address from which the request to be debugged must have come.
The IP address could be a single IP address like 198.242.244.99, or it could
be a subnet such as 198.242.244.96-27 or
198.242.244.96/255.255.255.224. The utility of subsetting by IP address is
——————————————————————————————————————————
24
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
The JANUSDEBUG command
——————————————————————————————————————————
greatly reduced if all users access the application through a few proxy
servers, though often it is a simple matter to tell a browser to not go through
a proxy.
port
The Janus port name of the port to which the request to be debugged must
have gone. The port name can be a literal port name, or it can contain
wildcards like DEBUG* or TEST?.
url
The URL of the request to be debugged. The URL can be a literal URL, or it
can contain wildcards like /DEBUG/HR/* or */HR/PAY/**
If logins are required for URLs to be debugged, an unqualified JANUSDEBUG command
is usually sufficient for a programmer to be sure that the request being debugged is the
one she initiated on her browser.
5.2
JANUS command overview
The principal command of the Janus command set is the JANUS command, which
consists of a set of mutually exclusive subcommands. To execute a subcommand, you
specify it with the prefix JANUS: for example, JANUS DEFINE ..., JANUS STATUS ...,
etc.
The following list shows the JANUS subcommands with a brief description of what they
do.
Subcommand execution requires System Manager privileges, unless the command is
executed through the JANMAN subsystem.
ADDCA
Adds a trusted certifying authority's certificate to a port.
CHARSET
Specifies the default character set.
CLSOCK
Specifies rules to allow a User Language program to access a
CLSOCK port.
CONFIGURATION
Displays global configuration values.
DEFINE
Defines a Janus port.
DEFINEIPGROUP
Defines a grouping of IP addresses for web access control.
DEFINEREMOTE
Defines a remote server for Janus Open Client, and associates it
with a Janus OPENSERV or SDS port.
DEFINEUSGROUP
Defines a grouping of user IDs for web access control.
DELCA
Deletes a trusted certifying authority's certificate from a port.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
25
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
DELETE
Deletes a port definition.
DELETEIPGROUP
Deletes a grouping of IP addresses.
DELETEREMOTE
Deletes an association between a remote server and a Janus
OPENSERV or SDS port.
DELETEUSGROUP
Deletes a grouping of user IDs.
DISPLAY
Displays Janus port definitions.
DISPLAYCA
Displays the contents of a trusted certifying authority's certificate.
DISPLAYREMOTE
Displays remoter server definitions.
DISPLAYSOCK
Displays CLSOCK and SRVSOCK port rules.
DISPLAYWEB
Displays WEBSERV port rules.
DISPLAYXT
Displays translate table definitions.
DOMAIN
Specifies the domain; used with IBM TCP/IP to resolve
unqualified host names.
DRAIN
Prevents new connections to port and stops port when last
connection is closed.
FORCE
Breaks all connections to port and stops port when last
connection is closed.
FTP
Specifies Janus FTP Server processing rules.
LANGUAGE
Specifies default Janus Open Server language.
LIMITS
Displays the Janus connection limits for an Online.
LOADXT
Loads or reloads a translate table and, optionally, an entity
translate table.
NAMESERVER
Specifies IP address and port number of the domain name
server used with Janus Sockets CLSOCK applications and
Janus Open Client applications; only used with the IBM TCP/IP
interfaces.
RELOAD
Reloads the Model 204-to-SQL mappings from the JANCAT file
for a Janus Specialty Data Store port.
——————————————————————————————————————————
26
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS command overview
——————————————————————————————————————————
SRVSOCK
Specifies rules that determine which SRVSOCK connections to
allow.
SSLSTATUS
Displays SSL (Secure Sockets Layer) statistics for SSL ports.
START
Makes a port available for connections.
STATUS
Displays port status.
STATUSCA
Displays the status of a trusted certifying authority's certificate.
STATUSREMOTE
Displays status of remote servers.
TCPLOG
Stores all input and output streams to and from a port.
TRACE
Changes trace settings for a port or for specific IP addresses
connected to a port.
TSTATUS
Displays thread utilization statistics.
WEB
Specifies Janus Web Server processing rules.
5.3
JANUS ADDCA
For ports supporting encrypted communications, this command adds a “trusted”
certifying authority's certificate (encrypted public key) to the port.
“Added” certificates are used for authentication (decryption) of incoming certificates, that
is, to verify that a certificate presented to the port bears the authentic signature of the
certifying authority. Such an incoming certificate may be a server certificate sent in reply
to a CLSOCK port, or it may be a client certificate sent in reply to a SRVSOCK,
WEBSERV, SDS, or OPENSERV port.
Janus Network Security accepts only incoming certificates that are “signed” by a trusted
certifying authority (often abbreviated as CA). Applications can place further restrictions
on acceptable certificates but cannot relax this restriction.
The User Language ADDCA utility, available as of version 7.7 of the Sirius Mods, lets you
add multiple certificates from the UL/SPF SIRIUS file, as described in “Adding SIRIUSfile certificates” on page 29.
JANUS ADDCA portname filename procname
JANUS ADDCA command syntax
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
27
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Where each parameter is positional and required:
portname
The defined JANUS port to which the certificate is to be added. Can
include wildcards. Non-SSL ports will not have trusted CA certificates
added to them, since it is meaningless to have trusted CAs on a non-SSL
port.
filename
The name of the file that contains the CA certificate.
procname
The name of the procedure that contains the base64 encoded CA
certificate. This certificate may have been generated by the Janus Network
Security certificate management application or by some other certificate
management application, extracted from a browser's CA database, or
downloaded from a certifying authority's web site.
An example ADDCA command and system response follows:
JANUS ADDCA J2WEBS JANSSL MYSSL2.CERT
*** MSIR.0642: Added CA 'www.sirius-software.com' from file
JANSSL, proc MYSSL2.CERT to port J2WEBS
A typical CA certificate would look something like:
-----BEGIN CERTIFICATE----MIIDLjCCApegAwIBAgIRANJ2Lo0UDD19sqglXa/uDXUwDQYJKoZIhvcNAQECBQAw
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQL
Ey5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
MB4XDTk4MDUxMjAwMDAwMFoXDTA4MDUxMjIzNTk1OVowgcwxFzAVBgNVBAoTDlZl
cmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMUYw
RAYDVQQLEz13d3cudmVyaXNpZ24uY29tL3JlcG9zaXRvcnkvUlBBIEluY29ycC4g
QnkgUmVmLixMSUFCLkxURChjKTk4MUgwRgYDVQQDEz9WZXJpU2lnbiBDbGFzcyAx
IENBIEluZGl2aWR1YWwgU3Vic2NyaWJlci1QZXJzb25hIE5vdCBWYWxpZGF0ZWQw
gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALtaRIoEFrtV/QN6ii2UTxV4NrgN
SrJvnFS/vOh3Kp258Gi7ldkxQXB6gUu5SBNWLccI4YRCq8CikqtEXKpC8IIOAukv
+8I7u77JJwpdtrA2QjO1blSIT4dKvxna+RXoD4e2HOPMxpqOf2okkuP84GW6p7F+
78nbN2rISsgJBuSZAgMBAAGjfDB6MBEGCWCGSAGG+EIBAQQEAwIBBjBHBgNVHSAE
QDA+MDwGC2CGSAGG+EUBBwEBMC0wKwYIKwYBBQUHAgEWH3d3dy52ZXJpc2lnbi5j
b20vcmVwb3NpdG9yeS9SUEEwDwYDVR0TBAgwBgEB/wIBADALBgNVHQ8EBAMCAQYw
DQYJKoZIhvcNAQECBQADgYEAiLg3O93alDcAraqf4YEBcR6Sam0v9vGd08pkONwb
mAwHhluFFWoPuUmFpJXxF31ntH8tLN2aQp7DPrSOquULBt7yVir6M8e+GddTTMO9
yOMXtaRJQmPswqYXD11YGkk8kFxVo2UgAP0YIOVfgqaxqJLFWGrBjQM868PNBaKQ
rm4=
-----END CERTIFICATE-----
The procedure and file containing the certificate are only enqueued during JANUS
ADDCA processing. Thereafter, the certificate is stored in virtual storage, and the
procedure is available to be modified or freed from the Online.
JANUS ADDCA will not add a trusted CA certificate to a port if there is already a trusted
CA certificate from the same file name and procedure name added to the port. If a CA
——————————————————————————————————————————
28
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS ADDCA
——————————————————————————————————————————
certificate in a procedure has been changed, the certificate must be deleted from the
port using DELCA (“JANUS DELCA” on page 116) and then added again using ADDCA
for the change to affect the port.
To view the list of trusted certificates and their contents, use the JANUS DISPLAYCA
command (“JANUS DISPLAYCA” on page 120). To view the number of received
certificates signed by each trusted CA, use the JANUS STATUSCA command (“JANUS
STATCA or STATUSCA” on page 152).
For more information about certificates and certifying authorities, see the Janus Network
Security Reference Manual.
Adding SIRIUS-file certificates
Although a server port is not likely to need to use the JANUS ADDCA command more
than once, a client port may want to use it to add multiple certificates. As a convenience
especially for a CLSOCK port connecting to an SSL server, Sirius pre-loads a set of
standard certifying authorities' certificates to the SIRIUS procedure file (as of UL/SPF
7.3). Janus Sockets SSL client ports need to add the certificate(s) of the CA that signed
the certificate of the server or servers to which the client will connect. (Janus does not
allow a port to specify exceptions, that is, signed certificates that a port accepts without
having the signing CA's certificate.)
The SIRIUS file certificates can be added to a port by the JANUS ADDCA command or
by the ADDCA utility, described below. Adding this set of certificates equips the client
port in much the same way that internet browsers are equipped with multiple CA
certificates.
The certificates are procedures whose names have the prefix “CA_” so they are easy to
scan using a DISPLAY PROCEDURE command or by browsing the procedures in
SirPro. Sirius will periodically review the certificates loaded to SIRIUS, eliminate any
that have expired, and load new ones when they are made available by various wellaccepted CAs.
The User Language ADDCA utility lets you add some or all of these certificates at once to
an SSL port. The utility is invoked at the command level via INCLUDE:
IN SIRIUS INCLUDE ADDCA portname certificate
User Language ADDCA utility syntax
Where each parameter is positional and required:
portname
The defined JANUS SSL port to which the certificate is to be added. The
name can include wildcards.
Non-SSL ports may not have trusted CA certificates added to them.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
29
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
certificate
The name of the procedure that contains the base64 encoded CA
certificate.
This parameter may contain wildcards. To load all certificates in the
SIRIUS file whose names begin with “CA_AOL”, you can use: CA_AOL*
This ADDCA utility invocation loads (at least) the CA_ThawtePremiumServerCA
certificate, for example:
IN FILE SIRIUS INCLUDE ADDCA WEBBY CA_T*
The utility internally runs a series of ADDCA commands like the following to load to
WEBBY each certificate in file SIRIUS that matches the specified pattern:
JANUS
JANUS
JANUS
JANUS
ADDCA
ADDCA
ADDCA
ADDCA
WEBBY
WEBBY
WEBBY
WEBBY
SIRIUS
SIRIUS
SIRIUS
SIRIUS
CA_ThawtePremiumServerCA
CA_ThawteServerCA
CA_ThawteTimestampingCA
CA_ThawteSGCCA
Note: The CA certificates are stored as procedures with mixed-case names, which
makes them much easier to scan visually, but a little more difficult to manipulate.
For instance, if the above INCLUDE command is used, all the intended certificates are
loaded, because the “CA_T” in uppercase matches the case of the corresponding
characters in the certificate names. But if you want a more precise search and the name
to be matched by the pattern includes mixed-case characters, the INCLUDE command
must be bracketed with a set of *LOWER/*UPPER commands, as in:
JANUS DEFINE WEBBY * CLSOCK 10
OPEN FILE SIRIUS
*LOWER
IN SIRIUS INCLUDE ADDCA MYSSLPORT *America*
*UPPER
The above sequence of statements would load the certificate named
“CA_AmericaOnlineRootCertificationAuthority1” from file SIRIUS.
5.4
JANUS CHARSET
This subcommand sets a default character set for all Janus ports in the Model 204
region.
JANUS CHARSET character_set
JANUS CHARSET command syntax
——————————————————————————————————————————
30
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS CHARSET
——————————————————————————————————————————
Where the single parameter is optional:
character_set
A 1 - 30 name for the character set to be used. The default value is
iso_1.
CHARSET has no effect on the operation of any application in Model 204. The name of
the specified character set is simply forwarded to the target server for a Janus Open
Client application. Because almost all SQL Server character set names are lower case,
the character set specified after CHARSET will generally be translated to lower case.
For example, specifying 'CHARSET CP850' will actually request character set 'cp850'
from a target server. If an upper or mixed case character set name is required, simply
place a plus sign (+) in front of the character set name. For example to specify character
set 'BIG' simply enter 'CHARSET +BIG'. The character set specified on a JANUS
DEFINEREMOTE command overrides the character set specified on a JANUS DEFINE
command which overrides the character set specified on a JANUS CHARSET
command. If the character set name is left blank, the JANUS CHARSET command will
display the current character set name.
5.5
JANUS CLSOCK
The JANUS CLSOCK command defines the rules for a Janus Sockets client (CLSOCK)
or DEBUGGERCLIENT port. These rules control access to the port. System
administrators always have access to a client port, so no CLSOCK rules are required to
provide socket access to these users.
JANUS CLSOCK portname rule_type [optional parameters]
JANUS CLSOCK command syntax
The JANUS CLSOCK command is slightly different from most Janus commands in that it
usually takes a set of commands to fully specify the rules for a port. For instance, it may
take a number of commands to specify the various users and applications that may use
a port on the socket-connection $function ($SOCK_CONN) or object method (New).
The order in which JANUS CLSOCK commands are specified also affects how they are
processed.
The first two parameters are positional and are required:
portname
A 1 - 30 character name of the port, or a pattern specifying a set of ports,
for which the rule is being defined. Wildcards are allowed.
rule_type
The type of rule being specified for the port or ports. Valid rule_types are:
DISALLOW
Removes access permission.
ALLOW
Assigns access permission.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
31
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
The ALLOW and DISALLOW rules are processed together, from most recent to oldest.
The optional parameters allowed for the JANUS CLSOCK command depend on the
rule_type value. The rule types are shown in the following sections, followed by a
section giving examples and showing the interaction of JANUS CLSOCK commands
(“Rule matching order and examples” on page 39).
Note that the JANUS CLSOCK and JANUS SRVSOCK commands differ from the
corresponding rules available with the JANUS WEB command in the following ways:
●
JANUS WEB does not allow any optional parameters (for example, USGROUP) on
the DISALLOW rule.
●
The default access for WEBSERV non-SSL ports and SRVSOCK ports is ALLOW.
The default access for WEBSERV SSL ports and CLSOCK ports is DISALLOW.
●
ALLOW and DISALLOW are the only rule types for JANUS CLSOCK and JANUS
SRVSOCK. There are a number of other rule types for JANUS WEB.
5.5.1
JANUS CLSOCK ALLOW
JANUS CLSOCK portname ALLOW [NONE] | [USER userID | USGROUP usgroup] [FILE procfile] [PROC procname] [SUBSYS subsysname] [REMOTE rmt_host rmt_portnum]
JANUS CLSOCK ALLOW command syntax
The JANUS CLSOCK ALLOW command indicates a combination of conditions which, if
all specified, allow a socket-connection $function ($SOCK_CONN) or object method
invocation to access a CLSOCK port that matches pattern portname.
The default access for all CLSOCK and DEBUGGERCLIENT ports is to disallow all
access — except system administrators can access any CLSOCK port, regardless of
rules (since a system administrator can always issue JANUS CLSOCK to grant access
to herself). For a non-system administrator, access to a CLSOCK port on a
$SOCK_CONN or New method invocation depends on the most recent rule for that port
that matches the conditions of the $SOCK_CONN or New method call:
●
If the conditions match all clauses on a JANUS CLSOCK ALLOW rule, access to
the port is allowed.
●
If the conditions match all clauses on a JANUS CLSOCK DISALLOW rule, access
to the port is disallowed.
——————————————————————————————————————————
32
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS CLSOCK
——————————————————————————————————————————
●
If the conditions match neither an ALLOW nor DISALLOW rule, access to the port is
disallowed.
If the JANUS CLSOCK ALLOW command is specified with no optional parameters, any
$SOCK_CONN or New method invocation can access the CLSOCK ports that match the
pattern in portname.
The optional parameters for the JANUS CLSOCK ALLOW command are:
NONE
Indicates that no $SOCK_CONN or New method invocation is allowed to
access portname. If NONE is specified, no other optional parameters may
be specified.
USER userid
Indicates that the Model 204 user ID userid may issue $SOCK_CONN or a
New method call for portname. For example, if userid is HOMER, a user that
logs in as HOMER will be allowed access to portname. If userid is SIMP*,
a user that logs in as any user ID that begins with the string SIMP is allowed
access to portname.
The USER parameter cannot be specified if the USGROUP parameter is
specified.
USER '' (that is, USER with the null string) is not allowed, since there is
always a (non-null) user ID when a request is issued.
USER * is allowed, but it is meaningless: it does not change which
conditions a rule matches.
USGROUP usgroup
Indicates that a Model 204 user is allowed access to portname if his or her
user ID matches an entry in the user group identified by usgroup. User
groups are defined with the JANUS DEFINEUSGROUP command (“JANUS
DEFINEUSGROUP” on page 116).
The USGROUP parameter cannot be specified if the USER parameter is
specified.
FILE procfile
Indicates that $SOCK_CONN or a New method call is allowed to access
portname if invoked by executing an outer procedure stored in a Model 204
file whose name matches the pattern procfile. FILE * indicates that
access is allowed by any procedure except a temporary request or an instream procedure. FILE '' indicates that access is allowed only by a
temporary request or an in-stream procedure.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
33
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
PROC procname
Indicates that $SOCK_CONN or a New method call is allowed to access
portname if invoked by executing an outer procedure whose name matches
the pattern procname. PROC * indicates that access is allowed by any
procedure except a temporary request or an in-stream procedure.
PROC '' indicates that access is allowed only by a temporary request or an
in-stream procedure.
SUBSYS subsysname
Indicates that a $SOCK_CONN or New method invocation is allowed to
access portname if issued from an APSY subsystem with a name that
matches the pattern subsysname. SUBSYS * indicates that access is
allowed by any subsystem. SUBSYS '' indicates that access is allowed
only by a non-subsystem procedure or temporary request, or by an in-stream
procedure.
REMOTE rmt_host rmt_portnum
Indicates that a $SOCK_CONN or New method invocation is allowed to
access portname if the remote host and port number ($SOCK_CONN or
New method arguments, with their defaults from the REMOTE clause of the
JANUS DEFINE command for the CLSOCK port) match rmt_host and
rmt_portnum, respectively.
Rmt_host can be any of the following:
[NAME] hostname
Indicates that access is allowed if the name of the remote host
matches the pattern hostname.
The null string ('') is not allowed for hostname, since there is
always a (non-null) host for the $SOCK_CONN or New method
operation.
When the NAME keyword is explicitly specified, or when
hostname is a form that cannot be an IP address, the clause only
matches if the connection to the remote host is made using a
name rather than an IP address. This leads to some subtle
differences in the meaning of an asterisk in the REMOTE clause.
For example, the following rule restricts the connection to any
remote host at port 1234, whether the connection is specified by
name or by IP address:
JANUS CLSOCK FOO ALLOW REMOTE * 1234
The following clause restricts the connection to any remote host
at port 1234, as long as the connection is specified by host
name:
——————————————————————————————————————————
34
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS CLSOCK
——————————————————————————————————————————
JANUS CLSOCK FOO ALLOW REMOTE NAME * 1234
REMOTE * * is allowed, but it is meaningless; that is, it does not
change which conditions a rule matches. REMOTE NAME * *,
however, does restrict a rule to match only if the host name is
specified on the connection, but it matches any remote host.
IPGROUP ipgroup
Indicates that access is allowed if the remot host's IP address
matches one of the entries in ipgroup. IP groups are defined
with the JANUS IPGROUP command (“JANUS
DEFINEIPGROUP” on page 110).
ipaddr
Indicates that access is allowed if the remote host has an IP
address that matches ipaddr. ipaddr can be a simple IP address
or it can be a subnet. Subnets are indicated by an IP address
followed by either of these:
●
●
A slash ( / ) followed by a netmask (with no intervening
blanks)
A hyphen ( - ) followed by a number of bits in the subnet
mask (with no intervening blanks)
For example, 198.244.244.97 is a simple address that must
be matched exactly. 198.242.244.0/255.255.255.0,
which is equivalent to 198.242.244.0-24, indicates that any
machine on subnet 198.242.244.0 is to be allowed access to
portname.
Note that when the IPGROUP ipgroup or the ipaddr form is used, the rule
can match whether a connection is specified by host name or IP address. If
the connection is by host name, it is first translated to an IP address, which
is then used to match the rule.
Rmt_portnum can be either of these:
●
An asterisk (*), indicating access is allowed for any port number at the
specified remote host.
●
An integer in the range 1-65535, indicating that access is allowed only
for the specified port number at the specified remote host.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
35
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.5.2
JANUS CLSOCK DISALLOW
JANUS CLSOCK portname DISALLOW [USER userID | USGROUP usgroup] [FILE procfile] [PROC procname] [SUBSYS subsysname] [REMOTE rmt_host rmt_portnum]
JANUS CLSOCK DISALLOW command syntax
The JANUS CLSOCK DISALLOW command indicates a combination of conditions
which, if all specified, prevent a socket-connection $function ($SOCK_CONN) or object
method invocation from accessing the CLSOCK ports that match pattern portname.
The default access for all CLSOCK and DEBUGGERCLIENT ports is to disallow all
access — except system administrators can access any CLSOCK port, regardless of
rules (since a system administrator can always issue JANUS CLSOCK to grant access
to herself). For a non-system administrator, access to a CLSOCK port on a
$SOCK_CONN or New method invocation depends on the most recent rule for that port
that matches the conditions of the $SOCK_CONN or New method call:
●
If the conditions match all clauses on a JANUS CLSOCK DISALLOW rule, access
to the port is not allowed.
●
If the conditions match all clauses on a JANUS CLSOCK ALLOW rule, access to
the port is allowed.
●
If the conditions match neither an ALLOW nor DISALLOW rule, access to the port is
disallowed.
If the JANUS CLSOCK DISALLOW command is specified with no optional parameters,
no $SOCK_CONN invocation can access the CLSOCK ports that match the pattern in
portname.
The optional parameters for the JANUS CLSOCK DISALLOW command are:
USER userid
Indicates that the Model 204 user ID userid may not issue $SOCK_CONN or
the New method for portname. For example, if userid is HOMER, a user that
logs in as HOMER is not allowed access to portname. If userid is SIMP*, a
user that logs in as any user ID that begins with the string SIMP is not
allowed access to portname.
The USER parameter cannot be specified if the USGROUP parameter is
specified.
——————————————————————————————————————————
36
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS CLSOCK
——————————————————————————————————————————
USER '' (that is, USER with the null string) is not allowed, since there is
always a (non-null) user ID when a request is issued.
USER * is allowed, but it is meaningless; it does not change which
conditions a rule matches.
USGROUP usgroup
Indicates that a Model 204 user is not allowed access to portname if his or
her userid matches an entry in the user group identified by usgroup. User
groups are defined with the JANUS DEFINEUSGROUP command (“JANUS
DEFINEUSGROUP” on page 116).
The USGROUP parameter cannot be specified if the USER parameter is
specified.
FILE procfile
Indicates that $SOCK_CONN or the New method is not allowed to access
portname if invoked by executing an outer procedure stored in a Model 204
file whose name matches the pattern procfile. FILE * indicates that
access is allowed only by a temporary request or an in-stream procedure.
FILE '' indicates that access is allowed by any procedure except a
temporary request or an in-stream procedure.
PROC procname
Indicates that $SOCK_CONN or the New method is not allowed to access
portname if invoked by executing an outer procedure whose name matches
the pattern procname. PROC * indicates that access is allowed only by a
temporary request or an in-stream procedure. PROC '' indicates that
access is allowed by any procedure except a temporary request or an instream procedure.
SUBSYS subsysname
Indicates that a $SOCK_CONN or New method invocation is not allowed to
access portname if issued from an APSY subsystem with a name that
matches the pattern subsysname. SUBSYS * indicates that access is
allowed only by a non-subsystem procedure or temporary request, or by an
in-stream procedure. SUBSYS '' indicates that access is allowed by any
subsystem.
REMOTE rmt_host rmt_portnum
Indicates that a $SOCK_CONN or New method invocation is not allowed to
access portname if the remote host and port number ($SOCK_CONN or
New method arguments, with their defaults from the REMOTE clause of the
JANUS DEFINE command for the CLSOCK port) match rmt_host and
rmt_portnum, respectively.
Rmt_host can be any of the following:
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
37
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
[NAME] hostname
Indicates that access is not allowed if the name of the remote
host matches the pattern hostname.
The null string ('') is not allowed for hostname, since there is
always a (non-null) host for the $SOCK_CONN or New method
operation.
When the NAME keyword is explicitly specified, or when
hostname is a form that cannot be an IP address, the clause only
matches if the connection to the remote host is made using a
name rather than an IP address. This leads to some subtle
differences in the meaning of an asterisk in the REMOTE clause.
For example, the following rule restricts the connection to any
remote host, as long as a port other than 1234 is used, whether
the connection is specified by name or by IP address:
JANUS CLSOCK FOO DISALLOW REMOTE * 1234
The following rule disallows a connection to any remote host at
port 1234, if the connection is specified by host name.
JANUS CLSOCK FOO DISALLOW REMOTE NAME * 1234
(Admittedly, these DISALLOW examples, especially the latter
one, seem far-fetched and probably are not useful in practice.)
REMOTE * * is allowed, but it is meaningless: it does not
change which conditions a rule matches. REMOTE NAME * *,
however, does restrict a rule to match only if the host name is
specified on the connection, but it matches any remote host.
IPGROUP ipgroup
Indicates that access is not allowed if the remote host's IP
address matches one of the entries in ipgroup. IP groups are
defined with the JANUS IPGROUP command (“JANUS
DEFINEIPGROUP” on page 110).
ipaddr
Indicates that access is not allowed if the remote host has an IP
address that matches ipaddr. ipaddr can be a simple IP address
or it can be a subnet. Subnets are indicated by an IP address
followed by either of these:
●
●
A slash ( / ) followed by a netmask (with no intervening
blanks)
A hyphen ( - ) followed by a number of bits in the subnet
mask (with no intervening blanks)
——————————————————————————————————————————
38
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS CLSOCK
——————————————————————————————————————————
For example, 198.244.244.97 is a simple address that must
be matched exactly. 198.242.244.0/255.255.255.0,
which is equivalent to 198.242.244.0-24, indicates that any
machine on subnet 198.242.244.0 is to be allowed access to
portname.
Note that when the IPGROUP ipgroup or the ipaddr form is used, the rule
can match whether a connection is specified by host name or IP address. If
the connection is by host name, it is first translated to an IP address, which
is then used to match the rule.
Rmt_portnum can be either of these:
5.5.3
●
An asterisk (*), indicating access is allowed for any port number at the
specified remote host.
●
An integer in the range 1-65535, indicating that access is allowed only
for the specified port number at the specified remote host.
Rule matching order and examples
Each execution of a JANUS CLSOCK subcommand adds to the set of rules for the
specified port. Individual rules cannot be deleted nor modified. All rules can be deleted
only by stopping and deleting the port definition. Deleting a port definition, however,
should not be necessary, as long as you follow the two golden rules:
1.
2.
Specify the most general rules first and the most specific last.
Specify an initial rule that “clears” all related rules.
The following example illustrates these principles:
JANUS CLSOCK TEST21 DISALLOW *
JANUS CLSOCK TEST21 ALLOW SUBSYS ECOMMER*
JANUS CLSOCK TEST21 ALLOW PROC FILETRANS REMOTE IPADDR 169.84.111.0-24 9333
JANUS CLSOCK TEST21 ALLOW PROC FILETRANS REMOTE IPADDR 169.84.112.0-24 9333
JANUS CLSOCK TEST21 ALLOW USER SIMP*
In this example, any previously specified ALLOW rules on port TEST21 are made
obsolete by the first DISALLOW rule. Once the TEST21 access rules are cleared, the
rules allow invocation of $SOCK_CONN or the New method for port TEST21, if any of
the following conditions are met:
●
It is invoked from a subsystem whose name begins with the string ECOMMER.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
39
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
●
It is invoked for port number 9333 at a remote host that is on either the subnet
169.84.111.0 or the subnet 169.84.112.0.
●
It is invoked by a Model 204 user whose ID begins with the string SIMP.
5.6
JANUS CONFIGURATION
This subcommand displays all global Janus configuration values. Values that are
displayed are those that can be set with the JANUS NAMESERVER, DOMAIN,
CHARSET, and LANGUAGE subcommands.
JANUS CONFIGURATION
JANUS CONFIG command syntax
The CONFIGURATION command may be abbreviated CONFIG.
5.7
JANUS DEFINE
The JANUS DEFINE command is used to specify the characteristics of a Janus port. It
defines the usage of the named port as one of the following:
●
●
●
●
●
●
●
●
Access by IFDIAL clients
Open Server or Open Client connections
Specialty Data Store access
Web access
FTP server connections
Telnet server connections
Generic Sockets usage — with the Model 204 online either requesting (CLSOCK) or
accepting (SRVSOCK) the connection
Connection between the Janus Debugger or Sirius Debugger workstation GUI and
programs being debugged in Model 204
For any except a CLSOCK or DEBUGGERCLIENT port, this subcommand associates a
service with a TCP/IP port number.
Among the characteristics specified by JANUS DEFINE is whether the port will use
Secure Sockets Layer (SSL) for encrypted communications.
See “JANUS DEFINE and JANUS DEFINEREMOTE Subcommands” on page 8 for a
discussion of when you need to issue the JANUS DEFINE command.
——————————————————————————————————————————
40
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
The JANUS DEFINE command syntax is described below. For command examples with
commentary, see “Janus port processing and examples” on page 107.
JANUS DEFINE portname portnum type maxcon other_parms...
JANUS DEFINE command syntax
Where each of the first four parameters is positional and required:
portname
A 1- to 30-character name by which the port is identified. It is used on
other JANUS subcommands, such as JANUS START and JANUS
DISPLAY. It is used on the $SOCK_CONN function or the Socket
object New constructor to name the CLSOCK port defining a
connection.
portnum
The TCP/IP port number at which the service is available.
For any except CLSOCK ports, portnum is the server port number, and
it must be between 1 and 65535, inclusive. This number is used by
client applications on the network when they require access to the
Model 204 server. The server port number must be unique on the host.
Several “well-known” port numbers for various TCP/IP services (for
example, 53 for nameserver) should be avoided, unless you are
implementing that service using Janus Sockets. See “Server Ports” on
page 7.
For CLSOCK and DEBUGGERCLIENT ports, an asterisk (*) is used as
the port number, since they are used to create, rather than accept,
connections, and these port numbers are not determined until the time
of the connection.
For WEBSERV ports, 80 is customary for non-secure HTTP and 443 for
secure HTTP (SSL); you can, however, use other numbers for
WEBSERV ports if required.
For FTPSERVER ports, 21 is customary; you can, however, use other
numbers for FTPSERVER ports if required.
type
Port type. Valid types are:
CLSOCK
DEBUGGERCLIENT
A Janus Sockets client socket port. If nonsystem administrator users are to use a
CLSOCK port, rules must be provided to
allow them to initiate outgoing connections on
the port. For more information, see “JANUS
CLSOCK” on page 31.
A Sirius Debugger client socket port.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
41
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
DEBUGGERSERVER
FTPSERVER
IFDIAL
OAS
OMNI
OPENSERV
SRVSOCK
SDS
TNSERV
WEBSERV
maxcon
A Janus Debugger or Sirius Debugger server
socket port.
A Janus FTP Server application.
Janus IFDIAL Library applications.
Synonym for type SDS.
Synonym for type SDS.
Open Server applications; Open Client
connections are outward-bound connections
on an OPENSERV port.
A Janus Sockets server socket port.
A Specialty Data Store port.
A Janus Telnet Server port. Only available in
Sirius Mods version 6.9 and later.
A World Wide Web Server port.
Maximum number of simultaneous active connections to be allowed on
the port. This number must be less than or equal to the number of
TCP/IP connections for which the site is licensed.
Before Sirius Mods version 6.8, the maxcon value had to be less than or
equal to the number of sdaemons defined to the online, except for nonCLSOCK ports. If you are defining multiple ports for your site, however,
the sum of the maxcon connections you define is allowed to be greater
than the number for which the site is licensed. In this case, Janus Web
Server will automatically prevent any connection that would exceed the
site license limit.
For Janus Open Client, Janus Open Server, and Janus Specialty Data
Store, note that a server-to-server connection requires an extra
connection for the site handler. Thus, a single connection to a remote
server would use two connections, while 10 connections to a remote
server would use 11.
Under Sirius Mods version and later, restrictions on the allowed values
for maxcon are no longer present, but licensed thread limits are still
enforced at the time a connection is made.
You can use the JANUS TSTATUS command (“JANUS TSTAT or
TSTATUS” on page 158) to view the thread usage and connection limits
for your port, and you can use the JANUS LIMITS command (“JANUS
LIMITS” on page 138) to view similar information for your Online.
other_parms
A set of blank-delimited parameters that describe the characteristics of
and processing to be performed on the port. These parameters are
keywords, sometimes followed by values, and they are described
individually in the subsections that follow. They are all optional, except:
●
for OPENSERV ports, CMD is required
——————————————————————————————————————————
42
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
●
●
●
5.7.1
For CLSOCK ports, REMOTE is required
For SRVSOCK ports, CMD is required
For FTPSERVER ports, OPEN, CMD, NEWSESOPEN, and
NEWSESCMD are not allowed
ALLOCC
This parameter indicates that input, output and request buffers are to be allocated when
a connection is established and are to be freed when the connection is closed. If
ALLOCC is not specified, all necessary buffers are allocated when the JANUS START
command is executed and are kept until the port is stopped, after a JANUS DRAIN or
JANUS FORCE command. All buffers are allocated above the line using space
reserved by SPCORE. See “Storage requirements” on page 219 for details on allocation
requirements.
Valid for all port types.
5.7.2
ANONYMOUS [maxanon | *]
This parameter indicates that anonymous access is permitted to the FTP server being
defined. Anonymous access is FTP access that does not require a valid Model 204 user
ID. If the ANONYMOUS parameter is not specified, no anonymous access is permitted.
The ANONYMOUS parameter must be followed by a number (maxanon) or an asterisk
(*):
●
maxanon is an integer in the range from 1 to maxcon that indicates how many of the
FTP server's sessions may be used for anonymous sessions. maxcon is the
maximum number of simultaneous FTP sessions supported by this server.
●
An asterisk indicates that all maxcon sessions are available for anonymous FTP
use.
If anonymous access is permitted, the default name of the anonymous user is
ANONYMOUS. This name can be overridden with the ANONUSER parameter
(“ANONUSER user” on page 44).
For more information about the Janus FTP Server, see the Janus Sockets Reference
Manual.
This parameter is valid only for FTPSERVER port types.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
43
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.7.3
ANONUSER user
This parameter lets you change the name of the anonymous user, that is, of the user
name that is granted access without Model 204 user validation to the Janus FTP Server
being defined.
ANONUSER may be specified only if ANONYMOUS (“ANONYMOUS” on page 43) is
also specified.
user must be ten characters or less.
For more information about the Janus FTP Server, see the Janus Sockets Reference
Manual.
This parameter is valid only for FTPSERVER port types.
5.7.4
AUDTERM
This parameter is used to control whether the server thread sends “non-compiler
terminal output” to the audit trail. Compiler terminal output is always sent to the audit
trail. Any terminal output sent to the audit trail is sent as RK lines.
AUDTERM specifies that terminal output is sent to the audit trail; NOAUDTERM
(“NOAUDTERM” on page 73), which is the default port setting, specifies that (noncompiler) terminal output is not sent to the audit trail.
Note that some “print output” can be “captured” on a Sirius $list, a Janus Socket, or a
USE output stream, and thus it would not be sent as terminal output -- to the audit trail or
anywhere else. For further description of terminal output, see the Janus Web Server
Reference Manual or Janus Sockets Reference Manual.
On a WEB port:
●
Even with AUDTERM set on a WEB port, terminal output is not sent to the audit trail
if $WEB_ON is explicitly or implicitly set.
●
The setting of AUDTERM (or NOAUDTERM) applies to all URLs on a WEB port
unless explicitly overridden by a NOAUDTERM (or AUDTERM) parameter on a
JANUS WEB ON rule.
On a SRVSOCK port:
●
The setting of AUDTERM (or NOAUDTERM) for a socket can be changed using the
$SOCK_SET function or the Socket object method Set.
Starting with version 6.0, this parameter applies to all Janus “server” port types, and the
default setting is NOAUDTERM. Prior to this, the parameter only applied to WEB ports,
and the default setting was AUDTERM.
——————————————————————————————————————————
44
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
This introduces a small incompatibility. Starting with version 6.0, compared to earlier
versions, any WEB port connection without an explicit AUDTERM or NOAUDTERM will
probably generate fewer audit trail lines, as will any SDS or OPENSERV port. This
should be a benefit, since most of this output is either uninteresting or already logged to
the audit trail as ER, AD or MS lines. Logging these messages as RK lines as well is
just a waste of journal space and I/O and makes application diagnosis and debugging
from the audit trail more difficult because of the extra noise data. For WEB,
OPENSERV, or SRVSOCK applications that wish to explicitly audit information, the User
Language AUDIT statement should be used, not the PRINT statement.
Valid for WEBSERV, SDS, OPENSERV, or SRVSOCK port types.
5.7.5
AUTODONE
This parameter requests Janus Web Server to treat a return to command mode after all
port and ON rules CMDs have been processed as an implicit $WEB_DONE.
Since AUTODONE is the default setting for Janus Web Server ports, there is no real
reason to explicitly specify it other than for internal documentation. To suppress the
default AUTODONE processing, specify the NOAUTODONE parameter
(“NOAUTODONE” on page 74) on the port definition.
The setting of AUTODONE (or NOAUTODONE) applies to all URLs on the port unless
explicitly overridden by a NOAUTODONE (or AUTODONE) parameter on a JANUS
WEB ON rule. The recommended setting for this parameter is NOAUTODONE with
AUTODONE added to any JANUS WEB ON rule where the implicit $WEB_DONE is
really required.
Valid only for WEBSERV ports.
5.7.6
AUTOLOAD
This parameter, indicates that the incore copy of Janus tables are to be reloaded at the
first request subsequent to a table redefinition. This eliminates the need to issue JANUS
RELOAD commands to reload table definitions after changes have been made.
AUTOLOAD does have a few disadvantages, however. First, if several table definitions
are being changed while SQL requests are being processed on a port, Janus might end
up performing the reload process several times where issuing a JANUS RELOAD
command at the end of all the changes would result in a single reload. Doing multiple
reloads could be a significant expense if the number of JANCAT table definitions is
large. The other disadvantage of AUTOLOAD is that the reload doesn't happen until a
request arrives on the port. This means that the user issuing the request could
encounter a significant delay as the Janus port is reloaded. A JANUS RELOAD
command before the request comes in would ensure that the table definitions would
already be loaded so no extra delay would be encountered. Note that it is perfectly valid
to issue a JANUS RELOAD command on an AUTOLOAD port.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
45
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Valid only for SDS (also known as OMNI or OAS) ports.
5.7.7
AUTOON
This parameter requests Janus Web Server to issue an implicit $WEB_ON before
executing the commands specified in a JANUS WEB ON rule.
Since AUTOON is the default setting for Janus Web Server ports, there is no real reason
to explicitly specify it other than for internal documentation. To suppress the default
AUTOON processing, specify the NOAUTOON parameter (“NOAUTOON” on page 75)
on the port definition.
The setting of AUTOON (or NOAUTOON) applies to all URLs on the port unless
explicitly overridden by a NOAUTOON (or AUTOON) parameter on a JANUS WEB ON
rule. The recommended setting for this parameter is NOAUTOON with AUTOON added
to any JANUS WEB ON rule where the implicit $WEB_DONE is really required.
Valid only for WEBSERV ports.
5.7.8
AUTOSYS subsys
This parameter sets the Model 204 AUTOSYS parameter to the indicated (subsys) value
when a connection is received on a TNSERV port.
The AUTOSYS parameter is useful for providing functionality comparable to the
equivalent user parameter for traditional Model 204 full-screen threads. Since TNSERV
connections run on daemon threads, and since it would not be common for AUTOSYS to
be set for daemon threads, this parameter makes it possible to provide AUTOSYS
functionality specifically for Janus Telnet Server connections. For more information
about the Janus Telnet Server, see the Janus Sockets Reference Manual.
The AUTOSYS parameter set via JANUS DEFINE remains intact over the lifetime of a
telnet connection, even after a logoff and logon.
The AUTOSYS parameter must be followed by the name of a subsystem to be invoked
after a login on the Telnet Server.
This parameter, like the Janus Telnet Server, is only available in Sirius Mods version 6.9
and later.
Valid only for TNSERV ports.
——————————————————————————————————————————
46
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.9
BINARY
This parameter requests Janus Sockets to send and receive strings with $SOCK_
functions or Socket methods using no translation. This can be useful if the Janus
Sockets User Language application is doing its own translation, or if no translation is
required.
Input and output translation can be enabled for a socket by either of the following:
●
●
Setting a socket to CHAR using $SOCK_SET or the Set function of the Socket class
Using the CHAR option on an individual receive or send $function or Socket method
Character translation is automatic for the socket if you are using the HTTP Helper.
Individual strings can be translated using $SOCK_TRAN_IN or $SOCK_TRAN_OUT or
their Socket method counterparts, TranIn or TranOut.
Translation is determined by the tables defined by the socket's XTAB setting.
The CHAR parameter is the opposite of BINARY. CHAR is the default.
Valid only for CLSOCK and SRVSOCK ports.
5.7.10 BINDADDR xxx
This parameter specifies the IP address to which the port will be bound, if the host
(machine) on which Model 204 is running supports multiple IP addresses. The IP
address must be an IP address of the host. If BINDADDR is not specified, the port binds
the port number for all IP addresses associated with the host; that is, it can be accessed
via any IP address associated with the host.
This parameter only really makes sense on a host with more than one IP address. For
example, if a host on which an Online is running has IP addresses 198.242.244.47 and
198.242.244.130, a BINDADDR 198.242.244.47 specification indicates that the port
can only be reached through IP address 198.242.244.47.
This parameter is especially useful for allowing a single mainframe host or even an
Online to act as more than one web server without the inconvenience of having port
numbers on URLs. This can be done because there can be multiple port 80's (the
default web port number) on the host, each accessed by its indicated BINDADDR. The
separate IP addresses could, in turn, be associated with different DNS host names even
though these separate names refer to the same underlying machine.
Note that there is not likely to be much, if any, performance benefit to having multiple
Janus ports with the same port number but different BINDADDRs in the same Online.
There might certainly be, however, some organizational advantages to running such a
configuration.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
47
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Valid for all port types.
5.7.11 BSIZE xxx
This parameter specifies the size of the TCP/IP input and output buffers. The default is
4096 for IBSIZE and 8192 for OBSIZE. BSIZE is a shorthand way of specifying both
IBSIZE and OBSIZE when their sizes are the same.
Valid for all port types.
5.7.12 CHAR
This parameter requests Janus Sockets to translate strings (sent and received with
Janus Sockets functions or methods) between the internal representation within
Model 204 (EBCDIC) and the character representation used by the remote end of the
connection.
This translation can be disabled by one of the following:
●
●
●
Setting a socket to BINARY using $SOCK_SET or the Set function of the Socket
class
Using the BINARY option on an individual receive or send $function or Socket class
method
Using an option of the AddField method or the Content method of the HTTP Helper
Individual strings can always be translated using $SOCK_TRAN_IN or
$SOCK_TRAN_OUT, or their Socket method counterparts, TranIn or TranOut.
If the CHAR setting is in effect, translation is determined by the tables defined by the
socket's XTAB setting.
The BINARY parameter is the opposite of CHAR. CHAR is the default.
Valid only for CLSOCK and SRVSOCK ports.
5.7.13 CHARSET xxx
This parameter indicates, to the remote host, the character set being used by Janus.
This allows a port-specific override of either the default character set or the character set
specified on the JANUS CHARSET subcommand. The default character set is iso_1.
CHARSET has no effect on the operation of any application in Model 204. The name of
the specified character set is simply forwarded to the remote host. For further
discussion, see “JANUS CHARSET” on page 30.
Valid only for OPENSERV ports.
——————————————————————————————————————————
48
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.14 CLIENTSOCKET socketname
This parameter names the client socket port to use to open connections back to the FTP
client, if the client requests active file transfers. On active transfers the FTP server is
required by the protocol to open a client connection back to a server port opened by the
FTP client.
If this parameter is not specified, active file transfers are not permitted on this FTP
server port.
The socket name is not validated when the DEFINE command is issued, but when an
active transfer is attempted.
For more information about the Janus FTP Server, see the Janus Sockets Reference
Manual.
This parameter is valid only for FTPSERVER port types.
5.7.15 CLOSEIMMED
This parameter indicates that if a lost connection is noticed by the Janus PST, the PST
should BUMP the Model 204 thread associated with the connection immediately. If
CLOSEIMMED is not specified a lost connection will only cause request termination
when the web thread invokes a $WEB function. Typically, the Janus PST will not notice
that a connection has been lost until the user issues a $WEB_DONE because until then
there will be no TCP/IP calls that can discover that the connection has been lost.
Without the CLOSEREAD parameter (“CLOSEREAD”) the CLOSEIMMED parameter
will probably have no effect.
CLOSEREAD and CLOSEIMMED are useful for ensuring that CPU and I/O intensive
web requests will be terminated immediately should the user become impatient and
cancel the request.
Valid only for WEBSERV ports.
5.7.16 CLOSEREAD
CLOSEREAD indicates that web threads should “put up” a TCP/IP read after receiving
the entire request but before processing it. This read can then detect if a connection has
been lost. If CLOSEREAD is not specified a lost connection will probably only be
detected when the web thread actually tries to write data to the connection.
CLOSEIMMED (“CLOSEIMMED”) indicates that if a lost connection is noticed by the
Janus PST, the PST should BUMP the Model 204 thread associated with the connection
immediately. If CLOSEIMMED is not specified a lost connection will only cause request
termination when the web thread tries to send data to the connection or invokes a $WEB
function.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
49
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
CLOSEREAD and CLOSEIMMED are useful for ensuring that CPU and I/O intensive
web requests will be terminated immediately should the user become impatient and
cancel the request.
Valid only for WEBSERV ports.
5.7.17 CMD 'xxx'
This parameter specifies the Model 204 commands to be executed after the files and
groups specified in the OPEN parameter (“OPEN list” on page 78) are opened. Multiple
commands must be separated by the word “AND”, and any command that contains
blanks must be enclosed in quotes. Multiple commands in the CMD clause are only
supported in version 6.0 and later of Sirius Mods.
CMD may span more than one line — continued with a hyphen (-) — but the total length
of commands plus one overhead byte per command cannot exceed 255 bytes.
For an OPENSERV, SRVSOCK, or TNSERV port, the commands specified by CMD
specify the processing performed for each connection to the port.
TNSERV connections run on daemon threads, but they will usually run full-screen
3270-applications. As such, they might have somewhat different parameter or table size
requirements from other applications that run on daemon threads. The CMD parameter,
possibly along with the OPEN command, make it possible to set certain parameters or
table sizes that might be specific to all 3270 threads and so are not set in the
subsystems run by these threads.
The commands specified by CMD for TNSERV connections are not executed unless a
trusted login is performed via NEWSESCMD (“NEWSESCMD 'xxx'” on page 70).
You can invoke a specific subsystem on a telnet server connection either with the CMD
parameter or with the AUTOSYS parameter (“AUTOSYS subsys” on page 46).
AUTOSYS parameter of JANUS DEFINE. If the user logs off and logs on again during
the same connection, the CMD command(s) are not executed. Because of this, using
AUTOSYS is probably preferable to using CMD parameters for most TNSERV
applications.
For SDS ports, the commands are executed before the port begins acting as a Specialty
Data Store. It is strongly recommended that this command be used mainly to set user
table sizes and user parameters for SDS ports. This might be necessary because Janus
Specialty Data Store might have very different table size requirements than other
applications running on an sdaemon.
For WEB ports the commands specified by CMD are executed after all rules are
executed except the ON rules. The specified commands can be used to invoke an
APSY subsystem when using the Janus Web UL API or to reset UTABLEs and other
parameters.
——————————————————————————————————————————
50
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
Examples of some valid CMD clauses:
JANUS DEFINE MYWEB 80 WEBSERV 10 CMD WEBAPSY
JANUS DEFINE SDS204 1777 SDS 20 CMD 'R MCPU 5000' AND 'UTABLE LQTBL 1000' AND 'R PROMPT 16'
JANUS DEFINE OPENXXX 1234 OPENSERV 15 OPEN FILE OPENPROC CMD 'R PROMPT 16' AND OPENAPSY
Valid for SRVSOCK or WEBSERV, TNSERV, SDS, or OPENSERV port types, this
parameter is required for SRVSOCK and OPENSERV port types. This parameter is not
valid on an FTPSERVER port definition.
5.7.18 COMPRESS level
Indicates the type of compression to be performed on outgoing Janus Web Server data.
Data compression reduces network bandwidth requirements for the compressed data
but requires additional CPU resources to perform the compression. Janus provides
deflate compression (RFC 1951), which is implemented on all modern web browsers
and which works especially well for data that has frequently repeated, relatively long
strings of bytes (for example, structured text data like HTML or XML).
Note: No compression is ever performed on data with a mime-type that starts with
image (for example image/gif or image/jpeg). Since most image formats are already
compressed, trying to further compress them results in considerable CPU overhead and
an actual increase in the size of the data sent (due to compression infrastructure
overhead), but no real compression.
Valid values for COMPRESS are:
0
Perform no compression. This is the default.
1
Perform deflate compression with fixed Huffman codes. This type of deflate
compression uses a set of Huffman codes defined by the deflate specification. This
can save space for some types of data, since the tables required for decoding are
not sent with the data. The fixed code tables work well for text data. The fixed
codes are rarely optimal, though, because they must include encodings for each
possible character, even when those characters are not present in the data.
2
Perform deflate compression with dynamic Huffman encoding. This type of deflate
compression dynamically creates a set of Huffman codes that vary with the input
data. This method creates an optimal set of codes for the data, but introduces a
slight overhead because the decoding information must be sent with the data. This
overhead is usually very small because the decoding tables themselves are also
compressed with a special Huffman code. There is also a very slight CPU overhead
in generating dynamic tables. Still, in most cases, dynamic codes yield better
results than fixed codes.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
51
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Since most text or character data consists of a relatively small number of
characters, text data is usually a good candidate for, and gets fairly good
compression with, dynamic Huffman encoding.
Usage notes:
●
The COMPRESS setting on a port can be overridden on a URL basis with a JANUS
WEB ON rule and on an application basis with $WEB_SET('COMPRESS').
However, under Sirius Mods version 6.3, unless the COMPRESS parameter
appears in the JANUS DEFINE command for a port, no compression will be
performed no matter what the JANUS WEB ON rule or $WEB_SET COMPRESS
setting specifies.
Under Sirius Mods version 6.4 and later, no compression is performed unless the
NCMPBUF system parameter is set to a non-zero value (see “Janus User
Parameters” on page 201). If NCMPBUF is set to a non-zero value, the type of
compression performed for a URL is determined by the JANUS DEFINE command,
which can be overridden by a JANUS WEB ON rule, which can be overridden with
$WEB_SET.
●
If you want no compression to be the default but want to apply compression
selectively for some URLs or applications, you must explicitly specify COMPRESS 0
in the JANUS DEFINE command, and, if Sirius Mods version 6.4 or later, you must
specify a non-zero NCMPBUF value for User 0.
●
Under Sirius Mods 6.3, a JANUS DEFINE COMPRESS setting allocates an extra
compression buffer for each of the port's threads. This buffer is allocated at port
START time, unless the ALLOCC parameter is specified on the port definition. If
ALLOCC is specified, the compression buffer is allocated at the time a thread
receives a connection. In either case, the compression buffer is large (almost 64K
bytes), so if a port has 30 threads defined, compression requires an extra 30 * 64K,
or 1,920K of virtual storage.
Under Sirius Mods 6.4 and later, a JANUS DEFINE COMPRESS setting allocates
only as many extra buffers as the value of NCMPBUF, but these buffers are nearly
five times as large as the 6.3 compression buffers.
●
It is recommended that any site interested in using compression experiment with the
COMPRESS parameter to determine compression efficiency and CPU overhead.
Janus Web Server issues message MSIR.0690 after compressing any data to
indicate the success of the compression. A typical message might look like this:
MSIR.0690: Janus Web content compressed by 65.2 percent from 8744 to 3048 bytes
●
The COMPRESS parameter is available in Sirius Mods version 6.3 and later.
COMPRESS is valid only for WEBSERV ports.
——————————————————————————————————————————
52
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.19 CR
This parameter indicates that lines of text data sent to a browser should be separated by
the ASCII carriage return character (X'0D').
The CR parameter is mutually exclusive with the LF and CRLF parameters.
While most browsers will correctly display text data whether the line separator is CR, LF,
or CR/LF, other non-browser applications might not process one or the other correctly. If
text data is being saved from the browser and is not being correctly processed by
another application (either appearing as one big line or with non-displayable characters
at the end of each line) then experimenting with the CR, LF, and CRLF parameters
might prove helpful. The default setting for CR, LF, and CRLF is CR.
The JANUS DEFINE setting for CR, LF or CRLF can be over-ridden by the
corresponding parameter setting on a JANUS WEB ON rule or a $WEB_PROCSEND
parameter.
Valid only for WEBSERV ports.
5.7.20 CRLF
This parameter indicates that lines of text data sent to a browser should be separated by
the ASCII carriage return and line feed characters (X'0D0A').
The CRLF parameter is mutually exclusive with the CR and LF parameters.
While most browsers will correctly display text data whether the line separator is CR, LF,
or CR/LF, other non-browser applications might not process one or the other correctly. If
text data is being saved from the browser and is not being correctly processed by
another application (either appearing as one big line or with non-displayable characters
at the end of each line), then experimenting with the CR, LF, and CRLF parameters
might prove helpful.
The default setting for CR, LF, and CRLF is CR.
The JANUS DEFINE setting for CR, LF, or CRLF can be over-ridden by the
corresponding parameter setting on a JANUS WEB ON rule or a $WEB_PROCSEND
parameter.
Valid only for WEBSERV ports.
5.7.21 CSSINSP, NOCSSINSP, and AUTOCSSINSP
Indicates whether or not Janus Web Legacy support is to insert a space to represent the
attribute byte on a 3270 screen. An attribute byte appears before any input field and
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
53
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
appears as a protect-space character on a 3270 screen. Netscape Navigator inserts a
space before every input field anyway, so if Janus Web Legacy support inserted its own
space, there would be one more space than on the 3270 screen, throwing off alignment.
All other browsers don't insert a space before input fields, so if Janus Web Legacy
support didn't insert its own space, there would be one fewer space than on the 3270
screen, and alignment would be thrown off.
CSSINSP forces insertion of a space before input fields (the correct behavior for
browsers other than Netscape Navigator). NOCSSINSP prevents insertion of a space
before input fields (the correct behavior for Netscape Navigator). AUTOCSSINSP, the
default, determines whether the browser is Netscape Navigator or not and does the
empirically determined correct thing on that basis.
The default of AUTOCSSINSP is probably alright for most purposes, but it can be
overridden if evidence comes to light that contradicts the behavior described here.
This parameter was not available before Sirius Mods version 6.2.
The CSSINSP, NOCSSINSP, and AUTOCSSINSP parameters on the JANUS DEFINE
can be overridden on a URL basis by the like-named parameters on JANUS WEB
SCREEN rules, or, on an application level, by the like-named parameters in
$WEB_SCREEN calls.
Valid only for WEBSERV ports.
5.7.22 CSSTITLEDIV and CSSTITLESPAN
Indicates whether or not Janus Web Legacy support is to use a <div> (CSSTITLEDIV)
or <span> (CSSTITLESPAN) tag for the title line of a screen when using an external
style sheet. <div> and <span> tags are rendered differently on different browsers,
though on most browsers a <div> causes extra space to be placed around the element.
The default of CSSTITLESPAN is probably alright for most purposes, but CSSTITLEDIV
can be used to make the title line stand out more.
These parameters have no effect if an external style sheet is not used (CSS parameter
in JANUS WEB SCREEN rules).
Before Sirius Mods version 6.2, Janus Web Legacy support did not generate any CSS,
so these parameters were not necessary or available.
The CSSTITLEDIV and CSSTITLESPAN parameters on the JANUS DEFINE can be
overridden on a URL basis by the like-named parameters on JANUS WEB SCREEN
rules, or they can be overridden on an application level by the like-named parameters in
$WEB_SCREEN calls.
Valid only for WEBSERV ports.
——————————————————————————————————————————
54
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.23 DBCS and NODBCS
This parameter indicates whether or not the Model 204 DBCS parameter is to be
automatically set to 1 on requests to a WEBSERV port. The default of NODBCS leaves
the DBCS parameter unaffected on requests to a WEBSERV port.
Setting the Janus Web Server DBCS parameter so web requests to a particular port can
use DBCS is necessary if an Online running with double-byte character support
(DBCSENV is non-zero) does not have DBCS set on for sdaemon threads.
The most likely use of the DBCS parameter is in an environment that serves both DBCS
and non-DBCS terminals and browsers.
For information about specifying DBCS support at the application level, see the
$WEB_DBCS parameter in the Janus Web Server Reference Manual.
DBCS and NODBCS are valid only for WEBSERV ports.
5.7.24 DEBPORTCMD and NODEBPORTCMD
Indicates whether the commands specified in the CMD clause of the JANUS DEFINE
command are to be run on threads debugging requests to the port with the
JANUSDEBUG command. The default of NODEBPORTCMD means that these
commands will not be run. If the commands in the CMD clause are essential to the
correct operation of web requests or the commands in the CMD clause are themselves
to be debugged, specify the DEBPORTCMD parameter in the port definition. The
DEBPORTCMD and NODEBPORTCMD parameters, like the JANUSDEBUG command,
are only available in Sirius Mods version 6.0 and later.
Valid only for WEBSERV ports.
5.7.25 DEBPORTOPEN and NODEBPORTOPEN
Indicates whether the files and groups specified in the OPEN clause of the JANUS
DEFINE command are to be opened on threads debugging requests to the port with the
JANUSDEBUG command. The default of NODEBPORTOPEN means that these files
and groups will not be opened.
If the files or groups in the OPEN clause are essential to the correct operation of web
requests, or if the commands in the CMD clause are themselves to be debugged
because of the DEBPORTCMD parameter (“DEBPORTCMD and NODEBPORTCMD”)
in the port definition and that requires the files or groups in the OPEN clause, specify the
DEBPORTOPEN parameter. The DEBPORTOPEN and NODEBPORTOPEN
parameters, like the JANUSDEBUG command, are only available in Sirius Mods version
6.0 and later.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
55
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Files and groups opened as a result of the DEBPORTOPEN parameter are always
closed before the debugging thread returns from the JANUSDEBUG command. If
DEBPORTOPEN is specified but one or more files or groups in the OPEN clause are
already open on a debugging thread, those files and groups will not be opened and
closed by JANUSDEBUG processing, even if the privileges with which they are open do
not match the explicit or implicit file/group privileges in the OPEN clause.
Valid only for WEBSERV ports.
5.7.26 EXEC2RPC
This parameter indicates that language requests should be converted to RPCs. The
types of language requests that can be translated into an RPC is described in the Janus
Open Server Reference Manual. EXEC2RPC implies RPCONLY. That is, it is not
possible to set up a port so that Janus attempts to convert language requests into RPCs
but if the attempt fails the language request is then made available to the User
Language via $SRV_LANGGET. If a language request is converted to an RPC,
$SRV_WAIT returns a 1 indicating that an RPC has been received. Thus, it is
impossible for a User Language application on an EXEC2RPC port to tell if the current
request was a “true” RPC or one that was generated via EXEC2RPC.
Valid only for OPENSERV ports.
5.7.27 FDWOL
This parameter specifies that all FINDs done by the Janus Specialty Data Store are to
be done as FIND WITHOUT LOCKS. This can minimize the impact of Janus Specialty
Data Store applications on 3270 applications and reduce record locking conflicts caused
by large Janus Specialty Data Store request. On the other hand, FDWOL could cause
severe Model 204 errors especially in reuse record number files. The default for SDS
ports is no FDWOL.
Valid only for SDS (also known as OMNI and OAS) ports.
5.7.28 FORMPOSTWAIT seconds
Indicates the default number of seconds to wait for the POST'ing of a form while using
$WEB_FORM_DONE. This effectively sets a session timeout for persistent Janus Web
Server applications using $WEB_FORM_DONE.
The default value for FORMPOSTWAIT is 900. The value for FORMPOSTWAIT must
be between 1 and 32767, inclusive, and it can be overridden by a FORMPOSTWAIT
parameter in a JANUS WEB ON rule or an explicit POST wait time on a
$WEB_FORM_DONE call.
——————————————————————————————————————————
56
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
This parameter (and $WEB_FORM_DONE) are only available in version 6.0 and later of
the Sirius Mods.
Valid only for WEBSERV ports.
5.7.29 FORMREDIRWAIT seconds
Indicates the default number of seconds to wait for the client on a WEBSERV port
(presumably a browser) to do the GET associated with a redirect generated by a
$WEB_FORM_DONE call.
Since browsers typically respond immediately to a redirect by doing a GET for the target
URL without any user interaction, the time between a redirect and the GET should
typically be very small. The default value for FORMPOSTWAIT is 50, which should be
more than enough to handle the slowest browser running on the slowest machine with
the slowest network connection: if the GET isn't received within 60 seconds of a redirect,
it is not likely to appear at all.
The value for FORMREDIRWAIT must be between 1 and 32767, inclusive, and it can be
overridden by a FORMREDIRWAIT parameter in a JANUS WEB ON rule or by an
explicit redirect wait time on a $WEB_FORM_DONE call.
Valid only for WEBSERV ports.
5.7.30 FINCLOSE | NOFINCLOSE
This parameter affects how Janus Sockets applications respond to a closed connection.
If the remote host closes the connection, even if it does so “cleanly” (that is with FIN
rather than RESET), Janus Sockets closes the connection immediately. This is useful in
situations where FIN is as good as RESET for rendering a connection unusable, and
where it's important to know that a FIN has been sent to avoid wasted processing or
even a hung connection.
If FINCLOSE is not specified, or if NOFINCLOSE is specified, a Janus Sockets thread
remains in-use and does not recognize a FIN indicator sent by a remote partner until the
Janus Sockets application tries to receive data on the connection.
A situation where FINCLOSE processing is useful is a Janus Sockets application
communicating with a web server that is using a keep-alive facility (multiple requests
over the same TCP/IP connection). The web server could close the connection between
any pair of requests with a FIN. Without FINCLOSE processing, a Janus thread that
connected to the web server and received such a FIN would remain in use until the
Janus Sockets application tried to receive data on the connection and then noticed the
closed connection.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
57
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
If not set on the port definition, you can make FINCLOSE or NOFINCLOSE specific to a
$SOCK_CONN call or to a Socket object New constructor.
FINCLOSE and NOFINCLOSE are available as of Sirius Mods version 6.4 (originally in a
6.3 ZAP).
The FINCLOSE and NOFINCLOSE parameters are valid only for CLSOCK and
SRVSOCK ports.
5.7.31 HIGHPRIORITY
This parameter adjusts the Model 204-scheduling priority of Janus Web Server threads
by starting them at the upper end of their priority range rather than at their default
priority.
Model 204 has three basic priority classes:
HIGH
STANDARD
LOW
Ranges from 80 to 127
Ranges from 32 to 79
Ranges from 0 to 47
By default, when a user logs in, they get a privilege 16 greater than the bottom of its
class. This can be a problem for web threads, because the priorities of 3270 threads
often “drift” to the top of their range. As a result, the web threads ultimately have lower
priorities than 3270 threads.
If you set HIGHPRIORITY, web threads start out at the top of their range, so they will
tend to get as good or better service than 3270 threads.
HIGHPRIORITY is available as of Sirius Mods version 6.5 (originally in a 6.4 ZAP).
The HIGHPRIORITY parameter is valid only for a Janus Web Server port.
5.7.32 HTTPVERSION xxx
This parameter sets the HTTP version returned to the browser by Janus Web Server.
The default value is 1.0, which is what Janus Web Server always returned before Sirius
Mods version 6.6.
The only other permissible value for HTTPVERSION is 1.1. While Janus Web Server is
not a fully HTTP 1.1 compliant web server, things will generally work alright when it
indicates HTTP 1.1 (since many of the HTTP 1.1 features need to be handled on an
application level, anyway). Still, it is probably not a good idea to set HTTPVERSION to
1.1 unless you have good reason to (typically to get a browser to use HTTP 1.1 features
that can be handled by the Janus Web Server applications).
——————————————————————————————————————————
58
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
HTTPVERSION is available as of Sirius Mods version 6.6.
The HTTPVERSION parameter is valid only for a Janus Web Server port.
5.7.33 IBSIZE xxx
This parameter specifies the size of the TCP/IP input buffer. The default is 4096, the
minimum is 512, and the maximum is 65534 (prior to version 5.2 the maximum was
32767). There is one input buffer used for each connection.
A larger input buffer size provides better CPU performance in both Model 204 and the
TCP/IP address space at the expense of more virtual (and real) storage. Generally, the
size of the input buffer has an impact only on a port being used for Janus Open Client or
Janus Sockets connections or on a Janus Web Server port used for file uploads.
Valid for all port types.
5.7.34 INPUTTIMEOUT xxx
This parameter, new as of Sirius Mods version 6.8, tells Janus Web Server to use a
different timeout value for input (receiving the web request) than for output. Once a
complete HTTP request is received, Janus Web Server switches the port's connection
timeout limit from INPUTTIMEOUT to the TIMEOUT value, which governs the output.
Prior to version 6.8, the TIMEOUT port parameter applied both to input and to output.
One reason that different timeout values are useful is that some browsers occasionally
delay receiving web output until some user interaction is completed, yet ordinarily there
is no delay between connection establishment and the sending of the HTTP request. It
is therefore safe to set a very aggressive input timeout while maintaining a less
aggressive output timeout.
You set the INPUTTIMEOUT parameter in the port definition by following it by the
number of seconds to be used as the timeout limit for receiving an HTTP request. This
is the maximum length of time Janus Web Server will wait while no data is received from
the client, not the time for the entire request to be received. This distinction is important
in big uploads being performed via HTTP. A low INPUTTIMEOUT should not cause
these requests to time out, as long as the upload moves along at a fairly steady rate,
even if the time required for the upload is significantly longer than the INPUTTIMEOUT
value.
A relatively low INPUTTIMEOUT setting, such as 5 (seconds), ought to be sufficient for
all connections, including the unusual cases like the following:
●
Anecdotal evidence suggests that some web crawlers, and occasionally browsers,
establish connections only to “lose their way,” and then either don't send a request
on the connection at all, or don't send one for a long time.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
59
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
●
Unsophisticated denial of service attacks often do nothing more than establish large
numbers of connections to a web server, attempting to tie up resources on the web
server.
●
A mistaken connection to a web server port using the wrong protocol (like telnet or
HTTP) will often hang the connection until it times out.
The INPUTTIMEOUT parameter is valid only for a Janus Web Server port.
5.7.35 JANCAT xxx
This parameter specifies the name of the file that contains the Model 204 to SQL
mappings. These mappings are generated using the JANCAT subsystem. The default
JANCAT file is JANCAT.
Valid only for SDS (also known as OMNI and OAS) ports.
5.7.36 KEEPALIVE xxxx
The KEEPALIVE parameter indicates the number of seconds a TCP/IP connection is to
be held open after an HTTP request on that connection. KEEPALIVE must be followed
by a single number between 0 and 32767, which indicates the maximum number of
seconds to held the connection open. A setting of 0 means no keep-alive.
For WEBSERV ports, this parameter tells Janus Web Server to keep HTTP connections
from a client (often a browser) open for the indicated period of time. For CLSOCK ports,
KEEPALIVE tells Janus Sockets to keep an HTTP connection to a web server open for
the indicated period of time, and to reuse that connection for other requests to the same
server.
Keep-alive connections, more often referred to as persistent connections, can reduce
network traffic and, more significantly, HTTP request latency. Both of these benefits are
magnified for SSL connections, where each HTTP request requires a TCP/IP and SSL
connection-establishment handshake.
For a Janus Web Server connection to be held open, the client/browser must indicate
that it supports HTTP keep-alives. For a Janus Sockets connection to be held open, the
web server must indicate that it supports HTTP keep-alives. Most modern browsers and
web servers support and take advantage of keep-alives.
For more information about using keep-alives with Janus Web Server, see the Janus
Web Server Reference Manual. For more information about using keep-alives with
Janus Sockets HTTP client requests, see the Janus Sockets Reference Manual.
The KEEPALIVE parameter is valid only for Janus Web Server and for Janus Sockets
CLSOCK ports used for HTTP traffic (that is, not for SMTP connections).
——————————————————————————————————————————
60
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
KEEPALIVE is new as of Sirius Mods version 6.8.
5.7.37 LANGUAGE xxx
This parameter indicates, to the remote host, the language being used by Janus. This
allows a port-specific override of either the default language or the language specified on
the JANUS LANGUAGE subcommand. The default language is us_english.
LANGUAGE has no effect on the operation of any application in Model 204. The name
of the specified language is simply forwarded to the remote host. For further discussion,
see “JANUS LANGUAGE” on page 137.
Valid only for OPENSERV ports.
5.7.38 LEGBL, LEGREV, LEGUS, NOLEGBL, NOLEGREV and
NOLEGUS
Indicates whether or not Janus Web Legacy support is to indicate the blinking (LEGBL,
NOLEGBL), reverse (LEGREV, NOLEGREV) and underscore (LEGUS, NOLEGUS)
attributes in the classes it generates for input and output fields. The default (NOLEGBL,
NOLEGREV, and NOLEGUS) means that Janus Web Legacy Support will not indicate
these attributes in the classes for fields.
This parameter has no effect if an external style sheet is not used (CSS parameter in
JANUS WEB SCREEN rules).
If LEGBL, LEGREV, or LEGUS is set, the external style sheet would have to define
styles for every color with the indicated attribute, so the style sheet becomes
considerably more complicated. On the other hand, unless these are set, there is no
way to display blinking, reversed, or underscored text as different from other text in a
Janus Web Legacy support page. Before Sirius Mods version 6.2, Janus Web Legacy
Support did not generate any CSS, so these parameters were not necessary or
available.
The LEGBL, LEGREV, LEGUS, NOLEGBL, LEGREV, and NOLEGREV parameters on
the JANUS DEFINE can be overridden on a URL basis by the like-named parameters on
JANUS WEB SCREEN rules or on an application level by the like-named parameters in
$WEB_SCREEN calls.
Valid only for WEBSERV ports.
5.7.39 LEGCSS and NOLEGCSS
Indicates whether or not Janus Web Legacy Support is to use Cascading Style Sheets in
the HTML it sends to browsers. The default (LEGCSS) means that Janus Web Legacy
Support will use Cascading Style Sheets (CSS) in its generated HTML.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
61
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Almost all browsers correctly support the CSS used by Janus Web Legacy Support, and
this CSS makes the pages generated by Janus Web Legacy Support considerably more
“pretty,” as well as a more accurate representation of the underlying 3270 screens. The
NOLEGCSS parameter can be specified if a site has rules against the use of CSS, the
CSS causes problems with some browsers, or the old non-CSS look is deemed
preferable.
Before Sirius Mods version 6.2, Janus Web Legacy Support did not generate any CSS,
so the LEGCSS and NOLEGCSS parameters were not necessary or available.
The LEGCSS and NOLEGCSS parameters on the JANUS DEFINE can be overridden
on a URL basis by the like-named parameters on JANUS WEB SCREEN rules, or on an
application level by the like-named parameters in $WEB_SCREEN calls.
Valid only for WEBSERV ports.
5.7.40 LEGJS and NOLEGJS
Indicates whether or not Janus Web Legacy support is to use JavaScript in the HTML it
sends to browsers. The default of LEGJS means that Janus Web Legacy support will
use JavaScript in its generated HTML.
While almost all browsers correctly support the simple JavaScript used by Janus Web
Legacy support, and this JavaScript makes the pages generated by Janus Web Legacy
support considerably more “friendly”, the NOLEGJS parameter can be specified if a site
has rules against the use of JavaScript or if the JavaScript causes problems with some
browsers.
Before Sirius Mods version 6.0, Janus Web Legacy support did not generate any
JavaScript, so the LEGJS and NOLEGJS parameters were not necessary or available.
The LEGJS and NOLEGJS parameter on the JANUS DEFINE can be overridden on a
URL basis by the like-named parameters on JANUS WEB SCREEN rules, and they can
be overridden on an application level by the like-named parameters in $WEB_SCREEN
calls.
Valid only for WEBSERV ports.
5.7.41 LF
This parameter indicates that lines of text data sent to a browser should be separated by
the ASCII line feed character (X'0A').
The LF parameter is mutually exclusive with the CR and CRLF parameters.
——————————————————————————————————————————
62
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
While most browsers will correctly display text data whether the line separator is CR, LF
or CR/LF, other non-browser applications might not process one or the other correctly. If
text data is being saved from the browser and is not being correctly processed by
another application (either appearing as one big line or with non-displayable characters
at the end of each line), then experimenting with the CR, LF, and CRLF parameters
might prove helpful. The default setting for CR, LF, or CRLF is CR.
The JANUS DEFINE setting for CR, LF, or CRLF can be overridden by the
corresponding parameter setting on a JANUS WEB ON rule or by a $WEB_PROCSEND
parameter.
Valid only for WEBSERV ports.
5.7.42 LINEND [hexstr | NONE]
This parameter specifies the hex value of a string to be sent by Janus Sockets at the
end of each “line;” that is, appended to the string sent by the $SOCK_SENDLN functions
or after each output line captured on the socket.
The default is LINEND 0D; 0D is the hexadecimal representation of the carriage return,
both in EBCDIC and in ASCII.
You can specify LINEND NONE, which means that a LINEND value must be set with
$SOCK_SET before the $SOCK_SENDLN function is called.
Note that the specified string is sent untranslated, regardless of the CHAR or BINARY
setting of the socket. For example, the following specifies that the byte pair which is
ASCII carriage return and linefeed should be appended to each $SOCK_SENDLN call or
User Language print line:
LINEND 0D0A
The LINEND value for a socket can be changed using $SOCK_SET.
Valid only for CLSOCK and SRVSOCK ports.
5.7.43 LOG REQ | OPT [FORMAT COMMON | COMBINED] xxxx
This parameter specifies that all Janus Web Server requests for the port are to be
logged to a sequential dataset whose DDNAME is specified by xxxx.
The LOG parameter must be followed by either the REQ or OPT keyword. The REQ
keyword indicates that web request logging is required and if it is not possible because
of an error opening the log file, an I/O error on the log file or the log file filling up, the port
is automatically FORCE'd or not started if the error occurs at start time. The OPT
keyword indicates that the port is to continue running even if there is a problem logging
to the log dataset.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
63
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
By default the log is in “COMBINED” format which is understood by almost all web log
analysis tools. It is possible for the log to be kept in “COMMON” format. Either format
can be explicitly requested with the FORMAT keyword after the OPT or REQ keyword.
The FORMAT keyword must be followed by either “COMBINED” or “COMMON”. The
only difference between the COMBINED and COMMON formats are that the
COMBINED format logs the browser type (Netscape, Internet Explorer, a bot) and the
“referer,” namely the URL of the page from which the URL being requested was linked.
Since the COMBINED format logs more information and almost all web log analysis
tools support it, there is little reason to use COMMON format.
The FORMAT keyword can also be written as FMT.
The log file DD must be defined to the Online with a DD card under MVS, a FILEDEF
statement under CMS, or an ALLOCATE command under either MVS or CMS. The log
file DD could be specified with DISP=MOD (APPEND on the ALLOCATE command) so
that the log file could contain data that spans multiple starts and stops of the web port or
even multiple runs of the Online. In fact, it might be reasonable to keep a log file that
contains data over a long span of time such as a month or even a year. Under MVS the
LOGAPPEND parameter (“LOGAPPEND”) can also be specified to get the same effect
as DISP=MOD without the exclusive enqueue placed on the sequential dataset.
The log dataset must have RECFM=VB.
The same log dataset can be shared among multiple ports, though there is nothing in the
log entries that indicates which port a request was associated with.
Valid only for WEBSERV ports.
5.7.44 LOGAPPEND
This parameter indicates that the Janus Web Server log dataset for the port is to be
opened in APPEND mode.
This parameter is only available under MVS. Its chief advantage over using DISP=MOD
on a DD card (or APPEND on the ALLOCATE command) is that MVS places an
exclusive enqueue on a dataset opened with DISP=MOD. This means that a
DISP=MOD dataset cannot be opened while the port is started for log analysis or
downloading to a system where log analysis can be run. A log dataset with a
DISP=SHR DD and specified as LOGAPPEND can be examined while the port is
started. While there is no harm in specifying both DISP=MOD and LOGAPPEND, it
defeats the purpose of the LOGAPPEND parameter.
Valid only for WEBSERV ports.
——————————————————————————————————————————
64
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.45 LOGCLOSET minutes
This parameter indicates how often the Janus Web Server log dataset is to be “closed”,
that is how often the DSCB is to be updated for the log dataset.
LOGCLOSET is followed by the number of minutes between TYPE=T closes (DSCB
updates) performed for the web log dataset.
There are two main reasons to set LOGCLOSET:
1.
If TYPE=T closes are not done for the log dataset, the log data for the current run
cannot be seen by most MVS utilities (and some CMS utilities) until the port is
stopped.
2.
If the Online should come down with a hard crash (say from a power outage or job
cancellation) all the web log data from that run will be lost. If LOGCLOSET is set
and a hard crash occurs, only the data logged after the last TYPE=T close would be
lost.
If LOGCLOSET is not set for a port, no TYPE=T closes will be performed for the port.
Setting LOGCLOSET too low will cause lots of small blocks to be written to the log
dataset, and it can cause a lot of DSCB activity, which is not very desirable (though no
TYPE=T close will be performed if there were no requests since the last TYPE=T close).
Setting LOGCLOSET too high could allow the loss of a lot of web log data. A
reasonable setting for LOGCLOSET might be 60, which would risk the loss of up to an
hour of web log data in the odd case of a hard Online crash, but it would ensure that no
more than one DSCB update will be performed per hour for the log dataset.
Valid only for WEBSERV ports.
5.7.46 LOGGMT
This parameter indicates that the time stamps in the Janus Web Server log dataset for
the port are to be represented as GMT instead of local time.
By default, log dataset entries are stamped with the local time.
Valid only for WEBSERV ports.
5.7.47 LOGMSGI
This parameter prevents Janus Web Server from saving Model 204 messages issued
during logon for a web user.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
65
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Model 204 messages issued during logon for a Janus Web Server thread are saved to
the request buffer for subsequent retrieval via $WEB_NUM_LOGMSG and
$WEB_LOGMSG unless the LOGMSGI parameter is specified in the port definition.
Valid only for WEBSERV ports.
5.7.48 MASTER
This parameter specifies that this is the default port for outgoing connections to remote
servers. A single MASTER port will serve as the access route to multiple external server
address spaces.
●
The servers may be other Model 204 servers or may be Sybase/Microsoft servers
that are to receive Janus Open Client function calls.
Users accessing the Model 204 address space over an OPENSERVER port will use
the same port they came in on for any outgoing Janus Open Client connections.
Users accessing the Model 204 address space with other threads (for example,
3270 or web based applications) must have a MASTER port defined in order for the
Janus Open Client functions to establish connections to other address spaces.
Note that the port number is irrelevant for outgoing purposes, though it must still be
specified.
●
The servers may host server sockets for version 6.6 and later Janus Sockets client
(CLSOCK) calls. A single MASTER port will serve as the access route to multiple
external servers.
A port defined as MASTER can be accessed on a Janus Sockets connection
request without specifying its port name on the $function or object method that
establishes the connection to a remote server socket. The socket port name
parameter on $SOCK_CONN, on the Socket object New constructor, and on the
HTTP Helper Get and Post methods default to the MASTER port, if any.
Multiple ports may be DEFINEd and STARTed with the MASTER parameter specified,
but the one used in any particular instance will not be predictable.
MASTER is valid only for Janus Sockets client (CLSOCK), OPENSERV, or SDS ports.
5.7.49 MAXCURS xxx
This parameter specifies the maximum number of cursors that can be opened for a
single Janus Specialty Data Store connection. The default for MAXCURS is 5.
A Sybase Adaptive Server or Omni SQL Server will open multiple cursors on a
connection to an SDS thread. Typically, even for fairly complex requests the number of
——————————————————————————————————————————
66
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
simultaneously open cursors will not exceed 3 so that the default of 5 should be fine. If a
Sybase Adaptive Server attempts to open more cursors than is allowed by MAXCURS,
the request will fail.
The cost of having a high MAXCURS is the storage for each possible cursor is allocated
either at port start time for each thread or at connection time for ALLOCC ports. The
storage required for each cursor is about 64 bytes so that on a 40 thread port with
MAXCURS set to 5, the virtual storage used for cursor blocks would be 64*5*40 or
12,800 bytes.
Valid only for SDS (also known as OMNI and OAS) ports.
5.7.50 MAXIPSES xxx
This parameter specifies the maximum number of Janus Web Legacy Support sessions
maintained per IP address. The default for MAXIPSES is 1.
For browser requests, an IP address typically represents a single end-user workstation.
If browser requests are coming from a multi-user system or from a proxy server, the use
of MAXIPSES can make it possible for one user to terminate another's session since
both users appear to be coming from the same IP address.
Increasing MAXIPSES can be a temporary workaround to this problem; it is likely to be
unsatisfactory since MAXIPSES must be at least as big as the maximum number of
users expected to use Janus Web Legacy Support through a single proxy server. This
may nearly eliminate any user terminating another user's session, but such a large
MAXIPSES would undoubtedly result in many “orphan” sessions that must be controlled
via the STIMEOUT parameter.
Another option when encountering this problem is to simply tell Janus Web Legacy
Support end-users to not use proxy servers. This might not be possible or desirable,
however. In that case, contact Sirius Software technical support.
Valid only for WEBSERV ports.
5.7.51 MAXREC xxx
This parameter specifies the maximum record length for input records on a Janus
IFDIAL port.
Valid only for IFDIAL ports.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
67
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.7.52 MAXSAVE xxx
This parameter specifies the maximum number of compiled SQL requests to save in
CCATEMP. When the Specialty Data Store receives an SQL request from the Sybase
Adaptive Server it parses the request, translates it into User Language, compiles the
User Language into quads and finally evaluates the compiled User Language. When
MAXSAVE is greater than 0, compiled requests are saved and future identical requests
(except for constants) can simply load the compiled requests from CCATEMP (much like
an APSY load), bypassing the translation and compilation steps. The default for
MAXSAVE of 16 should be adequate for most situations, ensuring that frequently run
requests will perform well without wasting CCATEMP and I/O bandwidth for infrequently
run requests.
Valid only for SDS (also known as OMNI and OAS) ports.
5.7.53 MAXTEMP nnnn
This parameter specifies the maximum number of CCATEMP pages allowed to be used
by a web request for holding input (file upload) and output (dynamically generated
HTML) data. A huge file upload request from a browser or a bug in a web server
application can result in a web request exhausting CCATEMP in an Online. The
MAXTEMP parameter ensures that no web application will use more than a specified
number of CCATEMP pages.
The default for MAXTEMP is 100, which allows uploads of files up to 614,400 bytes long
or generation of 614,400 bytes of dynamic HTML.
Static pages and binaries are not moved through CCATEMP so are not affected by this
parameter. If there is a need to upload large files from a web browser or an application
has a need to generate extremely large dynamic pages, specify a large MAXTEMP in
the web port definition.
MAXTEMP is valid only for WEBSERV ports.
5.7.54 MSGSEND and NOMSGSEND
Indicates whether or not Model 204 messages (as opposed to the output from PRINT or
HTML statements) are to be sent to the browser.
These parameters are only available in Sirius Mods version 6.0 and later. For backward
compatibility, the default for this parameter is MSGSEND, though NOMSGSEND is
probably more useful for most applications.
Model 204 messages include informatory messages such as those issued when a file is
opened or closed, error messages, and messages and warnings from other users sent
by MSG or WARN commands. MSGSEND or NOMSGSEND can be overridden by a
——————————————————————————————————————————
68
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
MSGSEND or NOMSGSEND parameter in a JANUS WEB ON rule or in a $WEB_SET
call.
It is probably a good idea to set NOMSGSEND in the JANUS DEFINE command, then
specify MSGSEND in the ON rules for the few URLs (in $WEB_SET calls for the few
applications) where it is desirable to have Model 204 messages sent to the browser.
Valid only for WEBSERV ports.
5.7.55 MSG204 xxx
This parameter specifies the Sybase message number to be used to return terminal
output to the client. If this parameter is not specified, all terminal output for the open
server will be sent to the Model 204 audit trail. Because the Sybase client server
communications protocol is a half duplex protocol, only terminal output that occurs while
the client is in the “receive” state will be sent to the client. Terminal output that occurs
while the client is in the “send” state will be sent to the audit trail regardless of the setting
of the MSG204 parameter. A client is in the “receive” state after it has sent an RPC to
the server and before it has received the DONE message for the request. The error
state and error class for terminal output messages are both always set to 0.
Valid only for OPENSERV ports.
5.7.56 MSG204L xxx
This parameter specifies the Sybase message number to be used to return terminal
output to the client. This parameter is identical to the MSG204 parameter except that it
indicates that the Model 204 messages during logon will also be sent to the client. If
MSG204 is specified instead of MSG204L, only the messages that occur after logon will
be sent to the client.
Valid only for OPENSERV ports.
5.7.57 NEWPASSWORDC
This parameter prevents Janus Web Server from immediately sending an
“Unauthorized” response to a browser after a password change.
Janus Web Server sends an “Unauthorized” response to a browser whenever the user
changes his or her password either by specifying oldpassword:newpassword for the
password in a logon pop-up window or with a NEWPASSF/NEWPASSF2 form. This
causes a logon pop-up window to appear on the user's workstation, allowing the use to
tell the browser what the new password is (there is no way for a server to tell a browser
that the user has just changed his or her password).
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
69
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
While having a logon pop-up window appear immediately after a password change might
be confusing to end-users, it is probably less confusing than the same window appearing
some time later. In certain cases, such as a page with multiple embedded password
protected images, the end-user might even receive multiple logon pop-up windows
because of a password change, if an immediate “Unauthorized” is not sent after a
password change.
If, in spite of all these advantages, an immediate “Unauthorized” after a password
change is not desirable, the NEWPASSWORDC (NEW PASSWORD Continue) can be
specified on the port definition.
The presence or absence of the NEWPASSWORDC parameter is irrelevant if there is a
JANUS WEB ON NEWPASSWORD rule for the port.
Valid only for WEBSERV ports.
5.7.58 NEWSESCMD 'xxx'
This parameter specifies the Model 204 commands to be executed when a new login
session is initiated. For SRVSOCK ports every connection starts a new login session.
For WEBSERV ports, a new login session is only started when the user requests a “login
required” URL (based on JANUS WEB ALLOW rules) and the user is not continuing a
login session via SSLSES or SESCOOKIE.
Multiple commands must be separated by AND, and any command that contains blanks
must be enclosed in quotes. NEWSESCMD may span more than one line (if a hyphen
(-) continues the line), but the total length of commands plus one overhead byte per
command cannot exceed 255 bytes.
The NEWSESCMD commands are executed before any commands specified in the
CMD clause or JANUS WEB ON rules for WEBSERV ports. User authentication is the
primary function of NEWSESCMD commands. Any $WEB function can be issued in
NEWSESCMD commands on WEBSERV ports, and any $SOCK function can be issued
in NEWSESCMD commands on SRVSOCK ports. In addition, a NEWSESCMD
command can issue the $SIR_LOGIN function as well as the $WEB_PASS function on
WEBSERV threads.
If NEWSESCMD specifies an INCLUDE command, the included procedure is assumed
to come from the first file or group specified in a NEWSESOPEN clause (see
“NEWSESOPEN list” on page 72).
——————————————————————————————————————————
70
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
Examples of some valid NEWSESCMD clauses:
JANUS DEFINE MYWEB 80 WEBSERV 10 NEWSESCMD WEBLOGIN
JANUS DEFINE TELNETSRV 23 SRVSOCK 10 NEWSESOPEN TELNETP NEWSESCMD 'UTABLE LQTBL 3000' AND 'INCLUDE TELNETLOGIN'
Because of the role of NEWSESCMD in enforcing user access security, most resources
used during NEWSESCMD processing are automatically cleaned up after the
NEWSESCMD processing is completed. This includes all files being closed and all user
tables being cleared (though not resized). The one exception to this is that GTBL can be
left intact after NEWSESCMD processing, if the NEWSESNOCLEARG
(“NEWSESNOCLEARG” on page 72) parameter is specified on the port definition.
If a NEWSESCMD command logs a user in using $SIR_LOGIN, the rest of the request
runs under that userid. For web requests, it is possible that a NEWSESCMD will log a
user on, but that user will not be authorized to run the request URL based on JANUS
WEB ALLOW rules. In such a case, Janus Web Server will either send a “404
Unauthorized” status to the browser (which will result in a login pop-up window being
presented to the end-user), or it will run the UNAUTHORIZED exception handler, if one
is present.
If the NEWSESCMD does not perform a $SIR_LOGIN, processing continues as it would
without a NEWSESCMD. That is, on a SRVSOCK port, the request will run under the
SOCKUSER userid, and on a WEBSERV port, Janus Web Server will attempt to log the
user in based on the userid and password passed in the HTTP authorization header, if
one is present.
NEWSESCMD command processing can also close the connection with the client, either
with a $SOCK_CLOSE on a SRVSOCK port or with a $WEB_DONE on a WEBSERV
port. In such a case, no further processing occurs on the thread after the NEWSESCMD
commands complete.
NEWSESCMD is only supported in version 6.0 and later of Sirius Mods.
This parameter is valid for SRVSOCK, WEBSERV, and TNSERV port types.
This parameter is not valid on an FTPSERVER port definition.
For TNSERV ports, the NEWSESCMD is only run for the initial connection. If a user
logs off and logs back on in the same connection, the NEWSESCMD will not be
executed. Because of this, if a NEWSESCMD does a $sir_login, it might make sense for
it to specify the “TRUST” parameter on the $sir_login to allow subsequent logins in the
same connection to be trusted logins.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
71
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.7.59 NEWGUESTOK
This parameter indicates that “guest” logins are to be allowed for $SIR_LOGIN calls in
programs run as part of NEWSESCMD processing (“NEWSESCMD 'xxx'” on page 70).
Guest logins are logins for userids that are defined neither in CCASTAT nor to the
external authorizer (RACF, ACF2 or Top Secret). Guest logins are useful for running
requests on behalf of a user on a trusted system, such as a proxy server or another
Model 204 Online, without having to keep the userids between systems in synch. Users
running as a result of guest logins on a SRVSOCK or WEBSERV port always run with
minimal user privileges.
NEWSESGUESTOK is only supported in version 6.0 and later of Sirius Mods.
Valid for SRVSOCK and WEBSERV port types.
5.7.60 NEWSESNOCLEARG
This parameter indicates that GTBL is not to be cleared at the end of NEWSESCMD
command processing. It is useful if there is a need to pass data via GTBL between
programs run as part of NEWSESCMD processing and programs run as part of request
processing after the NEWSESCMD commands.
If NEWSESNOCLEARG is specified, special care should be taken that passwords or
other secure pieces of information are not stored in GTBL, as it raises the slight
possibility that they will be accidentally exposed by application processing.
NEWSESNOCLEARG has no meaning unless a NEWSESCMD clause (“NEWSESCMD
'xxx'” on page 70) is also specified on the port definition.
NEWSESNOCLEARG is only supported in version 6.0 and later of Sirius Mods.
Valid for SRVSOCK and WEBSERV port types.
5.7.61 NEWSESOPEN list
This parameter specifies the names of one or more Model 204 files or groups to be
opened before any NEWSESCMD commands (“NEWSESCMD 'xxx'” on page 70) are
executed. To list multiple files or groups, you must separate them by the AND keyword.
You can specify individual file open privileges, or allow them to default to X'0221'.
The syntax of each file or group specification is
[FILE | GROUP] name [ [WITH] privs]
——————————————————————————————————————————
72
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
If neither the keyword FILE nor GROUP is specified, the NEWSESOPEN looks first for a
permanent group to open, then for a file. It does not look for a temporary group, since
one cannot yet exist at open time.
The first file or group listed in an OPEN clause is set as the default file or group context
for the thread during NEWSESCMD command processing.
Additional NEWSESOPEN processing notes:
●
If the NEWSESCMD parameter specifies an INCLUDE command, the included
procedure is assumed to come from the first file or group specified in the
NEWSESOPEN clause.
●
NEWSESOPEN lets you have data files automatically opened for NEWSESCMD
processing, which can be especially useful if the NEWSESCMD processing does
not run as an APSY subsystem.
●
All files and groups are closed at the end of NEWSESCMD processing, whether or
not they were opened as a result of a NEWSESOPEN clause.
●
If there is no NEWSESCMD clause in a port definition, the files and groups specified
by the NEWSESOPEN clause are not opened. Thus, the NEWSESOPEN
parameter is essentially useless except in conjunction with the NEWSESCMD
parameter.
Examples of some valid NEWSESOPEN clauses:
JANUS DEFINE WEBXXX 80 WEBSERV 20 NEWSESOPEN CERTPROC AND FILE CERTDATA WITH X'BFFF' NEWSESCMD WEBLOGIN
JANUS DEFINE TELNETSRV 23 SRVSOCK 10 NEWSESOPEN TELNETP NEWSESCMD 'INCLUDE TELNETLOGIN'
NEWSESOPEN is only supported in version 6.0 and later of Sirius Mods.
This parameter is valid for SRVSOCK, WEBSERV, and TNSERV port types.
This parameter is not valid on an FTPSERVER port definition.
5.7.62 NOAUDTERM
This parameter is used to control whether the server thread sends “non-compiler
terminal output” to the audit trail. Compiler terminal output is always sent to the audit
trail. Any terminal output sent to the audit trail is sent as RK lines.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
73
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
NOAUDTERM, which is the default port setting, specifies that (non-compiler) terminal
output is not sent to the audit trail; AUDTERM specifies that terminal output is sent to
the audit trail.
Note that some “print output” can be “captured” on a Sirius $list, a Janus Socket, or a
USE output stream, and thus it would not be sent as terminal output -- to the audit trail or
anywhere else. For further description of terminal output, see the Janus Web Server
Reference Manual or Janus Sockets Reference Manual.
On a WEB port:
●
Even with AUDTERM set on a WEB port, terminal output is not sent to the audit trail
if $WEB_ON is explicitly or implicitly set.
●
The setting of AUDTERM (or NOAUDTERM) applies to all URLs on a WEB port
unless explicitly overridden by a NOAUDTERM (or AUDTERM) parameter on a
JANUS WEB ON rule.
On a SRVSOCK port:
●
The setting of AUDTERM (or NOAUDTERM) for a socket can be changed using the
$SOCK_SET function.
Starting with version 6.0, this parameter applies to all Janus “server” port types, and the
default setting is NOAUDTERM. Prior to this, the parameter only applied to WEB ports,
and the default setting was AUDTERM.
This introduces a small incompatibility. Starting with version 6.0, compared to earlier
versions, any WEB port that does not specify either AUDTERM or NOAUDTERM will
probably generate fewer audit trail lines, as will any SDS or OPENSERV port. This
should be a benefit, since most of this terminal output is either uninteresting or already
logged to the audit trail as ER, AD or MS lines. Logging these messages as RK lines as
well is just a waste of journal space and I/O and makes application diagnosis and
debugging from the audit trail more difficult because of the extra noise data. For WEB,
OPENSERV, or SRVSOCK applications that wish to explicitly audit information, the User
Language AUDIT statement should be used, not the PRINT statement.
Valid for WEBSERV, SDS, OPENSERV, or SRVSOCK port types.
5.7.63 NOAUTODONE
This parameter prevents Janus Web Server from treating a return to command mode
after all port and ON rules CMDs have been processed as an implicit $WEB_DONE.
While for simple demo applications such as one that simply returns the results of a
Model 204 VIEW command, it is convenient to treat the return to command mode as an
implicit $WEB_DONE, it makes error detection for more complex applications difficult.
——————————————————————————————————————————
74
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
Many application problems from subsystems not being started to coding errors that
cause premature exit from a procedure to invalid included procedure name to a user not
being authorized to run a subsystem would cause raw Model 204 error messages or, in
certain cases, partial HTML pages to be returned to an end-user. By specifying
NOAUTODONE on the port definition, these errors can be caught and a “neater” error
page can be sent to the user. This “neater” error page could be either the standard “No
$WEB_DONE” page sent by Janus Web Server or it could be one produced by a JANUS
WEB ON NODONE rule.
The default setting for AUTODONE/NOAUTODONE is AUTODONE.
The setting of NOAUTODONE (or AUTODONE) applies to all URLs on the port unless
explicitly overridden by an AUTODONE (or NOAUTODONE) parameter on a JANUS
WEB ON rule. The recommended setting for this parameter is NOAUTODONE with
AUTODONE added to any JANUS WEB ON rule where the implicit $WEB_DONE is
really required.
Valid only for WEBSERV ports.
5.7.64 NOAUTOON
This parameter prevents Janus Web Server from preceding the execution of the
command specified in a JANUS WEB ON rule with an implicit $WEB_ON.
While for simple demo applications such as one that simply returns the results of a
Model 204 VIEW command, it is convenient to have Janus Web Server perform an
implicit $WEB_ON before issuing the command, it can be very inconvenient for other
applications that perform processing such as file opens that cause Model 204
informatory or error messages to be issued. Since generally these messages are not to
be sent to the browser they must either be suppressed with an explicit $WEB_OFF
before they are issued or discarded after they are issued with a $WEB_FLUSH. The
former approach requires the extra evaluation of a User Language program and the
latter pointlessly saves messages to CCATEMP only to have them discarded.
Setting NOAUTOON eliminates the need to run a stub program to issue a $WEB_OFF
or the overhead associated with saving messages to CCATEMP only to be flushed with
a $WEB_FLUSH.
If NOAUTOON is specified for a port, it might also be useful to specify NOAUDTERM
(or, starting with version 6.0, allow it as the default) to prevent “terminal” messages from
going to the audit trail (see “NOAUDTERM” on page 73).
The default setting for AUTOON/NOAUTOON is AUTOON.
The setting of NOAUTOON (or AUTOON) applies to all URLs on the port unless
explicitly overridden by an AUTOON (or NOAUTOON) parameter on a JANUS WEB ON
rule.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
75
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Valid only for WEBSERV ports.
5.7.65 NOSCREENREDIR
Indicates that Janus Web Server legacy support (automatic mapping of 3270
applications to HTML) is not to use the redirect's to map all screens for a legacy session
to the same URL. This means that all legacy screens will be maintained as a separate
browser cache entry that is a result of a POST to a generated URL. This parameter is
only available in Sirius Mods 6.0 and later and its use is discouraged but is provided if
for some reason full backward compatibility with earlier versions of Janus Web Server
legacy support is desired. The NOSCREENREDIR can be overridden or set on a URL
basis with the SCREENREDIR or NOSCREENREDIR parameter in JANUS WEB
SCREEN rules.
From Sirius Mods 6.0 to 6.2, NOSCREENREDIR would also cause Janus Web Server to
switch to an internally generated URL on the first Janus Web Legacy page. In Sirius
Mods 6.3 and later, NOSCREENREDIR prevents a redirect from being used for each
page but does not cause an internally generated URL to be used for Janus Web Legacy
pages. Use of these internally generated URLs under Sirius Mods 6.3 and later is
controlled by the SCREENURL (“SCREENURL” on page 84) parameter.
This parameter can be overridden on a URL basis by the SCREENREDIR and
NOSCREENREDIR parameters on JANUS WEB SCREEN rules.
Valid only for WEBSERV ports.
5.7.66 NOTRACEFIELD
Indicates the form field or fields whose values are not to be traced when the X'04' bit
(causes tracing of form field values for web requests) of JANUS TRACE is in effect.
This is useful for preventing passwords in form fields from being logged to the audit trail.
Multiple form fields names can be specified after NOTRACEFIELD by separating them
with an “AND” as in
JANUS DEFINE MYWEB 80 WEBSERV 28 NOTRACEFIELD PASSWORD AND NEWPASSWORD
When form field values are being traced because of the X'04' TRACE bit, the values for
fields specified in the NOTRACEFIELD clause always appear as asterisk in the trace.
NOTRACEFIELD can be used to suppress password fields in forms used by
NEWSESCMD processing or other fields that might contain secure information.
Note: The NOTRACEFIELD parameter will not prevent the logging of secure fields to
the audit trail as part of a TCP trace resulting from the setting of the X'08' bit of JANUS
TRACE.
——————————————————————————————————————————
76
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
For a description of the individual bit options and for more information about the TRACE
setting, see “JANUS TRACE” on page 155.
Valid only for WEBSERV ports.
5.7.67 NOUPCASE
This parameter indicates that no client data is to be converted to upper case. By setting
NOUPCASE the userid and password must be specified by the client in the correct case
(probably upper case). Note that it is possible to have lower case userids and
passwords in Model 204. For example, the userids HOMER, homer and Homer would
be treated as three separate userids by Model 204. The NOUPCASE parameter
simplifies the interaction between clients where names tend to be in lower case or caseinsensitive and Model 204 where they tend to be in upper case.
The NOUPCASE parameter is the opposite of UPCASE. The default is for all ports to
have UPCASE set.
Valid for WEBSERV, SDS, or OPENSERV port types.
5.7.68 OBSIZE xxx
This parameter specifies the size of the TCP/IP output buffer. The default is 8192, the
minimum is 512, and the maximum is 65534 (prior to version 5.2 the maxiumum was
32767). There is one output buffer used for each connection.
A larger output buffer size provides better CPU performance in both Model 204 and the
TCP/IP address space at the expense of more virtual (and real) storage.
Valid for all port types.
5.7.69 OMNIACCT xxx
This parameter specifies the Model 204 ACCOUNT for the SDS catalog sdaemon for the
port. If no OMNIACCT is specified the ACCOUNT for the user executing the JANUS
DEFINE command is used. This is a synonym for SDSACCT.
Valid only for SDS (also known as OMNI or OAS) ports.
5.7.70 OMNIUSER xxx
This parameter specifies the Model 204 user ID for the SDS catalog sdaemon for the
port. If no OMNIUSER is specified the ID of the user executing the JANUS DEFINE
command is used. This is a synonym for SDSUSER.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
77
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Valid only for SDS (also known as OMNI or OAS) ports.
5.7.71 OPEN list
This parameter specifies the name of one or more Model 204 files or groups to be
opened when a server session is initiated.
If you specify multiple files or groups in an OPEN clause, they must be separated by an
AND keyword. You can also specify individual file open privileges; if not, they default to
X'0221'. Multiple files or groups and explicitly specified privileges in the OPEN clause
are supported only in version 6.0 and later of Sirius Mods.
The syntax of each file or group specification is:
[FILE | GROUP] name [ [WITH] privs]
The first file or group listed in an OPEN clause is set as the default file or group context
for the thread. If neither the keyword FILE nor the keyword GROUP is specified, OPEN
looks first for a permanent group, then for a file, to open. It does not look for a
temporary group, since one cannot yet exist at open time.
You can use the CMD parameter to specify a command to execute just after a file or
group opens. If the CMD parameter specifies an INCLUDE command, the included
procedure is assumed to come from the first file or group specified in the OPEN clause.
Examples of valid OPEN clauses follow:
JANUS DEFINE WEBXXX 80 WEBSERV 20 OPEN WEBPROC AND FILE DATAPROC WITH X'0761'
JANUS DEFINE OPENDOOR 1234 OPENSERV 40 OPEN GROUP DOORPROC AND FILE DOORDATA X'BFFF' CMD 'I DRIVER'
This parameter is valid for SRVSOCK, WEBSERV, TNSERV, SDS, or OPENSERV port
types.
This parameter is not valid on an FTPSERVER port definition.
5.7.72 PASVPORT startportnum
This parameter identifies the first FTP server port number to use for “passive” file
transfers. For such transfers, an FTP server opens an additional server socket, to which
the client is requested to connect for data transfers.
——————————————————————————————————————————
78
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
For each Janus FTP Server, a block of maxcon port numbers starting at startportnum is
used for passive file transfers. maxcon is the maximum number of simultaneous FTP
sessions supported by this server.
If PASVPORT is not specified, its default is 5000. If it is specified, the value must be at
least 1000 and no greater than 32K.
For more information about the Janus FTP Server, see the Janus Sockets Reference
Manual.
This parameter is valid only for FTPSERVER port types.
5.7.73 PRELOGINUSER userid
This parameter indicates the userid under which pre-login processing runs. Pre-login
processing is that which occurs before a user login.
This parameter is only available in version 6.0 and later of the Sirius Mods. Before this
version, these were all true about processing that occurred before user login:
●
●
●
It ran under “NO USERID”.
It was not visible with SirMon, the MONITOR command, or LOGWHO.
It was not BUMP'able.
After version 6.0 of the Sirius Mods, pre-login processing runs under the default userid of
“NO USERID” or under the userid specified by the PRELOGINUSER parameter; it is
visible to SirMon, the MONITOR command, and the LOGWHO command; and it is
BUMP'able.
On many port types, much processing can take place before a thread is actually logged
on to a user. The PRELOGINUSER parameter can be useful in helping distinguish
users in pre-login processing on different ports.
Valid for SRVSOCK, WEBSERV, OPENSERV, FTPSERVER, TNSERV, SDS and
IFDIAL port types.
5.7.74 PRSTOK [AMBIG|]hexstr1|hexstr2|... | NONE
This parameter specifies the hex values of strings that are used to separate input strings
using the $SOCK_RECVPRS function.
The default is PRSTOK NONE, which means that a PRSTOK value must be set with
$SOCK_SET before the $SOCK_RECVPRS function is called. See the description of
$SOCK_RECVPRS for a description of its parsing algorithm.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
79
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Note that the specified string is used untranslated, regardless of the CHAR or BINARY
setting of the socket. For example, the following specifies that input strings are delimited
by the byte pair which is ASCII carriage return and linefeed:
PRSTOK 0D0A
Specify “AMBIG|” at the start of the PRSTOK string if you are using any separator string
which is the prefix of another. If you specify “AMBIG|”, at least one of your separator
strings must be the prefix of another. For example, the following setting is rejected
because the string “0D” (ASCII carriage return) is a prefix of “0D0A” (carriage return and
linefeed):
PRSTOK 0D0A|0D|0A
Also, the following setting is rejected because neither of the strings “0D0A” (ASCII
carriage return and linefeed) nor “0D09” (carriage return and horizontal tab) is a prefix of
the other:
PRSTOK AMBIG|0D0A|0D09
See the description of the $SOCK_RECVPRS function in the Janus Sockets
Reference Manual for a discussion of using ambiguous PRSTOK separator strings.
The PRSTOK value for a socket can be changed using $SOCK_SET.
Valid only for CLSOCK and SRVSOCK ports.
5.7.75 PUBLOG
This parameter indicates that a “real” login should be done for the SOCKUSER userid
for SRVSOCK logons. The “real” login will be a trusted login so passwords will not be
required from end-users but the SOCKUSER userid must be defined in CCASTAT or to
the external authorizer (RACF, ACF2 or Top Secret) if PUBLOG is specified for a port. If
PUBLOG is not specified, the SOCKUSER userid will be logged on for SRVSOCK
logons whether or not it is defined in CCASTAT or to an external authorizer, and it will be
given UPRIV = 0 (default user privileges).
PUBLOG can be used if even public logins should be logged by an external authorizer
(as a matter of policy) or if non-standard privileges are to be assigned to the public user.
Use caution if assigning any privileges to the SOCKUSER userid since this can be a
potential security exposure.
Valid only for SRVSOCK ports.
——————————————————————————————————————————
80
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.76 RAWINPUT
This parameter tells Janus Web Server to save the raw input stream for an HTTP POST,
regardless of the mime type set by the client in the content-type header. This has
two basic advantages:
1.
The raw input content for an HTTP POST is always available to Janus Web Server
applications (via $web_input_content) regardless of the content-type. This could be
useful for debugging, or perhaps for logging, input content.
2.
It is possible for Janus Web Server to interact correctly with clients that don't set the
mime type, regardless of what content they send. Prior to the availability of
RAWINPUT, if a client sent, say, XML data, but it did not set the content-type, Janus
Web Server would assume that the content was application/x-www-formurlencoded (form POST) encoded. If after it read some of the content, Janus
Web Server discovered that it was not HTML form data, it was too late: the request
had to be rejected for having an invalid format.
With the RAWINPUT parameter set, however, Janus Web Server proceeds as
follows:
a.
It loads the input content into CCATEMP.
b.
If the mime type is set to application/x-www-form-urlencoded, or if it is
not set at all, Janus Web Server determines if the input has the
application/x-www-form-urlencoded format.
c.
If the format is not application/x-www-form-urlencoded, the request is
not rejected, and the Janus Web Server application can still access the data.
This parameter is only available in version 6.7 and later of Sirius Mods.
Valid only for WEBSERV ports.
5.7.77 RAWINPUTONLY
RAWINPUTONLY indicates that, regardless of the POST data content-type set by the
client, Janus Web Server should do both of the following:
●
●
Save the raw input stream of an HTTP POST.
Refrain from parsing the input content into form fields.
RAWINPUTONLY is very similar to the RAWINPUT port definition parameter
(“RAWINPUT”), except that:
●
RAWINPUTONLY can be an ON rule parameter, so it can be set for specific URLs.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
81
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
●
RAWINPUT does not prevent Janus Web Server from trying to parse the form
parameters, if the content-type for the POST is set to application/x-wwwform-urlencoded or multipart/form-data. RAWINPUTONLY prevents this
parsing, so it protects Janus Web Server applications from errors in this parsing.
These errors include invalid-form-data errors and request-buffer-full errors.
For more information about RAWINPUTONLY processing, see “RAWINPUTONLY |
NOTRAWINPUTONLY” on page 179.
This parameter is only available in version 6.8 and later of Sirius Mods.
Valid only for WEBSERV ports.
5.7.78 RBSIZE xxxx
This parameter specifies the Janus RPC or Request buffer size. On a Web port, the
Janus request buffer holds browser request information such as header data, cookies
and form data. On other port types, it holds RPC input and output parameters.
If a Janus server thread is started, and the data sent by the client program requires more
space for its parameters than is allocated by RBSIZE, the connection to the client is
broken and message MSIR.0154 is issued. If a Janus Open Client program sends or
receives parameters too long for RBSIZE, the connection to the client is broken and
message MSIR.0186 is issued.
The Janus RPC buffer is also used by Open Server programs to contain column
descriptions set by the $SRV_BIND function; if the buffer is too small, $SRV_BIND
returns an error code indicating so.
The default for RBSIZE is 4096. The maximum is 65534.
RBSIZE is valid for WEBSERV, SDS, or OPENSERV port types.
5.7.79 REMOTE hostID portnum | *
This parameter identifies the remote server and the remote port number to be used with
a set of Janus Sockets CLSOCK connections.
hostID can be any one of the following:
●
●
●
An IP address.
A host name.
Pattern matching characters that identify the host name. In this case, the $function
or object method that establishes the remote host — $SOCK_CONN, the Socket
object New constructor, or the HTTP Helper Url or Host methods — must specify
the actual host ID, which must satisfy the pattern.
——————————————————————————————————————————
82
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
●
An asterisk (*), which means whatever host is specified on the $function or object
method that establishes the remote host. This is the default.
portnum can be either of the following:
●
●
A TCP/IP port number in the range 1 through 65535.
An asterisk (*), which means whatever port number is specified on the $function or
object method that establishes the remote host. This is the default.
If you use a pattern or asterisk for hostId, or an asterisk for portnum, the identity of the
remote server is not fully determined until the invocation of the $function or object
method that establishes the remote host. Any host ID and port number specified as
arguments on that invocation must be a match for the hostID and portnum combination.
If you specify REMOTE * *, any hostID and portnum on that invocation are a match.
If the default setting, REMOTE * *, is in effect for a CLSOCK port, REMOTE * * is not
included in JANUS DISPLAY output.
The JANUS CLSOCK command (see “JANUS CLSOCK” on page 31) is required to
allow a User Language application to access the CLSOCK port, and it can be used to
further restrict both the hostID and portnum specified on the port definition. (System
administrators are not subject to CLSOCK access restrictions.)
See the description of $SOCK_CONN or of the Socket class New method in the Janus
Sockets Reference Manual for a discussion of the arguments provided to
$SOCK_CONN or to New and their interaction with JANUS DEFINE REMOTE.
REMOTE is valid only for CLSOCK ports, for which it is a required parameter.
5.7.80 RPCONLY
This parameter indicates that only RPC requests are allowed on the port. All non-RPC
(language) requests are rejected. If the port is also defined as EXEC2RPC, an attempt
is made to convert the language request to an RPC. If this is successful, the request is
treated as a valid RPC request. If a port is defined as RPCONLY, the only valid return
code from $SRV_WAIT (on that port) is 1 meaning an RPC was received.
Valid only for OPENSERV ports.
5.7.81 SCREEN and NOSCREEN
Indicates whether or not Janus Web Legacy screens will be allowed to appear on
requests to the port. SCREEN, the default, specifies that Janus Web Legacy support
automatically renders any 3270 screen presented by an application as part of a Janus
Web Legacy session. While this is convenient, it might be viewed as a security risk —
3270 screens not intended for web user consumption might accidentally appear on a
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
83
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
browser because of an application error. To avoid this risk, specifying NOSCREEN on
the port definition ensures that an attempt to display a 3270 screen on a web request will
result in a user restart.
The SCREEN and NOSCREEN parameters are available in Sirius Mods version 6.3 and
later.
You can override the SCREEN and NOSCREEN parameters on the JANUS DEFINE
command on a URL basis using the like-named parameters in JANUS WEB ON rules.
Valid only for WEBSERV ports.
5.7.82 SCREENURL
Indicates that Janus Web Server legacy support (automatic mapping of 3270
applications to HTML) is to switch web applications that present a 3270 screen to a
special internally generated URL. There is no really good reason to specify
SCREENURL but the option is provided on the off chance it's required somewhere for
backward compatibility.
This parameter is available in Sirius Mods 6.3 and later.
This parameter can be overridden on a URL basis with the SCREENURL or
NOSCREENURL parameters on JANUS WEB SCREEN rules.
Valid only for WEBSERV ports.
5.7.83 SDSACCT xxx
This parameter specifies the Model 204 ACCOUNT for the SDS catalog sdaemon for the
port. If no SDSACCT is specified the ACCOUNT for the user executing the JANUS
DEFINE command is used. This is a synonym for OMNIACCT.
Valid only for SDS (also known as OMNI or OAS) ports.
5.7.84 SDSUSER xxx
This parameter specifies the Model 204 user ID for the SDS catalog sdaemon for the
port. If no SDSUSER is specified the ID of the user executing the JANUS DEFINE
command is used. This is a synonym for OMNIUSER.
Valid only for SDS (also known as OMNI or OAS) ports.
——————————————————————————————————————————
84
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.85 SESCOOKIE cookie
Indicates the name of a cookie that will be used to maintain logical sessions that will be
used to perform trusted logins for Janus port users who have just logged in through
typical HTTP challenge-response mechanisms or through a $SIR_LOGIN issued during
NEWSESCMD processing. This feature reduces the overhead of NEWSESCMD
processing by limiting it to logical session establishment time, and it eliminates some of
the idiosyncrasies of HTTP challenge-response authentication associated with password
changes, whether end-user or system initiated.
Available in Sirius Mods version 6.0 and later, SESCOOKIEs are cryptographically
designed to be virtually impossible to “fake”.
If both SESCOOKIE and SSLSES (“SSLSES” on page 97) are specified, the session
associated with the SESCOOKIE will be used in preference to the session associated
with the SSL session, though these should almost always be the same.
SESCOOKIE is valid only for WEBSERV ports.
5.7.86 SESCOOKIENOSEC
Indicates that the cookie specified by SESCOOKIE will not be sent to the browser as a
“secure” cookie. This makes it possible with some browsers in certain situations to use
the SESCOOKIE (“SESCOOKIE cookie”) cookie to have a logical session operate over
multiple Janus Web Server ports.
Note: It is probably a bad idea to transmit a session cookie on a non-SSL connection,
because someone who spies the session cookie can use it to perform trusted logins on
the Janus Web Server port (though such a person cannot determine any password
associated with the session cookie).
The SESCOOKIENOSEC parameter is only available in Sirius Mods version 6.0 and
later.
SESCOOKIENOSEC is valid only for WEBSERV ports.
5.7.87 SESFASTLOGIN
This parameter reduces the login security overhead for Janus Web Server threads by
causing a login performed for a continued session to be a “fast” login. A fast login does
no CCASTAT lookup or external authorizer (RACF, ACF2, Top Secret) lookup for the
userid.
The benefits of this parameter are:
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
85
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
●
It avoids the overhead of heavy external-authorizer login traffic for web threads,
which do a login for every protected page requested. The overhead of CCASTAT
lookup is also avoided for users in CCASTAT, but this overhead is usually relatively
small.
●
It avoids the external authorizer's logging of “last logged in” times for every page a
user accesses. This presents an inaccurate picture of the time of last login, and it
produces large amounts of useless external authorizer logging.
The disadvantage of setting this parameter is that access to an external-authorizer
protected resource or to command privileges will only be available to the first URL
request in a session.
Note: This parameter has no effect unless login sessions are being maintained by
SESCOOKIE or SSLSES.
The WEBLOGHOLD parameter accomplishes many of the same things as
SESFASTLOGIN, but it has the drawback that an sdaemon thread is tied up for each
held login. It has the advantage that there is no difference privilege-wise between an
initial user URL request and a later one.
SESFASTLOGIN is available as of Sirius Mods version 6.5 (originally in a 6.4 ZAP).
The SESFASTLOGIN parameter is valid only for a Janus Web Server port.
5.7.88 SESTIMEOUT xxx
Indicates the number of minutes of inactivity that will cause a logical login session being
held either via SESCOOKIE or SSLSES to be terminated. When such a session is
terminated, Janus Web Server will go through normal login validation which might or
might not force the end-user to re-enter a password depending on the validation
technique and possibly the browser. The session timeout value set by SESTIMEOUT
only sets the timeout for trusted user logins and does not affect the timeout for requests
using $WEB_FORM_DONE and for found sets and lists saved with
$WEB_SAVE_RECSET and $WEB_REST_RECSET. The SESTIMEOUT parameter is
only available in Sirius Mods version 6.0 and later.
Valid only for WEBSERV ports.
5.7.89 SLOWCLOSE mask
The SLOWCLOSE parameter is followed by a bitmask that indicates the conditions
under which Janus Web Server is to perform a “slow” close of a connection with a
browser.
——————————————————————————————————————————
86
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
This parameter is useful for dealing with a bug in some browsers that sends an extra,
junk, carriage-return and line-feed character after the contents of an HTTP POST. If
these two extra characters are sent by the browser, and Janus Web Server does not
read them from TCP/IP (most of the time it will), then under certain conditions TCP/IP
will discard outgoing data from Janus Web Server when a normal close is done on the
socket. To prevent losing this data in this case, Janus Web Server must perform a more
complex and so “slower” and, not incidentally, more expensive close for the connection.
This parameter defaults to X'01': Janus Web Server will only perform “slow” close
processing for a POST, and only when it has not already received an extra carriagereturn and line-feed.
While the default setting covers the known browser bug which only seems to occur on
POSTs, SLOWCLOSE can be set to other values for other request types. These
settings should only be necessary if browsers that send junk characters under other
conditions are discovered:
X'02'
X'04'
X'10'
X'20'
X'40'
Slow close for a GET that is followed by extra carriage-return and line-feed
characters that are not read by the Web Server
Slow close for a PUT that is followed by extra carriage-return and line-feed
characters that are not read
Slow close for a POST that is followed by extra carriage-return and line-feed
characters, whether the characters are read by the Server or not
Slow close for a GET that is followed by extra carriage-return and line-feed
characters, whether the characters are read or not
Slow close for a PUT that is followed by extra carriage-return and line-feed
characters, whether the characters are read or not
The SLOWCLOSE parameter is only available in Sirius Mods version 6.0 and later.
Valid only for WEBSERV ports.
5.7.90 SOCKACCT xxxx
This parameter specifies the default Model 204 account ID used for SRVSOCK logons.
SOCKACCT SOCKUSER is the default.
Valid only for SRVSOCK ports.
5.7.91 SOCKPMAX
This parameter specifies the maximum number of sockets a user may have connected
at any time using the particular Janus Sockets client port. The default, which is also the
minimum value, is one, and the maximum value is 32767.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
87
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Note the distinction between this parameter on the JANUS DEFINE command and the
SOCKMAX Model 204 system parameter:
●
The SOCKPMAX port parameter specifies the number of connected sockets a
user may have at any time for the particular CLSOCK port. A terminated
connection is not included in this total, even if the application has not issued the
$SOCK_CLOSE function for it.
●
The SOCKMAX system parameter specifies the number of in-use sockets a user
may have at any time. One of these is reserved for the server socket number 1,
whether the user is a server socket program or not, so there are SOCKMAX - 1
sockets available to each user to make connections on CLSOCK ports. A
terminated connection is included in this total if the application has not issued the
$SOCK_CLOSE function for it.
Valid only for CLSOCK ports.
5.7.92 SOCKUSER xxxx
This parameter specifies the default Model 204 user ID used for SRVSOCK logons.
SOCKUSER SOCKUSER is the default.
See “PUBLOG” on page 80 for a discussion about looking up this user ID (in CCASTAT
or the external authorization facility).
Valid only for SRVSOCK ports.
5.7.93 SQUAREB opsys
The SQUAREB parameter can be used to override the default EBCDIC characters for
square brackets in the Janus Web Server log file. This can be useful if the Janus Web
Server defaults (X'AD'/X'BD' under CMS and X'BA'/X'BB' under MVS) are not
appropriate for the file transfer program that transfers the log to an ASCII based system.
SQUAREB must be followed by either of the following:
CMS
Indicates that X'AD' and X'BD' are to be used for left and right square
brackets.
MVS
Indicates that X'BA' and X'BB' are to be used.
The SQUAREB parameter has no affect on the translation of square brackets in text that
is sent to the browser.
SQUAREB is valid only for WEBSERV ports.
——————————————————————————————————————————
88
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.94 SSL
The SSL parameter indicates that communications on this port should be encrypted
using Janus Network Security SSL (Secure Sockets Layer) or TLS (Transport Layer
Security) support. The parameter has the following mutually exclusive options:
SSL procfile procname
Identifies the file (typically JANSSL) and procedure that contain the
certificate to be presented to clients on server ports and to the server on
CLSOCK ports.
SSL *
Presents to the client or server the “self-signed certificate” provided for your
site by Sirius Software.
SSL 0
Indicates for CLSOCK ports that, although the connection is encrypted, the
client is not to provide a certificate to the server if requested.
Server certificates are required to establish an encrypted connection, but
client certificates are optional and are not used at all by many secured
servers.
Certificates and authentication are described further in the Janus Network Security
Reference Manual.
Other optional DEFINE command parameters used in conjunction with the SSL
parameter include:
●
For server sockets:
SSLBSIZE, SSLCIPH, SSLCLCERT/SSLCLCERTR,
SSLIBSIZE, SSLOBSIZE, SSLPROT, SSLSES
●
For client sockets:
SSLOPT
●
For both types of sockets:
SSLCACHE, SSLMAXAGE, SSLMAXCERTL, SSLUNENC
Other JANUS commands useful for SSL ports include:
●
For ports that authenticate incoming certificates:
ADDCA, DELCA, DISPLAYCA, STATCA
●
For monitoring a port's SSL activity:
SSLSTAT
Janus Web Server $functions useful for SSL applications and described in the Janus
Web Server Reference Manual include:
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
89
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
$WEB_CERT_INFO, $WEB_CERT_LEVELS, $WEB_CIPHER,
$WEB_PROTOCOL, $WEB_SECURE
The SSL parameter is valid for SRVSOCK, CLSOCK, WEBSERV, TNSERV, SDS, or
OPENSERV port types.
5.7.95 SSLBSIZE xxxx
This tuning parameter specifies the size of the input buffer used for reading encrypted
data for an SSL port. An SSL port is a Janus port whose definition includes an SSL
parameter (“SSL” on page 89) setting, which indicates that communications on this port
may be encrypted using Janus Network Security SSL (Secure Sockets Layer) or TLS
(Transport Layer Security) support.
Under version 6.0 and later of the Sirius Mods, the SSLBSIZE parameter also specifies
the size of the SSL output buffer. To set the input and output buffer sizes independently,
you use the SSLIBSIZE and SSLOBSIZE parameters.
The default for SSLBSIZE is 4096 bytes; the minimum and maximum values are 1024
and 32767, respectively.
If you set SSLBSIZE greater than the SSL specification maximum buffer size of 16000,
the port's input buffer size is set to the SSLBSIZE value, but the output buffer size is set
to 16000 bytes. Setting the input buffer greater than 16000 bytes might be necessary if
the port will have connections with SSL implementations that don't fully conform to the
SSL specification. For more information about buffer sizing and about Janus handling of
oversized packets, see (“SSLIBSIZE xxxx” on page 93) and (“SSLOBSIZE xxxx” on
page 95).
SSLBSIZE is valid for SRVSOCK, WEBSERV, TNSERV, SDS, or OPENSERV port
types.
5.7.96 SSLCACHE xxxx
This parameter specifies the number of entries in virtual storage to be allocated for
caching information related to this port's SSL sessions. A Janus port whose definition
includes an SSL parameter (“SSL” on page 89) setting supports Janus Network Security
SSL (Secure Sockets Layer) or TLS (Transport Layer Security) encrypted sessions.
The SSL cache helps limit the CPU overhead of establishing an SSL session. It does
not reduce the effectiveness of security, but it does reduce the overhead at the cost of a
relatively small amount of virtual storage.
SSL sessions can persist for a length of time determined by either the client or server.
Janus Network Security limits the life-span of SSL V2 connection sessions to the lesser
of 2 minutes or the value of SSLMAXAGE (“SSLMAXAGE xxx” on page 94), and it limits
——————————————————————————————————————————
90
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
SSL V3 and TLS connections to 1440 minutes (24 hours). For most sites, the default
SSLCACHE should be sufficient.
Each session requires approximately 512 bytes per entry to cache session related
information. A further SSLMAXCERTL (“SSLMAXCERTL xxx” on page 94) bytes are
required to hold server certificates for CLSOCK ports, or to hold client certificates for
Janus server ports that request them by including SSLCLCERT or SSLCLCERTR
(“SSLCLCERT and SSLCLCERTR” on page 92).
If the SSLCACHE value is too small, and a larger than anticipated number of users
attempt to access an SSL-secured port, entries in the cache are removed on a leastrecently-used basis. This may lead to greater overhead for re-execution of the CPU
intensive initial public-key/private-key encryption/decryption operations. The indicator
that the SSLCACHE value is not large enough to hold all the contemporaneous SSL
sessions is a non-zero value in the “SesNF” column of the JANUS SSLSTAT command
result. This is not necessarily problematic as long as the SesNF value is relatively small,
because it is not unreasonable to suffer an occasional lost session in order to reduce
virtual storage.
Note: SSLCACHE is specified in entries, and the default SSLCACHE allocation is the
number of storage entries required for 16 times the number of threads defined on the
port. So by default, 10 threads would result in 160 entries; at 512 bytes per entry, this
would require 81,920 bytes of virtual storage. 100 threads would require 819,200 bytes.
The default SSLCACHE value is likely to be excessively large for CLSOCK ports that
only connect to a single or to a few servers. All CLSOCK connections to a particular
server use the same SSL session regardless of how many different threads initiate
connections.
SSLCACHE is valid for SRVSOCK, CLSOCK, WEBSERV, TNSERV, SDS, or
OPENSERV port types.
5.7.97 SSLCIPH xxx
This parameter lets you limit the stream ciphers (encryption algorithms) that this port
offers for SSL connections. A Janus port whose definition includes an SSL parameter
(“SSL” on page 89) setting supports Janus Network Security SSL (Secure Sockets
Layer) or TLS (Transport Layer Security) encrypted connections.
Typically, SSLCIPH is allowed to default to 0: all the Janus-supported ciphers are
available, and the cipher that is ultimately used depends on the outcome of the
handshake negotiation with the client that seeks the service at this port. The negotiation
selects the strongest available cipher that the client can support.
However, to make only a subset of the server ciphers available, you can specify
SSLCIPH followed by the (bitmask) value that selects the subset. For example,
SSLCIPH 2 indicates that only strong RC4 encryption is available.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
91
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Currently, these ciphers are supported:
1
RC4 bulk cipher with MD5 digest algorithm with 40 bits of the 128 bit RC4 key
transmitted encrypted, the rest transmitted "in the clear" (unencrypted). This is
considered a moderately strong encryption algorithm and is available on virtually
every client implementation of SSL.
2
RC4 bulk cipher with MD5 digest algorithm with all 128 bits of the RC4 key
transmitted encrypted. This is considered a very strong encryption algorithm but is
only available on clients that have been specially configured to support this cipher.
This encryption level is not available for export from the United States.
SSLCIPH is valid for SRVSOCK, WEBSERV, SDS, or OPENSERV port types.
5.7.98 SSLCLCERT and SSLCLCERTR
These parameters specify that an SSL server port will request an SSL certificate from
the client. An SSL port is a Janus port whose definition includes an SSL parameter
(“SSL” on page 89) setting, which indicates that communications on this port may be
encrypted using Janus Network Security SSL (Secure Sockets Layer) or TLS (Transport
Layer Security) support.
If the client does not present a certificate when requested:
●
SSLCLCERT specifies that normal processing should continue.
●
SSLCLCERTR specifies either of the following:
▪
The connection should be closed with no further processing (and “MSIR.0646:
Error requesting client certificate - client did not have required certificate” is
journaled).
▪
Processing continues to run the SSLNOCERTERR exception handler, if this is
a WEBSERV port and an ON SSLNOCERTERR clause is part of the port
definition. For information about this exception handler, see the Janus Web
Server Reference Manual, and also see the example below.
To verify a certificate that is passed by a client, you must first have added to the port one
or more CA-signed certificates by using the JANUS ADDCA command (“JANUS
ADDCA” on page 27).
When a client presents a certificate, that certificate is available to User Language code
via $WEB_CERT_LEVELS and $WEB_CERT_INFO on WEBSERV ports, and it is
available via $SOCK_CERT_LEVELS and $SOCK_CERT_INFO on SRVSOCK ports.
Client certificate information can be used to perform trusted logins in NEWSESCMD
programs (“NEWSESCMD 'xxx'” on page 70).
——————————————————————————————————————————
92
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
The following example shows a web server SSL port definition that specifies the
SSLCLCERTR parameter, JANUS ADDCA commands that are needed to store CAsigned certificates to authenticate the client certificate, and a rule that specifies the
ONSSLCERTERR exception handler for cases where the client does not present a
certificate:
JANUS DEFINE CLCERTWEB 9733 WEBSERV 10 HTTPVERSION 1.1
SSL JANSSL TM2008.PKEY SSLCLCERTR
-
JANUS ADDCA CLCERTWEB MYPROC SECURESE.CERT
JANUS ADDCA CLCERTWEB MYPROC THAWTE.CERT
JANUS ADDCA CLCERTWEB MYPROC VERIJUNK.CERT
JANUS WEB CLCERTWEB ON SSLNOCERTERR OPEN FILE MYPROC
CMD 'INCLUDE MISSING_CERTIFICATE_ERROR'
-
The SSLCLCERT and SSLCLCERTR parameters are only available in version 6.0 and
later of Sirius Mods.
SSLCLCERT and SSLCLCERTR are valid for SRVSOCK, WEBSERV, SDS, or
OPENSERV port types.
5.7.99 SSLIBSIZE xxxx
This parameter specifies the size of the SSL input buffer to be used on SSL ports. An
SSL port is a Janus port whose definition includes an SSL parameter (“SSL” on page 89)
setting, which indicates that communications on this port may be encrypted using Janus
Network Security SSL (Secure Sockets Layer) or TLS (Transport Layer Security)
support.
Before version 6.0 of the Sirius Mods, the size of the SSL input buffer was specified with
the SSLBSIZE parameter (“SSLBSIZE xxxx” on page 90) because the SSLIBSIZE
parameter was not available.
Technically, the maximum “legal” SSL buffer size is 16000, but it may be necessary to
use a larger input buffer if there will be connections with SSL implementations that don't
fully conform to the SSL specification. If an application tries to send an SSL packet
larger than SSLIBSIZE to a Janus SSL port, the connection will be broken and an error
written to the audit trail (MSIR.0386 SSL INPUT MESSAGE TOO LONG - INCREASE
SSLBSIZE). The other side of the SSL connection will not receive this error message or
any other indication of why the connection was broken. There will be no effect on other
users on the same port.
The default for SSLIBSIZE is 4096, and the minimum and maximum allowable values
are 1024 and 32767, respectively.
For WEBSERV ports that are used for file uploads (HTTP PUT or form-based uploads),
it will probably be necessary to set SSLIBSIZE to at least 16000, because most
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
93
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
browsers will send SSL packets that are as large as possible. For most other
applications, the SSLIBSIZE default is probably sufficient, though web applications that
POST very large forms might require a slight increase of SSLIBSIZE.
SSLIBSIZE is valid for SRVSOCK, WEBSERV, SDS, or OPENSERV port types.
5.7.100 SSLMAXAGE xxx
This parameter specifies the maximum number of minutes that an SSL session is to be
maintained. A Janus port whose definition includes an SSL parameter (“SSL” on page
89) setting supports SSL (Secure Sockets Layer) or TLS (Transport Layer Security)
encrypted sessions. The discussion of this SSLMAXAGE parameter uses "SSL" to refer
to SSL or TLS.
An SSL session is a series of SSL connections that are made using a single “master
secret” shared by the SSL client and server. To set up an SSL session, the master
secret must be exchanged using computationally expensive public-key/private-key
encryption/decryption. SSL sessions are a way of reducing the overhead of SSL by
reducing the number of public-key/private-key encryption/decryption operations.
The SSLMAXAGE default is 1440 (24 hours), which is the specified maximum life-span
of an SSL V3 or a TLS session. The maximum life-span of an SSL V2 session is 2
minutes, so larger values of SSLMAXAGE are ignored for SSL V2 sessions. Before
version 6.0 of the Sirius Mods, only SSL V2 was supported and the SSLMAXAGE
parameter was not available, so an implicit SSLMAXAGE value of 2 was always used.
The 24-hour life-span of SSL V3 and TLS sessions is generally considered “safe”, but if
even greater security is required, a smaller SSLMAXAGE can be specified. Setting
SSLMAXAGE to 0 forces a new session for every request, which forces a publickey/private-key encryption/decryption operation for every connection. This might be
useful for benchmarking the overhead associated with the public-key/private-key
operations. The JANUS SSLSTAT command can provide useful information in
monitoring the efficacy of SSL session caching.
SSLMAXAGE is valid for SRVSOCK, WEBSERV, SDS, or OPENSERV port types.
5.7.101 SSLMAXCERTL xxx
For a Janus port defined (by the SSL parameter) to support encrypted connections, this
parameter indicates the number of bytes of virtual storage to be allocated to hold
incoming certificates presented for authentication. Authentication verifies (or not) the
certifying authority signature on the incoming certificate. Such a certificate may be:
●
●
A server certificate sent in reply to a CLSOCK port.
A client certificate sent in reply to a WEBSERV, SRVSOCK, OPENSERV, or SDS
port that has the SSLCLCERT or SSLCLCERTR parameter in its definition.
——————————————————————————————————————————
94
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
Since incoming certificates are cached, SSLMAXCERTL bytes are allocated for each
SSL session in the cache, the size of which is determined by the explicit or implicit
setting of the SSLCACHE parameter (“SSLCACHE xxxx” on page 90).
The default SSLMAXCERTL size is 1024, which should be large enough to hold most
certificates received from clients or servers. The minimum and maximum
SSLMAXCERTL values are 256 and 32767, respectively. It is unlikely that any incoming
certificate will be smaller than 512 bytes, and it is extremely unlikely that an incoming
certificate will be larger than 2048 bytes. If an incoming certificate is larger than
SSLMAXCERTL, an error message is logged to the audit trail and the connection is
closed.
The SSLMAXCERTL parameter is only available in version 6.0 and later of the Sirius
Mods.
SSLMAXCERTL is valid for SRVSOCK, CLSOCK, WEBSERV, SDS, or OPENSERV
port types.
5.7.102 SSLOBSIZE xxxx
This parameter specifies the size of the SSL output buffer to be used on SSL ports. An
SSL port is a Janus port whose definition includes an SSL parameter (“SSL” on page 89)
setting, which indicates that communications on this port may be encrypted using Janus
Network Security SSL (Secure Sockets Layer) or TLS (Transport Layer Security)
support.
Before version 6.0 of the Sirius Mods, the size of the SSL output buffer was always 256
bytes and the SSLOBSIZE parameter was not available.
There is little or no performance benefit to using large SSL output buffers, because the
amount of work associated with creating an SSL output packet is almost directly
proportional to the size of the packet. Typically, it is sensible to use the default
SSLOBSIZE of 4096, or even to make it smaller to save on memory.
The default for SSLOBSIZE is 4096, and the minimum and maximum allowable values
are 1024 and 16000, respectively.
For Model 204 to Model 204 applications, the SSLOBSIZE on each side must be less
than or equal to the SSLIBSIZE (“SSLIBSIZE xxxx” on page 93) on the other side.
SSLOBSIZE is valid for SRVSOCK, WEBSERV, SDS, or OPENSERV port types.
5.7.103 SSLOPT
Valid only for CLSOCK SSL (Secure Sockets Layer) ports, this parameter specifies that
the use of SSL-like encryption is optional for applications using the port. An SSL port is
one that includes the SSL parameter in its definition.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
95
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
If SSLOPT is set for an SSL port, the SSL or NOSSL parameter (or their equivalents) on
$SOCK_CONN and the applicable Janus Sockets object method calls determines
whether or not the connection will be encrypted. If the connection is encrypted, the
SSLPROT setting (see “SSLPROT xxx”) influences the type of encryption protocol that
will be used.
If SSLOPT is set for an SSL port, but no SSL or NOSSL parameter (or their equivalents)
is specified on $SOCK_CONN and the applicable Janus Sockets object method calls,
the connection is not encrypted by default.
If SSLOPT is not set for an SSL port, SSL is used for all client connections from the port,
and specifying the NOSSL parameter on a $SOCK_CONN call is treated as an error.
This parameter (and CLSOCK ports) are only available in version 6.0 and later of the
Sirius Mods
SSLOPT is valid only for CLSOCK ports.
5.7.104 SSLPROT xxx
This parameter lets you specify the degree of SSL-like encryption available at this port.
Janus Network Security currently supports two Secure Socket Layer (SSL) protocols
(SSL V2 and SSL V3) and the Transport Layer Security (TLS) protocol, an extension to
SSL V3 but developed by the IETF Internet standards group.
During the negotiation for a connection to or from this port, Janus will offer the most
secure protocol available, then, if necessary, will fall back to the next lower one
available, and so on. The SSLPROT parameter lets you explicitly disallow one or more
protocols from the negotiation.
SSLPROT is a bitmask parameter whose main values are:
X'01'
SSL, V2 support. This is less secure than SSL V3 or TLS.
X'02'
SSL, V3 support. This is less secure than TLS.
X'04'
TLS, V1 support.
X'07'
The default. SSL V2, SSL V3, and TLS are available. Janus will try for them in
the order: TLS, SSL V3, SSL V2.
A typical reason for explicitly specifying an SSLPROT value is to require a more secure
connection for a port. If a client attempts to connect to a Janus server port using a
protocol explicitly disallowed by SSLPROT, the connection is immediately broken,
except for WEBSERV ports where the SSLPROTOCOLERR exception handler will be
run if available.
——————————————————————————————————————————
96
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
Janus CLSOCK ports will attempt to connect under the most secure protocol available,
and will fall back to the next-most secure protocol available; if less-secure protocols are
disallowed by SSLPROT, the connection attempt will fail.
Before version 6.0 of the Sirius Mods, only SSL V2 was supported and the SSLPROT
parameter was not available.
SSLPROT is valid for SRVSOCK, WEBSERV, SDS, or OPENSERV port types.
5.7.105 SSLSES
Indicates that SSL (Secure Socket Layer) logical sessions will be used to perform
trusted logins for Janus port users once they have performed a standard login through
typical HTTP challenge-response mechanisms or through a $SIR_LOGIN issued during
NEWSESCMD processing.
This feature reduces the overhead of NEWSESCMD processing by limiting it to logical
session establishment time. The feature also eliminates some of the idiosyncrasies of
HTTP challenge-response authentication associated with password changes, whether
end-user or system initiated.
Available in Sirius Mods version 6.0 and later, the SSLSES parameter is designed for
SSL server ports.
If both SESCOOKIE (“SESCOOKIE cookie” on page 85) and SSLSES are specified, the
session associated with the SESCOOKIE will be used in preference to the session
associated with the SSL session, though these should almost always be the same.
SSLSES is valid only for WEBSERV ports.
5.7.106 SSLUNENC
This parameter indicates that an unencrypted private key is being used in the certificate
specified by the SSL parameter (“SSL” on page 89) on this Janus server port definition.
As of Sirius Mods version 6.2, this parameter is obsolete — as of this verson, Janus
Network Security automatically determines whether or not the private key is encrypted,
and if not, prompts for a password. A corrupted private key procedure could lead Janus
Network Security to believe that the private key must be encrypted, and so result in a
password prompt.
Regardless of the Sirius Mods version, the use of unencrypted private keys is
discouraged.
Before Sirius Mods version 6.2, SSLUNENC must have been specified on a port
definition if an unencrypted private key was used. Otherwise, the JANUS START
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
97
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
command for an SSL-secured port would prompt for a password (technically, a seed for
the encryption algorithm) to use to decrypt the private key. Any data, or even a null
value, entered for the password will incorrectly be used in an attempt to decrypt the
private key (rendering the key unusable), and the START will fail.
Similarly, if an encrypted private key is used in the certificate specified on the SSL
parameter, the SSLUNENC parameter must not be specified. Specifying SSLUNENC
will prevent password prompting for that key, thus bypassing decryption of the private
key (rendering it unusable), and causing the START to fail.
The certificate and private key generation process is described further in the Janus
Network Security Reference Manual.
SSLUNENC is valid for SRVSOCK, WEBSERV, SDS, or OPENSERV port types.
5.7.107 STIMEOUT seconds
This parameter sets the number of seconds of inactivity after which a Janus Web Legacy
session is terminated. Since it is quite easy for an end-user to start a 3270 session in a
browser and forget about it, a session timeout is essential to prevent all available
sdaemon threads from being eaten up by forgotten 3270 sessions. The default
STIMEOUT setting for a port is 900 (seconds) or 15 minutes. The STIMEOUT
parameter can be overridden by an STIMEOUT parameter specified on a JANUS WEB
SCREEN command or by a $WEB_SCREEN function call, both described in the Janus
Web Server Reference Manual.
Valid only for WEBSERV ports.
5.7.108 TCPLOG
A new Janus Web Server port definition parameter, TCPLOG, tells Janus Web Server to
log in a sequential dataset all inbound and outbound TCP data transmitted for this port.
The dataset name is specified as the value that follows the TCPLOG keyword.
The log file is opened and cleared when the associated Janus port is started, and it is
closed when the port is stopped or if an error occurs writing data to the dataset.
The log data is written in variable length blocks. The first four bytes of a block contain
the length of the block. Each block contains at least one record. No character
translation or formatting is done for the actual TCP data.
——————————————————————————————————————————
98
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
The layout of a block and record is described in detail below:
Offset
-----0-3
Length
-----4
4-5
2
6-7
8-15
16-23
24-27
28-31
32-33
34-35
36-36
37-37
38-39
39-n
2
8
8
4
4
2
2
1
1
2
v
Type
--------------Unsigned binary
Description
----------------------------------BDW (Block descriptor word):
the length of the block
Unsigned binary RDW (Record descriptor word):
the length of the current record
Unused
Unsigned binary Unique TCP connection number
Unsigned binary Time of day in clock units
Unsigned binary Remote IP address
Unsigned binary Local IP address
Unsigned binary Remote port number
Unsigned binary Local port number
EBCDIC character Direction: S (Sent) or R (Received)
Unused
Unsigned binary Length of TCP data
Any
TCP data
The TCPLOG dataset cannot be shared by multiple Janus ports.
The TCPLOG parameter is valid only for WEBSERV ports.
This parameter was introduced in Sirius Mods version 7.2.
5.7.109 TCPKEEPALIVE
This parameter specifies that connections on the port should use TCP keepalives. TCP
keepalives request that the TCP stack send periodic “keepalive” packets to the
communications partner to see if it is still there. The time interval between these
packets, which cannot be set by Janus, is set in the TCP/IP stack configuration. For
example, with the IBM stacks, the keepalive interval is set in the TCPCONFIG
INTERVAL parameter for BPX (IBM Communications Server) and in the
KEEPALIVEOPTIONS INTERVAL parameter for VM TCP/IP.
In some sense, the term “keepalive” is a misnomer — keepalive packets that are not
responded to cause a connection to be closed, so keepalives actually cause connections
to be closed faster than they might be otherwise.
TCPKEEPALIVE probably only makes sense for ports where connections are held open
for long periods of time. TNSERV ports are the most likely candidate. For these ports,
TCPKEEPALIVE might be useful for two reasons:
1.
It can detect connections lost due to a client failure (say, a turned-off workstation),
reducing threads wasted for connections to lost clients.
2.
It can reassure certain routers, especially those doing network address translation
(NAT) that the connection is still active. Some routers will stop routing packets for
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
99
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
connections on which no activity is seen for some period of time. Keepalives ensure
that there is periodic activity on a connection, even if there is no user interaction. Of
course, for this to be successful, the TCP/IP stack's keepalive interval must be less
than any applicable router's inactivity timeout. For this particular application,
keepalives live up to their name.
Since the TCP/IP stack does the keepalives, the overhead in Model 204 for setting this
parameter is virtually zero.
This parameter is only available in Sirius Mods version 6.9 and later.
TCPKEEPALIVE is valid for all port types.
5.7.110 TIMEOUT xxxx
This parameter specifies the number of seconds of inactivity after which clients
connected to this port will be disconnected. The default for TIMEOUT is 0, which means
that connections never time out.
For WEBSERV ports
Browser requests never involve waits on user input so the
TIMEOUT parameter for WEBSERV ports involves
terminating connections when network response is extremely
slow or cases where the client workstation has been turned
off before a response is received from Janus Web Server.
Because of this, TIMEOUT can be set fairly aggressively for
WEBSERV ports. A value of 60 (seconds) would be
reasonable.
For all other port types The TIMEOUT value should reflect the fact that a connection
might require user input waits.
TIMEOUT is valid for all port types.
5.7.111 TRACE xxx
This parameter specifies the initial TRACE setting for the port. The TRACE setting
controls what Janus-related trace information is logged to the audit trail. The port
TRACE setting can be overridden by the JANUS TRACE command.
Like the JANUS TRACE command, the TRACE parameter value is a bit mask integer
that sums the values of the options that will be logged. The default value is 3 for SDS
and OPENSERV ports, and it is 0 for WEBSERV and all other ports. For a description of
the individual bit options and for more information about the TRACE setting, see “JANUS
TRACE” on page 155.
The TRACE parameter is valid for all port types.
——————————————————————————————————————————
100
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
Note: The TRACE keyword was introduced in version 6.0 of the Sirius Mods. Before
that, trace operations were controlled by the DEBUG keyword, which is no longer
available as of version 6.5.
5.7.112 UPCASE
This parameter indicates that all client “names” are to be converted to upper case.
“Names” includes userids and passwords, variable names for OPENSERV ports, column
names for SDS ports and header parameters, header values, cookie names, and form
field names for WEBSERV ports. By setting UPCASE as a port parameter, the userid
and password can be specified by the client in case insensitive form, that is, it can be
specified in lower case.
Note that it is possible to have lower case userids and passwords in Model 204. For
example, the userids HOMER, homer, and Homer would be treated as three separate
userids by Model 204. The UPCASE parameter simplifies the interaction between
clients (where names tend to be in lower case) and Model 204 (where they tend to be in
upper case).
Note: The UPCASE parameter never results in data being converted to upper case.
That is, if a client sends variable “@customer” with a value of “Dolly Dinkle”, and
UPCASE is active for the connection, the User Language application would see a
variable called “@CUSTOMER” with a value of “Dolly Dinkle”.
For SDS ports, the UPCASE parameter means that all table and column names passed
from the Adaptive Server will be converted to upper case. This means that when
defining the columns and tables (using JANCAT), the names must all be upper case. It
also means that if an SDS port has the UPCASE parameter set but has mixed case
table and column names, those tables and columns will be inaccessible.
The UPCASE parameter is the opposite of NOUPCASE. The default is for all ports to
have UPCASE set.
Valid for WEBSERV, SDS, or OPENSERV port types.
5.7.113 VARIPADDR
Indicates that a single browser might access Janus Web Server using different IP
addresses (probably because it's accessing Janus Web Server through a “proxy farm”)
so that Janus Web Server should not use IP address to decide whether a set of requests
all came from the same browser or not. A proxy farm is a collection of proxy servers that
act more or less as one proxy server from a browser's perspective and in which a
browser might be moved around between different proxies most likely for load-balancing
purposes. Setting VARIPADDR reduces Janus Web Server's ability to distinguish
requests from multiple browsers potentially causing problems with legacy sessions,
persistent sessions (especially on public URLs) or slightly reducing the efficacy of
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
101
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
session cookies. Nevertheless, VARIPADDR is more or less unavoidable if users are
accessing Janus Web Server through “proxy farms”. The VARIPADDR parameter is
only available in Sirius Mods version 6.0 and later.
Valid only for WEBSERV ports.
5.7.114 WEBACCT xxxx
This parameter specifies the default Model 204 account ID used for web logons for
URLs where no userid is required. WEBACCT WEBUSER is the default.
Valid only for WEBSERV ports.
5.7.115 WEBCOOKID
This parameter indicates that an identifying “cookie” should be sent to a browser to
distinguish multiple browsers coming through the same proxy server or running on the
same machine. Many web features including logon caching and legacy support limit the
number of connections available to a single user. The distinction between users is made
based on userid and IP address. If many users are expected to use the same userid
and to come from the same IP address (probably because they are using the same
proxy server) WEBCOOKID can be used to distinguish these users via the web
“cookies” feature.
Note that some browsers do not support cookies (though most do) and end-users can
turn off support of the cookies feature. An end-user using a browser that does not
support cookies or has their support turned off will have difficulty using the legacy
support feature and logon caching on a WEBCOOKID port.
Valid only for WEBSERV ports.
5.7.116 WEBLH
This parameter is a synonym for WEBLOGHOLD; see “WEBLOGHOLD xxxx” on page
103.
5.7.117 WEBLM
This parameter is a synonym for WEBLOGMAX; see “WEBLOGMAX xxxx” on page 104.
——————————————————————————————————————————
102
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.118 WEBLOGCOOKIE cookie-name
This parameter indicates that, for public URLs, Janus Web should log the user in with
the userid specified by cookie-name. Normally, all public URL logins use the default
public userid (usually WEBUSER). This parameter simply allows applications to set their
own public userids. One way to do this is with the Janus Web API function
$WEB_SET_COOKIE.
If you specify the WEBLOGCOOKIE parameter, use caution if you also use the
WEBPUBLOG parameter. WEBPUBLOG logins use CCASTAT or an external authorizer
for public logins, therefore if a login cookie specifies a userid which has system
privileges, a security breach is possible. For this reason, use of WEBLOGCOOKIE with
WEBPUBLOG is not recommended, but it is not explicitly prohibited.
Note that some browsers do not support cookies (though most do) and end-users can
turn off support of the cookies feature. An end-user using a browser that does not
support cookies or has their support turned off will be logged in using the default public
userid (usually WEBUSER).
Public logins which use a WEBLOGCOOKIE cookie will participate in web logging.
Valid only for WEBSERV ports.
5.7.119 WEBLOGHOLD xxxx
This parameter indicates that number of seconds that a “real” login should be saved for
re-use on a web connection. A “real” login is either a login to a userid other than the
WEBUSER userid or a login to the WEBUSER userid when the WEBPUBLOG
parameter is set for a port.
With ordinary web processing, every request for a page or image on a page is a
separate connection. This means that if a set of URLs is logon protected, each
protected image requires a logon. WEBLOGHOLD provides a way of reducing the
number of logons and hence the overhead associated with these logons. In addition, by
keeping web users logged on for some period after a request, monitoring and auditing is
facilitated for these users. For more discussion of the logon caching feature, see the
Janus Web Server Reference Manual.
The default for WEBLOGHOLD is 0, which means that logon caching is not used for the
port.
WEBLH is a synonym for WEBLOGHOLD.
Valid only for WEBSERV ports.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
103
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.7.120 WEBLOGMAX xxxx
This parameter indicates the maximum number of cached login sessions to be held for a
single user. This parameter has no effect unless the WEBLOGHOLD parameter is set to
something other than 0.
Since a single web page can contain many images, and since browsers often request
images on a page in parallel, a single request for such a logon protected page can result
in multiple simultaneous logons for the userid. Logon caching would then hold these
logons, tying up several sdaemons in the process. WEBLOGMAX would prevent more
than the indicated number of sdaemons to be used for a single user's requests. All login
protected requests for a user are then threaded trough WEBLOGMAX users. This is
generally not a problem since the typical bottleneck for most requests is network
bandwidth, and multi-threading requests for a single user does not alleviate network
bandwidth problems. For more discussion of the logon caching feature, see the Janus
Web Server Reference Manual.
WEBLM is a synonym for WEBLOGMAX.
Valid only for WEBSERV ports.
5.7.121 WEBPL
This parameter is a synonym for WEBPUBLOG; see “WEBPUBLOG”.
5.7.122 WEBPUBLOG
This parameter indicates that a “real” login should be done for the WEBUSER userid for
public URLs. The “real” login will be a trusted login so passwords will not be required
from end-users, but the WEBUSER userid must be defined in CCASTAT or to the
external authorizer (RACF, ACF2 or Top Secret) if WEBPUBLOG is specified for a port.
If WEBPUBLOG is not specified, the WEBUSER userid will be logged on for public
URLs whether or not it is defined in CCASTAT or to an external authorizer, and it will be
given UPRIV = 0 (default user privileges).
WEBPUBLOG can be used if even public logins should be logged by an external
authorizer (as a matter of policy), or if non-standard privileges are to be assigned to the
public user. Use caution if assigning any privileges to the WEBUSER userid, since this
can be a potential security exposure. WEBPUBLOG might also be used to take
advantage of the improved monitoring and auditing capabilities made possible by the
WEBLOGHOLD parameter.
WEBPL is a synonym for WEBPUBLOG.
Valid only for WEBSERV ports.
——————————————————————————————————————————
104
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
5.7.123 WEBREALM xxxx
This parameter indicates the security “realm” of userids and passwords. If a browser
encounters a login required response (401 Unauthorized) from a server, it will attempt to
use a userid and password that it already has for the realm specified in this response
even if the userid and password were for a different server. If the browser has no saved
userid and password for the realm, it will put up a login pop-up window to prompt the
end-user for a userid and password. On all known browsers this pop-up window will
contain the name of the security realm.
The default security realm for Janus Web ports is “Model 204” followed by (in
parentheses) the jobname under MVS or the VM name under CMS. If the name of the
realm specified with WEBREALM contains spaces or other Model 204 word separator
characters, the realm must be specified inside of single-quotes. If the realm is to contain
single-quotes, each single-quote must be doubled, as in
JANUS DEFINE DATEWEB 80 WEBSERV 20 WEBREALM 'General Pepper''s Lonely Hearts Club'
Most browsers will save userids and passwords for a security realm for an indefinite
period of time during a browser session. Most browsers will also save the userid for a
realm between browser sessions so that a user can simply enter the password without
re-entering the userid for subsequent browser sessions, if appropriate. Some browsers,
including old releases of Microsoft's Internet Explorer™, will save passwords (optionally
under newer releases) between browser sessions. This is a major security hole at public
workstations. This may be best handled by refusing to do any secure processing on the
behalf of releases of web browsers that have this security flaw.
Valid only for WEBSERV ports.
5.7.124 WEBSDMAX xxxx
This parameter indicates the maximum number of sdaemons to be used for cached web
logins. This parameter has no effect unless the WEBLOGHOLD parameter is set to
something other than 0.
Since there is no upper limit to the number of login requests that can come into a web
port at a given instant, it is quite possible for a flurry of login requests to tie up every
sdaemon, causing a variety of problems including making it impossible to connect to any
Janus port. WEBSDMAX limits the number of sdaemons that will be used by a port for
cached logins. If a new cached login is required, and WEBSDMAX will be exceeded, the
oldest cached login session will be discarded even if it hasn't been around
WEBLOGHOLD seconds.
The default for WEBSDMAX is half the number of sdaemons defined to the Online. If
sdaemons are used heavily for other purposes in the Online or there are multiple ports
using the logon caching facility, WEBSDMAX should be adjusted down. For more
discussion of the logon caching feature, see the Janus Web Server Reference Manual.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
105
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
WEBSM is a synonym for WEBSDMAX.
This parameter is valid only for WEBSERV ports.
5.7.125 WEBSM
This parameter is a synonym for WEBSDMAX; see “WEBSDMAX xxxx” on page 105.
5.7.126 WEBUSER xxxx
This parameter specifies the default Model 204 user ID used for web logons for URLs
where no userid is required. WEBUSER WEBUSER is the default. A client request for a
non-protected URL, which does not require a logon, will run under the user ID specified
in the WEBUSER parameter.
See “WEBPUBLOG” on page 104 for a discussion about looking up this user ID (in
CCASTAT or the external authorization facility).
WEBUSER is valid for WEBSERV ports only.
5.7.127 WSFQUERY
This parameter indicates that Janus is to issue a “Write Structured Field Query” request
to any telnet client that connects to it. This is useful if a connecting client is not using
one of the standard screen geometries — Model 2 (24 by 80), Model 3 (32 by 80), Model
4 (43 by 80), or Model 5 (27 by 132). Model 204 and many clients support more or less
arbitrary geometries, but Model 204 cannot detect a non-standard geometry on a telnet
client without the WSFQUERY option.
If all connecting clients will be using the standard geometries, the tn3270 protocol
correctly sends the model number, telling Model 204 the screen geometry. However,
even if there are no non-standard screen sizes connecting to a Janus TNSERV port,
there is little harm in specifying the WSFQUERY parameter, other than the slight delay
in the WSF query being sent, and the response received.
If the 3270 clients at a site support arbtrary geometries, it might be well worth
experimenting with them, as there is no particular reason that any of the standard
geometries are ideally suited to a particular workstation. The Model 204 command line
and editor, and many UL/SPF applications, take advantage of all the space available on
non-standard geometry 3270 emulators. To enable support for arbitray 3270
geometries, the SIRTERM system parameter's X'01' bit must be set.
This parameter, like the Janus Telnet Server (described in the Janus Sockets
Reference Manual), is available as of Sirius Mods version 6.9 and later.
——————————————————————————————————————————
106
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
Valid only for TNSERV ports.
5.7.128 XTAB table
This parameter indicates the EBCDIC-to-ASCII, ASCII-to-EBCDIC, and character entity
translation tables to be used for the port.
You can specify a translation table that has not yet been loaded with the JANUS
LOADXT command, but the table must be loaded before the port can be started.
The default translation table is STANDARD, which is a fairly generic pair of EBCDIC-toASCII and ASCII-to-EBCDIC translate tables that was the only available option before
Sirius Mods version 6.0.
You can replace a translate table with the JANUS LOADXT command at any time, even
if the port has active connections.
For more information about translation, see “CHAR” on page 48.
Valid for all port types, the XTAB parameter is available in Sirius Mods version 6.0 and
later.
5.7.129 Janus port processing and examples
The port number specified in JANUS DEFINE is the number to which TPC/IP
applications refer. The portname specified in the command is the handle used by other
JANUS commands to START, DRAIN and perform all other internal services against
TCP/IP threads. For example
JANUS DEFINE TRENDS 517 OPENSERV 10 ALLOCC CMD 'TRENDS 3.4'
In this example a port named TRENDS is associated with TCP/IP port number 517. A
maximum of 10 simultaneous connections are allowed. Because ALLOCC is specified,
buffers are allocated for a thread only when a client connects to it. The subsystem
“TRENDS” is automatically invoked with its command line variable set to 3.4.
Each portname must be unique, but any number of different portnames may be
associated with the same port number. However, at any point in time only one
portname defined to a port may be STARTed. A specific port number can only be
STARTed on a single online on any host. The ability to have multiple portnames
associated with a port number is useful if you want to be able to invoke different
versions of a program (say a 'test' and a 'production' version) on the same port at
different times of the day. For example:
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
107
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
JANUS DEFINE ACCTPROD 1001 OPENSERV
OPEN FILE PRODPROC CMD
JANUS DEFINE ACCTTEST 1001 OPENSERV
OPEN FILE TESTPROC CMD
20
'I
20
'I
AA1'
AA1'
The number of DEFINE'd and START'ed ports may exceed the number of available
sdaemons. For example, a site may have 100 users and a license to run 100 Janus
connections. If each user was allowed to connect to any of 4 different systems, a
System Administrator might run the following set of port definitions:
JANUS
JANUS
JANUS
JANUS
DEFINE
DEFINE
DEFINE
DEFINE
RECVBL
PAYABL
CHCKBK
GENLDG
517
518
519
520
OPENSERV
OPENSERV
OPENSERV
OPENSERV
100
100
100
100
CMD
CMD
CMD
CMD
RECEIVBL
PAYABLES
CHCKBOOK
GENRLDGR
400 connections are defined, but as long as no more than 100 simultaneous connections
occur, no client will be refused a connection. In shops where users access more than
one application this will be a common situation. Shops with windowed front-end
software should remember that a single user may be able to initiate a number of
simultaneous connections to Janus ports. System Administrators should plan for the
number of Janus connections required, not the number of users on the network.
JANUS DEFINE STORES 3000 OPENSERV 3 OPEN FILE STOREDAT CMD 'INCLUDE STORES.1' MASTER TIMEOUT 300
In the above example, a port called STORES is defined to TCP/IP port number 3000. A
maximum of 3 simultaneous connections is allowed. File STOREDAT is automatically
opened when a client connection is established, and procedure STORES.1 is
INCLUDE'd. Users are timed out from this port after 5 minutes of inactivity.
The MASTER parameter is specified on the previous port definition, making it the one
that will be used for all Open Client connections that originate from within the Model 204
address space.
JANUS DEFINE CONNECT_EXTERNAL 3001 OPENSERV 50 MASTER CMD 'DISCONNECT'
The previous DEFINE command defines a port called CONNECT_EXTERNAL that
allows 50 simultaneous connections. MASTER specifies that it is the port which will be
used for Janus Open Client calls. CMD is set to DISCONNECT so that any client that
attempts to connect to this port from another client will automatically be disconnected.
A TCP/IP port definition created by JANUS DEFINE persists until the online is brought
down or a JANUS DELETE is executed against it. To automate port definitions, the
JANUS DEFINE and START commands may be stored in a Model 204 procedure file as
a procedure, which may be executed by user zero. They can also be stored in the
JANMAN database and executed via JANMAN commands (described in a later section
——————————————————————————————————————————
108
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINE
——————————————————————————————————————————
of this document). Alternatively, the commands may be inserted directly in the user zero
CCAIN stream, similar to dynamic allocation commands for files or printers.
JANUS DEFINE DIRECT 810 IFDIAL 20 TIMEOUT 600
This example defines IFDIAL service on port 810. The service is called DIRECT, and 20
simultaneous connections are allowed, with an inactivity timeout of 10 minutes.
JANUS DEFINE SQLIN 90210 SDS 150 AUTOLOAD
This example defines SDS service at port 90210. The service is called SQLINT, 150
simultaneous connections are allowed, and the table definitions are automatically
reloaded at the first user connection subsequent to any changes to the Janus Specialty
Data Store catalog.
The following DEFINE command specifies a web server at port 666 called WWW:
JANUS DEFINE WWW 666 WEBSERV 300 WEBUSER WWWUSER CMD 'UTABLE LSTBL 12000'
The command allows up to 300 simultaneous connections, and connections requesting
URLs that do not require logons will appear in Model 204 with user ID WWWUSER. The
CMD phrase sets LSTBL to 12000 for WWW users. URL processing is handled by rules
specified on JANUS WEB subcommands — this is the default processing when CMD
does not reroute processing to either an APSY or to a User Language procedure.
The DEFINE command below specifies a web server at port 3278 called INTRANET:
JANUS DEFINE INTRANET 3278 WEBSERV 50 TRACE 9
As many as 50 simultaneous connections are allowed, and the TRACE 1 and 8 bits are
turned on, sending the header parameters and a TCP/IP packet trace to the audit trail.
The following example defines a web server port called BENEFITS at port 3279 allowing
up to 250 simultaneous connections:
JANUS DEFINE BENEFITS 3279 WEBSERV 250 WEBUSER WWW OPEN FILE BENPROC CMD 'INCLUDE BENEFITS_SECURITY'
The default logon ID for connections that do not require logons is WWW. Connecting
users open file BENEFITS and execute the command specified by CMD; in this case,
the Model 204 procedure BENEFITS_SECURITY is executed. Any command specified
by CMD is processed before any JANUS WEB rules, but there must be an “ON” rule
matching each incoming URL. If a URL is not matched by some active JANUS WEB ON
rule, it will be rejected and the command specified by CMD in the JANUS DEFINE
statement will not be executed.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
109
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Note: You can review the contents of any of your port definitions by issuing JANUS
DISPLAY (“JANUS DISPLAY” on page 119) followed by the name of the port.
5.8
JANUS DEFINEIPGROUP
This command creates a named group which contains any number of IP addresses.
The IPGROUP can then be used to control Janus Web Server or Janus Sockets access
based on IP address.
JANUS DEFINEIPGROUP groupname ipaddress(es)
JANUS DEFINEIPGROUP command syntax
Where each parameter is positional and required:
groupname
A 1 - 30 character name of the group with which IP addresses are
being associated for ALLOW and DISALLOW rules in JANUS WEB,
JANUS CLSOCK, or JANUS SRVSOCK commands.
ipaddress(es)
A list of IP addresses or subnet masks in “dotted” format. IP
addresses are formatted nnn.nnn.nnn.nnn. For example,
198.242.244.47 is a valid IP address. Subnet masks are formatted in
one of two ways:
With a slash separating the subnet identifier from the subnet
mask, as in “198.242.244.0/255.255.255.0”
●
With a dash (“-”) separating the subnet identifier from the number
of subnet mask bits, as in “198.242.244.0-24”.
All formats may be used in any combination, separated by spaces or
commas, on the same command.
●
Note: Translation of a name to an IP address is not supported on this
command.
The DEFINEIPGROUP command may be abbreviated DEFIPGROUP, DEFIPG, and
DEFINEIPG. The following example builds an IP group called PRIVILEGED made of all
IP addresses in the 198.242.0.0 subdomain (using 16 mask bits), all addresses in the
169.231.11.0 subdomain (using 24 mask bits) and the single IP address 184.194.222.7.
JANUS DEFIPG PRIVILEGED 198.242.0.0-16 169.231.11.0-24 184.194.222.7
——————————————————————————————————————————
110
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINEREMOTE
——————————————————————————————————————————
5.9
JANUS DEFINEREMOTE
This command associates a remote server with a Janus OPENSERV port and specifies
characteristics of connections with that remote server.
See “JANUS DEFINE and JANUS DEFINEREMOTE Subcommands” on page 8 for a
discussion of when you need to issue the JANUS DEFINE command.
JANUS DEFINEREMOTE portname remotename host portnum [optional parms...]
JANUS DEFINEREMOTE command syntax
Where each of the first four parameters is positional and required:
portname
The name of the Janus port(s) with which a remote server is being
associated. Wildcard characters may be used in portname, indicating
that the remote server is associated with all previously defined SDS or
OPENSERV ports matching the pattern.
There must be at least one previously defined SDS or OPENSERV port
matching portname. Any ports which match portname but have not yet
been defined will not be associated with remotename, even if they are
subsequently defined.
remotename
A 1 - 30 character name for the remote server to which this Janus port
will connect and/or from which connections will be accepted. The
remote server may be a Sybase SQL server, a Sybase or Janus Open
Server, or another vendor's Open Server. Wildcard characters may not
be used in the remotename specification.
host
The IP address or hostname for the device on which the server specified
in remotename is running.
portnum
The port number on which the server specified in remotename is
running.
Janus Open Server, Sybase Open Server, and SQL Server names are case sensitive. If
you are using server names that contain lower case characters, execute a *LOWER
before running the JANUS DEFINEREMOTE.
Valid abbreviations for DEFINEREMOTE are DEFREM, DEFREMOTE and
DEFINEREM.
The optional parameters are shown in the following sections.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
111
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.9.1
CHARSET xxx
This parameter specifies the character set to use for this remote port, allowing override
of either the default character set or the character set specified on the JANUS
CHARSET subcommand. The default character set is iso_1. CHARSET has no effect
on the operation of any application in Model 204. The name of the specified character
set is simply forwarded to the target server for a Janus Open Client application. For
further discussion, see “JANUS CHARSET” on page 30.
5.9.2
INONLY
This parameter specifies that only incoming calls are allowed from this remote server,
that is, Janus Open Client applications which are running on portname are not allowed to
use $DB_xxx functions to connect with remotename. The default is to allow connections
both to and from the remote server. If a site does not have Janus Open Client, INONLY
is the default since outgoing connections cannot be established without Janus Open
Client
5.9.3
LANGUAGE xxx
This parameter specifies the language to use for this remote port, allowing override of
either the default language or the language specified on the JANUS LANGUAGE
subcommand. The default language is us_english. LANGUAGE has no effect on the
operation of any application in Model 204. For further discussion, see “JANUS
LANGUAGE” on page 137.
5.9.4
NOSITE
This parameter specifies that an outgoing (Janus Open Client) connection is not to use a
site handler, that is, it is to appear as a client to server rather than a server to server
connection to the target server. Use of NOSITE makes it possible to connect to a
remote server without the Janus port being defined to the that server; this is required for
Microsoft SQL Server. When using Sybase or Omni SQL Server or Sybase Adaptive
Server, the sp_addremotelogin procedure, which normally can translate M204 user IDs
to Sybase user IDs, cannot be used on a client to server connection.
5.9.5
OPTSITE
This parameter specifies that an outgoing (Janus Open Client) connection can choose to
not use a site handler by using the NOSITE parameter on the $DB_OPEN call. That is,
it can appear as a client to server rather than a server to server connection to the target
server.
——————————————————————————————————————————
112
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINEREMOTE
——————————————————————————————————————————
5.9.6
OUTONLY
This parameter specifies that only outgoing calls to this remote server are allowed. The
default is to allow connections both to and from the remote server. If a site does not
have Janus Open Server, OUTONLY is the default since incoming connections cannot
be handled without Janus Open Server.
5.9.7
SITEACCT xxx
This parameter specifies the Model 204 ACCOUNT for the site handler for the remote
server. If no SITEACCT is specified the ACCOUNT for the user executing the
DEFINEREMOTE command is used.
5.9.8
SITEUSER xxx
This parameter specifies the Model 204 user ID for the site handler for the remote
server. If no SITEUSER is specified the user ID for the user executing the
DEFINEREMOTE command is used.
5.9.9
TIMEOUT xxx
This parameter specifies the number of seconds without a logical connection after which
the site handlers will log off and the connection to the remote server will be broken. The
default TIMEOUT is 60 seconds.
5.9.10 TRUST, JANUS DEFINEREMOTE
This parameter permits the port to initiate a user session for an incoming user ID by
performing a trusted login and ignoring the password. To minimize the security hole
introduced by this parameter, the VERIP parameter should also be specified when
TRUST is specified.
5.9.11 VERIP
This parameter specifies validation of the IP address of the connecting remote server.
This indicates that Janus should reject a connection attempt by the remote server if the
IP address does not match either the IP address specified on the JANUS
DEFINEREMOTE command or the IP address found by doing a DNS name lookup on
the host name specified on the JANUS DEFINEREMOTE command. VERIP does not
provide bullet-proof security because it is not a difficult task to spoof (fake) an IP
address. Nevertheless, it is better than nothing and should certainly be used whenever
the TRUST parameter is specified.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
113
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.9.12 Janus remote server processing and examples
Note that several of the optional parameters of JANUS DEFINEREMOTE use the term
site handler. As mentioned in “JANUS DEFINE and JANUS DEFINEREMOTE
Subcommands” on page 8, one reason a remote port must be defined is to allow a
Janus Open Server port to accept requests from remote server host. A site handler is
used for this purpose, and for Janus Open Client communications to remote servers
without the NOSITE parameter.
A site handler is an sdaemon that performs the task of multiplexing logical user
connections across a physical connection to a remote server. The site handler appears
as a Model 204 user the first time a logical connection is established with the remote
server. The site handler remains logged on for as long as any logical connection exists.
Then, after TIMEOUT seconds have elapsed the site handler also logs off. The site
handler occupies an sdaemon thread and counts as a Janus connection.
If a site handler is bumped, it is disconnected immediately irrespective of TIMEOUT, and
all logical user connections to the remote server are lost. It is recommended that site
handlers not be bumped.
The rest of this section contains several examples of JANUS DEFINEREMOTE.
JANUS DEFINE AGENTS OPENSERV 4021 CMD 'MAILLIST'
JANUS DEFREM AGENTS AGENTS_SQL_SERVER RS6000 3010 INONLY SITEUSER 'GHOST'
In the previous example the remote server AGENTS_SQL_SERVER is associated with
port AGENTS. AGENTS_SQL_SERVER is running on a host name RS6000 at port
number 3010. INONLY specifies that the port cannot be used by Janus Open Client
functions. The site handler will appear as user ID ‘GHOST’ and will timeout 60 seconds
after the last user connection terminates (using the default TIMEOUT). Each user
connecting from the remote server is thrown directly into subsystem MAILLIST by the
JANUS DEFINE command.
*LOWER
JANUS DEFINE PRODUCERS OPENSERV 4022 CMD 'CONTACTS'
JANUS DEFREM PRODUCERS big_shots RS6000 3030 SITEUSER 'CASPER'
JANUS START PRODUCERS
*UPPER
In this example we first set the session to mixed case with *LOWER to allow us to define
a lower-case remote server name. Next we define the Janus Open Server port
PRODUCERS and associate it with port number 4022 and the subsystem “CONTACTS”.
We designate the remote server (for incoming and outgoing connections) as a server
named big_shots running on host RS6000 at port 3030 with the site handler having
Model 204 user id CASPER. Then we start port PRODUCERS, making it available for
connections.
——————————————————————————————————————————
114
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DEFINEREMOTE
——————————————————————————————————————————
*LOWER
JANUS DEFINE DIRECTORS OPENSERV 4027 CMD 'WANNABE' MASTER UPCASE
JANUS DEFINEREMOTE DIR* lights_cameras_action RS6000 3037 SITEUSER 'ICHABOD' OUTONLY
JANUS START DIRECTORS
*UPPER
In this example we set the session to mixed case with *LOWER to allow us to define a
lower-case remote server name. Next we define the Janus Open Server port
DIRECTORS and associate it with a port and subsystem. The port also acts as the
MASTER port for Janus Open Client connections and forces upper case translation of
parameter names.
We designate the remote server as a server named lights_cameras_action running on
host RS6000 at port 3037 with the site handler having 204 user ID ICHABOD. The port
allows only outgoing connections. Then we start port DIRECTORS, making it available
for connections, and reset *UPPER status.
JANUS DEFINE WRITERS_CONTRACT OPENSERV 4012 CMD 'UTILITIES' UPCASE
JANUS DEFINE WRITERS_INHOUSE OPENSERV 4013 CMD 'LOGOFF' UPCASE MASTER
JANUS DEFINEREMOTE WRITERS* SCRIBBLERS SPARC2 3013
JANUS START WRI*
In the above example port WRITERS_CONTRACT is defined at port 4012 and
WRITERS_INHOUSE defined at port 4013, and a remote server SCRIBBLERS is
associated with both of them. SCRIBBLERS runs on host SPARC2 at port 3013. Note
that we don't specify OUTONLY on port 4013 but if any client attempts to connect, a
'LOGOFF' command will execute, making this effectively a port for the exclusive use of
Janus Open Client applications front-ended within the Model 204 online.
Port WRITERS_CONTRACT however will put externally front-ended clients into
subsystem UTILITIES, and the DEFINEREMOTE definition will allow the UTILITIES
application to access the same remote server as users going out on
WRITERS_INHOUSE. A configuration such as the one above shows how a similar
Open Client access is made available to two versions of an application, a 3270 version
running in the Model 204 online, and a workstation version accessing Model 204 over
Janus Open Server connections.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
115
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.10
JANUS DEFINEUSGROUP
This command creates a named group which contains any number of user IDs. The
USGROUP can then be used to control web access or CLSOCK access based on user
ID.
JANUS DEFINEUSGROUP groupname userid(s)
JANUS DEFINEUSGROUP command syntax
Where each parameter is positional and required:
groupname
A 1 - 30 character name of the group with which user IDs are being
associated for ALLOW and DISALLOW rules in JANUS WEB or JANUS
CLSOCK commands.
user id(s)
A list of Model 204 user IDs. User IDs may be wildcarded using the
wildcard characters described at the beginning of the chapter.
The DEFINEUSGROUP command may be abbreviated DEFUSGROUP, DEFUSG, or
DEFINEUSG.
The following command associates the user group name CLOWNS with the user ID
MILKY and with all user IDs starting with BOZO:
JANUS DEFUSG CLOWNS MILKY BOZO*
5.11
JANUS DELCA
This command removes a “trusted” certifying authority's (often abbreviated as CA)
certificate from a port. The JANUS DELCA command removes certifying authority
certificates added with the JANUS ADDCA command (“JANUS ADDCA” on page 27).
JANUS DELCA portname filename procname
JANUS DELCA command syntax
Where each parameter is positional and required:
portname
The defined JANUS port to from which the certificates are to be removed.
Can include wildcards.
filename
The name of the file that contains the CA certificate.
——————————————————————————————————————————
116
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DELCA
——————————————————————————————————————————
procname
The name of the procedure that contains the base64 encoded CA
certificates to be removed. Because the certificates are copied into
memory at the time of the JANUS ADDCA command, neither the file nor
the procedure containing the certificate in the JANUS DELCA are opened
during JANUS DELCA processing and, in fact, neither the file nor the
procedure actually need to be accessible or to even exist any more at the
time of the JANUS DELCA command.
The JANUS DELCA command is only available in Sirius Mods version 6.0 and later.
5.12
JANUS DELETE
This deletes the definition of the named port. The port must not be in the START state
when DELETE is issued.
JANUS DELETE portname
JANUS DELETE command syntax
Where 'portname' is the name of the port definition to delete. Once a port definition is
deleted it must be redefined, using JANUS DEFINE, before it can be started again.
JANUS DELETE SIMPS*
In the above example all definitions for port names beginning with “SIMPS” are deleted
from the Online.
5.13
JANUS DELETEIPGROUP
This command deletes a previously defined IP group.
JANUS DELETEIPGROUP groupname
JANUS DELETEIPGROUP command syntax
Where the single parameter is required:
groupname
A 1 - 30 character name of the IP group being deleted.
The DELETEIPGROUP command may be abbreviated DELIPGROUP, DELIPG, and
DELETEIPG, so
JANUS DELETEIPGROUP ACCOUNTING_DEPT
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
117
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Deletes the IP group definition for ACCOUNTING_DEPT.
The DELETEIPGROUP command will fail if there are active JANUS WEB rules that
reference the IP group. See “Rule matching order and examples” on page 196 for a
discussion of removing rules.
5.14
JANUS DELETEREMOTE
This deletes the association between a port and its remote server. There must be no
logical connections with the remote server when the association is broken.
JANUS DELETEREMOTE portname remotename
JANUS DELETEREMOTE command syntax
Where 'portname' identifies the ports whose remote server definitions are to be deleted,
and 'remotename' identifies the remote server names to be deleted. The portname and
remotename criteria jointly constrain the deletion.
JANUS DELETEREMOTE ONE* TEN*
The above example would delete the remote server definitions for remote servers
beginning with “TEN” (TENDER, TENNESSEE, TEN_COMMANDMENTS, etc.) which
were associated with ports beginning with “ONE” (ONEROUS,
ONE_MORE_FOR_THE_ROAD, ONEDGE, etc.).
Valid abbreviations for DELETEREMOTE are DELREM, DELREMOTE and
DELETEREM.
5.15
JANUS DELETEUSGROUP
This command deletes a previously created User Id grouping.
JANUS DELETEUSGROUP groupname
JANUS DELETEUSGROUP command.
Where the single parameter is required:
groupname
A 1 - 30 character name of the User Id group being deleted.
The DELETEUSGROUP command may be abbreviated DELUSGROUP, DELUSG, and
DELETEUSG, so
——————————————————————————————————————————
118
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DELETEUSGROUP
——————————————————————————————————————————
JANUS DELETEUSGROUP LEGAL*
deletes all user ID groups that begin with the characters “LEGAL”.
The DELETEUSGROUP command will fail if there are active JANUS WEB rules that
reference the User ID group. See “Rule matching order and examples” on page 196 for
a discussion about removing rules.
5.16
JANUS DISPLAY
This command displays the definition of the named port.
JANUS DISPLAY [ portname ]
JANUS DISPLAY command syntax
Where portname identifies the port(s) to be displayed. JANUS DISPLAY output is in the
form of a series of JANUS DEFINE commands, and it may be captured for re-execution
with a Model 204 USE command or with a $COMMxxx function, as described in the
Sirius Functions Reference Manual.
If portname is omitted, it defaults to an asterisk (*), which displays all port definitions.
The command that follows displays all definitions for ports whose name contains the
string TIM. This includes port names like STIMPY, TIMBER, and TIM.
JANUS DISPLAY *TIM*
This command displays all JANUS port definitions:
JANUS DISPLAY
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
119
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.17
JANUS DISPLAYCA
This command displays information about the contents of “trusted” certifying authority
certificates that have been added to a port with the JANUS ADDCA command (“JANUS
ADDCA” on page 27). Sample DISPLAYCA output that shows the kind of information
displayed follows the parameter descriptions, below.
Certifying authority is often abbreviated as CA. DISCA is a valid synonym for
DISPLAYCA.
JANUS DISPLAYCA [portname] [filename] [procname]
JANUS DISPLAYCA command syntax
Where each parameter is positional, can be specified with pattern wildcards, and can be
replaced with an asterisk (*), which returns all values for that category. You may omit a
parameter (which is equivalent to specifying an asterisk value for it) if the parameters to
its right are omitted.
portname
The defined JANUS port whose trusted certificate information is to be
displayed.
filename
The name of the file that contains trusted CA certificates whose information
you want to display.
procname
The name of the procedure that contains the CA certificate whose
information you want to display. Because the certificates are copied into
memory at the time of the JANUS ADDCA command, neither the file nor
the procedure containing the certificate is opened during JANUS
DISPLAYCA processing. In fact, neither the file nor the procedure need to
be accessible or even to exist at the time of the JANUS DISPLAYCA.
The following example shows the format of DISPLAYCA output for a Sirius-certified
certificate. Note that it includes the ADDCA command that loaded the certificate.
JANUS ADDCA SSLCLIENT TESTPROC TEST.CERT
* Subject:
sirius|sirius-software.com|www.sirius-software.com
*
Software Development
*
Sirius Software Inc.
*
Cambridge, MA, US
* Issuer:
sirius|sirius-software.com|www.sirius-software.com
*
Software Development
*
Sirius Software Inc.
*
Cambridge, MA, US
* Version:
1
* Serial no.: xxxx:yyyy
* Valid from: Wed, 26 Mar 2003 15:05:50 GMT
* Valid to:
Mon, 13 Jun 2011 15:05:50 GMT
* Key length: 512 bits
* MD5 hash:
abcd:efgh:ijkl:mnop:qrst:uvwx:yz12:3456
* SHA hash:
aabb:ccdd:eeff:gghh:iijj:kkll:mmnn:oopp:qqrr:sstt
——————————————————————————————————————————
120
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DISPLAYCA
——————————————————————————————————————————
The JANUS DISPLAYCA command is available only in Sirius Mods version 6.0 and
later.
5.18
JANUS DISPLAYREMOTE
This displays the definitions of remote servers for the specified ports and/or remote
servers.
JANUS DISPLAYREMOTE portname remotename
JANUS DISPLAYREMOTE command syntax
Where 'portname' identifies the ports whose remote server definitions are to be
displayed, and 'remotename' identifies the remote server names to be displayed. The
portname and remotename criteria jointly constrain the display.
JANUS DISPLAYREMOTE WIZ* TIN*
The above example would display the remote server definitions for remote servers
beginning with “TIN” (TINMAN, TINSOLDIER, TINA, etc.) which were associated with
ports beginning with “WIZ” (WIZARD, WIZBANG, etc.).
JANUS DISPLAYREMOTE output is in the form of a series of JANUS DEFINEREMOTE
commands, and may be captured for re-execution with a Model 204 USE command or
with a $COMMxxx function, as described in Sirius Functions Reference Manual.
Valid abbreviations for DISPLAYREMOTE are DISREM, DISREMOTE and
DISPLAYREM.
JANUS DISREM * HO???
In the above example, remote server definitions are displayed for those with names that
are 5 characters long beginning with “HO” (HOMER, HOLLY, etc.). on any port
(specified by the “*”).
5.19
JANUS DISPLAYSOCK
This displays the rules in effect (the active rules) for one or more more specified
CLSOCK, DEBUGGERCLIENT, SRVSOCK, or FTPSERVER ports.
JANUS DISPLAYSOCK portname
JANUS DISPLAYSOCK command syntax
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
121
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Where
portname
identifies the ports whose rules are to be displayed.
JANUS DISPLAYSOCK output is in the form of a series of JANUS CLSOCK and JANUS
SRVSOCK commands, and it may be captured for re-execution with a Model 204 USE
command or with a $COMMxxx function, as described in Sirius Functions Reference
Manual.
If JANUS DISPLAYSOCK is specified for an FTP port, it displays the FTP entities
defined for the port, in addition to the command's usual output. The FTP entities include
folders created, rules defined, and permissions granted.
DISSOCK is a valid abbreviation for DISPLAYSOCK.
The following command will display the rules in effect for all CLSOCK,
DEBUGGERCLIENT, SRVSOCK, and FTPSERVER ports whose names begin with
“OZ”:
JANUS DISSOCK OZ*
JANUS rules are not shown if they were made obsolete by subsequent rules; the JANUS
DISPLAYSOCK command only shows rules that are active.
5.20
JANUS DISPLAYTRACE
This displays the trace settings for the named port(s).
JANUS DISPLAYTRACE [portname]
JANUS DISPLAYTRACE command syntax
Where
portname
The name of the port(s) for which to display trace settings. If portname is
not specified, the trace settings for all Janus ports are displayed.
DISTRACE can be used as a synonym for DISPLAYTRACE.
The output from the DISPLAYTRACE command includes one line that begins with an
asterisk (*) and shows the TRACE setting from the port definition, followed by a line
showing each JANUS TRACE command currently in effect for the port.
For more information on the meaning of the values in the JANUS TRACE command, see
“JANUS TRACE” on page 155.
——————————————————————————————————————————
122
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DISPLAYTRACE
——————————————————————————————————————————
The DISPLAYTRACE command was introduced in version 6.0 of the Sirius Mods.
Before that, the JANUS DISPLAYDEBUG command performed the operations described
for the JANUS DISPLAYTRACE command. As of version 6.5, the JANUS
DISPLAYDEBUG command is no longer available.
5.21
JANUS DISPLAYWEB
This command displays the rules in effect (the active rules) for a specified WEBSERV
port.
JANUS DISPLAYWEB [portname] [ruletype [url] ]
JANUS DISPLAYWEB command syntax
Where
portname
identifies the WEBSERV port whose rules are to be displayed. It can
contain wildcards so that rules for multiple ports can be displayed with a
single command. Portname is optional; if omitted, all rules for all
WEBSERV ports are displayed.
ruletype
is the type of web rules to be displayed. Valid types are ALLOW, ON,
REDIRECT, SCREEN (in version 5.0 and later of Sirius Mods), and TYPE.
Ruletype is optional; if omitted, all rules for portname are displayed. Note
that ALLOW will also display DISALLOW rules, and REDIRECT will also
display NOREDIRECT rules.
JANUS DISPLAYWEB output is in the form of a series of JANUS WEB commands, and
may be captured for re-execution with a Model 204 USE command or with a $COMMxxx
function, as described in Sirius Functions Reference Manual.
JANUS WEB commands are not shown if they were made obsolete by subsequent
commands. The JANUS DISPLAYWEB command only shows rules that are active.
DISWEB is a valid abbreviation for DISPLAYWEB. For example,
JANUS DISWEB OZ*
shows the rules in effect for all WEBSERV ports whose names begin with “OZ”, would
dislay web rules for all ports with names beginning with ‘WEB’ while
JANUS DISWEB
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
123
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
would display web rules for all web ports.
To see all rules that control access to URL's on port OZSEC, simply type
JANUS DISWEB OZSEC ALLOW
In Sirius Mods version 6.2 and later it is possible to specify a URL in the JANUS
DISWEB command as in
JANUS DISWEB MAGIC ON /HOUSECUP/STANDINGS
If the URL, as in this example, contains no wildcards, all rules that might apply to the
URL are displayed but it is the last one displayed that would actually be applied to the
URL should the URL be requested. If the URL specified in the JANUS DISWEB
command contains one or more wildcards such as
JANUS DISWEB MAGIC ON /HOUSECUP/*
all rules that might apply to any URL that matches the wildcard URL are displayed, that
is an rule that is a subset or superset of or has an overlap with the indicated rule. In the
above example, rules that would be displayed could include
JANUS WEB MAGIC ON * CMD 'GENERIC'
JANUS WEB MAGIC ON /HOUSE* CMD 'HOUSE *'
JANUS WEB MAGIC ON *.GIF OPEN FILE IMAGES SEND *.GIF
JANUS WEB MAGIC ON /HOUSECUP/STANDINGS CMD 'CUP STANDINGS'
Specifying a specific URL in a JANUS DISWEB command can help determine which
rules would apply to that URL. Specifying a wildcard URL in a JANUS DISWEB
command can help determine which set of commands might apply to a set of URLs
though the results might be confusing if JANUS WEB rules of a particular type (ON,
REDIRECT, TYPE, ALLOW, DEBUG) contain a mix of rules that contain fixed prefixes
(like /FOO/*) and suffixes (like *.HTML). Mixing prefix and suffix rules is, in any case, a
good formula for confusion so is best avoided if possible.
5.22
JANUS DISPXT
This command displays either a list of all loaded translate tables or the contents of the
single translate table that you specify. Translate tables are used to convert received
input or transmitted output on Janus connections. They are described further in
“Translate tables” on page 9.
JANUS DISPXT [xtable]
JANUS DISPXT command syntax
——————————————————————————————————————————
124
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS DISPXT
——————————————————————————————————————————
Where:
xtable
Identifies a translate table to be displayed. If no table name is specified, all
currently loaded translate tables are displayed.
Each translate table consists of a pair of tables of hexadecimal values, one table for
ASCII to EBCDIC translation and one for EBCDIC to ASCII.
The default translation table is named STANDARD. You can see the mappings in that
table with:
JANUS DISPXT STANDARD
For ease of viewing and editing the default table, you might want to create a procedure
like the following:
DELETE PROC -2
USE PROC -2
JANUS DISPXT STANDARD
E -2
...
For information about loading translate tables, see “JANUS LOADXT” on page 139.
5.23
JANUS DOMAIN
This specifies the domain to the Model 204 online.
JANUS DOMAIN domainname
JANUS DOMAIN command syntax
Where domainname is the Internet domain name. The JANUS DOMAIN command only
has an effect when running in an IBM (TCPTYPE=IBM) TCP/IP environment. If
domainname is left blank, the JANUS DOMAIN command displays the current domain
name.
JANUS DOMAIN sirius-software.com
In the above example the domain name is set to “sirius-software.com”.
The JANUS DOMAIN command need only be executed if your site uses IBM TCP/IP
and you wish to refer to host names without the domain name qualifiers. Host names
are referenced in the JANUS DEFINEREMOTE command, the JANUS DEFINE
command for a CLSOCK port, and the “connect” $functions in Janus Sockets. These
include, the $sock_conn function and the New method for the Socket class. Host names
are also used in the Page and Host methods of the HTTPRequest class.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
125
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
For example, to retrieve a page on host hockey.sirius-software.com one could write:
%req
is object httpRequest
...
%req = new
%req:host ='hockey.sirius-software.com'
...
However, if the domain name is set to “sirius-software.com” in the Online in which this
request is running, the above request could also be written as:
%req
is object httpRequest
...
%req = new
%req:host ='hockey'
...
The correct value to use in the JANUS DOMAIN command is usually the value to which
DOMAINORIGIN is set in file TCPIP DATA (under VM) or xxxxxx.TCPIP.DATA (under
MVS).
5.24
JANUS DRAIN
This prevents new connections from being initiated on the named port(s), and has no
effect on active connections.
JANUS DRAIN portname
JANUS DRAIN command syntax
Where portname is the name of the port(s) to drain. Once a DRAIN is executed against
a port, no users may access it until it is started again via the JANUS START command.
Current connections are not affected by the DRAIN subcommand. The DRAIN
subcommand returns immediately, but activity on the port does not end until all current
connections are closed.
JANUS DRAIN HOMER??
In the above example, all ports with 7-character names beginning with HOMER are
placed in a drain state.
——————————————————————————————————————————
126
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS FTP
——————————————————————————————————————————
5.25
JANUS FTP
The JANUS FTP command defines the rules for a Janus FTP Server running on a Janus
Sockets FTP (FTPSERVER) port. These rules primarily control access to the files
exposed by the FTP server.
JANUS FTP portname rule_type other_parameters
JANUS FTP command syntax
The first two parameters are positional and are required:
portname
The name (thirty characters or fewer) of the FTP port, or a pattern
specifying a set of ports, for which the rule is being defined.
Wildcards are allowed. The Janus definition of the port or ports
must include the FTPSERVER parameter.
rule_type
The rule_type specifies the sort of rule being specified for the
port(s). Valid rule_types are:
other_ parameters
ASSIGN
Creates FTP folders and maps them to
Model 204 files.
DEASSIGN
Removes FTP folders.
ALLOW
Grants read or write access to a folder created
with FTP ASSIGN.
DISALLOW
Revokes read or write access to a folder.
HOME
Specifies a home folder (initial location at login)
for a user.
ON
Sets up overrides, by specifying files to be
opened and commands to be executed when a
specific FTP operation is performed.
SUFFIX
Allows specification of the transfer mode (text
or binary) of procedures/files by suffix (for
example, .html, .xml).
The additional parameters allowed for the JANUS FTP command
depend on the rule_type that is specified. The various rule_types
and their parameters are described in the following alphabetically
ordered sections.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
127
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
You must specify at least three JANUS FTP commands — one each of FTP ASSIGN,
FTP ALLOW, and FTP HOME — and it typically takes a set of JANUS FTP commands
to fully specify the rules for an FTP server port. For instance, it may take a number of
commands to specify the folders that are available for access, the users that may
connect, and the privileges and home folders of the users.
In practice, the first of the JANUS FTP commands to issue is FTP ASSIGN.
For more examples and more information about Janus FTP support, see the Janus
Sockets Reference Manual.
5.25.1 JANUS FTP ALLOW
This command is used to grant user access to a folder in addition to any access granted
via a DEFAULTPRIVS parameter on the FTP ASSIGN (“JANUS FTP ASSIGN” on page
129) for the server port.
JANUS FTP portname ALLOW foldername READ | WRITE TO [USER user] | [USGROUP usgroup] | ANONYMOUS | ALL
JANUS FTP ALLOW comand syntax
Where:
portname
Must be a previously defined Janus FTP Server port.
foldername
A folder previously created with JANUS FTP ASSIGN.
READ or WRITE
The folder access privileges being granted. One of these must be
specified:
TO
READ
FTP get (RETR command) and directory listings (LIST)
are permitted. Also, the FTP client or user can cd
(change directory, CWD) into this directory.
WRITE
READ privileges plus permission for FTP put, delete,
and rename (STOR, DEL, RNFR, and RNTO).
To whom access is being granted to foldername. One of these
options must be specified, and only one of these per folder may be
issued. To modify an earlier ALLOW rule, first use FTP DISALLOW
(“JANUS FTP DISALLOW” on page 132).
USER user
A Model 204 user ID. The user is not
checked for existence when this
command is issued.
——————————————————————————————————————————
128
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS FTP
——————————————————————————————————————————
USRGROUP usrgroup
A user group created with the JANUS
DEFINEUSGROUP command (“JANUS
DEFINEUSGROUP” on page 116). The
group is not checked for existence when
this command is issued.
ANONYMOUS
Anonymous users.
ALL
All Model 204 users (except the
ANONYMOUS user).
Examples of valid FTP ALLOW commands follow:
JANUS FTP FTP01 ALLOW /ANON READ TO ANONYMOUS
JANUS FTP FTP01 ALLOW /GLWHOME WRITE TO USER GLW
JANUS FTP FTP01 ALLOW /ALL READ TO ALL
JANUS FTP FTP01 ALLOW /GLWHOME READ TO USGROUP FTP
5.25.2 JANUS FTP ASSIGN
This command creates an FTP folder for a previously defined FTP port.
JANUS FTP portname ASSIGN foldername [ TO FILE filename ]
[ DEFAULTPRIVS READ | WRITE ]
[ PREFIX [. | /] ]
JANUS FTP ASSIGN comand syntax
Where:
portname
Must be a previously defined Janus FTP Server port.
foldername
The name of the FTP folder being created.
TO FILE filename
The Model 204 procedure file being associated with foldername.
DEFAULTPRIVS
The privileges a user gets unless a JANUS FTP ALLOW rule gives
them greater access. If DEFAULTPRIVS is not specified, no
access is permitted except that granted by FTP ALLOW rules.
Default privileges do not apply to ANONYMOUS access. Any
ANONYMOUS access must be granted with an FTP ALLOW rule.
The privileges allowed are READ and WRITE, one of which must
be specified, as discussed in “JANUS FTP ALLOW” on page 128.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
129
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
PREFIX
Invokes prefixing for this folder. Files uploaded to this folder by
FTP clients are stored with the name of the folder prefixed to the
filename. File MYFILE uploaded to folder ANNUAL becomes
procedure /ANNUAL/MYFILE.
PREFIX may be be followed by a “prefix character” — forward slash
( / ) or period (.) — which is used as the separator in folder names.
The default is a forward slash.
Note: The characters in the prefix string are added to and do
increase the length of the procedure name, whose Model 204 limit
is 255.
You can dynamically assign folders once a port is started, but you may not issue multiple
ASSIGNs for the same folder. To reassign a folder, you must first remove the
assignment using JANUS FTP DEASSIGN (“JANUS FTP DEASSIGN” on page 131).
You may not deassign a folder once a port is started, however; in this case, you must
first drain the folder using the JANUS DRAIN command (“JANUS DRAIN” on page 126).
If you use a single JANUS FTP ASSIGN to create a folder such as /A/B/C, the
following FTP change directory command works as expected:
cd /A/B/C
However, you cannot use cd to move to the intermediate folder levels /A and /A/B,
unless each of these levels is also defined with an individual JANUS FTP ASSIGN
command. In addition to defining /A, /A/B, and /A/B/C as three separate folders with
three ASSIGNs, allowing navigation to all three levels also requires granting at least
READ access at each level. The following statements create this three-level folder
structure:
JANUS FTP FTPJ1 ASSIGN /A TO FILE JPROC DEFAULTPRIVS READ
JANUS FTP FTPJ1 ASSIGN /A/B TO FILE JPROC DEFAULTPRIVS READ
JANUS FTP FTPJ1 ASSIGN /A/B/C TO FILE JPROC DEFAULTPRIVS READ
The statements above create three folders that point to the same underlying procedure
file. FTP clients will display and be able to navigate up and down this directory tree. In
this case, however, clients will see the same procedures at any folder level they view.
You can adjust this outcome by adding prefixing to the assignments:
JANUS FTP FTPJ1
DEFAULTPRIVS
JANUS FTP FTPJ1
DEFAULTPRIVS
JANUS FTP FTPJ1
DEFAULTPRIVS
ASSIGN /A TO FILE JPROC
READ PREFIX
ASSIGN /A/B TO FILE JPROC
READ PREFIX
ASSIGN /A/B/C TO FILE JPROC
READ PREFIX
-
——————————————————————————————————————————
130
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS FTP
——————————————————————————————————————————
As a result:
●
●
The names of all files uploaded to these FTP server folders are prefixed with the
name of the folder to which they are uploaded. The INFO file uploaded to folder
/A/B/C is stored as /A/B/C/INFO.
To clients, a display of the list of the files in any folder contains only the files that are
prefixed with that folder name.
Note: Such a display may also include files that belong to a subfolder: for example,
the /A/B/C/INFO file will be displayed in a list of the files in folder /A as
/A/B/C/INFO, in a list of the files in folder B/ as /B/C/INFO, and in a list of the
files in folder C/ as /C/INFO.
An alternative to prefixing in this case is to assign each folder to its own procedure file,
as shown below. Then a display to a client of the list of the files in any folder contains all
the files that are stored in that procedure file, without regard for prefixes, if any, or for
how the files got there:
JANUS FTP FTPJ1 ASSIGN /A TO FILE JPROC1 DEFAULTPRIVS READ
JANUS FTP FTPJ1 ASSIGN /A/B TO FILE JPROC2 DEFAULTPRIVS READ
JANUS FTP FTPJ1 ASSIGN /A/B/C TO FILE JPROC3 DEFAULTPRIVS READ
Of course, in all the examples above, you can use FTP ALLOW commands (along with
or in place of the DEFAULTPRIVS parameter of FTP ASSIGN) to diversify user access.
For example:
JANUS FTP FTPJ1 ASSIGN /A TO FILE JPROC1 DEFAULTPRIVS WRITE
JANUS FTP FTPJ1 ASSIGN /A/B TO FILE JPROC2 DEFAULTPRIVS READ
JANUS FTP FTPJ1 ASSIGN /A/B/C TO FILE JPROC3 DEFAULTPRIVS READ
JANUS FTP FTPJ1 ALLOW /A/B WRITE TO USGROUP DEV
JANUS FTP FTPJ1 ALLOW /A/B/C WRITE TO USER SUPER
A benefit of predefining a folder tree like /A, /A/B, and /A/B/C is that, by making the folder
names match the names of the directories on your workstation, you can then upload
entire directories and subdirectories in one request, if your FTP client permits. The
Janus FTP Server does not currently support client requests to create (or delete or
rename) a folder, so the required directry/subdirectory structure must preexist on the
server before a client can upload files arranged in such a structure.
5.25.3 JANUS FTP DEASSIGN
This command removes an existing FTP folder from a Janus FTP port.
JANUS FTP portname DEASSIGN foldername
JANUS FTP ASSIGN comand syntax
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
131
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Where:
portname
Must be a previously defined Janus FTP Server port.
foldername
A folder previously created with JANUS FTP ASSIGN.
Once an FTP Server port is started, no FTP DEASSIGN commands may be issued for it;
the port must first be drained (using JANUS DRAIN, described in “JANUS DRAIN” on
page 126.
A folder may not be removed with DEASSIGN if it is referred to by FTP ALLOW, HOME,
or ON rules.
Example FTP DEASSIGN commands follow:
JANUS FTP FTP04 DEASSIGN /TEMPAREA
JANUS FTP FTPANON DEASSIGN /JUNK
5.25.4 JANUS FTP DISALLOW
This command revokes folder access rights that were previously granted using JANUS
FTP ALLOW.
JANUS FTP portname DISALLOW foldername TO [USER user] | [USGROUP usgroup] | ANONYMOUS | ALL
JANUS FTP DISALLOW comand syntax
Where:
portname
Must be a previously defined Janus FTP Server port.
foldername
A folder previously created with JANUS FTP ASSIGN.
TO
Specifies whose access to foldername is to be taken away. Users not
previously specified by FTP ALLOW are ignored. One of these options
must be specified:
USER user
A Model 204 user ID. The user is not checked
for existence when this command is issued.
USRGROUP usrgroup
A user group created with the JANUS
DEFINEUSGROUP command (“JANUS
DEFINEUSGROUP” on page 116). The group
is not checked for existence when this
command is issued.
——————————————————————————————————————————
132
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS FTP
——————————————————————————————————————————
ANONYMOUS
Anonymous users.
ALL
All Model 204 users (except the ANONYMOUS
user).
An example DISALLOW command follows:
JANUS FTP FTP01 DISALLOW /PUB0 TO USER XXXX
5.25.5 JANUS FTP HOME
This command identifies the folder where an FTP user is placed when they log in.
JANUS FTP portname HOME foldername
TO [USER user] | [USGROUP usgroup] | ANONYMOUS | ALL
JANUS FTP HOME comand syntax
Where:
portname
Must be a previously defined Janus FTP Server port.
foldername
A folder previously created with JANUS FTP ASSIGN.
TO
The TO clause identifies for whom a home folder is to be set up. One of
these options must be specified:
USER user
A Model 204 user ID. The user is not checked
for existence when this command is issued.
USRGROUP usrgroup
A user group created with the JANUS
DEFUSG command. The group is not checked
for existence when this command is issued.
ANONYMOUS
Anonymous users.
ALL
All Model 204 users (except the ANONYMOUS
user).
Note: All Janus FTP server users must have a home folder assigned.
When a user logs in, the JANUS FTP HOME commands for the port are used as a rule
set to select a home folder. The following steps are then applied to the home rule set to
determine a home folder:
1.
If the user is ANONYMOUS and there is an ANONYMOUS entry, use it; but if there
is no ANONYMOUS entry, reject the login.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
133
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
2.
If the user is not ANONYMOUS, do the following:
a.
If an FTP HOME rule specifies the user on a USER clause, use that folder.
b.
If no USER clause matches, but the user is in a group specified in an FTP
HOME rule USGROUP, use that folder.
c.
If no USGROUP group contains the user, but an ALL rule is present, use that
folder.
d.
If no FTP HOME rule matches, the login is rejected.
Example FTP HOME commands follow:
JANUS FTP FTP01 HOME /GLW2HOME TO USER GLW2
JANUS FTP FTP01 HOME /ALL TO ALL
JANUS FTP FTP01 HOME /GLWHOME TO USGROUP FTP
5.25.6 JANUS FTP ON
This command lets you override the default processing of an FTP operation (service
command) with your own version.
JANUS FTP portname ON foldername | *
STOR | RETR | LIST | RNTO | DELE
[OPEN fg [[AND fg] ...]] CMD cmd [[AND cmd] ...] | DEFAULT
JANUS FTP ON comand syntax
Where:
portname
Must be a previously defined FTP Server port.
foldername
A folder previously created with JANUS FTP ASSIGN. If an asterisk (*) is
specified instead of a folder name, the override is used for all folders on the
port.
STOR | RETR | LIST | RNTO | DELE
Names the operation being overriden (one of the following must be
selected). For a list of all the FTP commands supported by Janus FTP,
including those not available for override, see the Janus Sockets
Reference Manual.
——————————————————————————————————————————
134
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS FTP
——————————————————————————————————————————
This option
STOR
RETR
LIST
RNTO
DELE
Overrides this operation
FTP put (upload files)
FTP get (download files)
FTP ls or dir (list files in wide or narrow format)
FTP rename
FTP delete
OPEN fg
Lists one or more files or groups to open before the commands specified on
the CMD clause are run. If you specify multiple files or groups, they must be
separated by AND keywords. Each fg term has the following format, where
you can specify individual open privileges (which default to X'0221'):
[FILE | GROUP] fgname [[WITH] privs]
CMD cmd
Lists one or more Model 204 commands to execute to perform the override.
If more than one is specified, they must be separated by AND keywords.
Any command that contains blanks must be enclosed in quotes. The total
length of commands plus one overhead byte per command may not exceed
255 bytes.
DEFAULT
Resets any previous FTP ON for the folder, restoring the default handling of
the operation specified in that ON rule. In short, to reverse an ON, use
DEFAULT.
Note: For a given operation and folder, any previous ON rule must be be
turned off with DEFAULT before a new FTP ON is issued.
Example FTP ON commands follow:
JANUS FTP FTP05 ON /SPLAT STOR OPEN FTPTEST WITH X'BFFF' CMD 'I POV.STOR'
JANUS FTP FTP05 ON /SPLAT LIST OPEN FILE FTPTEST CMD 'I POV.LIST'
JANUS FTP FTP05 ON * LIST CMD 'SUB1'
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
135
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.25.7 JANUS FTP SUFFIX
This command lets you specify any file types that a Janus FTP Server should treat as
text data for storage and translation purposes (even if received under BINARY transfer
mode). This permits Janus FTP to work with those FTP clients that incorrectly send all
files in BINARY mode, even those that are text data.
JANUS FTP portname SUFFIX suffix [TEXT | DEFAULT]
JANUS FTP SUFFIX comand syntax
Where:
portname
Must be a previously defined Janus FTP Server port.
suffix
A file-type suffix that ends a procedure name (preceded by a period in the
procedure name). For example, you use HTML to match procedures whose
names are of form WHATEVER.HTML.
TEXT
Procedures with names ending in suffix will be handled as text data (not
binary), even if the FTP transfer mode is BINARY.
DEFAULT
Restores the default behaviour (no special handling); can be used to turn
off a previously issued FTP SUFFIX command.
The FTP protocol is based on the assumption that the FTP client will toggle between
ASCII and BINARY mode as needed based on the type of the file. It is the client's
responsibility to select the proper file transfer mode. Some (poorly behaved) FTP
clients, however, send all files in BINARY mode.
Janus FTP Server uses base64 encoded format to store files that are uploaded (FTP
put or stor) in BINARY FTP mode (type I). The FTP SUFFIX command is used to
prevent text file types from being stored in base64.
Janus file storage formats are described further in the Janus Web Server
documentation.
Example FTP SUFFIX commands follow:
JANUS FTP FTP01 SUFFIX HTML TEXT
JANUS FTP FTP01 SUFFIX XML TEXT
JANUS FTP FTP01 SUFFIX FOO DEFAULT
——————————————————————————————————————————
136
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS FORCE
——————————————————————————————————————————
5.26
JANUS FORCE
This immediately terminates all client connections to the named port(s) and prevents
further connections from being established.
JANUS FORCE portname
JANUS FORCE command syntax
Where portname is the name of the port(s) from which client connections are to be
disconnected. Once a port is FORCE'd, no clients may connect to it again until it is
restarted via the JANUS START command.
The FORCE subcommand returns after a very brief delay; the actual termination of
connections may take some additional time, but once the FORCE subcommand returns,
no other application-level communication will take place over the FORCEd port(s).
JANUS FORCE SMITHERS
In the above example, all client connections to port SMITHERS are immediately broken,
and further connections to SMITHERS are prevented.
5.27
JANUS LANGUAGE
This subcommand sets the default language for all Janus ports in the Model 204 region.
JANUS LANGUAGE language
JANUS LANGUAGE command syntax
Where the single parameter is optional:
language
A name (no more than 30 characters) for the language to be used. The
default value is us_english.
LANGUAGE has no effect on the operation of any application in Model 204. The name
of the specified language is simply forwarded to the target server for a Janus Open
Client application. Because almost all SQL Server language names are lowercase, the
language specified after LANGUAGE will generally be translated to lowercase. For
example, specifying 'LANGUAGE CELTIC' will actually request language “celtic” from a
target server.
If an uppercase or mixed-case language name is required, simply place a plus sign (+) in
front of the language name. For example, to specify language “RUSSIAN”, simply enter
LANGUAGE +RUSSIAN.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
137
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
The language specified on a JANUS DEFINEREMOTE command overrides the
language specified on a JANUS DEFINE command which overrides the language
specified on a JANUS LANGUAGE command. If the language name is left blank, the
JANUS LANGUAGE command will display the name of the current language.
5.28
JANUS LIMITS
This provides information about overall Janus thread usage activity in an Online, which
can be useful in isolating problems with thread availability and in doing capacity
planning. The JANUS TSTATUS command (“JANUS TSTAT or TSTATUS” on page
158) provides information about port-specific thread usage and availability. The JANUS
LIMITS command is only available in Sirius Mods 6.0 and later.
JANUS LIMITS
JANUS LIMITS command syntax
JANUS LIMITS provides the following information:
●
The maximum number of licensed simultaneous connections.
●
The number of sdaemon threads in the Online. The minimum of this value and the
maximum licensed connection value is the absolute limit on simultaneous Janus
connections in the Online. Since sdaemon threads can be used for things other
than Janus (such as $COMMBG processing), the actual number of sdaemons
available for Janus processing in an Online will often be less than the value
displayed here.
●
The current number of Janus “connections” in the Online. These are connections
that count against the site's maximum connection limit and include active network
connections and persistent WEBSERV sessions (Janus Web Legacy or
$WEB_FORM_DONE).
●
The high water mark of number of Janus “connections” in the Online. These are
connections that count against the site's maximum connection limit and include
active network connections and persistent WEBSERV sessions (Janus Web Legacy
or $WEB_FORM_DONE).
●
The number of refused connections. Connections can be refused either because
the licensed connection limit has been exceeded, all the threads for a port are in
use, no sdaemons are available, or Janus could not get the virtual storage for the
required buffers on an ALLOCC port. Ideally, this number should be zero. If it is
non-zero, the root cause can only determined by scanning the journal for messages,
MSIR.0019, MSIR.0020, MSIR.0023 or MSIR.0026.
——————————————————————————————————————————
138
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS LIMITS
——————————————————————————————————————————
To make this process simpler, it might make sense to MSGCTL these messages to
OPR. Of course, in many cases it might be possible to infer the cause of refused
connections or at least to eliminate some possibilities. For example, if the
connection highwater mark is less than the maximum licensed connections, it's clear
that no connections could be rejected for exceeding the site's connection limit.
SirMon also provides some TCP and sdaemon usage statistics that might be helpful
in isolating the cause of refused connections.
5.29
JANUS LOADXT
This command specifies the name and, if necessary, the location of translate table
source code.
LOADXT tname
[[FILE | GROUP] fgname pname] | [DDNAME dname]
| [UNICODE | DEFAULT]
JANUS LOADXT command syntax
JANUS LOADXT specifies a name and location of a new or replacement Janus translate
table. As described in “Translate tables” on page 9, translate tables are used to convert
received input or transmitted output on Janus connections. You can define as many
different translate tables as you need for your environment.
tname
The internal name given to the translate table. This name is used on the
XTAB parameter of the JANUS DEFINE command to specify a translate
table for a port. It is also used on Janus Web ON rules to specify a special
translate table for web URLs. The translate table name does not have to
match the external name. The name may be as many as 15 bytes. An
application may change translate tables using the $WEB_SET function.
fgname
The name of the Model 204 file or group, if preceded by the keyword FILE
or GROUP.
pname
The name of the procedure or member that contains the source.
dname
Refers to a previously allocated ddname, if preceded by the keyword
DDNAME. This parameter is only valid under MVS systems.
UNICODE
Loads as Janus translation table tname a table that is identical (except as
described below) to the current Janus SOAP Unicode table (which is used
for parsing an XML document and for non-EBCDIC serialization of an
XmlDoc). The difference between the table to be loaded and the Janus
SOAP Unicode table is that, since there is no concept of “untranslatable” in
the use of the Janus translation tables, the following translations are
included:
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
139
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
ASCII to EBCDIC
Untranslatable ASCII code points are translated to
EBCDIC X'FF'.
EBCDIC to ASCII
Untranslatable EBCDIC code points are translated to
ASCII X'3A', the ASCII colon character (:).
The Janus SOAP Unicode table translations are also used for the
AsciiToEBCDIC and EBCDICToAscii Janus SOAP system intrinsic
methods.
To view the specific translations in effect after loading the Unicode table,
you can use the UNICODE Display command to determine the codepage
and view the character mappings used at your site. “Translate tables” on
page 9 contains an example of these UNICODE commands.
The UNICODE parameter is available as of version 7.6 of the Sirius Mods.
DEFAULT
Loads as Janus translation table tname the initial default Janus translation
table (named STANDARD) installed with the Sirius Mods.
This parameter can be used as an “undo” command: for example, if you
had loaded the Unicode table and named it STANDARD:
JANUS LOADXT STANDARD UNICODE
Then the following command reverts the STANDARD translate table to its
default:
JANUS LOADXT STANDARD DEFAULT
The DEFAULT parameter is available as of version 7.6 of the Sirius Mods.
You can specify existing external translate table source if you use the DDNAME
keyword. For example, IBM supplies many translate tables with its TCP/IP product
under MVS. You can use these tables directly with JANUS LOADXT. To use these
tables, you must first allocate the dataset and member you want to load. Use the
Model 204 ALLOCATE command to do this:
ALLOCATE IBMXTAB WITH SCOPE=SYSTEM DSN=TCPIP.AEZAXLT1 MEMBER=US OLD SEQUENTIAL VOLUME=OS260R
Then use the JANUS LOADXT command to load the translate table:
JANUS LOADXT newtable DDNAME IBMXTAB
The LOADXT command reads the translate table and converts it into an internal format.
If the source contains no errors, the translate table replaces any old translate table with
——————————————————————————————————————————
140
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS LOADXT
——————————————————————————————————————————
the same name. Any active Janus connections using the named translate table will not
be affected by the LOADXT command. The old translate table stays in memory until the
last user releases it. Any new Janus connections, however, will immediately begin using
the new translate table. Therefore, it is never necessary to DRAIN or FORCE a Janus
port when replacing translate tables.
If LOADXT detects any errors with the new translate table source, the translate table will
not be loaded, and any existing table with the same name will remain unchanged.
For information about coding your own translate tables, see “Translate tables” on page
9. For information about displaying your translate table(s), see “JANUS DISPXT” on
page 124.
5.30
JANUS NAMESERVER
This specifies the IP address and port of the TCP/IP name server. Under Sirius Mods
version 6.8 and later, additional name servers and local name caching parameters can
also be specified.
JANUS NAMESERVER ip_address port_number [AND ip_address port_number [AND ip_address port_number ... ]] [TIMEOUT numsec] [CACHE numcache] [MAXTTL maxsec]
JANUS NAMESERVER command syntax
Where ip_address is the IP address of the host on which the name server resides, and
port_number is the port on that host that is used to access the name server. The
JANUS NAMESERVER command only has an effect when running in an IBM
(TCPTYPE=IBM) TCP/IP environment. If JANUS NAMESERVER is executed without
parameters, it displays the current setting for NAMESERVER.
In the following example, the name server location is specified as port 53 on the host at
IP address 198.242.244.33:
JANUS NAMESERVER 198.242.244.33 53
If port_number is not specified, it defaults to 53, the standard port for name servers.
Under Sirius Mods version 6.8 and later, the AND clause allows specification of
alternative backup name servers. This can be useful to provide redundancy in the
unlikely case that there is a failure or shutdown of the primary name server.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
141
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Typically, all DNS requests go to the primary (first) name server. If a request times out,
it is assumed that that name server is having problems, and the second name server is
sent the request. If the second name server sends a response, it becomes the primary
name server. That is, all subsequent DNS requests are sent to it. If the second name
server fails to respond, the third name server is tried; if it responds, it becomes the
primary name server. And so on.
The following command tells Janus Sockets to use the nameserver at IP address
198.242.244.9 as the primary name server, and to use the one at 198.242.244.47 as a
backup. No port numbers are specified because the name servers use the default port
of 53 (as do almost all name servers):
JANUS NAMESERVER 198.242.244.9 AND 198.242.244.47
Since name servers rarely go down, it is probably quite unnecessary to have more than
two name servers, but as many as eight name servers are supported by Janus.
Note: A negative response from a name server, that is, a response that indicates that
the name server does not know the requested host name, does not cause a subsequent
name server to be tried. If name servers are properly configured, changing name
servers should not affect the success of a hostname lookup.
The other JANUS NAMESERVER command parameters available in Sirius Mods
version 6.8 and later are:
TIMEOUT numsec
This sets the maximum number of seconds to wait for a name
server response. The internet standard for this value, and the
value used by Janus Sockets before Sirius Mods version 6.8, was
10. While this might be a reasonable value if lookups are going
against busy name servers on the other side of the world, and the
internet is extremely busy, this value is absurdly high for business
applications where the name server is local and all host names
being sought are local. Even for internet-wide lookups, a tensecond timeout is probably overkill these days.
In any case, the cost of a high timeout value is that if there should
be a problem with a name server, it would take the timeout
number of seconds to notice the problem and correct for it. 10
seconds is a fairly long time for this to happen, so one might want
to set this timeout to a lower value.
CACHE numcache
This parameter indicates that Janus Sockets is to save hostnameto-IP address mappings in the Online address space. This means
that subsequent name server lookups would be extremely fast inmemory lookups, rather than calls to an external name server.
This would both save CPU and reduce name lookup latency.
Numcache is the maximum number of hostnames to cache in the
Online. Names are cached in virtual storage, and the amount of
virtual storage required for the cache is about 100*numcache. If
——————————————————————————————————————————
142
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS NAMESERVER
——————————————————————————————————————————
the number of hostnames ever looked up is relatively small, it
would make sense to set numcache to a little more than this
number of hostnames. Otherwise, the setting of numcache is a
trade-off between CPU savings and latency and virtual storage —
cache entries are saved according to a most-recently-used
algorithm so that frequently requested hostnames tend to remain
in cache. There are several system statistics the can be viewed
via SirMon that make it possible to determine how well the name
caching is working. These statistics are described below.
MAXTTL maxsec
This parameter indicates the maximum amount of time Janus
Sockets is to save a hostname to IP address mapping in its local
cache before checking it again with the name server. The name
MAXTTL stands for MAXimum Time To Live. This parameter
might be useful in highly dynamic environments where host
addresses might change somewhat frequently.
When a name server sends a hostname to IP address mapping
response, it also sends a “Time To Live” with that response. This
indicates that the requestor should revalidate the name after the
indicated time-to-live. Janus Sockets uses the minimum of the
time-to-live sent by the name server and the value of MAXTTL for
the effective time-to-live of a name server response.
Janus Sockets does not cache negative responses. That is, if the
name server did not know a particular hostname, and that
hostname is requested again, Janus Sockets will again query the
name server for that hostname.
The JANUS NAMESERVER command can be issued at any time, so the name server
lookup behavior of Janus Sockets can be dynamically changed for extraordinary
situations such as name server crashes, name server reconfigurations, wholesale IP
address changes on the local network, and so on.
Resets of CACHE and MAXTTL should “do the right thing.” That is, a change of CACHE
value should preserve as many as the new CACHE value's number of entries. For
example, if CACHE went from 300 to 50, the fifty most recently used entries would be
preserved. If it went from 100 to 200, all entries would be preserved, of course. So if
one wants to clear the cache, numcache should be set down to 0, then back up to the
desired cache size.
The following system statistics can be viewed in SirMon to determine how name server
lookups are faring in an Online:
DNSCACHE
The number of entries in the name server cache (the CACHE value on
the JANUS NAMESERVER command).
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
143
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
DNSMAXTL
The value of the MAXTTL parameter on the JANUS NAMESERVER
command.
DNSCURNS
The current “go to” name server, in dotted IP address format with the
port number in parentheses. For example: 198.242.244.9(53).
DNSRTOT
Total number of name lookup requests.
DNSRFAIL
Number of name lookup requests that did not succeed, that is, did not
get an IP address.
DNSRSUCC
Number of name lookup requests that succeeded.
DNSRCACH
Number of name lookup requests that found the requested name in the
local cache.
DNSRTIMO
Number of requests to name servers that timed out before they got a
response. With multiple name servers, a single request can try several
servers and so get several timeouts. But, of course, this is probably rare
in practice.
DNSWTIME
Total time spent waiting for responses from name servers.
5.31
JANUS RELOAD
This reloads the Model 204 to SQL mappings from the JANCAT file into virtual storage
and CCATEMP.
JANUS RELOAD portname
JANUS RELOAD command syntax
Where portname is the name of the port(s) to reload. JANUS DEFINE must have been
used to define the port and JANUS START must have been used to start the port before
reloading it via JANUS RELOAD.
JANUS RELOAD SDS*
In the above example all ports whose names begin with SDS have their Model 204 to
SQL mappings reloaded from the appropriate JANCAT file. The reload can only happen
when there are no in flight transactions (updating or retrieval) on the port. A long
running Specialty Data Store request can cause a significant delay in the processing of
the JANUS RELOAD command. After a JANUS RELOAD command is issued, all new
Specialty Data Store requests will have to wait for the reload to complete before being
processed.
——————————————————————————————————————————
144
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS RELOAD
——————————————————————————————————————————
If the AUTOLOAD switch is turned on for a port definition, the JANUS RELOAD need not
be executed. AUTOLOAD (see “AUTOLOAD” on page 45) causes table mappings to be
loaded to the port automatically at the first user connection subsequent to any change to
the Janus Specialty Data Store catalog file.
5.32
JANUS SRVSOCK
The JANUS SRVSOCK command defines the rules for a Janus Sockets server running
on a SRVSOCK port. These rules control access to the port.
JANUS SRVSOCK portname rule_type [optional parameters]
JANUS SRVSOCK command syntax
The JANUS SRVSOCK command is slightly different from most Janus commands in that
it usually takes a set of commands to fully specify the rules for a port. For instance, it
may take a number of commands to specify the various host names and ranges of IP
addresses that may connect. The order in which JANUS SRVSOCK commands are
specified also affects how they are processed.
The first two parameters are positional and are required:
portname
A 1 - 30 character name of the port, or a pattern specifying a set of ports,
for which the rule is being defined. Wildcards are allowed.
rule_type
The rule_type specifies what sort of rule is being specified for the port or
ports. Valid rule_types are:
ALLOW
Assigns access permission.
DISALLOW
Removes access permission.
The ALLOW and DISALLOW rules are processed together, from most recent to oldest.
The optional parameters allowed for the JANUS SRVSOCK command depend on the
rule_type that is specified. The various rule_types are shown in the following sections,
followed by a section giving examples and showing the interaction of JANUS SRVSOCK
commands (“Rule matching order and examples” on page 148).
Note that the JANUS CLSOCK and JANUS SRVSOCK commands differ from the
corresponding rules available with the JANUS WEB command in the following ways:
●
JANUS WEB does not allow any optional parameters (for example, USGROUP) on
the DISALLOW rule.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
145
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
●
The default access for WEBSERV non-SSL ports and SRVSOCK ports is ALLOW;
the default access for WEBSERV SSL ports and CLSOCK ports is DISALLOW.
●
ALLOW and DISALLOW are the only rule types for JANUS CLSOCK and JANUS
SRVSOCK; there are a number of other rule types for JANUS WEB.
5.32.1 JANUS SRVSOCK ALLOW
JANUS SRVSOCK portname ALLOW [NONE] | [IPADDR ipaddr | IPGROUP ipgroup]
JANUS SRVSOCK ALLOW command syntax
The JANUS SRVSOCK ALLOW command indicates that a particular remote host or set
of hosts have access to the SRVSOCK ports that match pattern portname.
The default access for SRVSOCK ports is to allow all remote hosts. For an incoming
request, access to a SRVSOCK port depends on the most recent rule for that port that
matches the conditions of the request:
●
If the conditions match all clauses on a JANUS SRVSOCK ALLOW rule, access to
the port is allowed.
●
If the conditions match all clauses on a JANUS SRVSOCK DISALLOW rule, access
to the port is not allowed.
●
If the conditions match neither an ALLOW nor a DISALLOW rule, access to the port
is allowed.
If a JANUS SRVSOCK ALLOW command is specified with no optional parameters, all
hosts can access the SRVSOCK ports that match the pattern in portname.
The optional parameters for the JANUS SRVSOCK ALLOW command are:
NONE
Indicates that no remote hosts are allowed access to portname. If
NONE is specified, no other optional parameters may be
specified.
IPADDR ipaddr
Indicates that a request from a machine with an IP address that
matches ipaddr is allowed access to portname.
ipaddr can be a simple IP address or it can be a subnet. Subnets
are indicated by an IP address followed by a slash (/) followed by
a netmask (with no intervening blanks), or by a hyphen (-)
followed by a number of bits in the subnet mask (with no
intervening blanks).
——————————————————————————————————————————
146
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS SRVSOCK
——————————————————————————————————————————
For example, 198.244.244.97 is a simple IP address that must
be matched exactly. 198.242.244.0/255.255.255.0, which
is equivalent to 198.242.244.0-24, indicates that any machine
on subnet 198.242.244.0 is to be allowed access to portname.
The IPADDR parameter cannot be specified if the IPGROUP
parameter is specified.
IPGROUP ipgroup
Indicates that a user on a machine with an IP address that
matches one of the entries in ipgroup is allowed access to
portname. IP groups are defined with the JANUS
DEFINEIPGROUP command (“JANUS DEFINEIPGROUP” on
page 110).
The IPGROUP parameter cannot be specified if the IPADDR
parameter is specified.
5.32.2 JANUS SRVSOCK DISALLOW
JANUS SRVSOCK portname DISALLOW [IPADDR ipaddr | IPGROUP ipgroup]
JANUS SRVSOCK DISALLOW command syntax
The JANUS SRVSOCK DISALLOW command indicates that a particular remote host or
set of hosts does not have access to the SRVSOCK ports that match pattern portname.
The default access for all SRVSOCK ports is to allow all remote hosts. For an incoming
request, access to a SRVSOCK port depends on the most recent rule for that port that
matches the conditions of the request:
●
If the conditions match all clauses on a JANUS SRVSOCK DISALLOW rule, access
to the port is not allowed.
●
If the conditions match all clauses on a JANUS SRVSOCK ALLOW rule, access to
the port is allowed.
●
If the conditions match neither an ALLOW nor a DISALLOW rule, access to the port
is allowed.
If a JANUS SRVSOCK DISALLOW command is specified with no optional parameters,
no hosts can access the SRVSOCK ports that match the pattern in portname.
The optional parameters for the JANUS SRVSOCK DISALLOW command are:
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
147
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
IPADDR ipaddr
Indicates that a request from a machine with an IP address that
matches ipaddr is not allowed access to portname.
ipaddr can be a simple IP address or it can be a subnet. Subnets
are indicated by an IP address followed by a slash (/) followed by
a netmask (with no intervening blanks), or by a hyphen (-)
followed by a number of bits in the subnet mask (with no
intervening blanks).
For example, 198.244.244.97 is a simple IP address that must
be matched exactly. 198.242.244.0/255.255.255.0, which
is equivalent to 198.242.244.0-24, indicates that any machine
on subnet 198.242.244.0 is to be allowed access to portname.
The IPADDR parameter cannot be specified if the IPGROUP
parameter is specified.
IPGROUP ipgroup
Indicates that a user on a machine with an IP address that
matches one of the entries in ipgroup is not allowed access to
portname. IP groups are defined with the JANUS
DEFINEIPGROUP command (“JANUS DEFINEIPGROUP” on
page 110).
The IPGROUP parameter cannot be specified if the IPADDR
parameter is specified.
5.32.3 Rule matching order and examples
Each execution of a JANUS SRVSOCK subcommand adds to the set of rules for the
specified SRVSOCK port. Individual rules cannot be deleted nor modified. All rules can
be deleted only by stopping and deleting the port definition. Deleting a port definition,
however, should not be necessary, as long as you follow the two golden rules:
1.
2.
Specify the most general rules first and the most specific last.
Specify an initial rule that “clears” all related rules.
The following example illustrates these principles:
JANUS
JANUS
JANUS
JANUS
SRVSOCK
SRVSOCK
SRVSOCK
SRVSOCK
TEST21
TEST21
TEST21
TEST21
DISALLOW *
ALLOW IPADDR 198.242.244.0-24
ALLOW IPADDR 169.84.128.0-3
DISALLOW IPADDR 169.84.128.17
In this example, any previously specified ALLOW rules on port TEST21 are made
obsolete by the first DISALLOW rule. Once the TEST21 access rules are cleared, two
subnets are given access permission, and then a single specific IP address within one of
those subnets has its access revoked.
——————————————————————————————————————————
148
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS SSLSTAT or SSLSTATUS
——————————————————————————————————————————
5.33
JANUS SSLSTAT or SSLSTATUS
JANUS SSLSTAT and JANUS SSLSTATUS are simply two ways of issuing the same
command. Available only in Sirius Mods 6.0 and later, the JANUS SSLSTAT or
SSLSTATUS command provides a detailed display of the SSL activity for each
combination of Janus port and network security protocol. “SSL activity” refers to Janus
Network Security encrypted communications on a Janus port whose definition includes
an SSL parameter specification. Janus Network Security supports the SSL (Secure
Sockets Layer) and TLS (Transport Layer Security) protocols.
JANUS SSLSTATUS portname
JANUS SSLSTATUS command syntax
Where portname is the name of the port(s) to display. portname defaults to an asterisk
(*) to display the SSL activity on all ports.
JANUS SSLSTATUS *
In the above example, the command would display the encrypted connection activity on
all defined ports.
JANUS SSLSTATUS provides the following information:
Name
Name defined to the TCP/IP port.
Port
TCP/IP port number.
Type
IFDIAL, SDS, OAS, OMNI, OPENSERV, WEBSERV, CLSOCK, or
SRVSOCK.
Stat
Status of the connection (started, stopped, forcing, or draining).
Prot
The security protocol to which the line applies.
One line is displayed for each port for each protocol. Currently, the
supported protocols are SSL version 2 (V2), SSL V3, and TLS V1.
Connects
Number of TCP/IP connections made to the port.
For a WEBSERV port, this corresponds to the number of “hits” or pages
requested from the server.
SesNew
Number of new SSL/TLS sessions created for the port.
SesNew is always less than Connects, because the worst case is that each
new connection requires a new session. A new session requires the
exchange of a “master-secret” using computationally expensive publickey/private-key encryption/decryption. Because of the cost of this
exchange, most SSL/TLS implementations try to re-use a master-secret
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
149
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
from a previous connection. All connections that use the same mastersecret are part of an SSL/TLS session. Ideally, SesNew would be
significantly less than Connects.
SesNF
The number of times a browser tried to continue an SSL/TLS session but
Janus was unable to locate the session information in its session cache.
This not-found situation is only likely to happen if the session information
was displaced from the session cache by other sessions. If SesNF is a
large value, it might be worth increasing the size of the SSL session cache
with the SSLCACHE parameter (“SSLCACHE xxxx” on page 90) on the
JANUS DEFINE command.
While from a client's perspective, a session-not-found situation can also
occur if the port (or possibly the Online) serving the connection was cycled
since the last connection by the client, this is not counted as part of SesNF.
SesTO
The number of times a browser tried to continue an SSL/TLS session but
Janus decided that the session information in its session cache had
expired.
These timeouts are only likely to happen if the default SSL session lifespans are overridden with the SSLMAXAGE parameter (“SSLMAXAGE
xxx” on page 94) on the JANUS DEFINE command. If SSLMAXAGE is not
defined, both Janus and the other side of an encrypted connection are
likely to be using the same default life-spans for secure sessions: 2
minutes for SSL V2, and 24 hours for SSL V3 and TLS.
If both client and server have identical values for the maximum SSL/TLS
session life-span, there is a slight chance that a client will decide that a
secure session is still valid (by say one millisecond), but the delay between
this and the time the server receives the request is long enough for the
server to decide the session is expired. Even so, an expired session
simply forces the client and server to start a new session by exchanging a
new “master-secret” using public-key/private-key encryption/decryption.
Otherwise, processing continues as usual over the connection.
Errs
The number of security protocol errors.
By far, the most common cause of these protocol errors is an attempt to
connect to a secured port using something other than SSL or TLS: either
unencrypted data or an unsupported protocol.
——————————————————————————————————————————
150
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS START
——————————————————————————————————————————
5.34
JANUS START
This makes a port available for connections; it is put into the START state.
JANUS START portname
JANUS START command syntax
Where 'portname' is the name of the port(s) to start.
Note: The JANUS DEFINE command must be used to define the port before it is
started with JANUS START. Also, if the port is defined to use Secure Sockets Layer
(SSL) or Transport Layer Security (TLS) for secured communications, you are prompted
for the password that decrypts the private key for the certificate specified on the SSL
parameter of this port's DEFINE command.
In the following example, all ports whose names begin with ACCTS are made available
for incoming connections, and any remote servers associated with those ports are made
available for outgoing connections. For any of these ports whose DEFINE commands
did not include an ALLOCC, the control blocks are built in SPCORE.
JANUS START ACCTS*
5.35
JANUS STAT or STATUS
This provides a detailed display of the current status of specified ports. The JANUS
STAT form of this command is only available in Sirius Mods 6.0 ands later.
JANUS STATUS portname
JANUS STATUS command syntax
Where the portname value indicates the port(s) to monitor. Specify the name of an
individual port to monitor, or as shown below, specify an asterisk (*), the portname
default, to display the status of all ports:
JANUS STATUS *
JANUS STATUS provides the following information:
Name
Name defined to the TCP/IP port.
Port
TCP/IP port number.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
151
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Type
IFDIAL, SDS, OAS, OMNI, OPENSERV, WEBSERV, CLSOCK. or
SRVSOCK.
Stat
Status of the connection (started, stopped, forcing, or draining, as indicated by
the string values Start, Stop, Force, and Drain.
Active
Number of connections active.
Free
Number of connections available.
Writes
Number of writes to the TCP/IP network.
Byt/Wr
Average bytes transferred per write.
Reads
Number of reads from the TCP/IP network.
Byt/Rd
Average bytes transferred per read.
5.36
JANUS STATCA or STATUSCA
This command displays the status of “trusted” certifying authority certificates that have
been added to a port with the JANUS ADDCA command (“JANUS ADDCA” on page 27).
Certifying authority is often abbreviated CA. STATCA is a valid synonym for
STATUSCA.
JANUS STATUSCA [portname] [filename] [procname]
JANUS STATUSCA command syntax
Each parameter is positional, can be specified with pattern wildcards, and can be
replaced with an asterisk (*), which returns all values for that category. You may omit a
parameter (which is equivalent to specifying an asterisk value for it) if the parameters to
its right are omitted.
portname
The defined JANUS port for which the certificate status is to be displayed.
filename
The name of the file(s) for which the certificate status is to be displayed.
procname
The name of the procedure for which certificate status is to be displayed. If
not specified, status is displayed for all certificates for the indicated port(s)
and file(s).
JANUS STATUSCA provides the following information:
Portname
Name defined for the TCP/IP port.
——————————————————————————————————————————
152
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS STATCA or STATUSCA
——————————————————————————————————————————
Filename
File from which the certificate was loaded.
Procname
Procedure from which the certificate was loaded.
Internal-name
The "common name" of the certifying authority as specified in the
certificate.
NumSigned
The number of certificates received that were signed by the
certifying authority associated with the indicated certificate.
The following example shows the format of STATUSCA output, in this case for a single
Sirius-certified certificate:
JANUS STATCA SSLCLI
Portname Filename Procname
SSLCLI
GLWPROC GTEST.CERT
Internal-name
www.sirius-software.com
NumSigned
1
The JANUS STATUSCA command is only available in Sirius Mods version 6.0 and later.
5.37
JANUS STATUSREMOTE
This provides a detailed display of the current status of remote servers for specified
portnames and/or remote server names.
JANUS STATUSREMOTE portname remotename
JANUS STATUSREMOTE command syntax
Where
portname
The name of the port whose remote server is to be monitored.
portname defaults to asterisk (*) to display the status of remote servers
for all ports.
remotename
The name of the remote server to monitor. A blank or an asterisk
displays the status for all remote servers.
JANUS STATUSREMOTE * *
In the above example, the statuses of all remote servers for all defined ports are shown.
JANUS STATUSREMOTE provides the following information:
PORTNAME
Name defined to the TCP/IP port.
SERVERNAME
Remote server associated with the port.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
153
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
SITEUI
User number of the incoming site handler — always the same as
SITEUO.
SITEUO
User number of the outgoing site handler — always the same as
SITEUI.
NCONNI
Number of active logical connections on the port initiated by the
remote server.
NCONNO
Number of active logical connections on the port initiated from
within the current Model 204 address space.
TCONNI
Total number of connections over the port that have been initiated
at the remote server.
TCONNO
Total number of connections over the port that have been initiated
from within the current Model 204 address space.
Valid abbreviations for STATUSREMOTE are STATREM, STATREMOTE, and
STATUSREM.
5.38
JANUS TCPLOG
The JANUS TCPLOG subcommand lets you capture all input and output streams for a
particular Janus port. The captured streams are written to a sequential file.
JANUS TCPLOG ddname
JANUS TCPLOG command syntax
Where: ddname is the DDname of the sequential dataset to contain the log.
One suggested use for a file of captured streams is to provide “playback” for customerwritten applications that simulate real workloads during testing of new system or
application code.
The format of the log file is shown below. All values are in binary format except where
indicated.
Bytes
0-1
2-3
4-11
12-15
16-23
Description
Record length
Unused
TCP unique connection number
Record number
TOD value (in STCK units)
——————————————————————————————————————————
154
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS TCPLOG
——————————————————————————————————————————
24-27
28-31
32-33
34-35
36-36
37-37
38-39
40-n
Remote IP address
Local IP address
Remote port number
Local port number
Direction (EBCDIC character):
●
R (received)
●
S (sent)
Unused
Length of binary data
Binary data (ASCII characters)
The TCPLOG subcommand is available as of Sirius Mods version 7.2.
5.39
JANUS TRACE
This command sets or overrides the trace settings for the named Janus port(s). You
specify a bit mask integer setting that sums the values of the tracing options you want to
invoke. The trace setting for a port is initially set to the value specified for the TRACE
parameter on the JANUS DEFINE command for the port. The JANUS TRACE
command will override this.
JANUS TRACE portname [ ipaddr | ipsubnet ] value | OFF
JANUS TRACE command syntax
Where
portname
The name of the port(s) to modify.
ipaddr
The remote IP address for which to set trace options. The IP address
should be specified in standard “dotted” form: for example, 198.242.244.97.
A host name cannot be specified on the JANUS TRACE command.
If neither ipaddr nor ipsubnet is specified, the JANUS TRACE command is
assumed to apply to all connections on the port.
ipsubnet
The IP subnet for which to set trace options. The IP subnet can be
specified either in the standard “dotted” subnet and mask form, for
example, 198.242.244.0/255.255.255.0, or a “dotted” IP address followed
by the number of subnet bits, as in 198.242.244.0-24. All bits that are not
part of the subnet must be 0.
If neither ipaddr nor ipsubnet is specified, the JANUS TRACE command is
assumed to apply to all connections on the port.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
155
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
value
The bit-mask integer value to use for tracing the indicated connections.
See the following page.
OFF
Indicates that no TRACE override is to be used for the specified IP address
or addresses.
Usage notes:
●
JANUS TRACE does not affect the TRACE setting on the port definition, although it
may override it. If a JANUS TRACE override is subsequently turned off, any JANUS
DEFINE TRACE setting for the port becomes in effect again.
●
JANUS TRACE may be issued while an online is running, and the order in which
JANUS TRACE commands are specified is irrelevant. The JANUS TRACE
command to be associated with a particular connection is the one that matches the
IP address and has the most subnet bits.
If a JANUS TRACE command exactly matches the IP address, it will always be
used. If no IP address-specific rule is found, the subnet command with the most
matching bits will be used. For example, a JANUS TRACE command for
198.242.244.96-27 will be used ahead of 198.242.244.0-24 for address
198.242.244.99, because the former subnet has 27 bits versus 24 for the second.
If two subnet-based JANUS TRACE commands with exactly the same number of
subnet bits match an IP address, it is unpredictable which command will apply.
Fortunately, this can only happen if at least one of the subnet masks has “holes”
(interspersed 0 and 1 bits) in it. This type of subnet is non-standard and highly
unusual.
If no JANUS TRACE commands match the IP address for a connection, the trace
setting for the port will be the setting of the TRACE parameter on the port definition.
●
In the following example, all connections for all ports starting with the character
string WEB have tracing turned off, unless they match an IP address or subnetspecific JANUS TRACE command for the port to which they are connected:
JANUS TRACE WEB* 0
In the following example, connections from IP address 193.147.133.167 to port
WEB204 will use a trace value of 7:
JANUS TRACE WEB204 193.147.133.167 7
In the following example, the special TRACE value for IP address 193.147.133.167
on port WEB204 is eliminated. Subsequent connections from this IP address will
use the trace settings on the next most exactly matching JANUS TRACE command
or, if there are none, the trace setting on the port definition.
JANUS TRACE WEB204 193.147.133.167 OFF
——————————————————————————————————————————
156
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS TRACE
——————————————————————————————————————————
In the following example, the general override of the trace setting for port WEB204
is eliminated. The trace settings used for a connection that doesn't match any IP
address or subnet-specific JANUS TRACE command will be the settings from the
port definition.
JANUS TRACE WEB204 OFF
●
The TRACE setting controls the quantity of trace information logged to the audit
trail. You specify an integer that sums the values of the options you want to have
logged:
1
Log the SQL request on SDS or URL rules processing on WEBSERV ports.
This bit is useful on WEBSERV ports if there is confusion about which JANUS
WEB rules apply to a particular URL.
2
Log RPC requests on OPENSERV ports. Show request headers on
WEBSERV ports.
4
Log generated User Language (SDS ports only). Show form data on
WEBSERV ports. This bit has no effect on OPENSERV ports. Using this bit
on SDS ports can generate huge quantities of data so use it sparingly.
8
Log in hex and char all activity on port (this allows TCP/IP level tracing).
16
Log Persistent Client State (cookies) on WEBSERV ports.
32
Trace web response headers.
64
Trace web response text.
128 Trace data between TCP and SSL.
The default for TRACE is 3 for SDS and OPENSERV ports, and it is 0 for
WEBSERV ports and all others.
Setting the 8 bit may result in huge quantities of data going to the audit trail; this
trace option logs RK lines of the form:
AP?: offxxx : xdxdxdxd ... | ccc...ccc |
where:
?
is I for input trace data, O for output, and U for urgent input data. For
tracing Janus Sockets client connections (CLSOCK ports), after the
I/O/U indicator will be the user's socket number in parentheses. For
example, if an application has used the $SOCK_CONN function once
and that port is being traced, it is socket number two, so the trace of
$SOCK_SEND values will start with “APO(2)”.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
157
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
offxxx
is the hex offset in the current stream.
xdxdxdxd
is the hex representation of the data separated into 4 byte (8 digit)
pieces.
cccc
is the character representation of the data with non-printable
characters changed to periods.
Both input and output are traced when the JANUS DEFINE for the port has TRACE
8 specified.
●
The current JANUS TRACE command settings for any or all ports can be
determined with the JANUS DISPLAYTRACE command (“JANUS DISPLAYTRACE”
on page 122).
Note: The TRACE keyword was introduced in version 6.0 of the Sirius Mods. Before
that, trace operations were controlled by the DEBUG keyword, which is no longer
supported as of version 6.5.
5.40
JANUS TSTAT or TSTATUS
This provides information about thread usage activity on Janus ports that can prove
useful in isolating problems with thread availability and in doing capacity planning. The
JANUS LIMITS command (“JANUS LIMITS” on page 138) provides information about
system-wide thread availability.
JANUS TSTATUS portname
JANUS TSTATUS command syntax
Where portname is the name of the port(s) to display. portname defaults to * (asterisk)
to display the thread activity on all ports.
JANUS TSTATUS *
In the above example, the thread activity on all defined ports is shown.
JANUS TSTATUS provides the following information:
Name
Name defined to the TCP/IP port.
Port
TCP/IP port number.
Type
IFDIAL, SDS, OAS, OMNI, OPENSERV, WEBSERV, CLSOCK, or
SRVSOCK.
——————————————————————————————————————————
158
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS TSTAT or TSTATUS
——————————————————————————————————————————
Stat
Status of the connection (started, stopped, forcing, or draining).
Activ
The current number of active connections for the port. An active connection is
one that is “open” from TCP/IP's perspective and reduces by one the available
open threads on the port and is counted against the site's licensed connection
limit.
Free
The current number of available connections for the port. This is simply the
port's connection limit (as specified on the JANUS DEFINE command) minus
the number of active connections (Activ). The value of Free is an absolute
limit of the number of additional connections on a port. Other limits such as
the system-wide connection limit or the number of available sdaemon threads
might prevent this limit from being attained.
Perst
The number of “persistent” sessions currently active for the port. Persistent
sessions include Janus Web Legacy sessions (3270 screens automatically
converted to HTML by Janus Web Server) and those using
$WEB_FORM_DONE. Persistent sessions do not count against a port's
maximum connection limit but do count against the site's overall maximum
connection limit and they do occupy sdaemon threads.
InUse
The sum of Activ and Perst. This indicates the number of connections for
the port that are counted against the site's overall connection limit.
TConn
The total number of separate connections made to the port. For WEBSERV
ports this value is sometimes referred to as “hits.”
5.41
The JANUS WEB command
The JANUS WEB command defines the rules for a Janus Web Server running on a
WEBSERV port. Web rules control access and routing of URL requests, and they can
cause a request for a URL to initiate a complex database process.
JANUS WEB portname rule_type [method] url [optional parameters]
JANUS WEB command syntax
The JANUS WEB command differs from most Janus commands in that it usually takes a
set of commands to fully specify the rules that give a web server its characteristics. For
instance, it may take a number of commands to specify user ID access, to restrict the
range of IP addresses that may connect, and then to specify the server's routing and
behavior based on different types of requested URLs. The order in which JANUS WEB
commands are specified also affects how they are processed.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
159
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
The first four parameters are positional, and all parameters are required but the method:
portname
The 1- to 30-character name of the port for which the access and URL
processing rules are being defined.
rule_type
The type of web rule that is being specified for the port. Valid values are:
NOREDIRECT
indicates no redirection
REDIRECT
indicates redirection
DISALLOW
removes access permission
ALLOW
assigns access permission
TYPE
defines content type
NODEBUG
prevents JANUSDEBUG debugging
DEBUG
enables JANUSDEBUG debugging
ON
defines processing
SCREEN
defines mapping of 3270 screen to HTML
The order in which the JANUS WEB rule types are shown above is the
order in which they are processed. Within each rule_type, rules are
processed from most recent to oldest:
1.
REDIRECT and NOREDIRECT rules are processed; if a redirection is
specified, it is executed.
Otherwise:
2.
Privileges are processed (ALLOW and DISALLOW rules).
If access to the URL is allowed:
3.
A TYPE specification is obtained.
4.
If a DEBUG is indicated, the request waits for a user to debug the
request via the JANUSDEBUG command.
5.
ON processing is invoked.
6.
A SCREEN mapping is established.
——————————————————————————————————————————
160
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
The JANUS WEB command
——————————————————————————————————————————
method
The HTTP method(s) that applies to the rule. The method value can be
any of the following:
GET
A simple request for a URL based on the URL name (includes
HTTP GET and HTTP HEAD).
POST
A request for a URL that is accompanied by data from an
HTML form.
PUT
A request to replace the contents of a URL, that is, a file
upload. Note that while other methods have default ALLOW
rules, which depend on the port type, PUT never has default
ALLOW rules. That is, PUT is never permitted except by an
explicit JANUS WEB ALLOW rule.
GET+POST
The GET or POST method; the JANUS WEB default.
HEAD
This method is based on GET rules and is not used frequently
(if at all) by most browsers.
OTHER
All methods other than PUT, GET, POST, and HEAD (subject
to the restriction that the length of the method name must not
exceed 16 characters).
This option is available as of Sirius Mods version 7.2.
ANY
Any HTTP method (subject to the restriction that the length of
the method name must not exceed 16 characters).
Note: The ANY option includes the OTHER option. Prior to
Sirius Mods version 7.2, the ANY option referred only to PUT,
GET, POST, or HEAD.
By specifying a method on a JANUS WEB command, you indicate the rule
is only to apply to that method. If no method is specified, GET+POST is
assumed.
url
Universal Resource Locator (URL). Every web request contains a URL,
which can be considered to specify the "name" or "identity" of the "object"
being requested. For example, the URL may specify the name of a file or
the name (and some parameters) of an application.
The url specified in the JANUS WEB command is a case-sensitive pattern,
which is compared to the requested URL; the last rule that matches the
URL is the rule that applies. The pattern can include an asterisk (*) as a
"wildcard" indicator (*.jpg thus specifies any URL with a .jpg suffix).
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
161
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Note: Janus port definitions include the UPCASE specification by default.
If you define a web rule using a lowercase URL, the rule may fail in the
default case where the incoming URL is converted to uppercase. For
example, a TYPE rule that uses the pattern *.pdf may not recognize a
request for a file of type PDF.
The url value can also be the name of an exception condition (see
“Exception rules” on page 198).
The optional parameters allowed for the JANUS WEB command depend on the
rule_type that was specified. The various rule types are shown in the following sections,
followed by a section giving examples and showing the interaction of JANUS WEB
commands (“Rule matching order and examples” on page 196), and a section explaining
exception URLs (“Exception rules” on page 198).
Note that the JANUS WEB command differs from the corresponding rules available with
the JANUS CLSOCK and JANUS SRVSOCK commands in the following ways:
●
JANUS WEB does not allow any optional parameters (for example, USGROUP) on
the DISALLOW rule.
●
The default access for WEBSERV non-SSL ports and SRVSOCK ports is ALLOW.
The default access for WEBSERV SSL ports and CLSOCK ports is DISALLOW.
●
ALLOW and DISALLOW are the only rule types for JANUS CLSOCK and JANUS
SRVSOCK; there are a number of other rule types for JANUS WEB.
5.42
JANUS WEB NOREDIRECT
The JANUS WEB NOREDIRECT subcommand indicates that any request for a URL that
matches the specified pattern (the url value) is not to be directed to another URL.
JANUS WEB portname NOREDIRECT [method] url
JANUS WEB NOREDIRECT command syntax
Portname, method, and url are all explained in “The JANUS WEB command” on page
159.
——————————————————————————————————————————
162
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB REDIRECT
——————————————————————————————————————————
5.43
JANUS WEB REDIRECT
The JANUS WEB REDIRECT subcommand identifies the URL to which incoming URL
requests that match a specified pattern are redirected.
JANUS WEB portname REDIRECT [method] url redir_url
JANUS WEB REDIRECT command syntax
Portname, method, and url are explained in “The JANUS WEB command” on page 159.
redir_url is the URL to which requests that match the pattern in url are redirected.
Just as url can contain wildcard characters, redir_url can also contain wildcard
characters. The wildcard characters in redir_url are replaced with the characters that
matched the corresponding wildcard characters in url at the time of the request. For
example, given the following rule, a request for URL /JUNK/MAIN.HTML is redirected to
HTTP://LOCAL.NTBOX.COM/JUNK/MAIN.HTML:
JANUS WEB WEBPORT REDIRECT /JUNK/* HTTP://LOCAL.NTBOX.COM/JUNK/*
The redirection URL can be an absolute URL (that is, http: and the host name along
with a path), or it can be a relative URL (containing only the path). Thus a redirect can
redirect to another machine, another port on the same machine, or simply another path
on the same port on the same machine. All of these types of redirection can be useful at
times.
5.44
JANUS WEB DISALLOW
The JANUS WEB DISALLOW subcommand indicates that any request for a URL that
matches a specified pattern (the url value) is not allowed access; that is, it is forbidden.
JANUS WEB portname DISALLOW [method] url
JANUS WEB DISALLOW command syntax
Portname, method, and url are described in “The JANUS WEB command” on page 159.
Typically, a JANUS WEB DISALLOW rule is followed by one or more JANUS WEB
ALLOW rules for the same url (or for subsets of url) that grant access to specific users or
sets of users to some or all of the URLs indicated in the DISALLOW rule. Users not
matching the criteria for subsequent ALLOW rules are blocked from the indicated set of
URLs by the DISALLOW rule.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
163
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.45
JANUS WEB ALLOW
The JANUS WEB ALLOW command indicates that a request from a particular user or
set of users can have access to any URL that matches a specified pattern (the url
value).
JANUS WEB portname ALLOW [method] url [USER user | USGROUP usgroup] [IPADDR ipaddr | IPGROUP ipgroup] [[NEWPASSF | NEWPASSF2] fieldname]
JANUS WEB ALLOW command syntax
Portname, method, and url are explained in “The JANUS WEB command” on page 159.
The remaining parameters for JANUS WEB ALLOW are described below.
If the JANUS WEB ALLOW command is specified with no optional parameters, it
indicates that all users can have access to URLs that match the pattern in url, and that
requests for such public URLs are to be run under the explicit or default WEBUSER
value from the port definition.
For non-SSL ports, the default ALLOW/DISALLOW rule, which means that all URLs are
public, is:
JANUS WEB portname ALLOW *
For SSL ports, the default ALLOW/DISALLOW rules are:
JANUS WEB portname DISALLOW *
JANUS WEB portname ALLOW * USER user
where user is the userid of the user that defined the port.
Note: In no case is there a default rule for the PUT method value, which means that a
PUT is not allowed unless explicitly permitted with a JANUS WEB ALLOW rule.
USER user
Indicates that a user is allowed access to url if he or she provides a userid
and corresponding password for a userid that matches the pattern in user.
For example, if user is HOMER, a user that logs in as HOMER will be allowed
access to url. If user is SIMP*, a user that logs in as any userid that begins
with the string “SIMP” will be allowed access to url.
A user value of asterisk (*) indicates that any valid Model 204 login will allow
access to url. This is particularly useful if url is processed by an APSY
subsystem, in which case USER * forces a Model 204 login, but it leaves
access decisions to APSY.
——————————————————————————————————————————
164
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB ALLOW
——————————————————————————————————————————
The USER parameter cannot be specified if the USGROUP parameter is
specified. It is valid to specify neither USER nor USGROUP. If neither is
specified, and a user is allowed access to url on the basis of the rest of the
ALLOW rule, the request runs under the WEBUSER userid taken from the
port definition (see “WEBUSER xxxx” on page 106).
USGROUP usgroup
Indicates that a user will be allowed access to url if he or she provides a
userid and corresponding password for a user in the user group identified by
usgroup. User groups are defined with the JANUS DEFINEUSGROUP
command (“JANUS DEFINEUSGROUP” on page 116).
The USGROUP parameter cannot be specified if the USER parameter is
specified. It is valid to specify neither USER nor USGROUP. If neither is
specified, and a user is allowed access to url on the basis of the rest of the
ALLOW rule, the request runs under the WEBUSER userid taken from the
port definition (see “WEBUSER xxxx” on page 106).
IPADDR ipaddr
Indicates that a user on a machine with an IP address that matches ipaddr is
allowed access to url. Ipaddr can be a simple IP address, or it can be a
subnet. Subnets are indicated by an IP address followed by either of these:
●
A forward slash (/) followed by a netmask (with no intervening blanks)
●
A hyphen (-) followed by a number of bits in the subnet mask (with no
intervening blanks)
For example, 198.244.244.97 is a simple IP address that must be
matched exactly. 198.242.244.0/255.255.255.0, which is equivalent
to 198.242.244.0-24, indicates that any machine on subnet
198.242.244.0 is to be allowed access to url.
The IPADDR parameter cannot be specified if the IPGROUP parameter is
specified. It is valid to specify neither IPADDR nor IPGROUP. If neither is
specified, the rule makes no restrictions on the basis of IP address. If
IPADDR and USER or USGROUP is specified, a user must satisfy both the
IPADDR criterion and the USER or USGROUP criterion to be allowed
access to url.
IPGROUP ipgroup
Indicates that a user on a machine with an IP address that is in ipgroup is
allowed access to url. IP address groups are defined with the JANUS
DEFINEIPGROUP command (“JANUS DEFINEIPGROUP” on page 110).
The IPGROUP parameter cannot be specified if the IPADDR parameter is
specified. It is valid to specify neither IPGROUP nor IPADDR. If neither is
specified, the rule makes no restrictions on the basis of IP address.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
165
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
If IPGROUP and USER or USGROUP is specified, a user must satisfy both
the IPGROUP criterion and the USER or USGROUP criterion to be allowed
access to url.
NEWPASSF fieldname | NEWPASSF2 fieldname
Indicates that a POST for the specified URL will have its posted form fields
scanned for a form field called fieldname:
●
If the field is not present, it is considered a logon error, and Janus Web
Server returns a standard error page to the browser, or it runs the
LOGONERR JANUS WEB rule (described in “Exception rules” on page
198).
●
If the field is present, it is used as a new password for the user. If the
new password is accepted, Janus Web Server attempts to run the
NEWPASSWORD JANUS WEB rule. If no such rule is present, it
returns an “Unauthorized”, unless the port is defined with a
NEWPASSWORDC parameter (“NEWPASSWORDC” on page 69), in
which case, processing simply continues for the posted URL.
NEWPASSF and NEWPASSF2 are useful for providing a password change
form to end-users, rather than depending on end-users entering
oldpassword :newpassword in a logon pop-up window.
The difference between NEWPASSF and NEWPASSF2 is that
NEWPASSF2 requires two occurrences of fieldname in the POST data with
identical values. If both values are not provided or they are not identical, it is
considered a logon error. NEWPASSF2 is useful if the users are to be
required to enter a new password twice to ensure that a typo doesn't cause
the end-user to change his or her password to something unintended (and
unknown).
If normal JANUS WEB ON rule processing continues for a URL with a
NEWPASSF or NEWPASSF2 on the associated JANUS WEB ALLOW rule,
the contents of fieldname are not available to the Janus Web Server
application.
5.46
JANUS WEB TYPE
The JANUS WEB TYPE command indicates the mime type of the output produced by
the specified URL (url value).
JANUS WEB portname TYPE [method] url mime_type
JANUS WEB TYPE command syntax
——————————————————————————————————————————
166
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB TYPE
——————————————————————————————————————————
Portname, method, and url are all explained in “The JANUS WEB command” on page
159.
mime_type is the mime type sent to the requesting browser. It should consist of two
parts: the primary type and the subtype. The primary type and subtype should be
separated by a forward slash (/).
No checking is made for a valid mime type as there is no exhaustive list of all valid mime
types. In fact, new mime types can be invented for applications as deemed necessary.
A browser can even be made to launch local applications by specifying your own mime
type, in the form application/myapp where myapp is a locally specified token that will
have to be manually associated with the application on each client machine.
Other than being sent verbatim to the browser, the primary mime type (the part before
the slash) is used by Janus Web Server to determine whether EBCDIC-to-ASCII
translation is to take place. If the primary mime type is text, output data will be
translated from EBCDIC to ASCII, unless explicitly overridden by a BINARY, TEXT, or
BASE64 format parameter on a JANUS WEB ON rule or in a $WEB_PROCSEND
function. Data that is sent to the browser via the “terminal” — for example, PRINT
statements or error messages — is always translated from EBCDIC to ASCII, regardless
of the output mime type.
The following are some of the standard and more common mime types used in web
applications :
text/plain
Text that is displayed at the browser in a monospace typeface, like
Courier. Display of text/plain data on a browser also retains
line breaks and blanks used for alignment. As such, text/plain
is a useful mime type for representing output from Model 204
commands and legacy applications that use PRINT statements. By
default, any URL that does not end in one of the standard suffixes
(HTM, HTML, GIF, JPG, JPEG) is assumed to be text/plain.
text/html
Text that contains HTML markup tags. Most formatted text in web
applications is sent as text/html. By default, any URL ending in
'.HTM’ or ‘.HTML’ is assumed to produce output with a mime type of
text/html.
text/xml
Readable text with markup which parses as an XML document.
image/gif
Binary data conforming to the Compuserve GIF image format. This
is one of the most popular formats for storing graphical images. By
default, any URL ending in ‘.GIF’ is assumed to produce output with
a mime type of image/gif.
image/jpeg
Binary data conforming to the JPEG image standard. This is one of
the most popular formats for storing graphical images. By default,
any URL ending in ‘.JPG’ or ‘.JPEG’ is assumed to produce output
with a mime type of image/jpeg.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
167
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
application/pdf
Binary data that is intended to be read by the Adobe Acrobat
Reader™.
application/x-java Binary data that contains Java object code that is to be executed in
the browser's Java virtual machine.
5.47
JANUS WEB DEBUG
Available as of Sirius Mods 6.0, the JANUS WEB DEBUG command indicates that
requests for a specified URL (the url value) are to be debugged, that is, the server is to
wait for another user to issue a JANUSDEBUG command (“The JANUSDEBUG
command” on page 22) before running the request on the issuing user's thread.
JANUS WEB portname DEBUG [method] url [IPADDR ipaddr | IPGROUP ipgroup] [USER user | USGROUP usgroup] [PORTOPEN | NOPORTOPEN] [PORTCMD | NOPORTCMD] [PUBLIC]
JANUS WEB DEBUG command syntax
Portname, method, and url are described in “The JANUS WEB command” on page 159.
The remaining parameters for JANUS WEB DEBUG are described below:
IPADDR ipaddr
Indicates that requests from an IP address that matches ipaddr will be
debugged. Ipaddr can be a simple IP address, or it can be a subnet.
Subnets are indicated by an IP address followed by either of these:
●
A forward slash (/) followed by a netmask (with no intervening blanks)
●
A hyphen (-) followed by a number of bits in the subnet mask (with no
intervening blanks)
For example, 198.244.244.97 is a simple IP address that must be
matched exactly. 198.242.244.0/255.255.255.0, which is equivalent
to 198.242.244.0-24, indicates that any machine on subnet
198.242.244.0 is to be allowed access to url.
The IPADDR parameter cannot be specified if the IPGROUP parameter is
specified. It is valid to specify neither IPADDR nor IPGROUP. If neither is
specified, the rule applies to requests from all IP addresses. If IPADDR and
USER or USGROUP are specified, a user must satisfy both the IPADDR
criterion and the USER or USGROUP criterion for the request to be
debugged.
——————————————————————————————————————————
168
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB DEBUG
——————————————————————————————————————————
IPGROUP ipgroup
Indicates that requests from an IP address that is in ipgroup will be
debugged. IP address groups are defined with the JANUS
DEFINEIPGROUP command (“JANUS DEFINEIPGROUP” on page 110).
The IPGROUP parameter cannot be specified if the IPADDR parameter is
specified. It is valid to specify neither IPGROUP nor IPADDR. If neither is
specified, the rule applies to requests from all IP addresses. If IPGROUP
and USER or USGROUP are specified, a user must satisfy both the
IPGROUP criterion and the USER or USGROUP criterion for the request to
be debugged.
USER user
Indicates that requests running under userid user will be debugged. user
can be a specific userid, or it can contain wildcards. For example, if user is
FLAN*, any request run under a userid that begins with the string FLAN will
be debugged.
The USER parameter cannot be specified if the USGROUP parameter is
specified. It is valid to specify neither USER nor USGROUP. If neither is
specified, the rule applies to requests running under any userid except public
requests running under the WEBUSER ID.
USGROUP usgroup
Indicates that requests running under a userid in usgroup will be debugged.
User groups are defined with the JANUS DEFINEUSGROUP command
(“JANUS DEFINEUSGROUP” on page 116).
The USGROUP parameter cannot be specified if the USER parameter is
specified. It is valid to specify neither USER nor USGROUP. If neither is
specified, the rule applies to requests running under any userid, except
public requests running under the WEBUSER ID.
PORTOPEN | NOPORTOPEN
Indicates whether files or groups specified in the OPEN clause in the JANUS
DEFINE command for the port are to be opened (PORTOPEN) or not
(NOPORTOPEN). By default, these files or groups are not opened unless
the port definition has the DEBPORTOPEN keyword. Files or groups in the
JANUS DEFINE OPEN clause that are already open on the debugging users
thread are not opened and do not have their file privileges adjusted to match
the JANUS DEFINE OPEN clause requirements.
Files or groups opened by JANUSDEBUG are closed when the request is
completed.
Use PORTOPEN if the files or groups in the port definition are required for
proper application processing.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
169
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
PORTCMD | NOPORTCMD
Indicates whether the commands specified in the CMD clause in the JANUS
DEFINE command for the port are to be issued (PORTCMD) or not
(NOPORTCMD) on the debuging user's thread. By default, these
commands are not issued unless the port definition has the DEBPORTCMD
keyword.
Use PORTCMD if the commands in the port definition are required for proper
application processing or the these commands are to be debugged.
PUBLIC
Indicates that requests for public URLs, that is those that don't require a user
login are to be debugged. Since a public URL requires no user login, there
is no way for Janus Web Server to associate such a request with a particular
userid, so any userid can debug any public request. In an environment with
multiple programmers and/or testers, this is a formula for confusion, though
programmers conscientious enough to specify IPADDR, IPGROUP, and/or
URL on JANUSDEBUG commands can mitigate some of this confusion.
In general, it is recommended that a login be required for any URL to be
debugged, even if the non-debugged URL would not require a user login.
——————————————————————————————————————————
170
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB ON
——————————————————————————————————————————
5.48
JANUS WEB ON
The JANUS WEB ON command indicates the action to be taken when a request for a
specified URL (the url value), which is not redirected, is determined to be allowed
access. If an incoming request for a URL has no associated ON rule, the browser
requesting the URL is sent a “Not Found” response.
JANUS WEB portname ON [method] url CMD cmd [AND cmd [AND ...]] | SEND pname | RECV pname [AUDTERM | NOAUDTERM] [AUTOON | NOAUTOON] [AUTODONE | NOAUTODONE] [BINARY | BASE64 | TEXT] [CLOSEIMMED | NOCLOSEIMMED] [CLOSEREAD | NOCLOSEREAD] [COMPRESS level] [CR | LF | CRLF] [EXPIRE time] [FORMPOSTWAIT seconds] [FORMREDIRWAIT seconds] [MAXTEMP pages] [MSGSEND | NOMSGSEND] [OPEN [FILE | GROUP] fgname [[WITH] priv] [AND [FILE | GROUP] fgname ...]] [RAWINPUTONLY | NOTRAWINPUTONLY] [SSI] [WRAPJS] [XTAB xtabname]
JANUS WEB ON command syntax
Portname, method, and url are described in “The JANUS WEB command” on page 159.
The remaining parameters for the JANUS WEB ON command are described on the
following pages.
Note: A JANUS WEB ON command must always include exactly one action parameter,
either SEND, RECV, or CMD. The other parameters in the following sections are
optional.
5.48.1 CMD cmd [AND cmd [AND...]]
This parameter indicates that cmd is to be issued as a Model 204 command just as if it
had been entered by a user. Multiple commands can be specified by separating the
commands with the “AND” keyword.
Each cmd can contain wildcards just as for url. The wildcard characters in cmd are
replaced by the incoming request characters that match the corresponding wildcard
characters in url. For example, if url is /SUBSYS/*, cmd is *, and a request for URL
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
171
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
/SUBSYS/SUBSYSMGMT is received, the command SUBSYSMGMT is executed — most
likely resulting in the subsystem SUBSYSMGMT being invoked.
If url is /INCLUDE/TEST/*, cmd is INCLUDE WEB.TEST.*, and a request for URL
TEST/DISPLAY is received, the command INCLUDE WEB.TEST.DISPLAY is executed.
If url is /INCLUDE/*/*, the CMD clause contains 'INCLUDE *' AND 'INCLUDE *',
and a request for the URL TEST/DISPLAY is received, the commands INCLUDE TEST
and INCLUDE DISPLAY are executed.
Note that unless cmd consists of a single word, it must be enclosed in single quotes.
Under Sirius Mods 6.3 and later, wildcard substitution is also performed on files or
groups listed in the OPEN clause (“OPEN FILE | GROUP fgname [[WITH] priv]” on page
178). For example, given this rule:
JANUS WEB WEBPORT ON /TEST?/* OPEN FILE QA* CMD 'I *'
The URL /test5/queequeg would result in the file QA5 being opened and procedure
QUEEQUEG inside QA5 being INCLUDEd.
Also under Sirius Mods 6.3 and later, variable data from a URL can be substituted out of
order by indicating the wildcard match position after a double-quote character. For
example, given this rule:
JANUS WEB WEBPORT ON /*/TEST?/* OPEN FILE TEST
CMD 'I MOBY"2,*'
-
The URL /xyz/test5/tashtego would result in the file TEST being opened and the
command “I MOBY5,TASHTEGO” being issued. As this example illustrates, an asterisk
after a positional replacement string uses the replacent string after the positional string.
It is possible with positional replacement strings to re-use replacement strings. For
example, given this rule:
JANUS WEB WEBPORT ON /TEST* OPEN FILE TEST
CMD 'I A"1' AND 'I B"1' and 'I C"1'
-
The URL /test3 would result in the file TEST being opened and the commands I A3,
I B3 and, I C3 being issued.
The default procedure file or group at the time the first cmd is executed will be either that
specified in the OPEN clause of the JANUS WEB ON command or, if that is not present,
the default file or group resulting from the port definition. The default procedure file or
group at the time of subsequent cmd executions is whatever happens to be the default
after the execution of the preceding cmd.
——————————————————————————————————————————
172
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB ON
——————————————————————————————————————————
CMD is valid for any method — the command executed can be used to send data back
to the browser for the GET and POST methods, and used to receive data from the
browser for the PUT method.
cmd can be any Model 204 command, subject to standard authorization requirements.
Commands that require additional terminal input, such as a response to a password
prompt or a “DO YOU REALLY WANT TO” prompt, will not work correctly as an ON rule
command. In addition to standard Model 204 commands, the WEBRUN command is
also available in web ON rule commands. WEBRUN invokes an APSY subsystem, but it
bypasses the APSY login procedure for a procedure specified on the WEBRUN
command.
The WEBRUN format is:
WEBRUN subsys proc [parms]
Where:
subsys
proc
parms
is an APSY subsystem
is the APSY procedure to run instead of the login procedure
are (optional) command line parameters for the subsystem
The WEBRUN command makes it possible for a single subsystem to service many
different URLs without going through a login procedure that routes to the appropriate
procedure for each URL. This provides both performance and coding simplicity benefits.
As an example of the latter, when a procedure is invoked via WEBRUN, the APSY
communications global is set to the exit value before the procedure is invoked, so unless
the procedure explicitly sets the communications global, termination of the procedure
causes the subsystem to be exited.
5.48.2 SEND pname
This parameter indicates that the procedure pname is to be sent to the browser when url
is requested.
pname can contain wildcards just like url can. The wildcard characters in pname are
replaced by the incoming request characters that match the corresponding wildcard
characters in url. For example, if url is /ALBAN/*, pname is *.HTML, and a request for
URL /ALBAN/BERG is received, procedure BERG.HTML is sent.
The procedure is always sent from the default procedure file or group, which is either
that specified in the OPEN clause of the JANUS WEB ON command or, if that is not
present, the default file or group resulting from the port definition.
SEND is invalid for a JANUS WEB ON command that includes the PUT method.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
173
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.48.3 RECV pname
This parameter indicates that the procedure pname is to be received from the browser
when url is sent in a PUT request.
pname can contain wildcards just like url can. The wildcard characters in pname are
replaced by the incoming request characters that match the corresponding wildcard
characters in url. For example, if url is /ANTON/*.HTML, pname is HTML_, and a PUT
request for URL /ANTON/WEBERN is received, procedure HTML_WEBERN is updated
from the data sent with the PUT request.
The procedure is always received into the default procedure file or group, which will be
either that specified in the OPEN clause of the JANUS WEB ON command or, if that is
not present, the default file or group resulting from the port definition.
RECV is invalid for a JANUS WEB ON command that includes the GET or POST
method.
RECEIVE is an acceptable synonym for RECV.
5.48.4 AUDTERM | NOAUDTERM
AUDTERM indicates that messages that go to the Janus Web Server thread “terminal”
when $WEB_OFF is in effect (either explicitly or implicitly) should be logged to the
journal as RK lines; NOAUDTERM indicates that they should not be logged.
This parameter can be used to override the default setting of AUDTERM or a
NOAUDTERM setting on the JANUS DEFINE command for the port for a specific set of
URLs (see “AUDTERM” on page 44). (Note: NOAUDTERM became the default JANUS
DEFINE port setting starting with version 6.0 of the Sirius Mods.)
The AUDTERM and NOAUDTERM parameters are mutually exclusive.
5.48.5 AUTODONE | NOAUTODONE
AUTODONE indicates that a return to Model 204 command mode after execution of the
last JANUS WEB ON cmd is to be treated as an implicit $WEB_DONE. NOAUTODONE
indicates that a return to Model 204 command mode after execution of the last cmd is
not to be treated as an implicit $WEB_DONE.
This parameter can be used to override the default setting of AUTODONE or a
NOAUTODONE setting on the JANUS DEFINE command for the port for a specific set
of URLs (see “AUTODONE” on page 45).
——————————————————————————————————————————
174
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB ON
——————————————————————————————————————————
5.48.6 AUTOON | NOAUTOON
AUTOON indicates that the execution of the first JANUS WEB ON cmd is to be treated
as an implicit $WEB_ON; NOAUTOON indicates that it is not.
This parameter can be used to override a AUTOON or NOAUTOON setting on the
JANUS DEFINE command for the port for a specific set of URLs (see “AUTOON” on
page 46).
The AUTOON and NOAUTOON parameters are mutually exclusive.
5.48.7 BASE64 | BINARY | TEXT
This parameter option indicates whether data received from a browser is to be encoded
using base64, binary, or EBCDIC encoding before being saved to a Model 204
procedure, and whether data sent to the browser is in binary or text (EBCDIC) format.
BASE64 only makes sense for data received in a request using the PUT method, so it is
not valid in an ON rule that indicates SEND. Base64 encoding is a way of storing binary
data using only standard displayable characters, thus simplifying certain operations on
procedures containing such data. The cost of this simplification is that there is (barely
measurable) overhead in translating the data to and from base64 encoding, and the size
of the stored data is approximately 33% greater with base64 encoding than with binary
encoding.
Base64 encoding is the default for received non-text data, and it is probably the best
option, except in cases where even the slightest extra application overhead is
intolerable.
BINARY indicates that:
●
Data sent to a browser is to be sent as binary data, that is, not translated from
EBCDIC to ASCII regardless of the mime type.
●
Data received from a browser is to be encoded using binary encoding before being
saved to a Model 204 procedure.
Binary encoded data is stored in specially formatted procedures that contain a few extra
overhead characters in addition to the binary data. Binary data often contains nondisplayable characters, so it can be difficult to work with. Nevertheless, binary encoding
is the most efficient way of storing non-text data in Model 204 procedure files.
TEXT indicates that:
●
Data sent to a browser is to be sent as text data, that is, translated from EBCDIC to
ASCII regardless of the mime type.
●
Data received from a browser is to be translated from ASCII to EBCDIC before
being saved to a Model 204 procedure.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
175
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Storing data as text facilitates editing of the text data in the Model 204 environment and
hence is a good way of storing HTML or plain text data.
The BASE64, BINARY, and TEXT parameters are mutually exclusive.
5.48.8 CLOSEIMMED | NOCLOSEIMMED
This parameter option overrides the default or explicit JANUS DEFINE setting of the
CLOSEIMMED/NOCLOSEIMMED parameter. For more information, see
“CLOSEIMMED” on page 49.
5.48.9 CLOSEREAD | NOCLOSEREAD
This parameter option overrides the default or explicit JANUS DEFINE setting of the
CLOSEREAD/NOCLOSEREAD parameter. For more information, see “CLOSEREAD”
on page 49.
5.48.10 COMPRESS level
COMPRESS indicates the level of compression to be performed on outgoing content.
This parameter can be used to override the default setting of COMPRESS on the
JANUS DEFINE command for the port for a specific set of URLs (“COMPRESS level” on
page 51).
The COMPRESS parameter is available in Sirius Mods 6.3 and later, and it has these
values:
0
1
2
Perform no compression.
Perform deflate compression only.
Perform deflate compression and Huffman encoding.
The COMPRESS setting can be overridden on an application basis with
$WEB_SET('COMPRESS').
5.48.11 CR | CRLF | LF
These parameter options indicate the ASCII character(s) that separate lines of text data.
CR
Indicates that lines of text data should be separated by the carriage return
(X'0D') character.
CRLF
Indicates that lines of text data should be separated by the carriage return and
line feed (X'0D0A') characters.
——————————————————————————————————————————
176
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB ON
——————————————————————————————————————————
LF
Indicates that lines of text data should be separated by the line feed (X'0D')
character.
These parameters are mutually exclusive, and they have no effect if the BINARY option
is specified for a Janus Sockets (“BINARY” on page 47) port.
5.48.12 EXPIRE time
This parameter indicates that the expiration time of the page should be set to the
specified (relative or absolute) date and time.
Relative expiration times are indicated with a plus (+) or minus (-) sign followed by a
number of seconds, as in EXPIRE +7200 or EXPIRE -3600. Absolute expiration time
must be specified in either YYMMDD or YYMMDDHHMISS format.
An EXPIRE time specification in an ON rule is useful as an alternative to setting expire
times via $WEB_EXPIRE. It is is probably most useful for relatively static content such
as static text or images that are sent via SEND in the ON rule rather than as part of
command processing.
5.48.13 FORMREDIRWAIT nnnn
This parameter overrides the default or explicit JANUS DEFINE setting of the
FORMREDIRWAIT parameter. For more information, see “FORMREDIRWAIT seconds”
on page 57.
5.48.14 FORMPOSTWAIT nnnn
This parameter overrides the default or explicit JANUS DEFINE setting of the
FORMPOSTWAIT parameter. For more information, see “FORMPOSTWAIT seconds”
on page 56.
5.48.15 MAXTEMP nnnn
This parameter overrides the default or explicit JANUS DEFINE setting of the
MAXTEMP parameter. For more information, see “MAXTEMP nnnn” on page 68.
5.48.16 MSGSEND | NOMSGSEND
This parameter overrides the default or explicit JANUS DEFINE setting of the
MSGSEND/NOMSGSEND parameter. For more information, see “MSGSEND and
NOMSGSEND” on page 68.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
177
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.48.17 OPEN FILE | GROUP fgname [[WITH] priv]
This parameter indicates that before any action is performed, the indicated file or group
is to be opened. If neither the qualifier FILE nor GROUP is present, Janus Web Server
tries to open a permanent group called fgname. If there is no group by that name, it
attempts to open a file by that name.
If priv is not specified, the file or group is opened with privileges of X'0221', unless the
ON rule also specifies RECV (“RECV pname” on page 174), in which case it is opened
with privileges of X'1239'. This allows displaying and including procedures in the
indicated file or group in all cases, and it allows the updating of procedures in the RECV
case. priv must be specified as a hexadecimal value that starts with X' and ends with '
(single quote). For example, X'BBBF', X'1234', and X'222F' are all valid privileges.
The keyword WITH can be specified between the file or group name and the open
privileges, but it is not required.
The implicit or explicit open privileges are used regardless of the OPENCTL and
PRIVDEF settings for the file or group.
Note: It is possible to have one file or group opened as a result of the OPEN parameter
on the port definition, and to have a second opened as a result of an OPEN in the
JANUS WEB ON command. The port open always happens first, which means that file
or group fgname always becomes the default file or group before the ON action (SEND,
RECV, or CMD) is performed.
To open more than one file or group with an OPEN clause, use the AND keyword to
specify additional files or groups after the first file or group in the JANUS WEB ON.
When the first command specified in a CMD clause or a SEND clause is executed, the
first file or group specified in an OPEN clause will be the default and current file or
group.
There is no point in specifying more than one file or group in a JANUS WEB ON
command that contains a SEND or RECEIVE, since only the first file or group will be
searched for by the SEND or received by the RECEIVE.
Some examples of valid OPEN clauses are :
...
...
...
...
OPEN
OPEN
OPEN
OPEN
FILE MATISSE
MONET WITH X'0569'
RENOIR AND GROUP IMPRSNST WITH X'0221'
FILE GAUGIN X'0221' AND FILE MANET X'BFFF'
Under Sirius Mods 6.3 and later, wildcard substitution is performed on files or groups
listed in the OPEN clause, as well as in the CMD clause (“CMD” on page 171). For
example, with the following rule, the URL /test5/queequeg would cause the file QA5
to be opened and the procedure QUEEQUEG inside QA5 to be INCLUDEd:
JANUS WEB WEBPORT ON /TEST?/* OPEN FILE QA* CMD 'I *'
——————————————————————————————————————————
178
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB ON
——————————————————————————————————————————
5.48.18 RAWINPUTONLY | NOTRAWINPUTONLY
RAWINPUTONLY indicates that, regardless of the POST data content-type set by the
client, Janus Web Server should save the raw input stream of an HTTP POST, and
should refrain from parsing the input content into form fields. This is very similar to the
port definition RAWINPUT parameter (“RAWINPUT” on page 81), except that:
●
RAWINPUTONLY can be an ON rule parameter, so it can be set for specific URLs.
●
RAWINPUT does not prevent Janus Web Server from trying to parse the form
parameters if the content-type header for the POST is set to application/xwww-form-urlencoded or multipart/form-data. RAWINPUTONLY prevents
this parsing, so it protects Janus Web Server applications from errors in this parsing.
These errors include invalid-form-data errors and request-buffer-full errors.
NOTRAWINPUTONLY can be used to override the default setting of RAWINPUTONLY
on the JANUS DEFINE command for the port for a specific set of URLs (see
“RAWINPUTONLY” on page 81). If RAWINPUTONLY is specified on a port definition,
RAWINPUTONLY on a JANUS WEB ON rule for the port is redundant, but harmless.
The RAWINPUTONLY parameter for JANUS WEB ON rules is, perhaps, most useful for
allowing requests with a large number of parameters to be processed without having to
allocate an extremely large request buffer to hold all the posted parameters. In fact, if
there are enough form parameters, the maximum request buffer size (65535 bytes) may
not be sufficient to hold all the form data in a post. In this case, the RAWINPUTONLY
parameter is the only way to prevent the request from failing with this error:
MSIR.0353 Insufficient Web request buffer space
If the RAWINPUTONLY parameter is in effect for a URL, the form fields are no longer
available with the $Web_form and $Web_parm functions (that is, the multiple functions
whose names begin with these characters), though the $Web_parm, $Web_isindex, and
$Web_url_parm functions can still be used to access URL parameters.
When using RAWINPUTONLY, the only way to process the form parameters is by
retrieving them into a longstring using the $Web_input_content method. To separate the
various parameters, this longstring must then be parsed and (usually) URL decoded. If
the POST used the default form data encoding of application/x-www-formurlencoded, each parameter/value pair is separated with an ampersand (&).
Processing is considerably more complicated if the encoding is multipart/formdata.
For Janus SOAP customers, the Stringlist class ParseLines method provides a simple,
efficient way of parsing a form parameter list with application/x-www-formurlencoded encoding:
%formParms
is object stringList
%formParms = new
%formParms:parseLines($web_input_content('TEXT'), ' &')
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
179
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
This produces a Stringlist that contains items of the format fieldname=value.
Assuming that none of the form field names have been URL encoded by the browser (a
reasonable assumption for most Latin-character field names), this Stringlist is in a format
that can be easily, though not simply, searched. For example, the following code
locate's the field named OrderNumber:
%itemNum = %formParms:locate('Order=', , 1, 6)
There are some things worth noting here:
●
The search is case sensitive, though the Locate method does have a caseinsensitive search flag. Fortunately, almost all browsers return form field names in
the case that was specified in the <input> tags. Still, the case-insensitive search
parameter could be set for Locate if needed.
●
The equal sign is specified to prevent accidental matches on other fields that begin
with “Order”, such as, “OrderDate”. While it can be left off if the programmer is
confident there won't be such accidental matches, this is not recommended.
●
The column range is also specified to prevent accidental matches. While an equal
sign should be URL encoded by the browser — so an “Order=” in a value (encoded
as “Order%”) should not cause an accidental match — one could still get an
accidental match with, say, “PreviousOrder=”. Specifying the column range also
makes the search more efficient by limiting it to the start of each Stringlist item.
●
For form field names that are used more than once on a form, the values beyond
the first would need to be retrieved by specifying a starting item number (second)
parameter on the Locate method.
Once the desired item number is located, the next step is to retrieve the value. In the
case of a field name with a known length, this can be done easily with the Item method
and the $LSTR_SUBSTR function:
%itemNum = %formParms:locate('Order=', , 1, 6)
%order = $lstr_substr(%formParms:item(%itemNum), 7)
Unfortunately, the value in %order above will be URL encoded, that is, spaces will be
replaced by plus signs, and any special characters (such as ampersands or equal signs)
will be encoded with a percent sign followed by the hexadecimal value of the ASCII
code. For example, the string 90% = 9/10 would be encoded as
90%25+%3D+9%2F10. Before Sirius Mods version 6.8, there was no URL decode
function (although, there is a $Web_URL_encode to do URL encoding), so URL
decoding must be done in User Language.
——————————————————————————————————————————
180
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB ON
——————————————————————————————————————————
Such decoding could be easily packaged in a method or complex subroutine. For
example, the following shared method in a class called URL performs this decoding:
class URL
public shared
function decode(%value is longstring) is longstring
end public shared
function
%pos
decode(%value is longstring) is longstring
is float
%value = $lstr_translate(%value, ' ', '+')
%pos = 1
repeat forever
%pos = $lstr_index(%value, '%', %pos)
if not %pos then
loop end
end if
%value = $lstr_substr(%value, 1, %pos - 1) with $ebcdic($x2c( $lstr_substr(%value, %pos + 1, 2) )) with $lstr_substr(%value, %pos + 3)
%pos = %pos + 1
end repeat
return %value
end function
end class
With this function available, the value in %order in the previous example can be easily
URL-decoded:
%itemNum = %formParms:locate('Order=', , 1, 6)
%order = $lstr_substr(%formParms:item(%itemNum), 7)
%order = %(url):decode(%order)
For non-Janus SOAP customers, the processing performed by the Decode function
could be placed inside a complex subroutine where %value is an Output parameter.
In Sirius Mods version 6.8 and later, the $web_url_decode and $web_url_decode_lstr
functions obviate the need for the User Language method to do URL decoding:
%itemNum = %formParms:locate('Order=', , 1, 6)
%order = $lstr_substr(%formParms:item(%itemNum), 7)
%order = $web_url_decode_lstr(%order)
Obvioulsy, because $web is writtent in assembler, it will be much more efficient than the
comparable method written in User Language
The RAWINPUTONLY parameter is available in Sirius Mods version 6.7 and later.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
181
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.48.19 SSI
This parameter indicates that the sent document should be scanned for “Server Side
Include” tags.
5.48.20 WRAPJS
This parameter indicates that output text is to be embedded in JavaScript
document.write methods where double quotes inside the document.write parameter are
“escaped” with a backslash (\) character. This is useful for embedding HTML from one
URL into another — there is no HTML tag to embed the contents of one URL inside an
HTML page, but there is such a tag for JavaScript: the <script src="..."> tag. So by
making HTML look like JavaScript, one can take advantage of this facility for HTML.
The WRAPJS parameter is available in Sirius Mods version 6.2 and later.
5.48.21 XTAB xtabname
This parameter associates a translate table with this URL set. The translate table must
already have been defined with JANUS LOADXT, or the JANUS WEB command will fail.
This parameter is optional. If it is omitted, the port default translate table is used.
If you override the default translate table with a Janus ON rule, the new table is used to
translate any form POST data and PUT entities. Any text data returned to the browser is
also translated with the new translate table.
The URL and any request headers, including ISINDEX data and cookies, are translated
with the old translate table, since this data has already been received before the ON rule
is executed.
——————————————————————————————————————————
182
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB SCREEN
——————————————————————————————————————————
5.49
JANUS WEB SCREEN
The JANUS WEB SCREEN command sets parameters that control the mapping of 3270
screens to HTML, for Janus Web Legacy Support, for example.
JANUS WEB portname SCREEN [method] url [AUTOPF ON | TEXT | LINK | OFF] [BGCOLOR color] [BRIGHT color] [BROWSER [NOT] type [PRE | POST ver.rel]] [OR ...] [CSS url] [CSSINSP | NOCSSINSP | AUTOCSSINSP] [CSSTITLECLASS class] [CSSTITLEDIV | CSSTITLESPAN] [EXITURL url] [HEADJS url] [HOVER color] [HOVERBG color] [KBGCOLOR color] [KEYLOC where] [KHOVER color] [KHOVERBG color] [KTEXT color] [LEGBL | NOLEGBL] [LEGCSS | NOLEGCSS] [LEGJS | NOLEGJS] [LEGREV | NOLEGREV] [LEGUS | NOLEGUS] [ONLOAD text] [PREJS url] [POSTJS url] [SCREEN | NOSCREEN] [SCREENREDIR | NOSCREENREDIR] [SCREENURL | NOSCREENURL] [STIMEOUT seconds] [STIMEOUTURL url] [TEXT color] [TITLE title] [UBGCOLOR color] [UBRIGHT color] [UTEXT color] [3270color HTMLcolor] [3270key label]
JANUS WEB SCREEN command syntax
The Portname, method, and url settings are described in “The JANUS WEB command”
on page 159. In addition, a JANUS WEB SCREEN command must include at least one
of the parameters described in the individual subsections that follow.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
183
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.49.1 AUTOPF setting
This parameter indicates whether Janus Web Legacy Support should look for PF key
labels at the bottom of 3270 screens to use for labels for the buttons that correspond to
3270 PF keys.
Possible values for setting are:
OFF
If AUTOPF is set to OFF (the default setting), PF keys are simply labelled PF1,
PF2, etc.
TEXT
The AUTOPF TEXT setting causes Janus to label the keys with the text at the
bottom of 3270 screens using a heuristic algorithm. For example, a line at the
bottom of a 3270 screen that contained the following text would cause keys
corresponding to PF1, PF3, PF7, and PF8 to be labelled “Help”, “Quit”,
“Forward,” and “backward”, respectively:
1/Help
3/Quit
7/Forward
8/Backward
ON
The AUTOPF ON setting is the same as AUTOPF TEXT, except the function
key precedes the text label. For example, PF3 - Quit is displayed rather
than Quit. This can eliminate the confusion caused by help text that refers to
function keys by name. For example, the text Hit PF3 to quit could be
confusing to an end-user if PF3 does not appear in the button label.
LINK
The AUTOPF LINK setting is the same as AUTOPF TEXT, except the function
key labels are turned into hyper-text links, so the end-user can simply click on
the text to get the required function key. The AUTOPF LINK setting is available
in Sirius Mods version 6.2 and later.
The algorithm for locating PF key labels is heuristic and might fail on occasion. In such
cases, do either of these:
●
●
Use explicit PF key mappings with either JANUS WEB SCREEN rules or using the
$WEB_SCREEN function.
Contact Sirius Software technical support to determine the feasibility of enhancing
the label detection algorithm.
No buttons are displayed for any PF keys for which no labels are found. AUTOPF ON or
AUTOPF TEXT overrides any explicit function key labels set by JANUS WEB SCREEN
PFxx commands. That is, these explicit settings are ignored when AUTOPF ON or
AUTOPF TEXT is set. The explicit settings, however, become active if AUTOPF is set
to OFF with a $WEB_SCREEN function.
AUTOPF processing does not affect the label for the ENTER key button and the label, or
presence, of the attention key button.
——————————————————————————————————————————
184
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB SCREEN
——————————————————————————————————————————
5.49.2 BGCOLOR color
This parameter sets the background color for the HTML forms that contain the 3270
screens. color can be a color name such as red, or it can be an RGB code such as
#FF0000.
color is not checked for validity. The specified value is simply placed literally after a
“<body bgcolor=” tag in generated HTML.
The default background color is #300000, which is black with a very slight red-ish tint.
5.49.3 BRIGHT color
This parameter sets the color for fields that are set to BRIGHT in the HTML forms
containing the 3270 screens. color can be a color name such as red, or it can be an
RGB code such as #FF0000.
color is not checked for validity. The specified value is simply placed literally after a
“<font color=” tag in generated HTML.
If a BRIGHT color is not specified, bright fields are displayed the same as regular dim
fields, the color of which is controlled by the TEXT parameter (“TEXT color” on page
193).
The BRIGHT parameter is available in Sirius Mods version 6.2 and later.
5.49.4 BROWSER [NOT] type [PRE | POST ver.rel]]
This parameter indicates that the JANUS WEB SCREEN rule only applies to browsers of
a particular type. The three browser “brands” recognized by Janus Web Server are
IE
Microsoft's Internet Explorer™.
NS
Netscape Communication Corporation's Netscape Navigator™ which is a
component of Netscape Communicator™.
OPERA
Opera Software ASA's Opera™
Rules can be made to apply to all browsers of a particular brand:
JANUS WEB WEBPORT SCREEN /MUMBLE/* BROWSER IE ...
Or, for all releases of a particular brand before a particular release:
JANUS WEB WEBPORT SCREEN /MUMBLE/* BROWSER NS PRE 6 ...
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
185
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Or, for all releases of a particular brand at or after a particular release:
JANUS WEB WEBPORT SCREEN /MUMBLE/* BROWSER OPERA POST 5.1 ...
Or, for all browsers not of a particular brand:
JANUS WEB WEBPORT SCREEN /MUMBLE/* BROWSER NOT NS ...
Or, for all browsers not of specific releases of a brand:
JANUS WEB WEBPORT SCREEN /MUMBLE/* BROWSER NOT NS POST 6 ...
The PRE or POST version could simply be an integer like 4, 5, or 6, or it could a decimal
value with a single decimal place like 5.1, 6.2, or 4.5. PRE is always exclusive, POST is
always inclusive.
A set of conditions, one for each browser brand supported, can be combined with the
OR keyword:
JANUS WEB WEBPORT SCREEN /MUMBLE/* BROWSER
NS POST 6 OR NOT IE ...
JANUS WEB WEBPORT SCREEN /MUMBLE/* BROWSER
IE POST 4.5 OR NS POST 6 OR OPERA POST 5 ...
The BROWSER parameter is useful for specifying screen settings that are specific to a
particular browser or set of browsers.
The BROWSER parameter is available in Sirius Mods version 6.2 and later.
5.49.5 CSS url
This parameter indicates a URL that is to be used as an external stylesheet for Janus
Web Server legacy pages. This URL can be relative or absolute, though it should be
kept in mind that a relative URL is relative to the path for the URL that brought up the
legacy page. If the external style sheet is to be served from the same port as the legacy
URL, http:// and the host name need not be included. The style sheet can also be
served by a completely different server.
There is empirical evidence that at least some releases of Internet Explorer™ do not
cache style sheets that are specified in mixed case.
——————————————————————————————————————————
186
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB SCREEN
——————————————————————————————————————————
The CSS parameter causes Janus Web Server legacy support to produce very different
HTML pages than it otherwise would, and all the JANUS WEB SCREEN parameters that
set things like colors and hover effects are meaningless if CSS is specified.
Using an external stylesheet has many benefits:
●
It reduces the size of the HTML sent for each screen.
●
It allows much more flexibility in what can be customized.
●
It uses a standard grammar (CSS) for specifying legacy page layouts rather than a
Janus Web Server specific set of rules.
The CSS parameter is available in Sirius Mods version 6.2 and later.
5.49.6 CSSINSP | NOCSSINSP | AUTOCSSINSP
This parameter overrides the default or explicit JANUS DEFINE setting of the
CSSINSP/NOCSSINSP/AUTOCSSINSP parameter. For more information, see
“CSSINSP, NOCSSINSP, and AUTOCSSINSP” on page 53.
5.49.7 CSSTITLECLASS class
This parameter sets the class to be used for the title line when using an external style
sheet. The default class for the title line is title.
The main reason to use CSSTITLECLASS is to change the appearance of the title line
between applications or within an application (via $WEB_SCREEN) as some sort of
indicator to the end-user.
This parameter has no effect if an external style sheet is not being used.
The CSSTITLECLASS parameter is available in Sirius Mods version 6.2 and later.
5.49.8 CSSTITLEDIV | CSSTITLESPAN
This parameter overrides the default or explicit JANUS DEFINE setting of the
CSSTITLEDIV/CSSTITLESPAN parameter. For more information, see “CSSTITLEDIV
and CSSTITLESPAN” on page 54.
5.49.9 EXITURL url
This parameter sets the URL to which the browser is re-directed if the 3270 session
requests a line-mode (non-full-screen) input from the user (and hence has presumably
exited).
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
187
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Note: If no EXITURL is specified and the 3270 application exits to command mode,
Janus Web Server simply returns an empty page, which can be quite confusing to the
end-user.
For additional discussion of this parameter, see the “Janus Web Legacy Support”
section in the Janus Web Server Reference Manual.
5.49.10 HEADJS url, PREJS url, and POSTJS url
This option indicates a URL that contains JavaScript that is to be embedded in a Janus
Web legacy page via a <script src="..."> tag. The HEADJS JavaScript is embedded
immediately before the <head> tag, the PREJS JavaScript is embedded immediately
before the <pre> tag that starts the actual screen data, and the POSTJS JavaScript is
embedded immediately after the </pre> tag that ends the screen data.
url can be a relative or absolute URL, though note that a relative URL will be relative to
the path for the URL that brought up the legacy page.
If the JavaScript is to be served from the same port as the legacy URL, http:// and
the host name need not be included. The JavaScript can also be served by a
completely different server.
The HEADJS, PREJS, and POSTJS parameters make it possible to add information to a
legacy screen such as navigation bars, graphics, or explanatory text without using
frames, though one could even combine frames and PREJS and/or POSTJS. Typically,
the HEADJS parameter specifies a JavaScript method that is invoked by a <body>
onload attribute as set from the ONLOAD parameter (“ONLOAD text” on page 192).
Such a JavaScript method could even be used to modify the HTML generated by Janus
Web Legacy support, though how this would be accomplished is beyond the scope of
this reference.
The PREJS and POSTJS parameters are available in Sirius Mods version 6.2 and later.
The HEADJS parameter is available in Sirius Mods version 6.2 if ZAP6288 is applied, in
Sirius Mods version 6.3 if ZAP6315 is applied, and in all Sirius Mods versions after that.
5.49.11 HOVER color
This parameter sets the text color for input fields that displays either when the mouse
moves over them or when they get focus via a tab key or some other means. color can
be a color name such as red, or it can be an RGB code such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after the “color:” keyword for “input:hover” and “input:focus” elements in a “<style>”
section.
If HOVER is not specified, no hover color is set.
——————————————————————————————————————————
188
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB SCREEN
——————————————————————————————————————————
HOVER can be useful in Janus Web Legacy pages, because by default (for Sirius Mods
version 6.2 and later) borders are not displayed on input fields in the same way they are
not displayed on a 3270 screen, so there is no end-user feedback indicating which areas
are unprotected. HOVER provides such feedback.
Support for the hover action varies widely from browser to browser.
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set a hover color for an input area, so the HOVER
parameter was not available in releases before 6.2.
5.49.12 HOVERBG color
This parameter sets the background color for input fields that displays either when the
mouse moves over them or when they get focus via a tab key or some other means.
color can be a color name such as red, or it can be an RGB code such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after the “color:” keyword for “input:hover” and “input:focus” elements in a “<style>”
section.
If HOVERBG is not specified, no hover background color is set.
HOVERBG can be useful in Janus Web Legacy pages, because by default (for Sirius
Mods version 6.2 and later) borders are not displayed on input fields in the same way
they are not displayed on a 3270 screen, so there is no end-user feedback indicating
which areas are unprotected. HOVERBG provides such feedback.
Support for the hover action varies widely from browser to browser.
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set a hover background color for an input area, so the
HOVERBG parameter was not available in releases before 6.2.
5.49.13 KBGCOLOR color
This parameter sets the background color for submit buttons (keys) in the HTML forms
containing the 3270 screens. color can be a color name such as red, or it can be an
RGB code such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after the “background:” keyword for “input.key” elements in a “<style>” section — submit
buttons are <input> fields with class="key" in Janus Web legacy pages.
If KBGCOLOR is not specified, “#D0D0D0”, a grey color, is used.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
189
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set the background color of an submit button, so the
KBGCOLOR parameter was not available in releases before 6.2.
5.49.14 KEYLOC where
This parameter specifies the position of the PF key submit buttons on a legacy screen.
Valid values for KEYLOC are TOP, BOTTOM, LEFT, RIGHT, and NONE.
If NONE is specified, no PF key submit buttons appear on legacy screens. Then, unless
buttons are made available with a PREJS or POSTJS “wrapper” (“HEADJS url, PREJS
url, and POSTJS url” on page 188), none will be available to end-users.
The KEYLOC parameter is available in Sirius Mods version 6.2 and later.
5.49.15 KHOVER color
This parameter sets the text color that submit buttons (keys) display when the mouse
moves over them. color can be a color name such as red, or it can be an RGB code
such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after the “color:” keyword for “input.key:hover” and “input.key:focus” elements in a
“<style>” section — submit buttons are <input> fields with class="key" in Janus Web
legacy pages.
If KHOVER is not specified, no hover color is set.
Support for the hover action varies widely from browser to browser.
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set a hover color for a submit button, so the KHOVER
parameter was not available in releases before 6.2.
5.49.16 KHOVERBG color
This parameter sets the background color that submit buttons (keys) display when the
mouse moves over them. color can be a color name such as red, or it can be an RGB
code such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after the “background:” keyword for “input:hover” and “input:focus” elements in a
“<style>” section — submit buttons are <input> fields with class="key" in Janus Web
legacy pages.
——————————————————————————————————————————
190
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB SCREEN
——————————————————————————————————————————
If KHOVERBG is not specified, no hover background color is set.
Support for the hover action varies widely from browser to browser.
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set a hover color for a submit button, so the
KHOVERBG parameter was not available in releases before 6.2.
5.49.17 KTEXT color
This parameter sets the text color for submit buttons (keys) in the HTML forms
containing the 3270 screens. color can be a color name such as red, or it can be an
RGB code such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after the “color:” keyword for “input.key” elements in a “<style>” section — submit
buttons are <input> fields with class="key" in Janus Web legacy pages.
If KTEXT is not specified, “#000000”, black, is used.
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set the text color of an submit button, so the KTEXT
parameter was not available in releases before 6.2.
5.49.18 LEGBL | NOLEGBL
This parameter overrides the default or explicit JANUS DEFINE setting of the
LEGBL/NOLEGBL parameter. For more information, see “LEGBL, LEGREV, LEGUS,
NOLEGBL, NOLEGREV and NOLEGUS” on page 61.
5.49.19 LEGCSS | NOLEGCSS
This parameter overrides the default or explicit JANUS DEFINE setting of the
LEGCSS/NOLEGCSS parameter. For more information, see “LEGCSS and
NOLEGCSS” on page 61.
5.49.20 LEGJS | NOLEGJS
This parameter overrides the default or explicit JANUS DEFINE setting of the
LEGJS/NOLEGJS parameter. For more information, see “LEGJS and NOLEGJS” on
page 62.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
191
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.49.21 LEGREV | NOLEGREV
This parameter overrides the default or explicit JANUS DEFINE setting of the
LEGREV/NOLEGREV parameter. For more information, see “LEGBL, LEGREV,
LEGUS, NOLEGBL, NOLEGREV and NOLEGUS” on page 61.
5.49.22 LEGUS | NOLEGUS
This parameter overrides the default or explicit JANUS DEFINE setting of the
LEGUS/NOLEGUS parameter. For more information, see “LEGBL, LEGREV, LEGUS,
NOLEGBL, NOLEGREV and NOLEGUS” on page 61.
5.49.23 ONLOAD text
This parameter indicates text that should be included in the onload attribute of the
<body> tag in the HTML generated by Janus Web Legacy support.
Typically, Janus Web Server generates an onload attribute to invoke a method to
position the cursor. In such a case, the text specified in the ONLOAD parameter is
placed after the cursor positioning method invocation. On occasion, the cursor cannot
be positioned, so no onload attribute is be placed in the <body> tag. In such a case, if
an ONLOAD parameter is in effect, an onload attribute is added to the <body> tag
containing just the text after the ONLOAD tag.
Typically, the ONLOAD parameter is used to invoke a method defined in JavaScript and
retrieved as a result of the HEADJS parameter (“HEADJS url, PREJS url, and POSTJS
url” on page 188).
The ONLOAD parameter is available in Sirius Mods version 6.2 if ZAP6288 is applied, in
Sirius Mods version 6.3 if ZAP6315 is applied, and in all Sirius Mods versions after that.
5.49.24 SCREEN | NOSCREEN
This parameter overrides the default or explicit JANUS DEFINE setting of the
SCREEN/NOSCREEN parameter. For more information, see “SCREEN and
NOSCREEN” on page 83.
5.49.25 SCREENREDIR | NOSCREENREDIR
This parameter overrides the default or explicit JANUS DEFINE setting of the
SCREENREDIR/NOSCREENREDIR parameter. For more information, see
“NOSCREENREDIR” on page 76.
——————————————————————————————————————————
192
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB SCREEN
——————————————————————————————————————————
5.49.26 SCREENURL | NOSCREENURL
This parameter overrides the default or explicit JANUS DEFINE setting of the
SCREENURL parameter. For more information, see “SCREENURL” on page 84.
5.49.27 STIMEOUT seconds
This parameter sets the number of seconds of inactivity after which a Janus Web Legacy
session is terminated. Since it is quite easy for an end-user to start a 3270 session in a
browser and forget about it, a session timeout is essential to prevent all available
SDAEMON threads from being used by forgotten 3270 sessions.
The default STIMEOUT for a URL is the port STIMEOUT setting, which is specified on
the JANUS DEFINE command. The default STIMEOUT setting for a port is 900
(seconds), or 15 minutes.
5.49.28 STIMEOUTURL url
This parameter sets the URL to which the browser is re-directed if the 3270 session
times out, or if it is terminated for some other reason, such as a BUMP or the cycling of
an Online.
If no STIMEOUTURL is specified and the 3270 session is no longer available when the
end-user submits the form associated with that session, Janus Web Server returns a
standard HTML page that indicates that the session is no longer available and might
have timed out. Unfortunately, because this is a generic page, this page contains no
hypertext links that allow the user to restart the session or to get back to some standard
home page. STIMEOUTURL allows a site to provide a customized timeout page that
contains hypertext links to the appropriate pages.
5.49.29 TEXT color
This parameter sets the text color for the HTML forms that contains the 3270 screens.
color can be a color name such as red, or it can be an RGB code such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after a “<body text=” tag in generated HTML.
The default text color is “#ffffd8”, which is an off-white color.
The text color is only used for line-mode data, that is, data produced from Model 204
error messages, PRINT statements, or WRITE TERMINAL statements. The color of text
in screens produced with READ SCREEN statements is controlled by the color settings
in the screen definition and by the default color mappings or by the mappings set in the
JANUS WEB SCREEN command.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
193
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.49.30 TITLE title
This parameter sets the title for the HTML form that contains the mapped 3270 screens.
If this is not set, Janus Web Server uses the title specified in the TITLE statement of the
screen definition. If that TITLE statement is not present, Janus Web Server uses a
default title of “Janus Web Full Screen”.
5.49.31 UBGCOLOR color
This parameter sets the background color for input fields in the HTML forms that contain
the 3270 screens. color can be a color name such as red, or it can be an RGB code
such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after the “background:” keyword for “input” elements in a “<style>” section.
If UBGCOLOR is not specified, the color specified for BGCOLOR is used. If the
BGCOLOR color was not specified, #300000 (black with a very slight red-ish tint) is
used for both.
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set the background color of an input field, so the
UBGCOLOR parameter was not available in releases before 6.2.
5.49.32 UBRIGHT color
This parameter sets the text color for input fields (the U stands for Unprotected) in the
HTML forms that contain the 3270 screens. color can be a color name such as red, or it
can be an RGB code such as #FF0000.
The color value is not checked for validity. The specified value is simply placed literally
after the “color:” keyword in a “style” attribute for “<input>” tags.
If UBRIGHT is not specified, the color specified for BRIGHT is used. If the BRIGHT
color was not specified, the regular dim text color is used for both.
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set the text color of an input field, so the UBRIGHT
parameter was not available in releases before 6.2.
5.49.33 UTEXT color
This parameter sets the text color for input fields (the U stands for Unprotected) in the
HTML forms that contain the 3270 screens. color can be a color name such as red, or it
can be an RGB code such as #FF0000.
——————————————————————————————————————————
194
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
JANUS WEB SCREEN
——————————————————————————————————————————
The color value is not checked for validity. The specified value is simply placed literally
after the “color:” keyword for “input” elements in a “<style>” section.
If UTEXT is not specified, the color specified for TEXT is used. If the TEXT color was
not specified, #FFFFD8 (slightly off white) is used for both.
Before Sirius Mods version 6.2, CSS was not used by Janus Web Legacy support,
without which it is impossible to set the text color of an input field, so the UTEXT
parameter was not available in releases before 6.2.
5.49.34 3270color HTMLcolor
This parameter sets the mapping of 3270 colors to HTML colors for the HTML forms that
contain the 3270 screens.
3270color can be BLUE, RED, PINK, GREEN, TURQUOISE, TURQ (a synonym for
TURQUOISE), YELLOW, or WHITE. HTMLcolor can be a color name such as red, or it
can be an RGB code such as #FF0000.
The HTMLcolor value is not checked for validity. The specified value is simply placed
literally after a “<font color=” tag in generated HTML.
The default color mappings are:
3270 color
HTML color
Blue
#00FFFF
Green
#00C000
Pink
#FF80FF
Red
#FF0000
Turquoise
#00C0C0
White
#FFFFFF
Yellow
#FFFF00
As of Sirius Mods version 6.2, the color mappings are also applied to the text in input
fields.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
195
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.49.35 3270key label
This parameter sets the label for the HTML buttons associated with 3270 keys. Valid
3270 keys are PF1 through PF24, ENTER, ATTENTION, and ATTN (a synonym for
ATTENTION). Excepting the ENTER key and ATTENTION key settings, these labels
are ignored if AUTOPF is set to ON or TEXT.
If a label contains blanks, it must be enclosed in single-quotes.
The default labels are PF1 through PF24 for the PF keys, and Enter for the ENTER
key.
No attention button is available on a mapped 3270 screen unless the ATTENTION or
ATTN parameter is set.
5.50
Rule matching order and examples
Each execution of a JANUS WEB command adds to the set of rules for the specified
WEBSERV port. Individual rules cannot be deleted nor modified; all rules can be
deleted only by stopping and deleting the port definition. However, this should not be
necessary, as long as you follow the two golden rules:
1.
Specify the most general rules first and the most specific last.
2.
Specify a first rule that will “clear” all related rules.
The following example illustrates these principles:
JANUS
JANUS
JANUS
JANUS
JANUS
WEB
WEB
WEB
WEB
WEB
TEST21
TEST21
TEST21
TEST21
TEST21
DISALLOW *
ALLOW IPADDR 198.242.244.0-24
ALLOW IPADDR 169.84.128.0-3
DISALLOW IPADDR 169.84.128.17
ALLOW USER *
In this example, any previously specified ALLOW rules on port TEST21 are made
obsolete by the first DISALLOW rule. Once the TEST21 access rules are cleared, two
subnets are given access permission, and then a single specific IP address within one of
those subnets has its access revoked. Finally, the ALLOW USER * forces logon
processing for all users.
Similar processing takes place for redirection commands. To redirect a specified URL to
another URL, use the REDIRECT command:
JANUS WEB SIRIUS REDIRECT *.jav http://sirius-software.com:8080/java/*.jav
——————————————————————————————————————————
196
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Rule matching order and examples
——————————————————————————————————————————
In the example above, requests for Java executables are routed out of the Janus Web
Server SIRIUS and onto a java directory at port 8080 at sirius-software.com. A
block of redirection commands might look like this:
JANUS WEB SIRIUS NOREDIRECT
JANUS WEB SIRIUS REDIRECT *.jav http://sirius-software.com:8080/java/*.jav
JANUS WEB SIRIUS REDIRECT *.jpg http://sirius-software.com:8001/images/*.jpg
In this example, all previously defined redirection is removed, Java executables are
routed out of the Janus Web Server SIRIUS and onto a java directory at port 8080 at
sirius-software.com, and JPEG images are redirected to an IMAGES directory on
port 8001 at sirius-software.com.
TYPE rules are used to customize processing for certain patterns of incoming URLs.
For example
JANUS WEB SIRIUS TYPE *.HTML HTML_*
The Janus Web Server default assumption is that the requested URL is stored in a
Model 204 procedure. If the above TYPE rule is in effect and a request comes in for
WELCOME.HTML, the server looks in the default procedure file for procedure
HTML_WELCOME and returns its contents to the user.
Virtually any character that is valid in a URL specification is valid as part of a Model 204
procedure name, so the Janus Web Server satisfies by default a request for
http://www.x.com:80/staff/bobsmith/welcome.html by sending the contents
of the procedure “staff/bobsmith/welcome.HTML” from the default Model 204 file to the
client.
To change this default behavior, you can use an ON rule to cause a request for a
specific URL to initiate some other process, as in :
JANUS WEB SIRIUS ON /pensions/* OPEN GROUP PENSIONS CMD 'I PENSIONS_DRIVER'
In the above example, any request for access to the /pensions directory instead
causes the Model 204 group PENSIONS to open and the routine PENSIONS_DRIVER
to be invoked.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
197
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
5.51
Exception rules
JANUS WEB ON, TYPE, and REDIRECT rules can also be used to assign special URLs
to handle exception conditions. Exception conditions are conditions that are outside the
normal course of Janus Web Server application processing. To specify an exception
handling rule, simply issue the appropriate JANUS WEB rule with the name of the
exception condition specified for the URL, as in the following:
JANUS WEB WEBPORT ON REQCANCEL OPEN FILE EXCPROC CMD 'I REQCANCEL'
Exception rules must be specified with the complete exception condition name (with no
wildcards) in the URL. A rule that contains a wildcard in the URL is not applied to an
exception condition, even if the wildcard string matches the exception condition.
For example, the following rule will not be applied to a REQCANCEL condition, even
though technically REQCANCEL matches the * (asterisk) wildcard string.
JANUS WEB WEBPORT ON * CMD WEBSYS
Valid exception handlers are :
EOD
Invoked when EOD is ON.
FORBIDDEN
Invoked when a browser requests a URL that it is forbidden to view.
This is different from UNAUTHORIZED (described below): a URL is
“forbidden” if no matter what userid the user logs on to, they are not
permitted to view the URL. Such a URL is likely one that is restricted
to browsers or proxies with certain IP addresses.
LOGONERR
Invoked when a login for a user fails for whatever reason.
NEWPASSWORD
Invoked when a user successfully changes his or her password. This
can be used to send an explanatory page explaining the somewhat
odd behavior of browsers after a password change.
NODONE
Invoked when a web request requires terminal input at command level,
and it has not issued a $WEB_DONE (or done a $WEB_PROC_SEND
without MORE). This will only happen if the NOAUTODONE
parameter was issued on the appropriate JANUS DEFINE or JANUS
WEB ON command.
This exception handler can be useful in catching conditions that would
result in raw Model 204 error messages being sent back to the
browser, such as “M204.1169: CAN'T INCLUDE procname” or
“M204.1126: SUBSYSTEM subsys MUST BE STARTED.”
——————————————————————————————————————————
198
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Exception rules
——————————————————————————————————————————
NOLOGCOOKIE
Invoked when a port has the WEBLOGCOOKIE parameter set but a
browser does not provide the login cookie for a public URL.
NOTFOUND
Invoked when a URL without an associated JANUS WEB ON RULE is
requested. This handler can be useful to redirect requests for invalid
URLs back to a common home page, or to return a “prettier” error
page than the standard Janus Web Server “Not found” page.
NOUSERID
Invoked when a login is required for the requested URL but the
browser has not sent a userid and password. The default action in this
situation, the sending of a “401 Unauthorized” to the browser, is
probably the correct action in almost all cases. However, you can use
a NOUSERID exception handler to customize the “Unauthorized”
message to something like “Userid and password required.”
OPENERR
Invoked when there is an error opening a file or group in the JANUS
DEFINE command for the port or the JANUS WEB ON rule for the
requested URL.
REQCANCEL
Invoked when a User Language procedure that is processing a JANUS
WEB ON rule is cancelled. This handler can be useful to return a
“prettier” error page than the standard Janus Web Server “Internal
server error” page. It can also be used to log error diagnostics or send
an error notification to appropriate people.
RESTART
Invoked when a Janus Web Server thread is restarted, RESTART is
not allowed on any rules except REDIRECT. This handler can be
useful to return a “prettier” error page than the standard Janus Web
Server “Internal server error” page. It can also be used to send an
error notification to appropriate people.
The time and last error message at the time of the restart are added to
the redirect URL as isindex data.
SSLCIPHERERR
Invoked when there are no common ciphers between the Janus Web
Server SSL port and the browser. The most common cause of this is a
browser that does not have high-grade (128-bit RC4) encryption, but
the Janus Web Server port has been configured to accept only highgrade encryption connections. An SSLCIPHERERR rule can return a
page to the browser that explains the problem, and it can even contain
links to download a browser with high-grade security.
SSLNOCERTERR
Invoked when a user tries to connect to an SSL port defined with the
SSLCERTR parameter but does not present a client certificate. This
can be useful in presenting a user with the information that a client
certificate is required and how such a certificate might be obtained.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
199
——————————————————————————————————————————
Janus Commands
——————————————————————————————————————————
SSLPROTOCOLERR
Invoked when a user tries to connect using an SSL protocol version
that is not being allowed. Generally this would be used to respond to
attempts to connect to Janus Web Server using SSL V2 when only
SSL V3 is being allowed.
UNAUTHORIZED
Invoked when a login is required for the requested URL and the
browser has sent a valid userid and password, but the userid is not
authorized to retrieve the requested URL, that is, the URL is restricted
to certain userids. The default action in this situation, the sending of a
“401 Unauthorized” to the browser, results in a logon pop-up window
being presented to the end-user by the browser, making it possible for
the end-user to logon to a different userid.
Unfortunately, there is no way for a user to distinguish the logon popup window presented as a result of “valid userid and password but
userid not authorized” from that presented because of an invalid userid
or password. In addition, allowing the user to change userids does not
make sense in the case where an end-user only has a single userid.
To deal with these problems, A JANUS WEB ON UNAUTHORIZED
rule makes it possible to customize the response to this situation. A
JANUS WEB ON UNAUTHORIZED rule runs only if the browser sends
a valid userid and password, and in fact, such a rule will run after
logging on the unauthorized userid.
——————————————————————————————————————————
200
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Janus User Parameters
——————————————————————————————————————————
——————
CHAPTER 6
Janus User Parameters
Some aspects of Janus behavior can be controlled by user parameters, that is,
parameters that
●
●
can be set using the Model 204 RESET command by any logged-in user
affect only the thread on which they are issued
At logout, all Janus user parameters are set back to the values they had when the thread
was defined, that is, during Online initialization.
6.1
JANDEBM
JANDEBM is a bitmask parameter that controls the display of messages and data that
are destined for the browser while debugging a Janus Web Server request with the
JANUSDEBUG command (which is described further in “The JANUSDEBUG command”
on page 22).
The JANDEBM parameter, like the JANUSDEBUG command, is available in Sirius Mods
6.0 and later.
The JANDEBM bit values are:
X'01'
Display Model 204 messages (M204.xxx, MSIR.xxx and USER.xxx) on the
debugging user's terminal. This is the default.
X'02'
Display application generated data, that is, data from PRINT, HTML, TEXT, or
WRITE TERMINAL statements on the debugging user's terminal. Typically this
data would be HTML, XML, or plain text.
6.2
SRSPARM
The SRSPARM parameter is a bitmask parameter that controls the behavior of the
Janus Web Server saved record set and $list functions ($WEB_SAVE_RECSET,
$WEB_SAVE_LIST, $WEB_REST_RECSET and $WEB_REST_LIST).
SRSPARM is available as a parameter argument on the indicated $functions that
overrides the default or any previous SRSPARM settings. You can use the SRSPARM
parameter to set the default behavior of these functions on a thread basis (and reset with
$RESETN).
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
201
——————————————————————————————————————————
Janus User Parameters
——————————————————————————————————————————
The SRSPARM parameter is available in Sirius Mods 6.3 and later.
The SRSPARM bit values are:
X'01'
Make default for $WEB_SAVE_RECSET and $WEB_SAVE_LIST “ERROR”
X'02'
Make default for $WEB_SAVE_RECSET and $WEB_SAVE_LIST “CANCEL”
X'04'
Make default for $WEB_SAVE_RECSET and $WEB_SAVE_LIST “UERROR”
X'08'
Make default for $WEB_SAVE_RECSET and $WEB_SAVE_LIST “UCANCEL”
X'10'
Make default for $WEB_SAVE_RECSET and $WEB_SAVE_LIST “COPY”
X'20'
CANCEL request on a COPY style $WEB_SAVE_RECSET for an exclusively
locked record set. If this bit is not set, this error would simply be reflected with
an error code of 7. This operation is not allowed, because there cannot be two
threads that have the same records locked in exclusive mode, which is what
would be the case after a COPY type save of an exclusively locked record set.
X'40'
Make default for $WEB_REST_RECSET and $WEB_REST_LIST “COPY”
X'80'
CANCEL request on a COPY style $WEB_REST_RECSET for an exclusively
locked record set. If this bit is not set, this error would simply be reflected with
an error code of 7. This operation is not allowed, because there cannot be two
threads that have the same records locked in exclusive mode, which is what
would be the case after a COPY type restore of an exclusively locked record
set.
The default value for SRSPARM is 0, which preserves the current behavior of the listed
functions.
——————————————————————————————————————————
202
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Janus IFDIAL Library
——————————————————————————————————————————
——————
CHAPTER 7
Janus IFDIAL Library
The Janus IFDIAL Library provides client/server streams support over TCP/IP. This
support is similar to Model 204 BATCH2/IFDIAL support with the difference that the
client programs run on workstations and the communication protocol is TCP/IP. This
approach has several advantages:
●
It makes it easy to access existing BATCH2 applications from a workstation.
●
It makes it easy to write new Model 204 applications that communicate with a
workstation since they can be written using well-understood technology (WRITE
IMAGE and PRINT statements) rather than complex communications functions.
●
It makes it possible to write “self-contained” workstation applications that include
both client and server (user language code).
●
It provides a mechanism for uploading and downloading Model 204 procedures
from/to a workstation.
7.1
C Routines
Workstation programs written in C have access to the Model 204 server through the
functions described in this chapter. There are no limits to the number of ifdial
connections an application can have at a given time or the number of different
Model 204 servers an application can be connected to simultaneously other than the
limits imposed by storage capacity on the client machine and the number of IFDIAL
threads defined on the host Model 204 ONLINE's.
Following are the C routines that comprise the Janus IFDIAL library:
C routine
description
ifdial
initiate a connection to a Model 204 server.
iffinish
terminate (hang up) connections to Model 204 servers.
ifhangup
terminate a connection to a Model 204 server.
ifread*
read data sent from Model 204 server.
ifwrite*
write data on a connection to a Model 204 server.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
203
——————————————————————————————————————————
Janus IFDIAL Library
——————————————————————————————————————————
7.1.1
ifdial
NAME
ifdial — initiate a connection to a Model 204 server
SYNOPSIS
#include <ifdial.h>
cnum = ifdial(name, port, ibsize, obsize, maxin)
int cnum;
char *name;
int port;
int ibsize;
int obsize;
int maxin;
DESCRIPTION
The parameter name specifies either the TCP/IP address or the name of the host
running the BATCH2 server. The parameter port specifies the TCP/IP port providing the
BATCH2 service. If this parameter is 0, the default port of 204 is used. The parameter
ibsize indicates the size of the buffer to be used to receive data from the Model 204
server and obsize indicates the size of the buffer to be used to send data to the
Model 204 server.
The default for ibsize is 1024 and the default for obsize is the same as the value of
ibsize. Note that values for both ibsize and obsize must be between 512 and 8192
inclusive; values outside that range will be forced to the nearest proper value. The
parameter maxin sets the maximum length record that the client will accept from the
Model 204 server. The Model 204 server is informed of this limit and will not send any
records longer than maxin bytes. The default for maxin is 256, and it will be forced into
the range 80 to 8192 inclusive if outside this range.
RETURN VALUES
>= 0
If the connection succeeds, a value of 0 or greater is returned. This number
indicates the connection number and is to be used in future ifread and ifwrite
calls. There is no limit to the number of ifdial connections an application can
have active at a time. If the connection fails a value less than 0 is returned
indicating the nature of the error.
-100
Passed name could not be resolved.
-101
Insufficient storage.
-102
Socket failure (TCP/IP service not available).
-103
Connection failure (server not available).
——————————————————————————————————————————
204
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
C Routines
——————————————————————————————————————————
-104
local failure (TCP/IP service probably lost).
-105
Error in initial handshake (probably not a Model 204 ifdial server).
-106
Connected to incompatible ifdial server.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
205
——————————————————————————————————————————
Janus IFDIAL Library
——————————————————————————————————————————
7.1.2
iffinish
NAME
iffinish — terminate (hang up) all connections to Model 204 server(s)
SYNOPSIS
#include <ifdial.h>
rc = iffinish();
int rc;
DESCRIPTION
No further ifread or ifwrite are allowed on any connection after an iffinish
RETURN VALUES
0
All connections terminated.
——————————————————————————————————————————
206
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
C Routines
——————————————————————————————————————————
7.1.3
ifhangup
NAME
ifhangup — terminate (hang up) a connection to a Model 204 server
SYNOPSIS
#include <ifdial.h>
rc = ifhangup(cnum);
int rc;
DESCRIPTION
The parameter cnum specifies the connection number returned by a previous ifdial. No
further ifread or ifwrite calls are allowed on a connection after an ifhangup for that
connection.
RETURN VALUES
0
Connection terminated.
100
Invalid connection number.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
207
——————————————————————————————————————————
Janus IFDIAL Library
——————————————————————————————————————————
7.1.4
ifread
NAME
ifread, ifreadl — read data sent from a Model 204 server
ifreadVB, ifreadlVB - Wrappers for using ifread, ifreadl from Visual Basic programs
SYNOPSIS
#include <ifdial.h>
rc = ifread(cnum, data)
int rc;
int cnum;
char **data;
rc = ifreadl(cnum, data, len)
int rc;
int cnum;
char **data;
int *len;
DESCRIPTION
The parameter cnum specifies the number of a connection established with a previous
ifdial call. data is a pointer to a string pointer to be set to point to a blank delimited
character string that contains the next output line from the IFDIAL server. len (ifreadl
and ifreadlVB only) is both an input and an output parameter. On input, it's the
maximum length to be returned in data. (INCLUDING a terminating null-byte). On
output, it is set to the full length of the record, and if the output value exceeds the input
value, the record was truncated.
In the case of a C-program calling ifreadl, no data are actually moved (the data
parameter is set to point to the record in the internal buffer), so there is no worry about
buffer overflow and the input value of len isn't very useful (this is not the case with the
VB versions; see below). However, since it is possible that the returned data contains
embedded nulls, the returned value in len is useful when strlen won't work.
Visual Basic issues
Except for ifread and ifreadl, all the ifdial functions can be called from Visual Basic
programs, using the Windows build of ifdial.dll and the declarations provided in the
ifdial.vb file (note carefully that ints in C must be Longs in VB and that strings for which a
length is not provided (the name arg to ifdial and the data arg to ifwrite and ifwriteb)
MUST BE null-terminated).
However, because of the way VB passes string args, your VB program must use the
alternate forms ifreadVB and ifreadlVB
——————————————————————————————————————————
208
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
C Routines
——————————————————————————————————————————
Dim cnum As Long
Dim data As String * 256
Dim rc As Long
Dim length As Long
rc = ifreadVB (cnum, data)
length = 256 ' Length of the data buffer
rc = ifreadlVB (cnum, data, length)
You must include the declarations provided in the ifdial.vb file in the
(General)(Declarations) section of your VB project. Since the returned string is actually
moved into the data parameter, buffer overflow is possible with the ifreadVB function,
but if the length argument is properly set on input, the ifreadlVB function is safe in this
regard.
RETURN VALUES
1
ifwrite required to provide data for Model 204.
2
ifread required to receive data from Model 204.
12
No data to receive. ifwrite required to provide data for Model 204. **data is set to
0 in this case.
100
Invalid connection number.
200
Connection lost.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
209
——————————————————————————————————————————
Janus IFDIAL Library
——————————————————————————————————————————
7.1.5
ifwrite
Name
ifwrite, ifwriteb, ifwritel, ifwritbl — write data on a connection to a Model 204 server
SYNOPSIS
#include <ifdial.h>
rc = ifwrite(cnum, data)
int rc;
int cnum;
char *data;
rc = ifwritel(cnum, data, len)
int rc;
int cnum;
char *data;
int len;
rc = ifwriteb(cnum, data)
int rc;
int cnum;
char *data;
rc = ifwritbl(cnum, data, len)
int rc;
int cnum;
char *data;
int len;
DESCRIPTION
ifwrite, ifwriteb, ifwriteb and ifwritbl are used to send data to a Model 204 server.
ifwrite and ifwriteb must be passed a null terminated string pointer while ifwritel and
ifwritbl must be passed a string pointer and the length of the string.
ifwrite and ifwritel will force any data in the current ifwrite buffer to be sent immediately to
the Model 204. server and then wait for either data from the Model 204 server or a
response indicating that more ifwrite data is required.
ifwriteb and ifwritbl will buffer the writes so that a single TCP/IP send can be used to
send multiple lines to the Model 204 server and will not wait to determine whether an
ifread or an ifwrite is required next. Use of ifwriteb or ifwritbl can result in a return code
of 12 indicating that the data to be sent to the Model 204 server was not accepted.
This return code is also possible with ifwrite or ifwritel if an ifwrite is issued without
waiting for a return code of from ifread.
——————————————————————————————————————————
210
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
C Routines
——————————————————————————————————————————
In either case some form of ifwrite must be called again with the original data after one
or more ifread calls are made whenever a return code of 12 is received from an ifwrite
function. For maximum throughput, issue ifwriteb or ifwritbl calls until a value of 12 is
returned at which point issue an ifread and then retry the ifwrite.
The parameter cnum specifies the number of a connection established with a previous
ifdial call. Data is the data to be sent to the Model 204 server. Len is the length of the
data to be sent.
RETURN VALUES
1
ifwrite is required to provide data for Model 204. For buffered ifwrites (ifwriteb
and ifwritbl) this return code might be followed by a return code 12 on an
immediately following ifwrite.is required to provide data for Model 204.
2
ifread data is available from Model 204. This will never be returned by ifwriteb.
12
ifwrite not accepted, data must be received from Model 204 with ifread.
100
Invalid Connection number.
200
Connection lost.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
211
——————————————————————————————————————————
Janus IFDIAL Library
——————————————————————————————————————————
7.2
Workstation Utilities
Several workstation utilities are provided with the Janus IFDIAL Library that provide
access to Model 204. These utilities are ready-to-run, precompiled C programs:
batch2
sends data from an input file to a Model 204 server and places returned data
into an output file.
m204
initiates a conversation with a Model 204 server, prompting for input data
from the terminal as required and sending the Model 204 output to standard
output.
These utilities and their options are described in the following section.
7.2.1
batch2
The batch2 command has the following format :
batch2 filename host [ port ]
batch2 command syntax
where
filename
identifies the name of the input and output files. An .m204 string is
appended to the filename to identify the input file, and a .lst string is
appended to the filename to identify the output file.
host
is the name or ip address of the CMS or MVS system on which the
Model 204 server is running.
port
is the port number for the Model 204 server. If this is not specified, the
default port of 204 is used.
7.2.2
m204
The m204 command has the following format:
m204
host [ port ]
m204 command syntax
where
——————————————————————————————————————————
212
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Workstation Utilities
——————————————————————————————————————————
host
is the name or ip address of the CMS or MVS system on which the
Model 204 server is running.
port
is the port number for the Model 204 server. If this is not specified, the
default port, 204, is used.
The user is prompted for Model 204 input with a '>' and output from Model 204 is sent to
standard output (normally the user's terminal screen).
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
213
——————————————————————————————————————————
Janus IFDIAL Library
——————————————————————————————————————————
——————————————————————————————————————————
214
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Janus TCP/IP Base IFDIAL Installation
——————————————————————————————————————————
——————
APPENDIX A
Janus TCP/IP Base IFDIAL Installation
Please refer to the Sirius Mods Installation Guide for details on installing Janus. If you
are using the IFDIAL support provided by Janus, refer back to this section after
completing the basic installation. For installation of the mainframe components, see
“Janus, the Sirius Mods, and UL/SPF” on page 2. This appendix is about installing
Janus TCP/IP Base IFDIAL workstation components. The first section is for Unix-style
workstations; the second is for Windows-based workstations.
A.1
1.
Unix-style workstations
Install the Sirius Mods.
See the Sirius Mods Installation Guide for details. The Online in which Janus will
run must use a load module containing the Sirius Mods.
2.
Transfer IFDIAL Library to Unix workstations.
Log on to the target workstation, then create the target directory with the mkdir
command. The recommended target directory is “/usr/janus”, so to create the
directory, enter:
mkdir /usr/janus
Make the newly created directory the current directory:
cd /usr/janus
Download the appropriate tar file from the mainframe. The appropriate file depends
on the target workstation. Under MVS the tar files are members of SIRIUS.LIB.
Under CMS, they are files on the Sirius Mods installation disk with filetypes of TAR.
The appropriate tar files for the supported target workstations are:
Target workstation
File/member name
SPARC (Sun) workstation
SPARC
RS/6000 running AIX
RS6000
All others
UNIX
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
215
——————————————————————————————————————————
Janus TCP/IP Base IFDIAL Installation
——————————————————————————————————————————
The following stream shows how the RS/6000 tar file is downloaded from a mainframe
running IBM's TCP/IP product under MVS (user input is highlighted):
# 'ftp ibmtcp'
Connected to ibmtcp.
220-FTPSERVE IBM MVS V2R2 at IBMTCP, 12:44:31 on 09/13/93
220 Connection will close if idle for more than 5 minutes.
Name (ibmtcp:root): 'renn'
331 Send password please.
Password:'xxxxxxx'
230 RENN is logged on.
ftp> 'binary'
200 Representation type is IMAGE.
ftp> 'get ''sirius.lib(rs6000)'' rs6000.tar'
200 Port request OK.
125 Sending data set JANUS.V100.LIB(RS6000) FIXrecfm 80
250 Transfer completed successfully.
102400 bytes received in 1.676 seconds (59.66 Kbytes/s)
ftp> 'quit'
221 Quit command received. Goodbye.
The following stream shows how the RS/6000 tar file is downloaded from a mainframe
running Interlink's TCP/IP product (user input is highlighted):
# 'ftp snstcp'
Connected to snstcp.
220 SNSTCP.SIRIUS.COM -- FTP Server, Enter command or HELP
Name (snstcp:root): 'stimpy'
331 Enter PASS command
Password:'xxxxxxx'
230 Logged in Host 204.0.0.4
User STIMPY
Sess# 3
ftp> 'binary'
200 OK, Ready
ftp> 'get ''sirius.lib(rs6000)'' rs6000.tar'
200 OK, Ready
150-Dataset open with attributes:
Type I N Stru F Mode S Path JANUS.V100.LIB(RS6000) Volser MVSUSR
Unit SYSALLDA
Dsorg PO Recfm FB
Lrecl 80
Blksize 3120
150
226-Transfer complete
Sess# 3
102400 bytes sent in 2.22 seconds (46126 bytes/s)
Path JANUS.V100.LIB(RS6000)
User STIMPY
Data bytes sent 102400
Disk tracks read 4
226
102400 bytes received in 1.851 seconds (54.03 Kbytes/s)
ftp> 'quit'
221 Session terminated
Note in the preceding examples that the file transfer is done in binary mode.
After the appropriate tar file has been downloaded to the workstation, the individual files
in the tar file must be extracted. This can be done with the following command:
tar -xvf rs6000.tar
——————————————————————————————————————————
216
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Unix-style workstations
——————————————————————————————————————————
3.
Recompile Janus IFDIAL Library on workstation
If the workstation does not have a platform specific tar file, it is necessary to rebuild
the object version of the Janus IFDIAL Library and the executable version of the
workstation utilities. The following commands will accomplish this:
make ifdial.o
make batch2
make m204
This completes the installation of the Janus IFDIAL Library on the workstation. The
Janus IFDIAL Library must be transferred to each workstation that is to have access to
its services.
A.2
1.
Windows-based workstations
Install the Sirius Mods.
See the Sirius Mods Installation Guide for details. The Online in which Janus will
run must use a load module containing the Sirius Mods.
2.
Transfer IFDIAL Library to the Windows workstation.
Log on to the target workstation, then create the target directory with the mkdir
command. The recommended target directory is “\usr\janus”, so to create the
directory, enter:
mkdir \usr\janus
Make the newly created directory the current directory:
cd \usr\janus
Download the appropriate distribution file from the mainframe. Under MVS, the
distribution file is SIRIUS.LIB(WIN). Under CMS, the file is WIN TAR.
The Windows distribution file is a self-extracting executable.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
217
——————————————————————————————————————————
Janus TCP/IP Base IFDIAL Installation
——————————————————————————————————————————
The following stream shows how the distribution file is downloaded from a
mainframe running IBM's TCP/IP product (user input is highlighted) under MVS:
# 'ftp ibmtcp'
Connected to ibmtcp.
220-FTPSERVE IBM MVS V2R2 at IBMTCP, 12:44:31 on 09/13/93
220 Connection will close if idle for more than 5 minutes.
Name (ibmtcp:root): 'renn'
331 Send password please.
Password:'xxxxxxx'
230 RENN is logged on.
ftp> 'binary'
200 Representation type is IMAGE.
ftp> 'get ''sirius.lib(win)'' setup_janus_ifdial_win.exe'
200 Port request OK.
125 Sending data set JANUS.V100.LIB(WIN) FIXrecfm 80
250 Transfer completed successfully.
88967 bytes received in 1.676 seconds (53.08 Kbytes/s)
ftp> 'quit'
221 Quit command received. Goodbye.
Note that the file transfer is done in binary mode.
After the distribution file has been downloaded to the workstation, the individual files
in it must be extracted. This can be done with the following command:
setup_janus_ifdial_win.exe
This will extract all the files into the current directory. If you want to install them in
other than the download directory, simply move the distribution file there before
running it. After extracting the files, the distribution file itself may be deleted.
3.
Recompile Janus IFDIAL Library on workstation
The distribution file contains already-built binaries for the Janus IFDIAL library
(ifdial.lib, ifdial.dll) and the executable versions of the workstation utilities. To
rebuild them (or to build debug versions), see the readme.txt file; if you run the
dist_bld.bat file with no parameters, it will give a usage message. In particular, to
rebuild all binaries with debug information:
dist_bld all debug
This completes the installation of the Janus IFDIAL Library on the workstation. The
Janus IFDIAL Library must be transferred to each workstation that is to have access to
its services.
——————————————————————————————————————————
218
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Storage requirements
——————————————————————————————————————————
——————
APPENDIX B
Storage requirements
Each Janus connection requires several control blocks which maintain connection
information and allow transfering of data between the server and client. Janus control
blocks are allocated from SPCORE (above the line when possible) based on parameters
set in the
The storage requirements for connections on a given port are calculated as:
#bytes = maxconn * (ibsize + obsize + maxrec + 1024)
The storage requirements for OPENSERV and SDS connections on a given port are
calculated as:
#bytes = maxconn * (ibsize + obsize + rbsize + 2080)
The storage requirements for WEBSERV connections on a given port are calculated as:
#bytes = maxconn * (ibsize + obsize + rbsize + 1520)
The additional storage requirements for any secure (SSL) connections are
#bytes = maxconn * sslbsize
Where:
maxconn
is the maximum number of connections allowed for the port.
ibsize
is the input buffer size (default is 4096).
obsize
is the output buffer size (default is 8192).
rbsize
is the RPC buffer size (default is 4096).
maxrec
is maximum record length (256 is the default).
sslbsize
is the SSL buffer size (default is 4096).
For example, if 3 Janus ports are defined, one an OPENSERV port with 50 maximum
connections, another a WEBSERV port with 20 maximum connections, the third a
secure WEBSERV port with 10 connections and all default values are used, you would
get:
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
219
——————————————————————————————————————————
Storage requirements
——————————————————————————————————————————
923,200 =
+ 358,080 =
+ 179,040 =
+
40,960 =
----------1,501,280 =
50
20
20
10
*
*
*
*
(4096 + 8192 + 4096 + 2080)
(4096 + 8192 + 4096 + 1520)
(1024 + 1024 + 1024 + 2260)
4096
OPENSERV 1
WEBSERV 1
WEBSERV 2
SSL buffs
total SPCORE bytes required
If ALLOCC is not specified on the JANUS DEFINE commands, this space is allocated
when the ports are started. If ALLOCC is specified, the space required for each
connection is allocated when the connection is established. Specifying ALLOCC leaves
SPCORE space free until it is needed, but may result in storage fragmentation. Even
with ALLOCC specified, 1024 * maxconn bytes of space are reserved in SPCORE for
each possible Janus connection at the time of the START command. This space is not
freed until the port is completely drained of all connections either via the JANUS DRAIN
or JANUS FORCE command.
Except for SSLBSIZE, the only reason for using buffer sizes other than the defaults is
TCP/IP efficiency. No values other than SSLBSIZE place limits on lengths of passed
data. If a client attempts to pass a SSL block larger than SSLBSIZE, the secure
connection is immediately terminated.
——————————————————————————————————————————
220
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Sample IFDIAL procedure
——————————————————————————————————————————
——————
APPENDIX C
Sample IFDIAL procedure
This IFDIAL program uses the C routines from a workstation to upload terminal input
lines to the Model 204 server address space.
#include <stdio.h>
#include <manifest.h>
#include <ifdial.h>
int main(argc, argv)
int
argc;
char
**argv;
{
char
char
int
int
char
char
FILE
/* Main batch2 program
/* Number of arguments
/* Pointers to argument pointers
*/
*/
*/
input[256];
infile[256], outfile[256];
i, rc, port;
cnum;
*host;
*host_data;
*inf, *outf;
if (argc < 3) {
/* If no host name
printf("%s - Command format is %s filename host ( port ).\n",
argv[0], argv[0]);
return(4);
/* Leave in shame
}
inf = NULL;
outf = NULL;
if (strlen(argv[1]) < 252) {
strcpy(infile, argv[1]);
strcpy(outfile, argv[1]);
strcat(infile, ".m204");
strcat(outfile, ".lst");
inf = fopen(infile, "r");
outf = fopen(outfile, "w");
}
/*
/*
/*
/*
/*
/*
/*
If reasonable file name
Copy filename
Copy filename
Tack on input suffix
Tack on output suffix
Open the input file
Open the output file
*/
*/
*/
*/
*/
*/
*/
*/
*/
if (inf == NULL) {
/* If error opening input file
printf("%s - Unable to open %s.\n", argv[0], infile);
return(24);
/* Leave in shame
}
*/
if (outf == NULL) {
/* If error opening output file
printf("%s - Unable to open %s.\n", argv[0], outfile);
return(24);
/* Leave in shame
}
*/
port = 0;
if (argc >= 4) {
*/
*/
/* Assume port will default
/* If have port number
*/
*/
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
221
——————————————————————————————————————————
Sample IFDIAL procedure
——————————————————————————————————————————
rc = sscanf(argv[3], "%d", &port); /* Get port number
if (rc < 1) {
/* If port number invalid
printf("%s - Invalid port number - %s.\n", argv[0], argv[3]);
return(8);
/* Leave in shame
}
}
*/
*/
cnum = ifdial(argv[2], port, 0, 0, 0);
/* Connect to server
if (cnum < 0) {
/* If invalid return code
printf("%s - Unable to connect to %s. ifdial = %d\n",
argv[0], argv[2], cnum);
/* Explain the situation
return(-cnum);
/* Leave in disgrace
}
*/
*/
while (fgets(input, sizeof(input), inf) /* Get next line
!= NULL) {
/* Until no more data to read
input[strlen(input) - 1] = '\0';
/* Get rid of \n
rc = ifwrite(cnum, input);
/* Send data to 204
if (rc == 1)
/* If more data required
continue;
/* Get another line
if (rc != 2)
/* If no ifread data
break;
/* Something's gone wrong
do {
/* Until no more data
rc = ifread(cnum, &host_data);
/* Get the response line
if (rc > 2)
/* If problem
break;
/* Bail out
fputs(host_data, outf);
/* Output the returned data
putc('\n', outf);
/* Out with a new line
} while (rc == 2);
if (rc != 1)
/* If problem
break;
/* Bail out
}
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
if (rc == 200)
/* If connection lost
printf("%s - Connection lost.\n", argv[0]);
*/
iffinish();
return(rc);
}
/* All done
*/
*/
*/
*/
*/
*/
——————————————————————————————————————————
222
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Date Processing
——————————————————————————————————————————
——————
APPENDIX D
Date Processing
This chapter presents date processing issues for Janus TCP/IP Base. The only use of
dates within Janus TCP/IP Base itself is to examine the CPU clock (as returned by the
STCK hardware instruction) to determine the current date, in case Janus TCP/IP Base is
under a rental or trial agreement. Please note the following:
●
Janus TCP/IP Base itself does not produce any results which depend on the content
of any data which may be date values.
●
Since you can use a Janus IFDIAL port to send and receive data to and from
Model 204, if that data contains two digit year date values, you must ensure that any
application using that data has an algorithm or rule for unambiguously determining
the correct century for the values.
●
Each of the Janus family of products will have its own date processing
considerations, described separately in that product's documentation.
To correctly use Janus TCP/IP Base past the year 1999, Sirius Mods version 4.6 or later
is required.
Above and beyond the post-1999 requirements specific to Janus TCP/IP Base, you must
examine all uses of date values in your applications to ensure that each of your
applications produces correct results. Furthermore, both the operating system and
Model 204 must correctly process and transmit dates beyond 1999 in order for Janus
TCP/IP Base to operate properly.
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
223
——————————————————————————————————————————
Date Processing
——————————————————————————————————————————
——————————————————————————————————————————
224
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Index
——————————————————————————————————————————
——————
Index
A
ADDCA, JANUS subcommand ... 25, 27
ALLOCC parameter, JANUS DEFINE ... 43, 52
ALLOW parameter
JANUS CLSOCK command ... 32
JANUS FTP command ... 128
JANUS SRVSOCK command ... 146
JANUS WEB command ... 164
ALLOW rule ... 160
AND parameter, JANUS
NAMESERVER ... 141
ANONUSER parameter, JANUS DEFINE ... 44
ANONYMOUS parameter, JANUS
DEFINE ... 43
ASSIGN parameter, JANUS FTP
command ... 129
AUDTERM parameter
JANUS DEFINE command ... 44
JANUS WEB ON command ... 174
AUTOCSSINSP parameter
JANUS DEFINE command ... 53
JANUS WEB SCREEN command ... 187
AUTODONE parameter
JANUS DEFINE command ... 45
JANUS WEB ON command ... 174
AUTOLOAD parameter, JANUS DEFINE ... 45
Automating port definitions ... 108
AUTOON parameter
JANUS DEFINE command ... 46
JANUS WEB ON command ... 175
AUTOPF parameter, JANUS WEB
SCREEN ... 184
AUTOSYS parameter
JANUS DEFINE command ... 46
B
Base64 encoding ... 136, 175
See also BASE64 parameter
BASE64 parameter
JANUS WEB ON command ... 175
batch2 command ... 212
BGCOLOR parameter, JANUS WEB
SCREEN ... 185
BINARY parameter
JANUS DEFINE command ... 47
JANUS WEB ON command ... 175
Binary transfer mode ... 136
BINDADDR parameter, JANUS DEFINE ... 47
BRIGHT parameter, JANUS WEB
SCREEN ... 185
BROWSER parameter, JANUS WEB
SCREEN ... 185
BSIZE parameter, JANUS DEFINE ... 48
C
CACHE parameter, JANUS
NAMESERVER ... 142
case sensitivity ... 111
DEFINEREMOTE ... 111
Sybase SQL and Open Server
names ... 111
Certificate, SSL ... 89
CA-signed ... 27, 116, 120, 152
in SSL cache ... 91, 94
requested by server ... 92
CHAR parameter
JANUS DEFINE ... 48
CHARSET parameter
JANUS DEFINE ... 48
JANUS DEFINEREMOTE ... 112
CHARSET, JANUS subcommand ... 25, 30
Client certificate ... 27, 89, 92
Client Object Library ... 203
CLIENTSOCKET parameter, JANUS
DEFINE ... 49
CLOSEIMMED parameter
JANUS DEFINE command ... 49
JANUS WEB ON command ... 176
CLOSEREAD parameter
JANUS DEFINE command ... 49
JANUS WEB ON command ... 176
CLSOCK port type ... 31, 41, 121
CLSOCK, JANUS subcommand ... 25
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
225
——————————————————————————————————————————
Index
——————————————————————————————————————————
CMD parameter
JANUS DEFINE command ... 50
JANUS WEB ON command ... 171
Codepage ... 10
Color mapping ... 195
Color, background ... 185
Color, field ... 185
COMPRESS parameter
JANUS DEFINE command ... 51
JANUS WEB ON command ... 176
CONFIG, JANUS subcommand ... 40
CONFIGURATION, JANUS subcommand ... 25
Connection limit ... 42, 138
Content type
client Post data ... 81, 179
web server response ... 160, 166
CR parameter
JANUS DEFINE command ... 53
JANUS WEB ON command ... 176
CRLF parameter
JANUS DEFINE command ... 53
JANUS WEB ON command ... 176
CSIPID system parameter ... 15
CSS parameter, JANUS WEB SCREEN ... 186
CSSINSP parameter
JANUS DEFINE command ... 53
JANUS WEB SCREEN command ... 187
CSSTITLECLASS parameter, JANUS WEB
SCREEN ... 187
CSSTITLEDIV parameter
JANUS DEFINE ... 54
JANUS WEB SCREEN ... 187
CSSTITLESPAN parameter, JANUS
DEFINE ... 54
D
DBCS (Double Byte Character Set)
support ... 55
DBCS parameter, JANUS DEFINE ... 55
DEASSIGN parameter, JANUS FTP
command ... 131
DEBPORTCMD parameter, JANUS
DEFINE ... 55
DEBPORTOPEN parameter, JANUS
DEFINE ... 55
DEBUG parameter
JANUS WEB command ... 168
DEBUG rule ... 160
DEBUGGERCLIENT port type ... 31, 41, 121
DEBUGGERSERVER port type ... 41
DEFAULT parameter, JANUS LOADXT ... 140
DEFAULTPRIVS parameter, JANUS FTP
ASSIGN ... 129
DEFINE, JANUS subcommand ... 8, 25, 40
DEFINEIPGROUP, JANUS
subcommand ... 25, 110
DEFINEREMOTE, JANUS subcommand ... 8,
25, 111
DEFINEUSGROUP, JANUS
subcommand ... 25, 116
DELCA, JANUS subcommand ... 25, 116
DELETE, JANUS subcommand ... 25, 117
DELETEIPGROUP, JANUS
subcommand ... 26, 117
DELETEREMOTE, JANUS
subcommand ... 26, 118
DELETEUSGROUP, JANUS
subcommand ... 26, 118
DIM fields ... 185
DISALLOW parameter
JANUS CLSOCK command ... 36
JANUS FTP command ... 132
JANUS SRVSOCK command ... 147
JANUS WEB command ... 163
DISALLOW rule ... 160
DISPLAY, JANUS subcommand ... 26, 119
DISPLAYCA, JANUS subcommand ... 26, 120
DISPLAYREMOTE, JANUS
subcommand ... 26, 121
DISPLAYSOCK, JANUS subcommand ... 26,
121
DISPLAYTRACE, JANUS subcommand ... 122
DISPLAYWEB, JANUS subcommand ... 26,
123
DISPLAYXT, JANUS subcommand ... 26
DISPXT, JANUS subcommand ... 124
DOMAIN, JANUS subcommand ... 26, 125
DRAIN, JANUS subcommand ... 26, 126
E
Encoding ... 136
HTML form ... 81, 179
procedure data ... 175
Environment definition, overview of ... 15
EOD exception handler ... 198
Exception conditions ... 198
Exception handler ... 198
EXEC2RPC parameter, JANUS DEFINE ... 56
——————————————————————————————————————————
226
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Index
——————————————————————————————————————————
EXITURL parameter, JANUS WEB
SCREEN ... 187
EXPIRE parameter, JANUS WEB ON ... 177
F
FDWOL parameter, JANUS DEFINE ... 56
FILE parameter
JANUS CLSOCK ALLOW ... 33
JANUS CLSOCK DISALLOW ... 37
FINCLOSE parameter, JANUS DEFINE ... 57
FORBIDDEN exception handler ... 198
FORCE, JANUS subcommand ... 26, 137
FORMPOSTWAIT parameter
JANUS DEFINE command ... 56
JANUS WEB ON command ... 177
FORMREDIRWAIT parameter
JANUS DEFINE command ... 57
JANUS WEB ON command ... 177
Forms, HTML ... 179
request size ... 179
FTP folder
levels ... 130
FTP, JANUS subcommand ... 26, 127
FTPSERVER port type ... 42, 121
G
GET method, JANUS WEB command ... 161
H
HEAD method ... 161
HEADJS parameter, JANUS WEB
SCREEN ... 188
HIGHPRIORITY parameter, JANUS
DEFINE ... 58
HOME parameter, JANUS FTP
command ... 133
HOVER parameter, JANUS WEB
SCREEN ... 188
HOVERBG parameter, JANUS WEB
SCREEN ... 189
HTTP methods ... 160
HTTPVERSION parameter, JANUS
DEFINE ... 58
I
IBSIZE parameter, JANUS DEFINE ... 59
IFDIAL Library programs ... 203, 213
ifdial function ... 204
iffinish function ... 206
ifhangup function ... 207
ifread function ... 208
ifwrite function ... 210
workstation utilities ... 212
IFDIAL port type ... 42
INONLY parameter, JANUS
DEFINEREMOTE ... 112
INPUTTIMEOUT parameter, JANUS
DEFINE ... 59
Installation ... 2
Installation instructions ... 215, 217
Unix-style workstations ... 215
Windows-based workstations ... 217
IPGROUP parameter
JANUS CLSOCK ALLOW ... 35
JANUS CLSOCK DISALLOW ... 38
J
JANCAT parameter, JANUS DEFINE ... 60
JANDEBM parameter ... 201
JANMAN ... 108
automating port definitions ... 108
Janus commands ... 124
introduction to ... 21
JANUS ADDCA ... 27
Adding Certifying Authority to port ... 27
JANUS CHARSET ... 30
JANUS CONFIG ... 40
JANUS DEFINE ... 8, 40, 219
storage allocation requirements ... 219
JANUS DEFINEIPGROUP ... 110
Grouping IP addresses for access
control ... 110
JANUS DEFINEREMOTE ... 8, 111
Defining remote servers ... 111
JANUS DEFINEUSG, see JANUS
DEFINEUSGROUP
JANUS DEFINEUSGROUP ... 116
Grouping user IDs for access
control ... 116
JANUS DEFUSG, see JANUS
DEFINEUSGROUP
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
227
——————————————————————————————————————————
Index
——————————————————————————————————————————
JANUS DEFUSGROUP see JANUS
DEFINEUSGROUP
JANUS DELCA ... 116
Deleting Certifying Authority from
port ... 116
JANUS DELETE ... 117
JANUS DELETEIPGROUP ... 117
Deleting named IP groupings ... 117
JANUS DELETEREMOTE ... 118
JANUS DELETEUSGROUP ... 118
Deleting User Groups ... 118
JANUS DISPLAY ... 119
JANUS DISPLAYCA ... 120
Displaying Certifying Authority
certificates ... 120
JANUS DISPLAYREMOTE ... 121
JANUS DISPLAYSOCK ... 121
JANUS DISPLAYTRACE ... 122
JANUS DISPLAYWEB ... 123
JANUS DISPXT ... 124
JANUS DOMAIN ... 125
JANUS DRAIN ... 126
JANUS FORCE ... 137
JANUS FTP ... 127
JANUS LANGUAGE ... 137
JANUS LIMITS ... 138
JANUS LOADXT ... 9, 139
JANUS NAMESERVER ... 141
JANUS RELOAD ... 144
JANUS SRVSOCK ... 145
JANUS SSLSTAT ... 149
JANUS SSLSTATUS ... 149
JANUS START ... 151
JANUS STAT ... 151
JANUS STATCA ... 152
JANUS STATUS ... 151
JANUS STATUSCA ... 152
Certifying Authority certificate
usage ... 152
JANUS STATUSREMOTE ... 153
JANUS TCPLOG ... 154
JANUS TRACE ... 76, 155
JANUS TSTAT ... 158
JANUS TSTATUS ... 158
JANUS WEB ... 159
JANUSDEBUG ... 22
wildcards used with ... 21
JANUS concepts ... 7
JAPANIBM translate table ... 10
K
KBGCOLOR parameter, JANUS WEB
SCREEN ... 189
Keep-Alive connections, HTTP ... 60
Keepalive connection, TCP ... 99
KEEPALIVE parameter, JANUS DEFINE ... 60
KEYLOC parameter, JANUS WEB
SCREEN ... 190
Keys, 3270 ... 196
KHOVER parameter, JANUS WEB
SCREEN ... 190
KHOVERBG parameter, JANUS WEB
SCREEN ... 190
KTEXT parameter, JANUS WEB
SCREEN ... 191
L
LANGUAGE parameter
JANUS DEFINE ... 61
JANUS DEFINEREMOTE ... 112
LANGUAGE, JANUS subcommand ... 26, 137
LEGBL parameter
JANUS DEFINE ... 61
JANUS WEB SCREEN ... 191
LEGCSS parameter
JANUS DEFINE ... 61
JANUS WEB SCREEN ... 191
LEGJS parameter
JANUS DEFINE ... 62
JANUS WEB SCREEN ... 191
LEGREV parameter
JANUS DEFINE ... 61
JANUS WEB SCREEN ... 192
LEGUS parameter
JANUS DEFINE ... 61
JANUS WEB SCREEN ... 192
LF parameter
JANUS DEFINE command ... 62
JANUS WEB ON command ... 176
LIMITS, JANUS subcommand ... 26, 138
LINEND parameter, JANUS DEFINE ... 63
LOADXR, JANUS subcommand ... 26
LOADXT parameters ... 139
LOADXT, JANUS subcommand ... 139
LOG parameter, JANUS DEFINE ... 63
LOGAPPEND parameter, JANUS
DEFINE ... 64
LOGCLOSET parameter, JANUS
DEFINE ... 65
——————————————————————————————————————————
228
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Index
——————————————————————————————————————————
LOGGMT parameter, JANUS DEFINE ... 65
Login session ... 70
LOGMSGI parameter, JANUS DEFINE ... 65
LOGONERR exception handler ... 198
M
MASTER parameter, JANUS DEFINE ... 66
defining OPEN CLIENT ports ... 66
MAXCURS parameter, JANUS DEFINE ... 66
MAXIPSES parameter, JANUS DEFINE ... 67
MAXREC parameter, JANUS DEFINE ... 67
MAXSAVE parameter, JANUS DEFINE ... 68
MAXTEMP parameter
JANUS DEFINE ... 68
JANUS WEB ON command ... 177
MAXTTL parameter, JANUS
NAMESERVER ... 143
method, HTTP ... 160
MIME type ... 166
See also Content type
Model 204 resource requirements ... 43
buffer space requirements ... 43
Models, terminal ... 106
MSGSEND parameter
JANUS DEFINE command ... 68
JANUS WEB ON command ... 177
MSG204 parameter ... 69
Sending terminal output to client ... 69
MSG204L parameter ... 69
Sending terminal output to client ... 69
m204 command ... 212
N
NAMESERVER, JANUS subcommand ... 26,
141
NCMPBUF system parameter ... 15, 52
NEWGUESTOK parameter, JANUS
DEFINE ... 72
NEWPASSWORD exception handler ... 198
NEWPASSWORDC parameter, JANUS
DEFINE ... 69
NEWSESCMD parameter, JANUS
DEFINE ... 70
NEWSESNOCLEARG parameter, JANUS
DEFINE ... 72
NEWSESOPEN parameter, JANUS
DEFINE ... 72
NOAUDTERM parameter
JANUS DEFINE command ... 73
JANUS WEB ON command ... 174
NOAUTODONE parameter
JANUS DEFINE command ... 74, 198
JANUS WEB ON command ... 174, 198
NOAUTOON parameter
JANUS DEFINE command ... 75
JANUS WEB ON command ... 175
NOCLOSEIMMED parameter
JANUS WEB ON command ... 176
NOCLOSEREAD parameter
JANUS WEB ON command ... 176
NOCSSINSP parameter
JANUS DEFINE command ... 53
JANUS WEB SCREEN command ... 187
NODBCS parameter, JANUS DEFINE ... 55
NODEBPORTCMD parameter, JANUS
DEFINE ... 55
NODEBPORTOPEN parameter, JANUS
DEFINE ... 55
NODEBUG rule ... 160
NODONE exception handler ... 198
NOFINCLOSE parameter, JANUS
DEFINE ... 58
NOLEGBL parameter
JANUS DEFINE ... 61
JANUS WEB SCREEN ... 191
NOLEGCSS parameter
JANUS DEFINE ... 61
JANUS WEB SCREEN ... 191
NOLEGJS parameter
JANUS DEFINE ... 62
JANUS WEB SCREEN ... 191
NOLEGREV parameter
JANUS DEFINE ... 61
JANUS WEB SCREEN ... 192
NOLEGUS parameter
JANUS DEFINE ... 61
JANUS WEB SCREEN ... 192
NOLOGCOOKIE exception handler ... 198
NOMSGSEND parameter
JANUS DEFINE command ... 68
JANUS WEB ON command ... 177
NONE parameter
JANUS CLSOCK ALLOW ... 33
NOREDIRECT parameter
JANUS WEB command ... 162
NOREDIRECT rule ... 160
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
229
——————————————————————————————————————————
Index
——————————————————————————————————————————
NOSCREEN parameter
JANUS DEFINE ... 83
JANUS WEB SCREEN ... 192
NOSCREENREDIR parameter
JANUS DEFINE ... 76
JANUS WEB SCREEN ... 192
NOSCREENURL parameter, JANUS WEB
SCREEN ... 193
NOSITE parameter, JANUS
DEFINEREMOTE ... 112
NOTFOUND exception handler ... 199
NOTRACEFIELD parameter, JANUS
DEFINE ... 76
NOTRAWINPUTONLY parameter
JANUS WEB ON command ... 179
NOUPCASE parameter ... 77
Converting client data to upper case ... 77
NOUSERID exception handler ... 199
NSUBTKS parameter, Model 204 ... 19
Ports, application ... 7
POST method, JANUS WEB command ... 161
POSTJS parameter, JANUS WEB
SCREEN ... 188
PREFIX parameter, JANUS FTP
ASSIGN ... 129
Prefix, procedure name ... 129, 131
PREJS parameter, JANUS WEB
SCREEN ... 188
PRELOGINUSER parameter, JANUS
DEFINE ... 79
PROC parameter
JANUS CLSOCK ALLOW ... 33
JANUS CLSOCK DISALLOW ... 37
PRSTOK parameter
JANUS DEFINE ... 79
PUBLOG parameter, JANUS DEFINE ... 80
PUT method, JANUS WEB command ... 161
R
O
OAS port type ... 42
OBSIZE parameter, JANUS DEFINE ... 77
OMNI port type ... 42
OMNIACCT parameter, JANUS DEFINE ... 77
OMNIUSER parameter, JANUS DEFINE ... 77
ON parameter
JANUS FTP command ... 134
JANUS WEB command ... 171
ON rule ... 160
ONLOAD parameter, JANUS WEB
SCREEN ... 192
OPEN parameter
JANUS DEFINE command ... 78
JANUS WEB ON command ... 178
OPENERR exception handler ... 199
OPENSERV port type ... 42
OPTSITE parameter, JANUS
DEFINEREMOTE ... 112
OUTONLY parameter ... 113
RAWINPUT parameter, JANUS DEFINE ... 81
RAWINPUTONLY parameter
JANUS WEB ON command ... 179
RAWINPUTONLY parameter, JANUS
DEFINE ... 81
RBSIZE parameter, JANUS DEFINE ... 82
RECV parameter, JANUS WEB ON ... 174
REDIRECT parameter
JANUS WEB command ... 163
REDIRECT rule ... 160
RELOAD, JANUS subcommand ... 26, 144
REMOTE parameter
JANUS CLSOCK ALLOW ... 34
JANUS CLSOCK DISALLOW ... 37-38
JANUS DEFINE ... 82
REQCANCEL exception handler ... 199
Reserved characters ... 11
RESTART exception handler ... 199
RPCONLY parameter, JANUS DEFINE ... 83
S
P
PASVPORT parameter, JANUS DEFINE ... 78
Performance ... 59, 77
Persistent connection ... see “Keep-Alive
connections, HTTP”
PF key labels ... 184
Port, Janus
definition ... 40, 119
Sample code ... 221
IFDIAL procedure ... 221
SCREEN parameter
JANUS DEFINE ... 83
JANUS WEB command ... 183
JANUS WEB SCREEN ... 192
SCREEN rule ... 160
——————————————————————————————————————————
230
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Index
——————————————————————————————————————————
SCREENREDIR parameter
JANUS WEB SCREEN ... 192
SCREENURL parameter
JANUS DEFINE ... 84
JANUS WEB SCREEN ... 193
SDAEMDEV system parameter ... 16
Sdaemon threads
defined ... 16
for DBCS support ... 55
for Janus Web Legacy ... 98
for login caching ... 104-105
for SDS catalog ... 77, 84
limit per Online ... 42
SDS catalog sdaemon ... 77, 84
specifying account and user ID ... 77, 84
SDS port type ... 42
SDSACCT parameter ... 84
SDSUSER parameter ... 84
SEND parameter, JANUS WEB ON ... 173
Server ... 15
defined ... 15
ports ... 7
SESCOOKIE parameter, JANUS DEFINE ... 85
SESCOOKIENOSEC parameter, JANUS
DEFINE ... 85
SESFASTLOGIN parameter, JANUS
DEFINE ... 85
SESTIMEOUT parameter, JANUS
DEFINE ... 86
SIRIUS file ... 2
Sirius Mods ... 2
SIRTERM system parameter ... 106
Site handlers ... 113-114
defined ... 114
specifying account and user ID ... 113
SITEACCT parameter, JANUS
DEFINEREMOTE ... 113
SITEUSER parameter, JANUS
DEFINEREMOTE ... 113
SLOWCLOSE parameter, JANUS
DEFINE ... 86
SOCKACCT parameter, JANUS DEFINE ... 87
SOCKMAX Model 204 system parameter ... 88
SOCKPMAX parameter, JANUS DEFINE ... 87
SOCKUSER parameter, JANUS DEFINE ... 88
SQUAREB parameter, JANUS DEFINE ... 88
SRSDEFTO system parameter ... 16
SRSMAX system parameter ... 17
SRSMAXTO system parameter ... 17
SRSMAXUS system parameter ... 17
SRSPARM parameter ... 201
SRVSOCK port type ... 42, 121
SRVSOCK, JANUS subcommand ... 26, 145
SSI parameter, JANUS WEB ON ... 182
SSL certificate ... 92
See also Certificate, SSL
SSL parameter, JANUS DEFINE ... 89
SSLBSIZE parameter, JANUS DEFINE ... 90
SSLCACHE parameter, JANUS DEFINE ... 90
SSLCIPH parameter, JANUS DEFINE ... 91
SSLCIPHERERR exception handler ... 199
SSLCLCERT parameter, JANUS DEFINE ... 92
SSLCLCERTR parameter, JANUS
DEFINE ... 92
SSLIBSIZE parameter, JANUS DEFINE ... 93
SSLMAXAGE parameter, JANUS
DEFINE ... 94
SSLMAXCERTL parameter, JANUS
DEFINE ... 94
SSLOBSIZE parameter, JANUS DEFINE ... 95
SSLOPT parameter, JANUS DEFINE ... 95
SSLPOCERTERR exception handler ... 199
SSLPROT parameter, JANUS DEFINE ... 96
SSLPROTOCOLERR exception handler ... 199
SSLSES parameter, JANUS DEFINE ... 97
SSLSTAT, JANUS subcommand ... 149
SSLSTATUS, JANUS subcommand ... 27, 149
SSLUNENC parameter, JANUS DEFINE ... 97
STANDARD translate table ... 10
START, JANUS subcommand ... 27, 151
STAT, JANUS subcommand
see STATUS ... 151
STATCA, JANUS subcommand
see STATUSCA ... 152
STATUS, JANUS subcommand ... 27, 151
STATUSCA, JANUS subcommand ... 27, 152
STATUSREMOTE, JANUS
subcommand ... 27, 153
STIMEOUT parameter
JANUS DEFINE ... 98
JANUS WEB SCREEN ... 193
STIMEOUTURL parameter, JANUS WEB
SCREEN ... 193
storage requirements ... 219
SUBSYS parameter
JANUS CLSOCK ALLOW ... 34
JANUS CLSOCK DISALLOW ... 37
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
231
——————————————————————————————————————————
Index
——————————————————————————————————————————
SUFFIX parameter, JANUS FTP
command ... 136
System parameters ... 15-18
CSIPID ... 15
NCMPBUF ... 15
SDAEMDEV ... 16
SRSDEFTO ... 16
SRSMAX ... 17
SRSMAXTO ... 17
SRSMAXUS ... 17
TCPSERV ... 18
TCPTYPE ... 18
T
TCP keepalives ... 99
TCPKEEPALIVE parameter, JANUS
DEFINE ... 99
TCPLOG parameter, JANUS DEFINE ... 98
TCPLOG, JANUS subcommand ... 27
TCPSERV system parameter ... 18
TCPTYPE system parameter ... 18
Terminal models ... 106
Terminal output ... 44, 69, 73
Sending to client ... 69
TEXT parameter
JANUS WEB ON command ... 175
JANUS WEB SCREEN ... 193
Text transfer mode ... 136
TIMEOUT parameter
JANUS DEFINE ... 100
JANUS DEFINEREMOTE ... 113
TIMEOUT parameter, JANUS DEFINE ... 59
TIMEOUT parameter, JANUS
NAMESERVER ... 142
Timeouts, connection ... 113
Timeouts, session ... 98, 100
TITLE parameter, JANUS WEB
SCREEN ... 194
TNSERV port type ... 42
AUTOSYS processing ... 46
CMD processing ... 50
NEWSESCMD processing ... 71
TCPKEEPALIVE processing ... 99
WSFQUERY processing ... 106
TRACE parameter ... 100
TRACE, JANUS subcommand ... 27, 76, 155
Transfer mode, FTP ... 136
Translate tables ... 9
Translation, character set ... 47-48, 107
TRUST parameter ... 113
TSTAT, JANUS subcommand ... 158
TSTATUS, JANUS subcommand ... 27, 158
TYPE parameter
JANUS WEB command ... 166
TYPE rule ... 160
U
UBGCOLOR parameter, JANUS WEB
SCREEN ... 194
UBRIGHT parameter, JANUS WEB
SCREEN ... 194
UL/SPF ... 2
UNAUTHORIZED exception handler ... 200
UNICODE parameter, JANUS LOADXT ... 139
Unicode tables ... 139
UPCASE parameter ... 101
Converting client data to upper case ... 101
Uploading subdirectories ... 131
URL parameters ... 179
URL processing ... 161, 163, 171, 179
Url-encoding ... 179
URL, exception ... 198
USER parameter
JANUS CLSOCK ALLOW ... 33
JANUS CLSOCK DISALLOW ... 36
user parameters ... 201
User 0 parameters ... 15
Userid and password ... 77, 101
Converting to upper case ... 77, 101
USGROUP parameter
JANUS CLSOCK ALLOW ... 33
JANUS CLSOCK DISALLOW ... 37
UTEXT parameter, JANUS WEB
SCREEN ... 194
V
VARIPADDR parameter, JANUS
DEFINE ... 101
VERIP parameter, JANUS
DEFINEREMOTE ... 113
W
WEB, JANUS subcommand ... 27, 159
WEBACCT parameter, JANUS DEFINE ... 102
WEBCOOKID parameter, JANUS
DEFINE ... 102
WEBLH parameter, JANUS DEFINE ... 102
——————————————————————————————————————————
232
Janus TCP/IP Base Reference Manual
——————————————————————————————————————————
Index
——————————————————————————————————————————
WEBLM parameter, JANUS DEFINE ... 102
WEBLOGCOOKIE parameter, JANUS
DEFINE ... 103
WEBLOGHOLD parameter, JANUS
DEFINE ... 86, 103
WEBLOGMAX parameter, JANUS
DEFINE ... 104
WEBPL parameter, JANUS DEFINE ... 104
WEBPUBLOG parameter, JANUS
DEFINE ... 104
WEBREALM parameter, JANUS
DEFINE ... 105
WEBSDMAX parameter, JANUS
DEFINE ... 105
WEBSERV port type ... 42
WEBSM parameter, JANUS DEFINE ... 106
WEBUSER parameter, JANUS DEFINE ... 106
Workstation utilities ... 212
batch2 ... 212
m204 ... 212
WRAPJS parameter
JANUS WEB ON ... 182
WSFQUERY parameter, JANUS DEFINE
command ... 106
X
XTAB parameter
JANUS DEFINE command ... 107
JANUS WEB ON command ... 182
——————————————————————————————————————————
Janus TCP/IP Base Reference Manual
233
——————————————————————————————————————————
Index
——————————————————————————————————————————
——————————————————————————————————————————
234
Janus TCP/IP Base Reference Manual
Download