str_table

Name

str_table — string table match service plugin

Description

str_table implements checking for a trivial presence lookup of something in a text file. The plugin can be used in any Gromox process, but in practice only makes an appeareance in smtp(8gx) and delivery(8gx).

The str_table plugin has multiple instances. These are: domain_list.

These instances are factual copies of the module to please the plugin loader and make it load different .cfg files. (This is clearly inefficient and may be fixed in a future release.) For example, the plugin loader will derive the name “domain_list.cfg” from the module name “libgxs_domain_list.so”, and then pass this filename to the module so it can be loaded as a config file.

The plugin supports temporary modification of the string table as it exists in memory through the telnet console mechanism. A reload of the table from disk purges these modifications.

Configuration file directives

add_service_name
The plugin instance will expose its function through this service function name. You should not generally this, because other plugins rely on certain fixed values.
Default: instance_name_add
growing_num
The maximum number of additional string table entries on top of what the on-disk table file has supplied. So when the table file contains 40 entries and growing_num is 100, the in-memory copy of the table can hold up to 140 entries total.
Default: 100
is_case_sensitive
Flag which determines whether matches should treat uppercase and lowercase differently or not.
Default: false
query_service_name
The plugin instance will expose its function through this service function name. You should not generally this, because other plugins rely on certain fixed values.
Default: instance_name_query
remove_service_name
The plugin instance will expose its function through this service function name. You should not generally this, because other plugins rely on certain fixed values.
Default: instance_name_remove

Files

  • config_file_path/instance.cfg: configuration file for the instance of str_table (e.g. /etc/gromox/delivery/domain_list.cfg when delivery(8gx) was made to load libgxs_domain_list.so.)

  • state_path/instance.txt, config_file_path/instance.txt: string table on which matches are carried out (e.g. /var/lib/gromox/domain_list.txt)

See also

gromox(7)