summary refs log tree commit diff
path: root/nixos/modules/services/networking/ddclient.nix
diff options
context:
space:
mode:
authorFelix Schröter <dev@felschr.com>2021-12-03 12:22:47 +0100
committerBjørn Forsman <bjorn.forsman@gmail.com>2021-12-04 16:28:31 +0100
commitd6a4500f88725c24b82f6f86fb3129ed0561800c (patch)
tree87bf3ef5703c007b0609fa63a9dffe8e1c08b10f /nixos/modules/services/networking/ddclient.nix
parent6bd1daaf0fe8190a48ac5d27028ef8bed3891ec7 (diff)
downloadnixpkgs-d6a4500f88725c24b82f6f86fb3129ed0561800c.tar
nixpkgs-d6a4500f88725c24b82f6f86fb3129ed0561800c.tar.gz
nixpkgs-d6a4500f88725c24b82f6f86fb3129ed0561800c.tar.bz2
nixpkgs-d6a4500f88725c24b82f6f86fb3129ed0561800c.tar.lz
nixpkgs-d6a4500f88725c24b82f6f86fb3129ed0561800c.tar.xz
nixpkgs-d6a4500f88725c24b82f6f86fb3129ed0561800c.tar.zst
nixpkgs-d6a4500f88725c24b82f6f86fb3129ed0561800c.zip
nixos/ddclient: support all special characters in password
Diffstat (limited to 'nixos/modules/services/networking/ddclient.nix')
-rw-r--r--nixos/modules/services/networking/ddclient.nix4
1 files changed, 2 insertions, 2 deletions
diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix
index fd9c216b060..8a2c0fc7080 100644
--- a/nixos/modules/services/networking/ddclient.nix
+++ b/nixos/modules/services/networking/ddclient.nix
@@ -31,8 +31,8 @@ let
   preStart = ''
     install ${configFile} /run/${RuntimeDirectory}/ddclient.conf
     ${lib.optionalString (cfg.configFile == null) (if (cfg.passwordFile != null) then ''
-      password=$(head -n 1 ${cfg.passwordFile})
-      sed -i "s/^password=$/password=$password/" /run/${RuntimeDirectory}/ddclient.conf
+      password=$(printf "%q" "$(head -n 1 "${cfg.passwordFile}")")
+      sed -i "s|^password=$|password=$password|" /run/${RuntimeDirectory}/ddclient.conf
     '' else ''
       sed -i '/^password=$/d' /run/${RuntimeDirectory}/ddclient.conf
     '')}