author | Alberto Bertogli
<albertito@blitiri.com.ar> 2018-06-04 22:45:18 UTC |
committer | Alberto Bertogli
<albertito@blitiri.com.ar> 2018-06-04 22:45:18 UTC |
parent | cf81fbee74ad992962cfd52698cbee8b2bd6a414 |
README.md | +1 | -1 |
docs/dovecot.md | +2 | -6 |
docs/man/chasquid.conf.5 | +9 | -1 |
docs/man/chasquid.conf.5.pod | +9 | -0 |
etc/chasquid/chasquid.conf | +13 | -0 |
internal/config/config.pb.go | +3 | -3 |
internal/config/config.proto | +3 | -3 |
diff --git a/README.md b/README.md index 20176de..432c011 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ It's written in [Go](https://golang.org), and distributed under the * Monitoring HTTP server, with exported variables and tracing to help debugging. * Integrated with [Debian] and [Ubuntu]. - * Supports using [Dovecot] for authentication (experimental). + * Supports using [Dovecot] for authentication. * Useful * Multiple/virtual domains, with per-domain users and aliases. * Suffix dropping (`user+something@domain` → `user@domain`). diff --git a/docs/dovecot.md b/docs/dovecot.md index af9577c..3f87e2f 100644 --- a/docs/dovecot.md +++ b/docs/dovecot.md @@ -1,16 +1,12 @@ # Dovecot integration -As of version 0.04 (2018-02), [chasquid] has _experimental_ integration with -[dovecot] for authenticating users. +As of version 0.04 (2018-02), [chasquid] has integration with [dovecot] for +authenticating users. This means that chasquid can ask dovecot to authenticate users, instead/in addition to having its own per-domain user databases. -It is experimental because it was added recently, and the semantics and -options are prone to be changed in the future. If you use this feature, please -let the authors know, at chasquid@googlegroups.com. - ## Configuring dovecot diff --git a/docs/man/chasquid.conf.5 b/docs/man/chasquid.conf.5 index b8176dc..b44c415 100644 --- a/docs/man/chasquid.conf.5 +++ b/docs/man/chasquid.conf.5 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "chasquid.conf 5" -.TH chasquid.conf 5 "2018-04-03" "" "" +.TH chasquid.conf 5 "2018-06-04" "" "" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -214,6 +214,14 @@ you set this to \f(CW\*(C`._\*(C'\fR, email to local user \f(CW\*(C`u.se_r\*(C'\ .IX Item "mail_log_path (string):" Path where to write the mail log to. If \f(CW\*(C`<syslog>\*(C'\fR, log using the syslog (at \f(CW\*(C`MAIL|INFO\*(C'\fR priority). Default: \f(CW\*(C`<syslog>\*(C'\fR. +.IP "\fBdovecot_auth\fR (bool):" 8 +.IX Item "dovecot_auth (bool):" +Enable dovecot authentication. If true, users that are not found in chasquid's +databases will be authenticated via dovecot. Default: \f(CW\*(C`false\*(C'\fR. +.Sp +The path to dovecot's auth sockets is autodetected, but can be manually +overriden using the \f(CW\*(C`dovecot_userdb_path\*(C'\fR and \f(CW\*(C`dovecot_client_path\*(C'\fR if +needed. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIchasquid\fR\|(1) diff --git a/docs/man/chasquid.conf.5.pod b/docs/man/chasquid.conf.5.pod index c2a2b16..3295a53 100644 --- a/docs/man/chasquid.conf.5.pod +++ b/docs/man/chasquid.conf.5.pod @@ -95,6 +95,15 @@ C<user>. Default: C<.>. Path where to write the mail log to. If C<< <syslog> >>, log using the syslog (at C<MAIL|INFO> priority). Default: C<< <syslog> >>. +=item B<dovecot_auth> (bool): + +Enable dovecot authentication. If true, users that are not found in chasquid's +databases will be authenticated via dovecot. Default: C<false>. + +The path to dovecot's auth sockets is autodetected, but can be manually +overriden using the C<dovecot_userdb_path> and C<dovecot_client_path> if +needed. + =back =head1 SEE ALSO diff --git a/etc/chasquid/chasquid.conf b/etc/chasquid/chasquid.conf index ff28898..19e1b2d 100644 --- a/etc/chasquid/chasquid.conf +++ b/etc/chasquid/chasquid.conf @@ -71,3 +71,16 @@ # If "<syslog>", log using the syslog (at MAIL|INFO priority). # Default: <syslog> #mail_log_path: "<syslog>" + +# Enable dovecot authentication. +# If set to true, users not found in chasquid's user databases will be +# authenticated via dovecot. +# Default: false +#dovecot_auth: false + +# Dovecot userdb and client socket paths. +# Most of the time this is not needed, as chasquid will auto-detect their +# location by searching standard paths. +# Default: "" (autodetect) +#dovecot_userdb_path: "" +#dovecot_client_path: "" diff --git a/internal/config/config.pb.go b/internal/config/config.pb.go index 6f6b241..e1c9082 100644 --- a/internal/config/config.pb.go +++ b/internal/config/config.pb.go @@ -90,15 +90,15 @@ type Config struct { // 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"` - // EXPERIMENTAL - Enable dovecot authentication. + // 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"` - // EXPERIMENTAL - Dovecot userdb path. If dovecot_auth is set and this + // 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"` - // EXPERIMENTAL - Dovecot client path. If dovecot_auth is set and this + // 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"` diff --git a/internal/config/config.proto b/internal/config/config.proto index e23427a..2d0f280 100644 --- a/internal/config/config.proto +++ b/internal/config/config.proto @@ -75,17 +75,17 @@ message Config { // Default: <syslog> string mail_log_path = 12; - // EXPERIMENTAL - Enable dovecot authentication. + // 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 + // 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 + // 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;