An interface for returning application configuration information. More...
#include <configuration.h>
Public Member Functions | |
Configuration (const CommandLine &cl) | |
Constructor. The reference is kept. More... | |
unsigned int | port () const |
Returns the main listening port number. More... | |
G::Strings | listeningInterfaces (const std::string &protocol=std::string()) const |
Returns the listening interface(s). More... | |
std::string | clientInterface () const |
Returns the sending interface. More... | |
bool | closeStderr () const |
Returns true if stderr should be closed. More... | |
bool | log () const |
Returns true if doing logging. More... | |
std::string | logFile () const |
Returns the path of a stderr replacement for logging. More... | |
bool | verbose () const |
Returns true if doing verbose logging. More... | |
bool | debug () const |
Returns true if doing debug-level logging. More... | |
bool | useSyslog () const |
Returns true if generating syslog events. More... | |
bool | logTimestamp () const |
Returns true if logging output should be timestamped. More... | |
bool | daemon () const |
Returns true if running as a daemon. More... | |
bool | doForwardingOnStartup () const |
Returns true if running as a client. More... | |
bool | doServing () const |
Returns true if running as a server (SMTP, POP, admin or COM). More... | |
bool | doSmtp () const |
Returns true if listening for smtp connections. More... | |
bool | doPop () const |
Returns true if listening for pop connections. More... | |
bool | popByName () const |
Returns true if the pop spool directory is modified according to the client name. More... | |
bool | popNoDelete () const |
Returns true if pop deletion is to be disabled. More... | |
bool | doAdmin () const |
Returns true if listening for admin connections. More... | |
unsigned int | adminPort () const |
Returns the admin port number. More... | |
unsigned int | popPort () const |
Returns the pop port number. More... | |
bool | allowRemoteClients () const |
Returns true if allowing remote clients to connect. More... | |
G::Path | spoolDir () const |
Returns the spool directory. More... | |
std::string | serverAddress () const |
Returns the downstream server's address string. More... | |
bool | usePidFile () const |
Returns true if writing a pid file. More... | |
std::string | pidFile () const |
Returns the pid file's path. More... | |
bool | useFilter () const |
Returns true if pre-processing. More... | |
std::string | filter () const |
Returns the path to a server-side pre-processor. More... | |
std::string | clientFilter () const |
Returns the path to a client-side pre-processor. More... | |
unsigned int | filterTimeout () const |
Returns the timeout for executing an ansynchronous filter() or clientFilter() program. More... | |
unsigned int | icon () const |
Returns the icon selector (win32). More... | |
bool | hidden () const |
Returns true if the main window is hidden (win32). More... | |
unsigned int | responseTimeout () const |
Returns the client-side protocol timeout value. More... | |
unsigned int | connectionTimeout () const |
Returns the client-side connection timeout value. More... | |
unsigned int | secureConnectionTimeout () const |
Returns the timeout for establishing a secure connection. More... | |
unsigned int | promptTimeout () const |
Returns the timeout for getting a prompt from the SMTP server. More... | |
std::string | clientSecretsFile () const |
Returns the client-side autentication secrets (password) file. More... | |
std::string | serverSecretsFile () const |
Returns the server-side autentication secrets (password) file. More... | |
std::string | popSecretsFile () const |
Returns the pop-server autentication secrets (password) file. More... | |
std::string | fqdn (std::string default_=std::string()) const |
Returns the fully-qualified-domain-name override. More... | |
std::string | nobody () const |
Returns the name of an unprivileged user. More... | |
std::string | verifier () const |
Returns the path of an external address verifier program. More... | |
bool | doPolling () const |
Returns true if doing poll-based forwarding. More... | |
bool | pollingLog () const |
Returns true if polling activity should be logged. More... | |
unsigned int | pollingTimeout () const |
Returns the timeout for periodic polling. More... | |
bool | immediate () const |
Returns true if forwarding should occur as soon as each message body is received and before receipt is acknowledged. More... | |
bool | forwardingOnStore () const |
Returns true if forwarding should occur as each message is stored, after it is acknowledged. More... | |
bool | forwardingOnDisconnect () const |
Returns true if forwarding should occur when the submitter's network connection disconnects. More... | |
bool | withTerminate () const |
Returns true if the admin interface should support the terminate command. More... | |
std::string | scannerAddress () const |
Returns the address of a scanner process. More... | |
unsigned int | scannerConnectionTimeout () const |
Returns a timeout for connecting to the scanner process. More... | |
unsigned int | scannerResponseTimeout () const |
Returns a timeout for talking to the scanner process. More... | |
bool | anonymous () const |
Returns true if the server protocol should be slightly more anonymous. More... | |
bool | clientTls () const |
Returns true if the client protocol should take account of the server's tls capability. More... | |
bool | clientOverTls () const |
Returns true if using the SMTP over TLS (vs. More... | |
unsigned int | tlsConfig () const |
Returns TLS configuration flags. More... | |
std::string | serverTlsFile () const |
Returns the tls certificate file if the server should support tls. More... | |
unsigned int | maxSize () const |
Returns the maximum size of submitted messages, or zero. More... | |
bool | peerLookup () const |
Returns true if there should be some attempt to look up the userid of SMTP peers connected from the the local machine. More... | |
An interface for returning application configuration information.
This implementation is minimaly dependent on the command line in order to simplify moving to (eg) the windows registry or a configuration file in the future.
Definition at line 45 of file configuration.h.
|
explicit |
Constructor. The reference is kept.
Definition at line 31 of file configuration.cpp.
unsigned int Main::Configuration::adminPort | ( | ) | const |
Returns the admin port number.
Definition at line 120 of file configuration.cpp.
Referenced by Main::Admin::newServer(), and Main::CommandLineImp::semanticError().
bool Main::Configuration::allowRemoteClients | ( | ) | const |
Returns true if allowing remote clients to connect.
Definition at line 239 of file configuration.cpp.
Referenced by Main::Admin::newServer().
bool Main::Configuration::anonymous | ( | ) | const |
Returns true if the server protocol should be slightly more anonymous.
Definition at line 374 of file configuration.cpp.
std::string Main::Configuration::clientFilter | ( | ) | const |
Returns the path to a client-side pre-processor.
Definition at line 269 of file configuration.cpp.
std::string Main::Configuration::clientInterface | ( | ) | const |
Returns the sending interface.
Definition at line 98 of file configuration.cpp.
References G::Str::tail().
Referenced by Main::Admin::newServer().
bool Main::Configuration::clientOverTls | ( | ) | const |
Returns true if using the SMTP over TLS (vs.
negotiated TLS using STARTTLS).
Definition at line 294 of file configuration.cpp.
std::string Main::Configuration::clientSecretsFile | ( | ) | const |
Returns the client-side autentication secrets (password) file.
Returns the empty string if none.
Definition at line 284 of file configuration.cpp.
Referenced by Main::CommandLineImp::semanticError().
bool Main::Configuration::clientTls | ( | ) | const |
Returns true if the client protocol should take account of the server's tls capability.
Definition at line 289 of file configuration.cpp.
bool Main::Configuration::closeStderr | ( | ) | const |
Returns true if stderr should be closed.
Definition at line 125 of file configuration.cpp.
unsigned int Main::Configuration::connectionTimeout | ( | ) | const |
Returns the client-side connection timeout value.
Definition at line 324 of file configuration.cpp.
Referenced by Main::Admin::newServer().
bool Main::Configuration::daemon | ( | ) | const |
Returns true if running as a daemon.
Definition at line 133 of file configuration.cpp.
Referenced by Main::CommandLineImp::semanticError().
bool Main::Configuration::debug | ( | ) | const |
Returns true if doing debug-level logging.
Definition at line 50 of file configuration.cpp.
Referenced by Main::Run::prepare().
bool Main::Configuration::doAdmin | ( | ) | const |
Returns true if listening for admin connections.
Definition at line 244 of file configuration.cpp.
Referenced by Main::CommandLineImp::semanticError().
bool Main::Configuration::doForwardingOnStartup | ( | ) | const |
Returns true if running as a client.
Definition at line 155 of file configuration.cpp.
bool Main::Configuration::doPolling | ( | ) | const |
Returns true if doing poll-based forwarding.
Definition at line 170 of file configuration.cpp.
bool Main::Configuration::doPop | ( | ) | const |
Returns true if listening for pop connections.
Definition at line 219 of file configuration.cpp.
Referenced by Main::CommandLineImp::semanticError().
bool Main::Configuration::doServing | ( | ) | const |
Returns true if running as a server (SMTP, POP, admin or COM).
Definition at line 160 of file configuration.cpp.
bool Main::Configuration::doSmtp | ( | ) | const |
Returns true if listening for smtp connections.
Definition at line 214 of file configuration.cpp.
std::string Main::Configuration::filter | ( | ) | const |
Returns the path to a server-side pre-processor.
Definition at line 264 of file configuration.cpp.
unsigned int Main::Configuration::filterTimeout | ( | ) | const |
Returns the timeout for executing an ansynchronous filter() or clientFilter() program.
Definition at line 379 of file configuration.cpp.
bool Main::Configuration::forwardingOnDisconnect | ( | ) | const |
Returns true if forwarding should occur when the submitter's network connection disconnects.
Definition at line 193 of file configuration.cpp.
bool Main::Configuration::forwardingOnStore | ( | ) | const |
Returns true if forwarding should occur as each message is stored, after it is acknowledged.
(This will result in a complete client session per message.)
Definition at line 186 of file configuration.cpp.
std::string Main::Configuration::fqdn | ( | std::string | default_ = std::string() | ) | const |
Returns the fully-qualified-domain-name override.
Definition at line 334 of file configuration.cpp.
bool Main::Configuration::hidden | ( | ) | const |
Returns true if the main window is hidden (win32).
Definition at line 279 of file configuration.cpp.
unsigned int Main::Configuration::icon | ( | ) | const |
Returns the icon selector (win32).
Definition at line 274 of file configuration.cpp.
bool Main::Configuration::immediate | ( | ) | const |
Returns true if forwarding should occur as soon as each message body is received and before receipt is acknowledged.
Definition at line 165 of file configuration.cpp.
G::Strings Main::Configuration::listeningInterfaces | ( | const std::string & | protocol = std::string() | ) | const |
Returns the listening interface(s).
Definition at line 77 of file configuration.cpp.
References G::Str::head(), and G::Str::tail().
Referenced by Main::Admin::newServer().
bool Main::Configuration::log | ( | ) | const |
Returns true if doing logging.
Definition at line 36 of file configuration.cpp.
Referenced by Main::Run::prepare().
std::string Main::Configuration::logFile | ( | ) | const |
Returns the path of a stderr replacement for logging.
Definition at line 67 of file configuration.cpp.
Referenced by Main::Run::prepare().
bool Main::Configuration::logTimestamp | ( | ) | const |
Returns true if logging output should be timestamped.
Definition at line 62 of file configuration.cpp.
Referenced by Main::Run::prepare().
unsigned int Main::Configuration::maxSize | ( | ) | const |
Returns the maximum size of submitted messages, or zero.
Definition at line 354 of file configuration.cpp.
std::string Main::Configuration::nobody | ( | ) | const |
Returns the name of an unprivileged user.
This is only used if running with a real user-id of root.
Definition at line 339 of file configuration.cpp.
bool Main::Configuration::peerLookup | ( | ) | const |
Returns true if there should be some attempt to look up the userid of SMTP peers connected from the the local machine.
Definition at line 384 of file configuration.cpp.
std::string Main::Configuration::pidFile | ( | ) | const |
Returns the pid file's path.
Definition at line 254 of file configuration.cpp.
bool Main::Configuration::pollingLog | ( | ) | const |
Returns true if polling activity should be logged.
Definition at line 180 of file configuration.cpp.
unsigned int Main::Configuration::pollingTimeout | ( | ) | const |
Returns the timeout for periodic polling.
Definition at line 175 of file configuration.cpp.
bool Main::Configuration::popByName | ( | ) | const |
Returns true if the pop spool directory is modified according to the client name.
Definition at line 224 of file configuration.cpp.
bool Main::Configuration::popNoDelete | ( | ) | const |
Returns true if pop deletion is to be disabled.
Definition at line 229 of file configuration.cpp.
unsigned int Main::Configuration::popPort | ( | ) | const |
Returns the pop port number.
Definition at line 234 of file configuration.cpp.
Referenced by Main::CommandLineImp::semanticError().
std::string Main::Configuration::popSecretsFile | ( | ) | const |
Returns the pop-server autentication secrets (password) file.
Returns the empty string if not defined.
Definition at line 309 of file configuration.cpp.
References GPop::Secrets::defaultPath().
Referenced by Main::CommandLineImp::semanticError().
unsigned int Main::Configuration::port | ( | ) | const |
Returns the main listening port number.
Definition at line 72 of file configuration.cpp.
Referenced by Main::CommandLineImp::semanticError().
unsigned int Main::Configuration::promptTimeout | ( | ) | const |
Returns the timeout for getting a prompt from the SMTP server.
Definition at line 209 of file configuration.cpp.
unsigned int Main::Configuration::responseTimeout | ( | ) | const |
Returns the client-side protocol timeout value.
Definition at line 319 of file configuration.cpp.
std::string Main::Configuration::scannerAddress | ( | ) | const |
Returns the address of a scanner process.
Definition at line 359 of file configuration.cpp.
unsigned int Main::Configuration::scannerConnectionTimeout | ( | ) | const |
Returns a timeout for connecting to the scanner process.
Definition at line 364 of file configuration.cpp.
unsigned int Main::Configuration::scannerResponseTimeout | ( | ) | const |
Returns a timeout for talking to the scanner process.
Definition at line 369 of file configuration.cpp.
unsigned int Main::Configuration::secureConnectionTimeout | ( | ) | const |
Returns the timeout for establishing a secure connection.
Definition at line 329 of file configuration.cpp.
std::string Main::Configuration::serverAddress | ( | ) | const |
Returns the downstream server's address string.
Definition at line 145 of file configuration.cpp.
Referenced by Main::Admin::newServer().
std::string Main::Configuration::serverSecretsFile | ( | ) | const |
Returns the server-side autentication secrets (password) file.
Returns the empty string if none.
Definition at line 314 of file configuration.cpp.
Referenced by Main::CommandLineImp::semanticError().
std::string Main::Configuration::serverTlsFile | ( | ) | const |
Returns the tls certificate file if the server should support tls.
Definition at line 304 of file configuration.cpp.
G::Path Main::Configuration::spoolDir | ( | ) | const |
Returns the spool directory.
Definition at line 138 of file configuration.cpp.
References GSmtp::MessageStore::defaultDirectory().
Referenced by Main::CommandLineImp::semanticError().
unsigned int Main::Configuration::tlsConfig | ( | ) | const |
Returns TLS configuration flags.
Definition at line 299 of file configuration.cpp.
bool Main::Configuration::useFilter | ( | ) | const |
Returns true if pre-processing.
Definition at line 259 of file configuration.cpp.
bool Main::Configuration::usePidFile | ( | ) | const |
Returns true if writing a pid file.
Definition at line 249 of file configuration.cpp.
bool Main::Configuration::useSyslog | ( | ) | const |
Returns true if generating syslog events.
Definition at line 55 of file configuration.cpp.
Referenced by Main::Run::prepare().
bool Main::Configuration::verbose | ( | ) | const |
Returns true if doing verbose logging.
Definition at line 45 of file configuration.cpp.
Referenced by Main::Run::prepare().
std::string Main::Configuration::verifier | ( | ) | const |
Returns the path of an external address verifier program.
Definition at line 344 of file configuration.cpp.
bool Main::Configuration::withTerminate | ( | ) | const |
Returns true if the admin interface should support the terminate command.
Definition at line 349 of file configuration.cpp.
Referenced by Main::Admin::newServer(), and Main::CommandLineImp::semanticError().