midb(8gx)

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)