LIBXRX(1)

NAME
libxrx - RX Web Browser Plug-in

DESCRIPTION
The RX Plug-in may be used with web browsers in the Mozilla family, including Netscape Navigator (3.0 or later), Firefox, and SeaMonkey, to interpret documents in the RX MIME type format and start remote applications.

The RX Plug-in reads an RX document, from which it gets the list of services the application wants to use. Based on this information, the RX Plug-in sets the various requested services, including creating authorization keys if your X server supports the SECURITY extension. It then passes the relevant data, such as the X display name, to the application through an HTTP GET request of the associated CGI script. The Web server then executes the CGI script to start the application. The client runs on the web server host connected to your X server. In addition when the RX document is used within the EMBED tag (a Netscape extension to HTML), the RX Plug-in uses the XC-APPGROUP extension, if it is supported by your X server, to cause the remote application to be embedded within the browser page from which it was launched.

INSTALLATION
To install the RX Plug-in so that the web browser can use it, find the file named libxrx.so or libxrx.sl (or similar, depending on your platform) in __ProjectRoot__/lib and copy it to the browser plugin directory in the system installation or your home directory (such as /usr/lib/firefox/plugins or $HOME/.firefox/plugins).

If you have configured the web browser to use the RX helper program (xrx), you must reconfigure it. Generally you simply need to remove or comment out the line you may have previously added in your mailcap file to use the RX helper program. Otherwise the plug-in will not be enabled. (The usual comment character for mailcap is ``#''.)

If you are already running the web browser, you need to exit and restart it after copying the plug-in library so the new plug-in will be found. Once this is done you can check that the browser has successfully loaded the plug-in by checking the ``About Plug-ins'' page from the Help menu. This should show something like:
                        RX Plug-in
    File name: /usr/local/lib/netscape/plugins/libxrx.sl.6.3
    X Remote Activation Plug-in
    Mime Type Description Suffixes Enabled
    application/x-rx X Remote Activation Plug-in xrx Yes

Once correctly configured, the web browser will activate the RX Plug-in whenever you retrieve any document of the MIME type application/x-rx.

RESOURCES
The RX Plug-in looks for resources associated with the widget netscape.Navigator (class Netscape.TopLevelShell) and understands the following resource names and classes:

xrxHasFirewallProxy (class XrxHasFirewallProxy)
    Specifies whether an X server firewall proxy (see xfwp) is running and should be used. Default is ``False.'' The X firewall proxy uses the X Security Extension and this extension will only allow clients to connect to the X server if host-based authentication is turned on. See xfwp(1) for more information.

xrxInternalWebServers (class XrxInternalWebServers)
    The web servers for which the X server firewall proxy should not be used (only relevant when xrxHasFirewallProxy is ``True''). Its value is a comma separated list of mask/value pairs to be used to filter internal web servers, based on their address. The mask part specifies which segments of the address are to be considered and the value part specifies what the result should match. For instance the following list:
          255.255.255.0/198.112.45.0, 255.255.255.0/198.112.46.0 matches the address sets: 198.112.45.* and 198.112.46.*. More precisely, the test is (address & mask) == value.

xrxFastWebServers (class XrxFastWebServers)
    The web servers for which LBX should not be used. The resource value is a list of address mask/value pairs, as previously described.

xrxTrustedWebServers (class XrxTrustedWebServers)
    The web servers from which remote applications should be run as trusted clients. The default is to run remote applications as untrusted clients. The resource value is a list of address mask/value pairs, as previously described.

ENVIRONMENT
If the RX document requests X-UI-LBX service and the default X server does not advertise the LBX extension, the RX Plug-in will look for the environment variable ``XREALDISPLAY'' to get a second address for your X server and look for the LBX extension there. When running your browser through lbxproxy you will need to set XREALDISPLAY to the actual address of your server if you wish remote applications to be able to use LBX across the Internet.

If the RX document requests XPRINT service, RX Plug-in looks for the variable ``XPRINTER'' to get the printer name and X Print server address to use. If the server address is not specified as part of XPRINTER, RX Plug-in uses the first one specified through the variable ``XPSERVERLIST'' when it is set. When it is not RX Plug-in then tries to use the video server as the print server. If the printer name is not specified via XPRINTER, RX Plug-in looks for it in the variables ``PDPRINTER'', then ``LPDEST'', and finally ``PRINTER'',

Finally, if you are using a firewall proxy, RX Plug-in will look for ``PROXY_MANAGER'' to get the address of your proxy manager (see proxymngr). When not specified it will use ":6500" as the default.

KNOWN BUG
When an authorization key is created for a remote application to use the X Print service, the RX Plug-in has to create the key with an infinite timeout since nobody knows when the application will actually connect to the X Print server. It then revokes the key when its instance is destroyed (that is when you go to another page). However, if the Plug-in does not get destroyed properly, which happens when the browser dies unexpectedly, the print authorization key will never get revoked.

SEE ALSO
xrx (1), xfwp (1), lbxproxy (1), proxymngr (1), The RX Document specification

AUTHORS
Arnaud Le Hors and Kaleb Keithley, X Consortium