diff options
author | Clément Lassieur <clement@lassieur.org> | 2018-11-10 15:14:28 +0100 |
---|---|---|
committer | Clément Lassieur <clement@lassieur.org> | 2018-11-10 19:12:14 +0100 |
commit | 8d9bb4b4d05a20bef1cf7b1da2b1c5fb05f9b071 (patch) | |
tree | 33d9e068d8d64e1d03213edc431aa02088e0a481 | |
parent | 005ec8d09c6b8f22457fad330c30ff0ccf495e34 (diff) | |
download | guix-8d9bb4b4d05a20bef1cf7b1da2b1c5fb05f9b071.tar guix-8d9bb4b4d05a20bef1cf7b1da2b1c5fb05f9b071.tar.gz |
services: dovecot: Allow to set 'client-limit'.
* doc/guix.texi (Mail Services): Update accordingly.
* gnu/services/mail.scm (service-configuration)[client-limit]: New field.
(dovecot-configuration)[services]: Set 'client-limit' to its correct default
value.
-rw-r--r-- | doc/guix.texi | 10 | ||||
-rw-r--r-- | gnu/services/mail.scm | 27 |
2 files changed, 32 insertions, 5 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 441b65bcaf..d4178ce9ea 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -14349,6 +14349,16 @@ Defaults to @samp{#t}. @end deftypevr +@deftypevr {@code{service-configuration} parameter} non-negative-integer client-limit +Maximum number of simultaneous client connections per process. Once +this number of connections is received, the next incoming connection +will prompt Dovecot to spawn another process. If set to 0, +@code{default-client-limit} is used instead. + +Defaults to @samp{0}. + +@end deftypevr + @deftypevr {@code{service-configuration} parameter} non-negative-integer service-count Number of connections to handle before starting a new process. Typically the only useful values are 0 (unlimited) or 1. 1 is more diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 573efa0433..abc1c15cfe 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> -;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -290,6 +290,12 @@ the section name.") "Listeners for the service. A listener is either an @code{unix-listener-configuration}, a @code{fifo-listener-configuration}, or an @code{inet-listener-configuration}.") + (client-limit + (non-negative-integer 0) + "Maximum number of simultaneous client connections per process. Once this +number of connections is received, the next incoming connection will prompt +Dovecot to spawn another process. If set to 0, @code{default-client-limit} is +used instead.") (service-count (non-negative-integer 1) "Number of connections to handle before starting a new process. @@ -475,6 +481,7 @@ complex, customize the address and port fields of the (list (service-configuration (kind "imap-login") + (client-limit 0) (listeners (list (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f)) @@ -487,10 +494,15 @@ complex, customize the address and port fields of the (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t))))) (service-configuration (kind "lmtp") + (client-limit 1) (listeners (list (unix-listener-configuration (path "lmtp") (mode "0666"))))) - (service-configuration (kind "imap")) - (service-configuration (kind "pop3")) + (service-configuration + (kind "imap") + (client-limit 1)) + (service-configuration + (kind "pop3") + (client-limit 1)) (service-configuration (kind "auth") ;; In what could be taken to be a bug, the default value of 1 for ;; service-count makes it so that a PAM auth worker can't fork off @@ -501,10 +513,15 @@ complex, customize the address and port fields of the ;; is the default for all other services. As a hack, bump this value to ;; 30. (service-count 30) + (client-limit 0) (listeners (list (unix-listener-configuration (path "auth-userdb"))))) - (service-configuration (kind "auth-worker")) - (service-configuration (kind "dict") + (service-configuration + (kind "auth-worker") + (client-limit 1)) + (service-configuration + (kind "dict") + (client-limit 1) (listeners (list (unix-listener-configuration (path "dict"))))))) "List of services to enable. Available services include @samp{imap}, @samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and |