|
Table of Contents
proxymngr - proxy manager service
proxymngr
[-config filename] [-timeout seconds] [-retries #] [-verbose]
The
proxy manager (proxymngr) is responsible for resolving requests from xfindproxy
(and other similar clients), starting new proxies when appropriate, and
keeping track of all of the available proxy services. The proxy manager
strives to reuse existing proxies whenever possible.
There are two types
of proxies that the proxy manager deals with, managed and unmanaged proxies.
A managed proxy is a proxy that is started ``on demand'' by the proxy manager.
An unmanaged proxy, on the other hand, is started either at system boot
time, or manually by a system administrator. The proxy manager is made
aware of its existence, but no attempt is made by the proxy manager to
start unmanaged proxies.
The command line options that can be specified
to proxymngr are:
- -config
- Used to override the default proxymngr config
file. See below for more details about the config file.
- -timeout
- Sets the
number of seconds between attempts made by the proxy manager to find an
unmanaged proxy. The default is 10.
- -retries
- Sets the maximum number of retries
made by the proxy manager to find an an unmanaged proxy. The default is
3.
- -verbose
- Causes various debugging and tracing records to be displayed
as requests are received and proxies are started.
The
proxy manager maintains a local configuration file describing the proxy
services available. This configuration file is installed in /usr/X11R6/lib/X11/proxymngr/pmconfig
during the installation of proxymngr. The location of the configuration
file can be overwritten using the -config command line option.
Aside from
lines starting with an exclamation point for comments, each line of the
configuration file describes either an unmanaged or managed proxy service.
For unmanaged proxies, the format is:
- <service-name> unmanaged <proxy-address>
service-name is the name of the unmanaged proxy service, and must not contain
any spaces, for example ``XFWP''. service-name is case insensitive.
proxy-address
is the network address of the unmanaged proxy. The format of the address
is specific to the service-name. For example, for the ``XFWP'' service, the
proxy-address might be ``firewall.x.org:100''.
If there is more than one entry
in the config file with the same unmanaged service-name, the proxy manager
will try to use the proxies in the order presented in the config file.
For
managed proxies, the format is:
- <service-name> managed <command-to-start-proxy>
service-name is the name of the managed proxy service, and must not contain
any spaces, for example ``LBX''. service-name is case insensitive.
command-to-start-proxy
is the command executed by the proxy manager to start a new instance of
the proxy. If command-to-start-proxy contains spaces, the complete command
should be surrounded by single quotes. If desired, command-to-start-proxy can
be used to start a proxy on a remote machine. The specifics of the remote
execution method used to do this is not specified here.
Here is a
sample configuration file:
! proxy manager config file
!
! Each line has the format:
! <serviceName> managed <startCommand>
! or
! <serviceName> unmanaged <proxyAddress>
!
lbx managed /usr/X11R6/bin/lbxproxy
!
! substitute site-specific info
xfwp unmanaged firewall:4444
When the proxy manager gets a request from xfindproxy
(or another similar client), its course of action will depend on the service-name
in question.
For a managed proxy service, the proxy manager will find out
if any of the already running proxies for this service can handle a new
request. If not, the proxy manager will attempt to start up a new instance
of the proxy (using the command-to-start-proxy found in the config file).
If that fails, an error will be returned to the caller.
For an unmanaged
proxy service, the proxy manager will look in the config file to find all
unmanaged proxies for this service. If there is more than one entry in
the config file with the same unmanaged service-name, the proxy manager
will try to use the proxies in the order presented in the config file.
If none of the unmanaged proxies can satisfy the request, the proxy manager
will timeout for a configurable amount of time (specified by -timeout or
default of 10) and reattempt to find an unmanaged proxy willing to satisfy
the request. The number of retries can be specified by the -retries argument,
or a default of 3 will be used. If the retries fail, the proxy manager
has no choice but to return an error to the caller (since the proxy manager
can not start unmanaged proxy services).
proxy manager listen port should
be configurable.
-timeout and -retries is not implemented in proxymngr.
proxymngr
does not utilize the ``options'' and ``host'' fields in the proxy management protocol
GetProxyAddr request.
xfindproxy (1)
, xfwp (1)
, Proxy Management
Protocol spec V1.0
Ralph Mor, X Consortium
Table of Contents
|