#========================================================================#

# interchange.cfg
# See 'icconfig' document for details.

#========================================================================#

# These settings (DEBUG, FULL_URL, ROBOTS, SOAP, SWISH, TRAFFIC, UI, 
# UI_LOCALE) all affect other configuration directives below.
#
# We read them from /etc/interchange/features.cfg resp.
# /etc/interchange/settings.cfg. You may modify the latter file
# manually (not recommended), with /usr/sbin/interchangeconfig
# or dpkg-reconfigure (only settings flagged with *).
#
# DEBUG:     Set to 1 to send extra debugging info to file 
#           /var/log/interchange/debug.log and get a dump of global 
#           and catalog data structures.
# FULL_URL*: Set to 1 for enabling the FullURL configuration directive.
# ROBOTS*:   Set to 1 to include Robots* configuration directives from 
#            robots.cfg.
# SOAP*:	 Set to 1 for enabling the SOAP server.
# SWISH:     Set to 1 for enabling the Swish search.
# TRAFFIC*:  Set to "low", "high", or "rpc" to get different server parameters.
# UI:        Set to 1 to include back-end administration interface.

include /usr/lib/interchange/VERSION
include /etc/interchange/features.cfg
include /etc/interchange/settings.cfg

#========================================================================#

# Whether to consider the whole URL for determining the catalog or not

ifdef @FULL_URL
FullURL Yes
endif

#========================================================================#

# Read catalog definitions from two different locations:
# - catalogs.cfg is for custom catalogs
# - catalog.d/*.cfg is for catalogs installed by Debian packages
# Only catalogs listed there are handled by the expiry cron job

include /etc/interchange/catalogs.cfg
include /var/lib/interchange/catalog.d/*.cfg

#========================================================================#

Environment  MOD_PERL

# Prevent arbitrary [file ...] and [include ...] among other things.
NoAbsolute Yes

ifdef @DEBUG

Message Sending debug to /var/log/interchange/debug.log
DebugFile /var/log/interchange/debug.log

# Dump global and catalog data structures to a text file at startup time.
# See /var/run/interchange/interchange.structure and 
# {CatRoot}/{CatName}.structure.
DumpStructure Yes

# This logs DBI calls to your DebugFile.
# It's commented out by default because it generates a lot of messages.
#DataTrace 1

endif

ifdef TRAFFIC =~ /low/i
Message Low traffic settings.
HouseKeeping 3
MaxServers   5
PIDcheck     300
endif

ifdef TRAFFIC =~ /high/i
Message High traffic settings.
HouseKeeping 2
MaxServers   10
PIDcheck     120
endif

ifdef TRAFFIC =~ /rpc/i
Message RPC traffic settings.
PreFork             Yes
StartServers        5
MaxRequestsPerChild 100
HouseKeeping        2
PIDcheck            120
endif

# Whether to run the SOAP server
ifdef @SOAP
SOAP Yes
SOAP_Control Action always
endif

# Whether to enable the Swish search
ifdef @SWISH
Require module Vend::Swish
AddDirective Swish hash
Variable swish Vend::Swish
Variable SWISH_CMD /usr/bin/swish-e
endif

# Set this so cookies are issued only for the current catalog, not for
# the whole base domain.
Mall  Yes

# Additional Safe operations to untrap beyond the standard "ftfile sort".
SafeUntrap  rand

TcpMap localhost:7786 -

# Include back office administration UI if variable set above.
ifdef UI
Message Calling UI...
include lib/UI/ui.cfg
Variable UI_SECURE 1
endif

ifdef @ROBOTS
include /etc/interchange/robots.cfg
endif

# Include the list of country-specific "standard" subdomains
include /etc/interchange/subdomains.cfg

# Include global usertags put up by the administrator
include /etc/interchange/usertag/*.tag

# Default CGI path
Variable CGI_BASE /cgi-bin/ic


