mirror of
https://blitiri.com.ar/repos/chasquid
synced 2025-12-17 14:37:02 +00:00
This patch adds dovecot support to the chasquid daemon, using the internal dovecot library added in previous patches. Dovecot support is still considered EXPERIMENTAL and may be reverted, or changed in backwards-incompatible ways. The patch also adds the corresponding integration test, which brings up a dovecot server with a custom configuration, and tests chasquid's authentication against it. If dovecot is not installed, the test is skipped.
93 lines
3.3 KiB
Protocol Buffer
93 lines
3.3 KiB
Protocol Buffer
|
|
syntax = "proto3";
|
|
|
|
message Config {
|
|
// Default hostname to use when saying hello.
|
|
// This is used to say hello to clients, for aesthetic purposes.
|
|
// Default: the system's hostname.
|
|
string hostname = 1;
|
|
|
|
// Maximum email size, in megabytes.
|
|
// Default: 50.
|
|
int64 max_data_size_mb = 2;
|
|
|
|
// Addresses to listen on for SMTP (usually port 25).
|
|
// Default: "systemd", which means systemd passes sockets to us.
|
|
// systemd sockets must be named with "FileDescriptorName=smtp".
|
|
repeated string smtp_address = 3;
|
|
|
|
// Addresses to listen on for submission (usually port 587).
|
|
// Default: "systemd", which means systemd passes sockets to us.
|
|
// systemd sockets must be named with "FileDescriptorName=submission".
|
|
repeated string submission_address = 4;
|
|
|
|
// Addresses to listen on for submission-over-TLS (usually port 465).
|
|
// Default: "systemd", which means systemd passes sockets to us.
|
|
// systemd sockets must be named with "FileDescriptorName=submission_tls".
|
|
repeated string submission_over_tls_address = 5;
|
|
|
|
// Address for the monitoring http server.
|
|
// Do NOT expose this to the public internet.
|
|
// Default: no monitoring http server.
|
|
string monitoring_address = 6;
|
|
|
|
// Mail delivery agent (MDA, also known as LDA) to use.
|
|
// This should point to the binary to use to deliver email to local users.
|
|
// The content of the email will be passed via stdin.
|
|
// If it exits unsuccessfully, we assume the mail was not delivered.
|
|
// Default: "maildrop".
|
|
string mail_delivery_agent_bin = 7;
|
|
|
|
// Command line arguments for the mail delivery agent. One per argument.
|
|
// Some replacements will be done.
|
|
// On an email sent from marsnik@mars to venera@venus:
|
|
// - %from% -> from address (marsnik@mars)
|
|
// - %from_user% -> from user (marsnik)
|
|
// - %from_domain% -> from domain (mars)
|
|
// - %to% -> to address (venera@venus)
|
|
// - %to_user% -> to user (venera)
|
|
// - %to_domain% -> to domain (venus)
|
|
//
|
|
// Default: "-f", "%from%", "-d", "%to_user%" (adequate for procmail
|
|
// and maildrop).
|
|
repeated string mail_delivery_agent_args = 8;
|
|
|
|
// Directory where we store our persistent data.
|
|
// Default: "/var/lib/chasquid"
|
|
string data_dir = 9;
|
|
|
|
// Suffix separator, to perform suffix removal of local users.
|
|
// For example, if you set this to "-+", email to local user
|
|
// "user-blah" and "user+blah" will be delivered to "user".
|
|
// Including "+" is strongly encouraged, as it is assumed for email
|
|
// forwarding.
|
|
// Default: "+".
|
|
string suffix_separators = 10;
|
|
|
|
// Characters to drop from the user part on local emails.
|
|
// For example, if you set this to "._", email to local user
|
|
// "u.se_r" will be delivered to "user".
|
|
// Default: ".".
|
|
string drop_characters = 11;
|
|
|
|
// Path where to write the mail log to.
|
|
// If "<syslog>", log using the syslog (at MAIL|INFO priority).
|
|
// Default: <syslog>
|
|
string mail_log_path = 12;
|
|
|
|
// EXPERIMENTAL - Enable dovecot authentication.
|
|
// Domains that don't have an user database will be authenticated via
|
|
// dovecot.
|
|
bool dovecot_auth = 13;
|
|
|
|
// EXPERIMENTAL - Dovecot userdb path. If dovecot_auth is set and this
|
|
// is not, we will try to autodetect it.
|
|
// Example: /var/run/dovecot/auth-userdb
|
|
string dovecot_userdb_path = 14;
|
|
|
|
// EXPERIMENTAL - Dovecot client path. If dovecot_auth is set and this
|
|
// is not, we will try to autodetect it.
|
|
// Example: /var/run/dovecot/auth-client
|
|
string dovecot_client_path = 15;
|
|
}
|