summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-08-28 12:33:50 +0200
committerLudovic Courtès <ludo@gnu.org>2018-08-28 12:35:02 +0200
commit6772ed1e07d6b8ce557199d91aaa1442c77186c7 (patch)
tree32287ad22515fdd612ae8264f53db97cc37c6f7b
parent1ae29e3f5a1f13b4ddfedd066b2e55556db031ce (diff)
downloadguix-6772ed1e07d6b8ce557199d91aaa1442c77186c7.tar.gz
services: openssh: Add 'log-level' field.
* gnu/services/ssh.scm (<openssh-configuration>)[log-level]: New field.
(openssh-config-file): Honor it.
* doc/guix.texi (Networking Services): Document it.
-rw-r--r--doc/guix.texi6
-rw-r--r--gnu/services/ssh.scm10
2 files changed, 15 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 3a3368b78f..cd0e74a2d7 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11782,6 +11782,12 @@ Additional authorized keys can be specified @i{via}
 
 Note that this does @emph{not} interfere with the use of
 @file{~/.ssh/authorized_keys}.
+
+@item @code{log-level} (default: @code{'info})
+This is a symbol specifying the logging level: @code{quiet}, @code{fatal},
+@code{error}, @code{info}, @code{verbose}, @code{debug}, etc.  See the man
+page for @file{sshd_config} for the full list of level names.
+
 @end table
 @end deftp
 
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index dd96ad6aec..056602248f 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@@ -319,6 +319,10 @@ The other options should be self-descriptive."
   (accepted-environment  openssh-configuration-accepted-environment
                          (default '()))
 
+  ;; symbol
+  (log-level             openssh-configuration-log-level
+                         (default 'info))
+
   ;; list of user-name/file-like tuples
   (authorized-keys       openssh-authorized-keys
                          (default '()))
@@ -451,6 +455,10 @@ of user-name/file-like tuples."
            (format port "PrintLastLog ~a\n"
                    #$(if (openssh-configuration-print-last-log? config)
                          "yes" "no"))
+           (format port "LogLevel ~a\n"
+                   #$(string-upcase
+                      (symbol->string
+                       (openssh-configuration-log-level config))))
 
            ;; Add '/etc/authorized_keys.d/%u', which we populate.
            (format port "AuthorizedKeysFile \