JANUS DEFINE

From m204wiki
Revision as of 17:59, 31 July 2024 by Alex (talk | contribs) (→‎Syntax)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Define and set characteristics of a Janus port

Overview

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
  • Generic UDP Sockets usage — with the Model 204 online either initiating (CLSOCKU) or accepting (SRVSOCKU) the exchange of messages.
  • Connection between the Janus Debugger or TN3270 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 Defining server ports for connectivity background information and information about when you need to issue the JANUS DEFINEREMOTE command.

The JANUS DEFINE command syntax is described below.

Syntax

JANUS DEFINE portname portnum type maxcon other_parms ...

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. 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.

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:
2PC A Janus Two-Phase Commit port.
CLSOCK A Janus Sockets client socket port. If non-system administrator users are to use a CLSOCK port, rules must be provided to allow them to initiate outgoing connections on the port.
CLSOCKU A Janus Sockets UDP client port. If non-system administrator users are to use a CLSOCKU port, rules must be provided to allow them to initiate outgoing connections on the port. A CLSOCKU port can also be used to implement a UDP server on a single Model 204 thread. Only available in Sirius Mods Version 8.0 and later.
DEBUGGERCLIENT A Sirius Debugger client socket port.
DEBUGGERSERVER A Janus Debugger or TN3270 Debugger server socket port.
FTPSERVER A Janus FTP Server application.
IFDIAL Janus IFDIAL Library applications.
IMAGINET An Imagine Transparency port. This port type is only available in Model 204 Version 8.0 and later. There can only be one started IMAGINET port in an Online.
OAS Synonym for type SDS.
OMNI Synonym for type SDS.
OPENSERV Janus Open Server applications; Janus Open Client connections are outward-bound connections on an OPENSERV port.
SRVSOCK A Janus Sockets server socket port.
SRVSOCKU A Janus Sockets UDP server port. Only available in Sirius Mods Version 8.0 and later.
SDS A Janus Specialty Data Store port.
TNSERV A Janus Telnet Server port.
WEBSERV A World Wide Web Server port.

For Janus Open Client usage, you must define one or more ports of type SDS or OPENSERV, and you may need to use the MASTER parameter on a port definition. For JANUS server ports, specify SRVSOCK; for JANUS client ports, specify CLSOCK; for JANUS FTP server ports, specify FTPSERVER; for JANUS telnet server ports, specify TNSERV. TNSERV ports require that the system TNDEV parameter be set to indicate the IODEV that daemon threads switch to while in full-screen mode for a telnet connection.

maxcon 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. 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. Janus Web Server will automatically prevent any connection that would exceed the site license limit.

For Janus Open Client, 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.

You can use the JANUS TSTATUS command to view the thread usage and connection limits for your port, and you can use the JANUS LIMITS command 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.
  • For CLSOCK or DEBUGGERCLIENT ports, REMOTE is required.
  • For SRVSOCK or SRVSOCKU ports, CMD is required.
  • For FTPSERVER ports, OPEN, CMD, NEWSESOPEN, and NEWSESCMD are not allowed.

Examples

The parameters you might use on a port definition vary by port type (that is, communication protocol), the security requirements of your shop and application, performance considerations and the applications that will run inside the Model 204 Online as a client or a service on this port.

There is no such thing as a "typical" port — each one is customized to the service or services running over the port.

JANUS DEFINE JANWEB 80 WEBSERV 50 WEBUSER WEBUSER TRACE 0 UPCASE - OBSIZE 10240 IBSIZE 10240 RBSIZE 10240 TIMEOUT 600 - OPEN FILE JANWEB MAXTEMP 14000 BINDADDR 198.242.244.47 - LOG REQ WEBLOGJW LOGCLOSET 57 NOAUDTERM COMPRESS 2 KEEPALIVE 30

In the above example, a Janus Web Server port is defined, named JANWEB. It runs at port 80 (the default web port) and allows 50 simultaneous connections. Buffer sizes are increases over the default settings and a variety of logging, compressions and other settings are specified.

JANUS DEFINE SOAP * CLSOCK 5 TIMEOUT 240 REMOTE * * MASTER

In the above example, a client socket "master" port called SOAP is defined, permitting 5 simultaneous outgoing connections to any remote hosts.

JANUS DEFINE parameters

ALLOCCIndicates 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.
ANONYMOUSIndicates that anonymous access is permitted to the FTP server being defined.
ANONUSERLets you change the name of the anonymous user, ANONUSER may be specified only if ANONYMOUS is also specified.
AUDTERMControls whether the server thread sends "non-compiler terminal output" to the audit trail.
AUTODONERequests 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.
AUTOLOADIndicates that the incore copy of Janus tables are to be reloaded at the first request subsequent to a table redefinition.
AUTOONRequests Janus Web Server to issue an implicit $Web_On before executing the commands specified in a JANUS WEB ON rule.
AUTOSYSSets the Model 204 AUTOSYS parameter to the indicated (subsys) value when a connection is received on a TNSERV port.
BINARYRequests Janus Sockets to send and receive strings with $Sock_xxx functions or Socket methods using no translation.
BINDADDRSpecifies the IP address to which the port will be bound, if the host (machine) on which Model 204 is running supports multiple IP addresses.
BSIZESpecifies the size of the TCP/IP input and output buffers.
CHARRequests 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.
CHARSETIndicates, to the remote host, the character set being used by Janus.
CLIENTSOCKETNames the client socket port to use to open connections back to the FTP client, if the client requests active file transfers.
CLOSEIMMEDIndicates that if a lost connection is noticed by the Janus PST, the PST should BUMP the Model 204 thread associated with the connection immediately.
CLOSEREADIndicates that web threads should "put up" a TCP/IP read after receiving the entire request but before processing it.
CMDSpecifies the Model 204 commands to be executed after the files and groups specified in the OPEN parameter are opened.
COMPRESSIndicates the type of compression to be performed on outgoing Janus Web Server data.
CRIndicates that lines of text data sent to a browser should be separated by the ASCII carriage return character (X'0D').
CRLFIndicates that lines of text data sent to a browser should be separated by the ASCII carriage return and line feed characters (X'0D0A').
CSSINSPIndicates whether or not Janus Web Legacy Support is to insert a space to represent the attribute byte on a 3270 screen.
CSSTITLEDIV and CSSTITLESPANIndicates whether Janus Web Legacy support is to use a <div> (CSSTITLEDIV) or <span> (CSSTITLESPAN) tag for the title line of a screen.
DBCS and NODBCSIndicates whether or not the Model 204 DBCS parameter is to be automatically set to 1 on requests to a WEBSERV port.
DEBPORTCMD and NODEBPORTCMDIndicates 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.
DEBPORTOPEN and NODEBPORTOPENIndicates whether the files and groups specified in the OPEN clause of the JANUS DEFINE command are to be opened on threads debugging requests.
EXEC2RPCIndicates that language requests should be converted to RPCs.
FINCLOSE and NOFINCLOSEAffect how Janus Sockets applications respond to a closed connection.
FDWOLSpecifies that all FINDs done by Janus Specialty Data Store are to be done as Find Without Locks.
FORMPOSTWAITThe default number of seconds to wait for the POST'ing of a form while using $Web_Form_Done.
FORMREDIRWAITThe 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.
HIGHPRIORITYAdjusts 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.
HTTPVERSION Sets the HTTP version returned to the browser by Janus Web Server.
IBSIZESpecifies the size of the TCP/IP input buffer.
INPUTTIMEOUTTells Janus Web Server to use a different timeout value for input (receiving the web request) than for output.
JANCAT Specifies the name of the file that contains the Model 204 to SQL mappings.
KEEPALIVE Indicates the number of seconds a TCP/IP connection is to be held open after an HTTP request on that connection.
LANGUAGE Indicates, to the remote host, the language being used by Janus.
LEGBL, LEGREV, LEGUS, NOLEGBL, NOLEGREV, and NOLEGUS Sets blink, underscore and reverse characteristics for Janus Web Legacy Support screens.
LEGCSS and NOLEGCSS Indicates whether or not Janus Web Legacy Support is to use Cascading Style Sheets.
LEGJS and NOLEGJS Indicates whether or not Janus Web Legacy Support is to use JavaScript.
LFIndicates that lines of text data sent to a browser should be separated by the ASCII line feed character (X'0A').
LINENDSpecifies 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 function or Socket SendWithLineEnd function or after each output line captured on the socket.
LOG Specifies that all Janus Web Server requests for the port are to be logged to a sequential data set whose DDNAME is specified (as indicated in this parameter's syntax).

The LOG data set records conform to the industry standard for web logging.

LOGAPPEND Indicates that the Janus Web Server log data set for the port is to be opened in APPEND mode.
LOGCLOSET Indicates how often the Janus Web Server log data set is to be "closed", that is how often the DSCB is to be updated for the log dataset.
LOGGMT Indicates that the time stamps in the Janus Web Server log data set for the port are to be represented as GMT instead of local time.
LOGMSGIPrevents Janus Web Server from saving Model 204 messages issued during logon for a web user.
MASTER Specifies that this is the default port for outgoing client communication.
MAXCURS Specifies the maximum number of cursors that can be opened for a single Janus Specialty Data Store connection.
MAXIPSESSpecifies the maximum number of Janus Web Legacy Support sessions maintained per IP address.
MAXREC Specifies the maximum record length for input records on a Janus IFDIAL port.
MAXSAVE Specifies the maximum number of compiled SQL requests to save in CCATEMP.
MAXTEMP 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.
MSGOPT Specifies what types of information to report in MSIR. messages regarding Janus Web (only) requests.
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.
MSG204 Specifies the Sybase message number to be used to return terminal output to the client.
MSG204L Specifies the Sybase message number to be used to return terminal output to the client.
NEWPASSWORDC This parameter prevents Janus Web Server from immediately sending an "Unauthorized" response to a browser after a password change.
NEWSESCMD Specifies the Model 204 commands to be executed when a new login session is initiated.
NEWSESGUESTOK Indicates that "guest" logins are to be allowed for $Sir_Login calls in programs run as part of NEWSESCMD processing.
NEWSESNOCLEARG Indicates that GTBL is not to be cleared at the end of NEWSESCMD command processing.
NEWSESOPEN Specifies the names of one or more Model 204 files or groups to be opened before any NEWSESCMD commands are executed.
NOAUDTERM This parameter is used to control whether the server thread sends "non-compiler terminal output" to the audit trail.
NOAUTODONE 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.
NOAUTOON Prevents Janus Web Server from preceding the execution of the command specified in a JANUS WEB ON rule with an implicit $Web_On.
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.
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.
NOUPCASE Indicates that no client data is to be converted to uppercase.
OBSIZE Specifies the size of the TCP/IP output buffer.
OMNIACCT Specifies the Model 204 ACCOUNT for the Janus Specialty Data Store catalog sdaemon for the port.
OMNIUSER Specifies the Model 204 user ID for the Janus Specialty Data Store catalog sdaemon for the port.
OPEN Specifies the name of one or more Model 204 files or groups to be opened when a server session is initiated.
PASVPORT Identifies the first FTP server port number to use for "passive" file transfers.
PRELOGINUSER Indicates the userid under which pre-login processing runs.
PRSTOK Specifies the hex values of strings that are used to separate input strings using the $Sock_RecvPrs function or Socket ReceiveAndParse function.
PUBLOG Indicates that a "real" login should be done for the SOCKUSER userid for SRVSOCK logons.
RAWHEADER Tells Janus Web Server to save the raw web request header stream.
RAWINPUT 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.
RAWINPUTONLY indicates that, regardless of the POST data content-type set by the client, Janus Web Server should: 1) Save the raw input stream of an HTTP POST and 2) Refrain from parsing the input content into form fields.
RBSIZE Specifies the Janus RPC or Request buffer size.
REMOTE Identifies the remote server and the remote port number to be used with a set of Janus Sockets CLSOCK connections.
RPCONLY Indicates that only RPC requests are allowed on the port.
SCREEN and NOSCREEN Indicates whether or not Janus Web Legacy screens will be allowed to appear on requests to the port.
SCREENTHROW and NOSCREENTHROW Indicates whether or not Janus Web Legacy client errors will cause an exception to be thrown.
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.
SDSACCT Specifies the Model 204 ACCOUNT for the Janus Specialty Data Store catalog sdaemon for the port.
SDSUSER specifies the Model 204 USER for the Janus Specialty Data Store catalog sdaemon for the port.
SESCOOKIE Indicates the name of a cookie that will be used to maintain logical sessions that will be used to perform trusted logins.
SESCOOKIENOSEC Indicates that the cookie specified by SESCOOKIE will not be sent to the browser as a "secure" cookie.
SESFASTLOGIN Reduces the login security overhead for Janus Web Server threads by causing a login performed for a continued session to be a "fast" login.
SESTIMEOUT Indicates the number of minutes of inactivity that will cause a logical login session being held either via SESCOOKIE or SSLSES to be terminated.
SLOWCLOSE Specifies a bitmask that indicates the conditions under which Janus Web Server is to perform a "slow" close of a connection with a browser.
SOCKACCT Specifies the default Model 204 account ID used for SRVSOCK logons.
SOCKPMAX Specifies the maximum number of sockets a user may have connected at any time using the particular Janus Sockets client port.
SOCKUSERSpecifies the default Model 204 user ID used for SRVSOCK logons.
SQUAREBOverrides the default EBCDIC characters for square brackets in the Janus Web Server log file.
SSLIndicates that communications on this port should be encrypted using SSL (Secure Sockets Layer) or TLS (Transport Layer Security) support.
SSLBSIZESpecifies the size of the input and output buffers used for reading encrypted data for an SSL port.
SSLCACHESpecifies the number of entries in virtual storage to be allocated for caching information related to this port's SSL sessions.
SSLCIPHLimit the stream ciphers (encryption algorithms) that this port offers for SSL connections.
SSLCLCERT and SSLCLCERTRSpecify that an SSL server port will request an SSL certificate from the client.
SSLIBSIZESpecifies the size of the SSL input buffer to be used on SSL ports.
SSLMAXAGESpecifies the maximum number of minutes that an SSL session is to be maintained.
SSLMAXCERTLIndicates the number of bytes of virtual storage to be allocated to hold incoming certificates presented for authentication.
SSLOBSIZESpecifies the size of the SSL output buffer to be used on SSL ports.
SSLOPTSpecifies that the use of SSL-like encryption is optional for applications using the port.
SSLPROTSpecify the degree of SSL-like encryption available at this port.
SSLSESReduces the overhead of NEWSESCMD processing by limiting it to logical session establishment time.
SSLTRUSTIndicates that the certificate presented by the other side of a TLS/SSL connection is to be trusted, even if it is not signed by a known certifying authority. This parameter is only available in Model 204 7.7 and later.
SSLUNENCIndicates that an unencrypted private key is being used in the certificate specified by the SSL parameter on this Janus server port definition.
STIMEOUTSets the number of seconds of inactivity after which a Janus Web Legacy session is terminated.
TCPLOGTells Janus Web Server to log in a sequential dataset all inbound and outbound TCP data transmitted for this port.
TCPKEEPALIVESpecifies that connections on the port should use TCP keepalives.
TIMEOUTSpecifies the number of seconds of inactivity after which clients connected to this port will be disconnected.
TIMEZONEA string indicating the IANA time zone under which the Online is running. This parameter is only valid for IMAGINET ports.
TRACESpecifies the initial TRACE setting for the port.
UPCASEIndicates that all client "names" are to be converted to uppercase.
VARIPADDRIndicates that a single browser might access Janus Web Server using different IP addresses.
WEBACCTSpecifies the default Model 204 account ID used for web logons for URLs where no userid is required.
WEBCOOKIDIndicates 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.
WEBLHSynonym for WEBLOGHOLD.
WEBLMSynonym for WEBLOGMAX.
WEBLOGCOOKIEIndicates that, for public URLs, Janus Web Server should log the user in with the userid specified by cookie-name. Normally, all public URL logins use the default public userid (usually WEBUSER).
WEBLOGHOLDIndicates the number of seconds that a "real" login should be saved for re-use on a web connection.
WEBLOGMAXIndicates the maximum number of cached login sessions to be held for a single user.
WEBPLSynonym for WEBPUBLOG.
WEBPUBLOGIndicates that a "real" login should be done for the WEBUSER userid for public URLs.
WEBREALMIndicates the security "realm" of userids and passwords.
WEBSDMAXIndicates the maximum number of sdaemons to be used for cached web logins.
WEBSMSynonym for WEBSDMAX.
WEBSOCKET and NOWEBSOCKET Indicates whether or not the port will negotiate with a client to upgrade to the Web Socket protocol.
WEBUSERSpecifies the default Model 204 user ID used for web logons for URLs where no userid is required.
WSFQUERYIndicates that Janus is to issue a "Write Structured Field Query" request to any Telnet client that connects to it.
XMLSCREEN and NOXMLSCREENSets XML screen mode (Janus Web Legacy XML Support) characteristics for Janus Web Legacy Support screens.
XMLSCREENFIELD and NOXMLSCREENFIELDIndicates whether or not a screenField attribute is to be added to Janus Web Legacy Support pages.
XMLSCREENREPUCSpecifies a Unicode character with which to replace an XMLSCREEN input character that cannot be translated to EBCDIC.
XMLNULLSCANCEL and XMLNULLSSENDSets XML screen mode (Janus Web Legacy XML Support) response to nulls for Janus Web Legacy Support screens.
XMLNULLSSTRIP and XMLNULLSBLANKSets an XML screen mode (Janus Web Legacy XML Support) null-replacement option for Janus Web Legacy Support screens.
XTABSpecifies 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.

See also