about summary refs log tree commit diff
path: root/nixos/modules/services/networking/sslh.nix
diff options
context:
space:
mode:
authorrnhmjoj <rnhmjoj@inventati.org>2023-07-27 23:41:08 +0200
committerrnhmjoj <rnhmjoj@inventati.org>2023-10-29 18:13:37 +0100
commit7ecac99da7567f4f0e60c1c97678e85b997ffd89 (patch)
treebd19c046d3c5c0303ce98cbb10bf5fc8ef8f63b6 /nixos/modules/services/networking/sslh.nix
parent3728338d4039a925c1c131a4f305d32c04cc3657 (diff)
downloadnixlib-7ecac99da7567f4f0e60c1c97678e85b997ffd89.tar
nixlib-7ecac99da7567f4f0e60c1c97678e85b997ffd89.tar.gz
nixlib-7ecac99da7567f4f0e60c1c97678e85b997ffd89.tar.bz2
nixlib-7ecac99da7567f4f0e60c1c97678e85b997ffd89.tar.lz
nixlib-7ecac99da7567f4f0e60c1c97678e85b997ffd89.tar.xz
nixlib-7ecac99da7567f4f0e60c1c97678e85b997ffd89.tar.zst
nixlib-7ecac99da7567f4f0e60c1c97678e85b997ffd89.zip
sslh: 1.22c -> 2.0.0
Diffstat (limited to 'nixos/modules/services/networking/sslh.nix')
-rw-r--r--nixos/modules/services/networking/sslh.nix32
1 files changed, 20 insertions, 12 deletions
diff --git a/nixos/modules/services/networking/sslh.nix b/nixos/modules/services/networking/sslh.nix
index 820c72924582..dd29db510020 100644
--- a/nixos/modules/services/networking/sslh.nix
+++ b/nixos/modules/services/networking/sslh.nix
@@ -16,8 +16,8 @@ in
     (mkRenamedOptionModule [ "services" "sslh" "timeout" ] [ "services" "sslh" "settings" "timeout" ])
     (mkRenamedOptionModule [ "services" "sslh" "transparent" ] [ "services" "sslh" "settings" "transparent" ])
     (mkRemovedOptionModule [ "services" "sslh" "appendConfig" ] "Use services.sslh.settings instead")
-    (mkChangedOptionModule [ "services" "sslh" "verbose" ] [ "services" "sslh" "settings" "verbose" ]
-      (verbose: if verbose then 1 else 0))
+    (mkChangedOptionModule [ "services" "sslh" "verbose" ] [ "services" "sslh" "settings" "verbose-connections" ]
+      (config: if config.services.sslh.verbose then 1 else 0))
   ];
 
   meta.buildDocsInSandbox = false;
@@ -26,7 +26,7 @@ in
     enable = mkEnableOption (lib.mdDoc "sslh, protocol demultiplexer");
 
     method = mkOption {
-      type = types.enum [ "fork" "select" ];
+      type = types.enum [ "fork" "select" "ev" ];
       default = "fork";
       description = lib.mdDoc ''
         The method to use for handling connections:
@@ -38,6 +38,9 @@ in
           - `select` uses only one thread, which monitors all connections at once.
           It has lower overhead per connection, but if it stops, you'll lose all
           connections.
+
+          - `ev` is implemented using libev, it's similar to `select` but
+            scales better to a large number of connections.
       '';
     };
 
@@ -57,15 +60,6 @@ in
       type = types.submodule {
         freeformType = configFormat.type;
 
-        options.verbose = mkOption {
-          type = types.int;
-          default = 0;
-          example = 3;
-          description = lib.mdDoc ''
-            Logging verbosity: higher values for more information.
-          '';
-        };
-
         options.timeout = mkOption {
           type = types.ints.unsigned;
           default = 2;
@@ -82,6 +76,20 @@ in
           '';
         };
 
+        options.verbose-connections = mkOption {
+          type = types.ints.between 0 4;
+          default = 0;
+          description = lib.mdDoc ''
+            Where to log connections information. Possible values are:
+
+             0. don't log anything
+             1. write log to stdout
+             2. write log to syslog
+             3. write log to both stdout and syslog
+             4. write to a log file ({option}`sslh.settings.logfile`)
+          '';
+        };
+
         options.numeric = mkOption {
           type = types.bool;
           default = true;