config

package
v0.0.0-...-bb97991 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2019 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package config implements the chasquid configuration.

Package config is a generated protocol buffer package.

It is generated from these files:

config.proto

It has these top-level messages:

Config

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LogConfig

func LogConfig(c *Config)

LogConfig logs the given configuration, in a human-friendly way.

Types

type Config

type Config struct {
	// Default hostname to use when saying hello.
	// This is used to say hello to clients, for aesthetic purposes.
	// Default: the system's hostname.
	Hostname string `protobuf:"bytes,1,opt,name=hostname" json:"hostname,omitempty"`
	// Maximum email size, in megabytes.
	// Default: 50.
	MaxDataSizeMb int64 `protobuf:"varint,2,opt,name=max_data_size_mb,json=maxDataSizeMb" json:"max_data_size_mb,omitempty"`
	// 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".
	SmtpAddress []string `protobuf:"bytes,3,rep,name=smtp_address,json=smtpAddress" json:"smtp_address,omitempty"`
	// 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".
	SubmissionAddress []string `protobuf:"bytes,4,rep,name=submission_address,json=submissionAddress" json:"submission_address,omitempty"`
	// 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".
	SubmissionOverTlsAddress []string `` /* 130-byte string literal not displayed */
	// Address for the monitoring http server.
	// Do NOT expose this to the public internet.
	// Default: no monitoring http server.
	MonitoringAddress string `protobuf:"bytes,6,opt,name=monitoring_address,json=monitoringAddress" json:"monitoring_address,omitempty"`
	// 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".
	MailDeliveryAgentBin string `protobuf:"bytes,7,opt,name=mail_delivery_agent_bin,json=mailDeliveryAgentBin" json:"mail_delivery_agent_bin,omitempty"`
	// 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).
	MailDeliveryAgentArgs []string `protobuf:"bytes,8,rep,name=mail_delivery_agent_args,json=mailDeliveryAgentArgs" json:"mail_delivery_agent_args,omitempty"`
	// Directory where we store our persistent data.
	// Default: "/var/lib/chasquid"
	DataDir string `protobuf:"bytes,9,opt,name=data_dir,json=dataDir" json:"data_dir,omitempty"`
	// 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: "+".
	SuffixSeparators string `protobuf:"bytes,10,opt,name=suffix_separators,json=suffixSeparators" json:"suffix_separators,omitempty"`
	// 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: ".".
	DropCharacters string `protobuf:"bytes,11,opt,name=drop_characters,json=dropCharacters" json:"drop_characters,omitempty"`
	// Path where to write the mail log to.
	// If "<syslog>", log using the syslog (at MAIL|INFO priority).
	// Default: <syslog>
	MailLogPath string `protobuf:"bytes,12,opt,name=mail_log_path,json=mailLogPath" json:"mail_log_path,omitempty"`
	// Enable dovecot authentication.
	// Domains that don't have an user database will be authenticated via
	// dovecot.
	DovecotAuth bool `protobuf:"varint,13,opt,name=dovecot_auth,json=dovecotAuth" json:"dovecot_auth,omitempty"`
	// Dovecot userdb path. If dovecot_auth is set and this
	// is not, we will try to autodetect it.
	// Example: /var/run/dovecot/auth-userdb
	DovecotUserdbPath string `protobuf:"bytes,14,opt,name=dovecot_userdb_path,json=dovecotUserdbPath" json:"dovecot_userdb_path,omitempty"`
	// Dovecot client path. If dovecot_auth is set and this
	// is not, we will try to autodetect it.
	// Example: /var/run/dovecot/auth-client
	DovecotClientPath string `protobuf:"bytes,15,opt,name=dovecot_client_path,json=dovecotClientPath" json:"dovecot_client_path,omitempty"`
}

func Load

func Load(path string) (*Config, error)

Load the config from the given file.

func (*Config) Descriptor

func (*Config) Descriptor() ([]byte, []int)

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (m *Config) Reset()

func (*Config) String

func (m *Config) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL