midb

Name

midb — Message Index database daemon

Synopsis

midb [-c config]

Description

midb is used by imap(8gx) and pop3(8gx) to generate and keep track of folder and message summaries. In particular, it enumerates messages to give them their IMAP UID and have at all times a suitable UIDNEXT value for folders ready. midb also caches the Message-Id, modification date, message flags, subject and sender to facilitate IMAP listings.

Options

-c config
Read configuration directives from the given file. If this option is not specified, /etc/gromox/midb.cfg will be read if it exists.
–version
Output version information and exit.
-?
Display option summary.

Configuration directives

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

config_file_path
Colon-separated list of directories which will be scanned when locating further configuration files, especially those used by plugin instances.
Default: /etc/gromox/midb:/etc/gromox
data_file_path
Colon-separated list of directories which will be scanned when locating data files.
Default: /usr/share/gromox/midb
default_charset
Default: windows-1252
midb_cache_interval
Default: 30minutes
midb_cmd_debug
Log every incoming MIDB command and the return code of the operation in a minimal fashion to stderr. Level 1 emits commands with a failure return code, level 2 emits all commands.
Default: 0
midb_listen_ip
An IPv6 address (or v4-mapped address) for exposing the event service on.
Default: ::1
midb_listen_port
The TCP port number for exposing the event service on.
Default: 5555
midb_mime_number
Default: 4096
midb_schema_upgrades
This directive controls whether database schemas are automatically upgraded when a message index database (midb.sqlite) is loaded. During this time, that DB is unavailable and operations on it will be delayed. Connection aborts, if any, would be due to timeouts in components other than midb. (The file can temporarily grow to double its size, so ample disk space may be required.)
Default: no
midb_table_size
Default: 5000
midb_threads_num
The minimum number of client processing threads to keep around.
Default: 100
notify_stub_threads_num
Default: 10
rpc_proxy_connection_num

Default: 10
service_plugin_list
Path to a text file which lists the filenames of service plugins to load, one per line.
Default: (built-in list)
service_plugin_path
Path to a secondary directory where service plugins will be loaded from if a primary search in standard directories (as per ld.so(8)) was unsuccessful.
Default: /usr/lib/gromox
sqlite_debug
If set to 1, every query given to SQLite prepare/execute is logged. If set to 0, only failed queries are logged. (It cannot be made completely silent, since our queries ought to never fail.)
Default: 0
sqlite_mmap_size
Default: 0 (use SQLite default)
sqlite_synchronous
Enables/disables synchronous mode for SQLite databases. See https://www.sqlite.org/pragma.html#pragma_synchronous for details.
Default: off
sqlite_wal_mode
Selects the particular journal mode for SQLite databases; off selects DELETE mode, on selects WAL mode. See https://www.sqlite.org/pragma.html#pragma_journal_mode for details.
Default: on
state_path
Directory for runtime variadic data.
Default: /var/lib/gromox
x500_org_name
Default: (unspecified)

Files

  • config_file_path/exmdb_list.txt: exmdb multiserver selection map.
  • config_file_path/midb_acl.txt: A file with one address (IPv6 or v4-mapped) per line of allowed clients. In its absence, ::1 is default-whitelisted.
  • /usr/lib/gromox/libgxs_*.so: service plugins

See also

gromox(7)