midb_agent

Name

midb_agent — Service plugin for conversing with midb(8gx)

Configuration directives

The usual config file location is /etc/gromox/midb_agent.cfg.

connection_num
The number of connections to keep open towards every midb target.
Default: 5
context_average_mem
Enables and sets the size of a memory pool (in object count; the actual size is 256 bytes * context_num * context_average_mem). imap(8gx) and pop3(8gx) require this to be non-zero for full functionality.
Default: 1024
midb_agent_command_buffer_size
Certain midb commands can produce large results (such as P-SRHU with "ALL"). To avoid unbounded memory allocation, the result set is limited in size. If midb responds with a larger result, the midb connection is terminated and midb_agent returns an error to e.g. IMAP/POP. The default of 256K is good for a result set of around 24000 to 32000 messages.
Default: 256K

Multiserver map

The SQL column users.homedir specifies a home directory location in an abstract namespace. This abstract namespace is shared between all Gromox programs, and can be used to divide users into custom subsets and steer connections to different servers.

midb_list.txt specifies how to map from this namespace to midb servers. Each line in this file consists of 3 columns separated by whitespace:

  • Initial prefix to match a user's exmdb home directory on. The pattern should almost always end in a '/' character, otherwise a prefix of "/home" is able to match a userdir of "/home2/username" as well, which may be undesired.

  • The IPv6 address of the midb server to connect to for all requests involving this prefix. The address must conform to gromox(7) c "Host addresses".

  • The port number.

In the absence of midb_list.txt, an implicit default entry is used:

/ ::1 5555

Files

  • config_file_path/instance.cfg: configuration file for the instance of midb_agent. (Instance is usually midb_agent, as there is not much point in loading midb_agent twice.)

  • config_file_path/midb_list.txt: midb multiserver map

config_file_path is determined by the configuration of the program that loaded the midb_agent plugin.

See also

gromox(7)