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.

All time-based command-line options and configuration file directives are subject to the syntax described in gromox(7), section "Duration specifications".

Configuration directives (gromox.cfg)

The following directives are recognized when reading from /etc/gromox/gromox.cfg, or when the -c option is used to specify a custom file:

daemons_fd_limit

In gromox-midb, this is treated as an alias for midb_fd_limit.

midb_fd_limit
Request that the file descriptor table be at least this large. The magic value 0 indicates that the system default hard limit (rlim_max, cf. setrlimit(2)) should be used.
Default: 0

Configuration directives (midb.cfg)

The following directives are recognized when reading from /etc/gromox/midb.cfg, or when the -c option is used to specify a custom file:

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_hosts_allow
A space-separated list of individual host addresses that are allowed to converse with the midb service. The addresses must conform to gromox(7) c "Host addresses". No networks and no CIDR notations are permitted. This option deprecates the /etc/gromox/midb_acl.txt file used before Gromox 2.8.
Default: ::1
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_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
x500_org_name

Default: (unspecified)

Files

  • config_file_path/exmdb_list.txt: exmdb multiserver selection map.

  • /usr/lib/gromox/libgxs_*.so: service plugins

See also

gromox(7)