JANUS DEFINE

From m204wiki
Revision as of 01:34, 17 April 2012 by Alex (talk | contribs) (→‎Syntax)
Jump to navigation Jump to search

<section begin="desc" />Define and set characteristics of a Janus port<section end="desc" />

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

<section begin="syntax" />JANUS DEFINE portname portnum type maxcon other_parms ... <section end="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. 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:
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 Sirius Debugger server socket port.
FTPSERVER A Janus FTP Server application.
IFDIAL Janus IFDIAL Library applications.
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. 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 non-CLSOCK 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, 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 6.8 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 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.
HTTPVERSIONSets 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.
JANCATSpecifies the name of the file that contains the Model 204 to SQL mappings.
KEEPALIVEIndicates the number of seconds a TCP/IP connection is to be held open after an HTTP request on that connection.
LANGUAGEIndicates, to the remote host, the language being used by Janus.
LEGBL, LEGREV, LEGUS, NOLEGBL, NOLEGREV, and NOLEGUSSets blink, underscore and reverse characteristics for Janus Web Legacy Support screens.
LEGCSS and NOLEGCSSIndicates whether or not Janus Web Legacy Support is to use Cascading Style Sheets.
LEGJS and NOLEGJSIndicates 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.
LOGSpecifies that all Janus Web Server requests for the port are to be logged to a sequential dataset whose DDNAME is specified by xxxx.
LOGAPPENDIndicates that the Janus Web Server log dataset for the port is to be opened in APPEND mode.
LOGCLOSETIndicates 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.
LOGGMTIndicates that the time stamps in the Janus Web Server log dataset 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.
MASTERSpecifies that this is the default port for outgoing client communication.
MAXCURSSpecifies 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.
MAXRECSpecifies the maximum record length for input records on a Janus IFDIAL port.
MAXSAVESpecifies the maximum number of compiled SQL requests to save in CCATEMP.
MAXTEMPSpecifies 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.
MSGSEND and NOMSGSENDIndicates whether or not Model 204 messages (as opposed to the output from PRINT or HTML statements) are to be sent to the browser.
MSG204Specifies the Sybase message number to be used to return terminal output to the client.
MSG204LSpecifies the Sybase message number to be used to return terminal output to the client.
NEWPASSWORDCThis parameter prevents Janus Web Server from immediately sending an "Unauthorized" response to a browser after a password change.
NEWSESCMDSpecifies the Model 204 commands to be executed when a new login session is initiated.
NEWSESGUESTOKIndicates that "guest" logins are to be allowed for $Sir_Login calls in programs run as part of NEWSESCMD processing.
NEWSESNOCLEARGIndicates that GTBL is not to be cleared at the end of NEWSESCMD command processing.
NEWSESOPENSpecifies the names of one or more Model 204 files or groups to be opened before any NEWSESCMD commands are executed.
NOAUDTERMThis parameter is used to control whether the server thread sends "non-compiler terminal output" to the audit trail.
NOAUTODONEPrevents 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.
NOAUTOONPrevents Janus Web Server from preceding the execution of the command specified in a JANUS WEB ON rule with an implicit $Web_On.
NOSCREENREDIRIndicates 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.
NOTRACEFIELDIndicates 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.
NOUPCASEIndicates that no client data is to be converted to uppercase.
OBSIZESpecifies the size of the TCP/IP output buffer.
OMNIACCTSpecifies the Model 204 ACCOUNT for the Janus Specialty Data Store catalog sdaemon for the port.
OMNIUSERSpecifies the Model 204 user ID for the Janus Specialty Data Store catalog sdaemon for the port.
OPENSpecifies the name of one or more Model 204 files or groups to be opened when a server session is initiated.
PASVPORTIdentifies the first FTP server port number to use for "passive" file transfers.
PRELOGINUSERIndicates the userid under which pre-login processing runs.
PRSTOKSpecifies the hex values of strings that are used to separate input strings using the $Sock_RecvPrs function or Socket ReceiveAndParse function.
PUBLOGIndicates that a "real" login should be done for the SOCKUSER userid for SRVSOCK logons.
RAWINPUTTells 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.
RAWINPUTONLYindicates 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.
RBSIZESpecifies the Janus RPC or Request buffer size.
REMOTEIdentifies the remote server and the remote port number to be used with a set of Janus Sockets CLSOCK connections.
RPCONLYIndicates that only RPC requests are allowed on the port.
SCREEN and NOSCREENIndicates whether or not Janus Web Legacy screens will be allowed to appear on requests to the port.
SCREENURLIndicates 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.
SDSACCTSpecifies the Model 204 ACCOUNT for the Janus Specialty Data Store catalog sdaemon for the port.
SDSUSERspecifies the Model 204 USER for the Janus Specialty Data Store catalog sdaemon for the port.
SESCOOKIEIndicates the name of a cookie that will be used to maintain logical sessions that will be used to perform trusted logins.
SESCOOKIENOSECIndicates that the cookie specified by SESCOOKIE will not be sent to the browser as a "secure" cookie.
SESFASTLOGINReduces the login security overhead for Janus Web Server threads by causing a login performed for a continued session to be a "fast" login.
SESTIMEOUTIndicates the number of minutes of inactivity that will cause a logical login session being held either via SESCOOKIE or SSLSES to be terminated.
SLOWCLOSESpecifies a bitmask that indicates the conditions under which Janus Web Server is to perform a "slow" close of a connection with a browser.
SOCKACCTSpecifies the default Model 204 account ID used for SRVSOCK logons.
SOCKPMAXSpecifies 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 buffer 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.
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.
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.
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.
XTABSpecify 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