#
# Proftpd sample configuration for geoip.
#
<IfModule mod_geoip.c>

# GeoIPEngine
# Syntax: GeoIPEngine on|off
# Default: off
# The GeoIPEngine directive enables or disables the module's lookup of geographic information for a
# connecting client, and subsequent enforcement of any configured ACLs.
GeoIPEngine on


# Syntax: GeoIPAllowFilter filter pattern
# Default: none
# The GeoIPAllowFilter directive is used to configure ACLs based on the 
# geographic data provided by the GeoIP library.
# Multiple GeoIPAllowFilter directives in the configuration are supported;
# if any filter matches the connecting client, the connection will be allowed.
# The filter parameter specifies the GeoIP value to which to apply the configured
# pattern for matching. The possible filter values are:
#  * AreaCode
#  * ASN
#  * City
#  * Continent
#  * CountryCode
#  * CountryCode3
#  * CountryName
#  * ISP
#  * Latitude
#  * Longitude
#  * NetworkSpeed
#  * Organization
#  * PostalCode
#  * Proxy
#  * RegionCode
#  * RegionName
#  * Timezone 
# The pattern parameter is case-insensitive regular expression that will be applied to the 
# specified filter value, if available.
# Examples: 

# Allow clients with high-speed connections
# GeoIPAllowFilter NetworkSpeed corporate

# Reject clients connecting from North America or South America
# GeoIPDenyFilter Continent (NA|SA)

# GeoIPDenyFilter
# Syntax: GeoIPDenyFilter filter pattern
# Default: none
# The GeoIPDenyFilter directive is used to configure ACLs based on the geographic data provided by 
# the GeoIP library.
# Multiple GeoIPDenyFilter directives in the configuration are supported; if any filter matches the 
# connecting client, the connection will be rejected. 
# See GeoIPAllowFilter for a description of the directive syntax and parameters. 

# GeoIPLog
# Syntax: GeoIPLog file|"none"
# Default: None
# The GeoIPLog directive is used to specify a log file for mod_geoip's reporting on a per-server basis.
# The file parameter given must be the full path to the file to use for logging.
# Note that this path must not be to a world-writable directory and, unless AllowLogSymlinks is explicitly
# set to on (generally a bad idea), the path must not be a symbolic link. 
GeoIPLog /var/log/proftpd/geoip.log

# GeoIPTable
# Syntax: GeoIPTable path [flags]
# Default: None
# The GeoIPTable directive is used to a GeoIP database file for use by the GeoIP library. The path parameter given must be the full path to the database file.
# If no GeoIPTable directive is configured, then the GeoIP library will use the default GeoIP Country database file installed with the library. 
# Otherwise, only the database files configured via GeoIPTable directives will be used.
# Multiple GeoIPTable directives can be used to configure multiple different GeoIP database files for use at the same time.
# The possible flags values supported are:
#   * Standard
# Reads the database from the filesystem; uses the least memory but causes database to be read for each connection.
#  * MemoryCache
# Loads the database into memory; faster performance but uses the most memory. Tables configured with MemoryCache are loaded into the parent process memory, avoiding 
# the need to read them for each connection.
#  * CheckCache
#      Causes the GeoIP library to check for database updates. If the database has been updated, the library will automatically reload the file and/or memory cache.
#  * IndexCache
# Loads just the most frequently accessed index portion of the database into memory, resulting in faster lookups than Standard but less memory usage than MemoryCache. 
# This can be useful for larger databases such as GeoIP Organization and GeoIP City.
#  * MMapCache
#  Loads the database into mmap shared memory.
#  * UTF8
#   Tells the GeoIP library to return UTF8 strings for the data obtained from this database file. By default, the GeoIP library uses ISO-8859-1 encoded strings. 
# Multiple different flags can be configured.
# Examples:
# GeoIPTable /path/to/GeoIP.dat MemoryCache CheckCache
# GeoIPTable /path/to/GeoISP.dat Standard
# GeoIPTable /path/to/GeoIPCity.dat IndexCache
# Load GeoIP city database into memory on server startup, and use
# UTF8-encoded city names
GeoIPTable /usr/share/GeoIP/GeoIP.dat MemoryCache UTF8

# Add your GeoIPAllowFilter/GeoIPDenyFilter rules here
</IfModule>


