JANUS WEB DEBUG: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (misc cleanup)
m (add IPV6 address format)
 
Line 16: Line 16:
<tr><th><var>IPADDR</var> ipaddr</th>
<tr><th><var>IPADDR</var> ipaddr</th>


<td>Indicates that requests from an IP address that matches <var class="term">ipaddr</var> will be debugged. <var class="term">ipaddr</var> can be a simple IP address, or it can be a subnet. Subnets are indicated by an IP address followed by either of these:
<td>Indicates that requests from an IP address that matches <var class="term">ipaddr</var> will be debugged. <var class="term">ipaddr</var> can be an IPV4 dotted-decimal address, an IPV6 address (as of version 7.7 of Model&nbsp;204), or it can be a subnet.  
 
<ul>
<li>IPV4 subnets are indicated by an IP address followed by one of these:
<ul>
<ul>
<li>A forward slash (<tt>/</tt>) followed by a netmask (with no intervening blanks) </li>
<li>A forward slash (<tt>/</tt>) followed by a netmask (with no intervening blanks)</li>
 
<li>A hyphen (<tt>-</tt>) followed by the number of bits in the subnet mask (with no intervening blanks)</li>
</ul>
<p>
For example, <code>198.242.244.97</code> is a simple IP address that must be matched exactly. <code>.198.242.244.0/255.255.255.0</code>, which is equivalent to <code>198.242.244.0-24</code>, indicates that any machine on subnet 198.242.244.0 is to be allowed access to <var class="term">url</var>. </p>


<li>A hyphen (<tt>-</tt>) followed by a number of bits in the subnet mask (with no intervening blanks) </li>
<li>IPV6 addresses are 128-bit integers, represented with eight, colon-separated, 16-bit (four hex-digit) groups, which may be abbreviated and represented with fewer groups. For example,
<code>fe80:0000:0000:0000:0200:0000:0300:0016</code> or <code>fe80::200:0:300:16</code>.
<p>
An IPV6 subnet is indicated by the first address in the range, followed by a forward slash, and a decimal value equal to the number of bits in the network prefix. A subnet that includes the example address above is: <code>fe80::200:0/48</code>. </p></li>
</ul>
</ul>
For example, <code>198.244.244.97</code> is a simple IP address that must be matched exactly. <code>.198.242.244.0/255.255.255.0</code>,  which is equivalent to <code>198.242.244.0-24</code>, indicates that any machine on subnet 198.242.244.0 is to be allowed access to <var class="term">url</var>.
<p>
<p>
The <var>IPADDR</var> parameter cannot be specified if the <var>IPGROUP</var> parameter is specified. It is valid to specify neither <var>IPADDR</var> nor <var>IPGROUP</var>. If neither is specified, the rule applies to requests from all IP addresses. </p>
The <var>IPADDR</var> parameter cannot be specified if the <var>IPGROUP</var> parameter is specified. It is valid to specify neither <var>IPADDR</var> nor <var>IPGROUP</var>. If neither is specified, the rule applies to requests from all IP addresses. </p>

Latest revision as of 20:44, 6 December 2016

Set debugging options and levels

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 before running the request on the issuing user's thread.

Syntax

JANUS WEB portname DEBUG [method] url - [IPADDR ipaddr | IPGROUP ipgroup] - [USER user | USGROUP usgroup] - [PORTOPEN | NOPORTOPEN] - [PORTCMD | NOPORTCMD] [PUBLIC]

portname, method, and url are described under the JANUS WEB command. The remaining parameters for JANUS WEB DEBUG are the four mutually exclusive pairs described below:

IPADDR ipaddr Indicates that requests from an IP address that matches ipaddr will be debugged. ipaddr can be an IPV4 dotted-decimal address, an IPV6 address (as of version 7.7 of Model 204), or it can be a subnet.
  • IPV4 subnets are indicated by an IP address followed by one of these:
    • A forward slash (/) followed by a netmask (with no intervening blanks)
    • A hyphen (-) followed by the number of bits in the subnet mask (with no intervening blanks)

    For example, 198.242.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.

  • IPV6 addresses are 128-bit integers, represented with eight, colon-separated, 16-bit (four hex-digit) groups, which may be abbreviated and represented with fewer groups. For example, fe80:0000:0000:0000:0200:0000:0300:0016 or fe80::200:0:300:16.

    An IPV6 subnet is indicated by the first address in the range, followed by a forward slash, and a decimal value equal to the number of bits in the network prefix. A subnet that includes the example address above is: fe80::200:0/48.

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.

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.

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.

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 user's 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.

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 debugging 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 user ID, so any user ID 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.

See also