previous

Appendix B: Configuration File Contents

This appendix gives brief information about the contents of the configuration file for those administrators interested in editing it directly.

Editing the Configuration File

For those RealProxy administrators who prefer to modify features by editing the configuration file directly, this appendix shows sample configuration file contents with brief descriptions. Detailed descriptions can be found in the chapters that describe each subject.

If you are going to modify the configuration file directly, please read the following sections:

It is recommended that you first use RealSystem Administrator to make changes, and then examine the configuration file to learn how changes are made. Noticing how lists are created and changed will be especially instructive.

Warning
Exit RealSystem Administrator before opening the configuration file with a text editor or unexpected changes may result.

Elements of the Configuration File

Settings are grouped into like categories. Variables that are not part of lists can appear anywhere in the configuration file, but are grouped here for clarity.

Most configuration file variables closely match names in RealSystem Administrator. Differences are noted here.

Access Control

Restricting access to RealProxy content via the requesting client's IP address is described in Chapter 9, "Limiting Access to RealProxy". For every address or address range to which you want to restrict access, create a list with a unique number. The number can be any length, but a number of more than one digit is recommended in case more lists are added later; with multiple digits, the new lists can be inserted between existing lists.

Each list is called a rule. Rules are processed in numerical order. RealProxy searches the list of rules to find the first rule that matches the address. Because RealProxy searches the list of rules in numerical order, make your broadest categories first.

Within each list, the following settings are used: Access, Transport, To, From, and a list named Ports.

Access Control Configuration Elements
Element Description
<List Name="AccessControl">
<List Name="0"> This is a permanent rule. It permits access to RealProxy from an application running on the same computer. Do not modify or delete this rule.
<Var Access="Allow"/> Whether access is allowed or denied: set to Allow or Deny.
<Var From="localhost"/> Address of the host RealProxy or network card of hosting machine. Use specific address or Any.
<Var To="any"/> Address of the client computer whose access you are limiting. Use specific address or Any. To specify a range of IP addresses, either place a colon after the IP address and give the full subnet mask, or place a slash mark after the IP address and give the number of bytes for the subnet mask. For example, the following are equivalent values to use in the From variable: 172.16.3.0:255.255.255.0 and 172.16.3.0/24. Both examples specify the range of addresses from 172.16.3.0 to 172.16.3.254.
<List Name="Ports"> List of ports to which access is restricted.
<Var Port_01="any"/> Specific port number, or use the word any.
</List>
</List>
<List Name="1"> This is a permanent rule. It prevents other computers from accessing ports 6060 and 7070, which are reserved for RealProxy's use. Do not modify or delete this rule.
<Var Access="Deny"/> See description earlier in this section.
<Var From="any"/> See description earlier in this section.
<Var To="any"/> See description earlier in this section.
<List Name="Ports"> See description earlier in this section.
<Var Port_1="6060"/> These ports are used exclusively by RealProxy.
<Var Port_2="7070"/>
</List>
</List>
<List Name="2"> You may add new rules here, but the rule shown here as Rule 2 must always appear last on the list. Insert other rules above this one, and give this one a new number.
<Var Access="Allow"/> See description earlier in this section.
<Var From="any"/> See description earlier in this section.
<Var To="any"/> See description earlier in this section.
<List Name="Ports"> See description earlier in this section.
<Var Port_1="any"/> See description earlier in this section.
</List>
</List>
</List>

Authentication

Authentication is used to verify the identity of users. This feature is described in Chapter 12, "Authenticating RealProxy Users".

Authentication

This section associates each realm with a database.

Authentication Realms Configuration Elements
Element Description
<List Name="ProxyAuthentication">
<Var Enabled="1"/> Indicates that authentication is enabled. 0 turns off this feature.
<List Name="Authority"> A realm.
<Var Realm="example.com.
ConnectRealm"/>
Name of this realm.
<Var AllowDuplicateIDs="1"/> When set to 1, allows users to log in from more than one location.
</List>
<List Name="RuleList"> List of rules and associated characteristics.
<List Name="Rule1">
<Var NoAuthenticateHost=
"*.example.com"/>
</List>
<Var PluginID="rn-auth-basic"/> Security type.
<Var DatabaseID="Connect_RN5"/> Database name.
</List>
</List>
</List>

Authentication Realms

This list highlights the realms and the associated databases.

Authentication Realms Configuration Elements
Element Description
<List Name="AuthenticationRealms">
<List Name="SecureAdmin"> A realm.
<Var Realm="AdminRealm"/> Name of this realm.
<List Name="BasicAuthenticator"/> Type of authentication.
<Var PluginID="rn-auth-basic"/> Security type.
<Var DatabaseID="Admin_Basic"/> Database name.
</List>
</List>
<List Name="ConnectRealm"> Authentication information for connection authentication.
<Var Realm="ConnectRealm"/> See description above.
<List Name="BasicAuthenticator">
<Var PluginID="rn-auth-basic"/>
<Var DatabaseID="Connect_RN5"/>
</List>
</List>

Databases List

The databases list stores user names and passwords of authorized users.

Within the list, sublists associate database plugins with location information.

The options available to each sublist are PluginID, Path, DBName, DBLoginPassword, and DBLoginPassword. The last two are only required if the PathToDBPlugin is set to ppvm3260 or ppvo3260.

Databases Configuration Elements
Element Description
<List Name="Databases">
<List Name="Admin_Basic"> Authentication of RealSystem Administrator users.
<Var PluginID="rn-db-flatfile"/> Name of plugin that will interact with the database.
<Var Path="C:\Program Files\Real
\RealProxy\adm_b_db"/>
Location where the database files are stored or will be stored.
</List>
<List Name="Connect_RN5"> Authentication of user connections.
<Var PluginID=rn-db-flatfile"/> Name of plugin that will interact with the database.
<Var Path="C:\Program Files\Real\
RealProxy\con_r_db"/>
Lcation of database files.
</List>
</List>

Caching

This feature is described in "Media Cache".

There are two cache sections within the FSMount list: the cache file system and the local file system.

Within the cache file system section, the following variables are used: ShortName, MountPoint, and CacheShortName.

Caching Configuration Elements
Element Description
<List Name="FSMount">
...
<List Name="RealSystem Cache Filesystem">
<Var ShortName="pn-mii-mgr"/> Name of the plug-in manager.
<Var MountPoint="/cachemgr/"/> Name of the mount point (used internally)
<Var CacheShortName="rn-cache"/> Short name to use.
</List>
<List Name="RNCache Local File System">
<Var ShortName="pn-local"/> Uses local file system.
<Var MountPoint="/fsforcache/"/> Name of the mount point (used internally)
<Var BasePath="C:\RealProxy\Cache"/> Location of cached files.
</List>
...
</List>
<List Name="RNCache">
<Var Enabled="1"/> Turns on the use of cache.
<Var MaxCacheSizeMB="1000"/> Gives maximum size of cache storage, in megabytes.
<Var CacheMountPoint="/fsforcache/"/> Name of the mount point (used internally)
</List>

File Systems

The FSMount section of the configuration file gives the names of all the configurable file system plug-ins in use. The plug-ins themselves are stored in a directory indicated by the PluginDirectory variable. All requests of the RealProxy are processed by plug-ins.

ShortName Variable

Each list within FSMount gives a short name for the plug-in. The short name is also stored within the plug-in file itself, and RealProxy uses this to identify the correct file to use. The short name is referenced with the ShortName variable in each file systems list.

Local File System

The RealSystem Content list is used for internal processes by RealProxy.

RealSystem Administrator

Two files systems work together to operate RealSystem Administrator: the local file system and the administration file system.

The administration file system accepts the initial URL for RealSystem Administrator. It requests the HTML files from the local file system. Once the local file system delivers the HTML files, the administration file system looks up your RealProxy's values and displays them at the appropriate points in RealSystem Administrator.

Three variables are used for the RealAdministrator list: ShortName, MountPoint, and BasePath.

Five variables are use in the RealAdministrator_Files list: ShortName, MountPoint, Authorized_User_Group, Authentication, and Realm.

This tool is described in Chapter 4, "Configuring RealProxy Features".

RealSystem Administrator Configuration Elements
Element Description
<List Name="RealSystem Administrator Files">
<Var ShortName="pn-admin"> RealSystem Administrator uses the pn-admin plugin.
<Var MountPoint="/admin/"/> The default value for MountPoint is /admin/. If you change this, you will need to type a new URL to connect to RealSystem Administrator.
<Var BaseMountPoint="/localadmin/"/> This special form of mount point reflects the mount point of the RealAdministrator list.
<Var Realm="AdminRealm"/> The Realm variable identifies which AuthenticationRealm settings will be used with requests sent to the RealSystem Administrator mount point.
<Var Authentication="True"/> Indicates that authentication is in use.
</List>
<List Name="RealAdministrator">
<Var ShortName="pn-local"/> RealSystem Administrator uses the local file system.
<Var MountPoint="/localadmin/"/> Mount point, used when RealAdministrator_Files list requests files from this plugin. The default value is /localadmin/. If you change this, be sure to change the RealAdministrator_Files list's BaseMountPoint to match.
<Var BasePath="C:\Program Files
\Real\RealProxy\RealAdministrator"/>
Location of the RealSystem Administrator files.
</List>
<List Name="RealSystem Administrator HTML"> This list defines the file system, mount point, and location of the files used by RealSystem Administrator.
<Var ShortName="pn-local"/>
<Var MountPoint="/admin/html/"/>
<Var BasePath="/RealAdministrator"/>
</List>
<List Name="RealSystem Administrator DOCS"> Location for the online documentation for this product.
<Var ShortName="pn-local"/>
<Var MountPoint="/admin/Docs/"/>
<Var BasePath="/RealAdministrator/Docs"/>
</List>
<List Name="RealSystem Administrator IMAGES"> This list gives the location where RealSystem Administrator can find the images to display on its pages.
<Var ShortName="pn-local"/>
<Var MountPoint="/admin/images/"/>
<Var BasePath="/RealAdministrator
/images"/>
</List>
<List Name="RealSystem Administrator SSI"> Server-side include handler; creates HTML pages in RealSystem Administrator.
<Var ShortName="pn-xmltag"/>
<Var MountPoint="/admin/includes/"/>
<Var BaseMountPoint="/admin/html/"/>
<List Name="TagHandlers">
<Var h1="pn-includer"/>
</List>
</List>

Splitter Broadcast

This section is described in "Splitting".

HTTP Support

This feature, which indicates the virtual directories whose content can be streamed via HTTP, is explained in Chapter 9, "Limiting Access to RealProxy". Each Path variable gives the name of a virtual directory whose content can be streamed via HTTP.

Be sure that Admin is on this list; Admin refers to RealSystem Administrator, which is served via HTTP. And push splitting uses HTTP for the initial connection conversation; add the push splitting mount point to this list, usually farm.

HTTP Deliverable Configuration Elements
Element Description
<List Name="HTTPDeliverable">
<Var Path_1="/admin"/> Each Path variable gives the name of a mount point, directory or virtual directory whose content can be streamed via HTTP.

</List>

IP Bindings

The ability to run on specific addresses is explained in Chapter 6, "Advanced Features". This list uses variables numbered sequentially: Address_01, Address_02, and so on. Use one for each IP address you want to set aside for RealProxy. Use the RealProxy's IP address or host name for each variable; however, the IP address allows RealProxy to be more efficient.

RealProxy will bind to the specified addresses only; it will not bind to localhost.

If you don't use any values for the variables in the IPBindings list, RealProxy binds to the host IP address and localhost. It does not bind to any others.

IP Binding Configuration Elements
Element Description
<List Name="IPBindings">
<Var Address_01="0.0.0.0"/> Each variable gives an address to reserve for use by RealProxy. If using individual addresses, include 127.0.0.1 (loopback address). To reserve all addresses, use 0.0.0.0 and no others.

</List>

Logging

Logging and reporting features are described in Chapter 14, "Tracking RealProxy Activity". Variables which control the locations of the access and error log files are described in "Paths" of this chapter.

Logging Configuration Elements
Element Description
<Var LoggingStyle="5"/> Determines how much data about clips served is gathered in the access log. See Chapter 14, "Tracking RealProxy Activity" for a list of options.

<Var LogRollFrequency="4W"/>
Creates a new access log for each period specified. The period is indicated in the format xD, xW, or xM, where x is a number. See also LogRollSize. For example, 4D will keep 4 days of information in the log file.

<Var LogRollSize="50"/>
Creates a new access log when the indicated file size is reached. See also LogRollFrequency. If you include both LogRollFrequency and LogRollSize, RealProxy uses the variable it finds first.

<Var DisableClientGUID="0"/>
Collects unique client identifiers ("GUIDs"). When set to 1, ignores all client GUIDs and uses 00000000-0000-0000-0000-000000000000 instead. Refer to "Omitting Client Identifiers".

Disable log file rolling by changing the LogRollFrequency and LogRollSize variables to 0.

MIME Types

This section can only be edited via the configuration file.

MIME Types Configuration Elements
Element
<List Name="MimeTypes">
<List Name="audio/x-pn-realaudio">
<Var Ext_1="ram"/>
</List>
<List Name="image/gif">
<Var Ext_1="gif"/>
</List>
<List Name="image/jpg">
<Var Ext_1="jpg"/>
<Var Ext_2="jpeg"/>
</List>
<List Name="text/html">
<Var Ext_1="html"/>
<Var Ext_2="htm"/>
</List>
</List>

Multicasting

Back-channel multicasting is described in Chapter 11, "Multicasting Live Streams".

Settings used with this list are AddressRange, DeliveryOnly, RTSPPort, Resend, and TTL.

Multicasting Configuration Elements
Element Description
<List Name="Multicast">
<Var AddressRange="address-address"/> Range of addresses to which you want to send streams, in the form of address-address. RealProxy uses the first available address in this range. If you are using other types of multicast, be sure that the address ranges are different and do not overlap. If your multicast streams are referenced in SMIL files, you will need one address for each stream.
<List Name="ControlList"> The ControlList list gives the addresses of clients allowed to receive multicast transmissions.
<Var Allow="164.16.2.24:255.0.0.0"/> Address and netmask, separated by a colon, of clients allowed to receive multicast transmissions. Uses same format as From variable in AccessControl list.
</List>
<Var DeliveryOnly="False"/> Requires clients listed in ControlList to receive only multicast transmissions from RealProxy. When DeliveryOnly is False, clients on ControlList can receive both multicasts and unicasts.
<Var RTSPPort="554"/> Port on client machines to which RealProxy sends RTSP streams. Default value is 554.
<Var TTL="16"/> Time To Live for multicast packets travelling over the network.
<Var Resend="True"/> Allows or denies requests from clients for resends of missing UDP packets.
</List>

Passwords

MonitorPassword is described in Chapter 13, "Monitoring RealProxy Activity".

Password Configuration Elements
Element Description
<Var MonitorPassword="letmein"/> Password used by G2 Java Monitor in connecting to RealProxy.

Paths

LogPath and ErrorLogPath are described in Chapter 14, "Tracking RealProxy Activity". PIDPath is described in Chapter 6, "Advanced Features". PluginDirectory is described in Chapter 4, "Configuring RealProxy Features". LicenseDirectory is given in Chapter 3, "Starting and Stopping RealProxy".

Windows Variables

Path variables, along with typical paths used in Windows NT and Windows NT, are shown here.

Path Configuration Elements
Element Description
<Var LogPath="C:\Program Files\Real
\RealProxy\Logs\proxy.log"/>
LogPath indicates where and with what name the proxy log will be stored. If omitted, RealProxy places proxy.log in the Logs directory.
<Var ErrorLogPath="C:\Program Files\Real
\RealProxy\Logs\proxyerr.log"/>
ErrorLogPath gives the path and name of the error log file. If this setting is omitted, RealProxy places proxyerr.log in the Logs directory.
<Var PluginDirectory="C:\Program Files\Real
\RealProxy\Plugins"/>
Shows where the plug-in files are stored.

<Var LicenseDirectory="C:\Program Files\Real
\RealProxy\License"/>
Gives the location of the license files.

<Var SupportPluginDirectory="C:\Program Files
\Real\RealProxy\Lib"/>
Shows location of the Lib directory

UNIX Variables

One additional setting is found on RealProxy running on a UNIX system: PIDPath.

Path Configuration Elements
Element Description
<Var LogPath="/usr/bin/RealProxy/Logs
/proxy.log"/>
LogPath indicates where and with what name the proxy log will be stored. If omitted, RealProxy places proxy.log in the Logs directory.
<Var ErrorLogPath="/usr/bin/RealProxy/Logs
/proxyerr.log"/>
ErrorLogPath gives the path and name of the error log file. If this setting is omitted, RealProxy places proxyerr.log in the Logs directory.
<Var PluginDirectory="/usr/bin/RealProxy
/Plugins"/>
Shows where the plug-in files are stored.
<Var LicenseDirectory="/usr/bin/RealProxy
/License"/>
Gives the location of the license files.

<Var PidPath="/usr/bin/RealProxy/Logs
/rmserver.pid"/>
In UNIX systems, the location of the process id file.
<Var SupportPluginDirectory="/usr/bin
/RealProxy/Lib"/
Shows location of the Lib directory

Ports

Port settings are described in Chapter 4, "Configuring RealProxy Features". MonitorPort is described in Chapter 13, "Monitoring RealProxy Activity".

Ports Configuration Elements
Element Description

<Var MonitorPort="9090"/>
The port which monitors (such as G2 Java Monitor) connect to RealProxy.

<Var AdminPort="7845"/>
Port number for RealSystem Administrator connection, randomly generated at setup.

<Var HTTPPort="8080"/>
The port to which HTTP requests are made.

<Var RTSPPort="6060"/>
Internal ports used by RealProxy to communicate with its file systems. External access to these ports is restricted.

<Var PNAPort="7070"/>

Proxy Routes Table

This feature is described in Chapter 10, "Proxy Routing".

Proxy Routes Table Configuration Elements
Element Description
<List Name="ProxyRouteTable">
<List Name="100"> Rule number.
<Var Rule="*.tokyo.example.com"/> All Tokyo traffic is allowed to go to the Tokyo server, without being forwarded to a parent RealProxy.
<Var ParentMEIPort="7878"/> Caching port number on parent RealProxy.
<Var ParentPNAPort="7070"/> PNA port number of parent RealProxy.
<Var ParentRTSPPort="554"/> RTSP port number of parent RealProxy.
<Var ParentName=""/> Address of parent RealProxy.
<Var UseParentProxy="0"/> Enables use of this feature.
</List>
<List Name="200"> See description earlier in this section.
<Var Rule="*"/>
<Var ParentRTSPPort="554"/>
<Var ParentMEIPort="7878"/>
<Var ParentPNAPort="7070"/>
<Var UseParentProxy="1"/>
<Var ParentName=
"realproxy.example.com"/>
All traffic not specified in the previous rule will be forwarded to a parent RealProxy named realproxy.example.com.
</List>
</List>

RealProxy

If you establish values for MaxProxyConnections, MaxProxyBandwidth, and MaxGatewayBandwidth, RealProxy will limit access when the lowest threshold is reached.

RealProxy Configuration Elements
Element Description
<!-- P R O X Y S E R V E R-->
<List Name="Proxy">
<Var RTSPPort="554"/> Port number where RealProxy listens for RTSP requests.
<Var PNAPort="1090"/> Port number where RealProxy listens for PNA requests.
<Var CacheEnable="1"/> When value is 1, RealProxy looks for media cache information in the configuration file and forwards requests for on-demand material to the cache file system. (See the "Caching" section in this chapter.) Enabled at installation.
<Var CacheMountPoint="/cachemgr/"/> Identifies the mount point to use for caching.
<Var BitsaveEnable="1"/> When value is 1, RealProxy streams all live requests, rather than opening separate data channels between the transmitter and the client.
If you disable this setting, RealProxy will not be able to perform pull splitting.
<Var BitsaveMountPoint="/split/"/> Mount point automatically added to links in pull splitting mode.
<Var BitsavePort="3030"/> Corresponds to the port used in pull splitting.
<Var MaxProxyConnections="0"/> Limits the number of connections that RealProxy will proxy simultaneously. Must be less than or equal to the number of streams in your license. Range is 1 to 32767. If omitted or set to 0, no limit is enforced.
<Var MaxProxyBandwidth="0"/> Limits the amount of kilobits per second which RealProxy will use overall. This is not a per-connection setting. If omitted or set to 0, no limit is enforced.
<Var MaxGatewayBandwidth="0"/> Limits the bandwidth in kilobits per second that RealProxy will use when connecting to its gateway. If omitted or set to 0, no limit is enforced.
</List>

Splitting

Only three variables are required in the pull splitting section: ShortName, MountPoint, and Port.

If the proxy routing feature is in use, two additional variables are used: ParentProxyAddress, and ParentProxyPort. The proxy routing feature is described in Chapter 10.

This section is part of the FSMount list.

Warning
If you change these settings, RealProxy will not be able to operate in pull splitting mode.

Pull Splitting Configuration Elements
Element Description
<List Name="Splitter_DoubleURL">
<Var ShortName="pn-splitter"/> Short name of the pull splitting plugin. Default is pn-splitter.
<Var MountPoint="/split/"/> Mount point. Used in URLs that reference pull splitting streams. Default is /split/.
<Var Port="3030"/> Port number to which the transmitter will listen for pull splitting requests.
<Var SplitterProtocol="UDP"/> Shows which type of protocol the transmitter will use to transmit data to the receiver. Choose TCP if you are splitting through a firewall (but this will produce a slower connection and more overhead).

</List>

UNIX-Only Settings

These settings are also described in "Features Specific to the Operating System".

UNIX-Only Configuration Elements
Element Description
<Var Group="users"/> Group name under which RealProxy runs. The group name must already exist on the computer on which RealProxy is running; otherwise, RealProxy will not start. If you do not specify a group name, this variable defaults to the group name of the user who first starts RealProxy. The default value is %-1.
<Var User="canderson"/> User name under which RealProxy runs. The user name must exist on the computer on which RealProxy is running; otherwise, RealProxy will not start. If you don't specify a user name during Setup, the user name defaults to the user name of the user who first logs in and starts RealProxy. The default value is %-1.
<Var ProcessorCount="0"/> The default value of 0 means that RealProxy will use its test to determine the number of processors available. If you have more than one processor on your system, you should change this variable.

Features Only Available Via Direct Editing

Some of the more specialized lists and variables are only configurable by editing the configuration file directly; they cannot be changed via RealSystem Administrator.

These elements are:


Copyright © 2000 RealNetworks
For information on RealNetworks' technical support, click here.
Comments on this document? Click here.
This file last updated on 12/07/00 at 16:37:43.
previous