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
The time after the last use of a particular midb.sqlite3 that the sqlite gets unloaded.
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_log_file
Target for log messages here. Special values: "-" (stderr/syslog depending on parent PID) or "syslog" are recognized.
Default: - (auto)
midb_log_level
Maximum verbosity of logging. 1=crit, 2=error, 3=warn, 4=notice, 5=info, 6=debug.
Default: 4 (notice)
midb_mime_number

Default: 4096

midb_reload_interval
The time after a midb.sqlite3 was first loaded that it will be unloaded.
Default: 60min
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: yes
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
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
See SQLite documentation for details.
Default: 0 (use SQLite default)
sqlite_synchronous
Enables/disables synchronous mode for SQLite databases. See SQLite documentation for details.
Default: off
sqlite_wal_mode
Selects the particular journal mode for SQLite databases; off selects DELETE mode, on selects WAL mode. See SQLite documentation 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)