Skip to content
Snippets Groups Projects
Commit 8ea26778 authored by Louis Maillard's avatar Louis Maillard
Browse files

install: add fallback where yaml creation failed

In some rare case, .deb installer fails to create /etc/dhtnet/dnc.yaml
config. In theses case, dnc service fail to start, so post-install
script now check if /etc/dhtnet/dnc.yaml exists and create it if not.
dnc.service now rely entirely on /etc/dhtnet/dnc.yaml for configuration,
removing hardcoded flags in service file.

Change-Id: Ia827dd92532a6b17584e15b1af34cc236980202e
parent d887d3bc
No related branches found
No related tags found
No related merge requests found
...@@ -9,8 +9,18 @@ create_server_keys() { ...@@ -9,8 +9,18 @@ create_server_keys() {
echo "Generating server keys..." echo "Generating server keys..."
dhtnet-crtmgr --setup -o /etc/dhtnet/ dhtnet-crtmgr --setup -o /etc/dhtnet/
dhtnet-crtmgr -a -c /etc/dhtnet/id/id-server.crt -p /etc/dhtnet/id/id-server.pem dhtnet-crtmgr -a -c /etc/dhtnet/id/id-server.crt -p /etc/dhtnet/id/id-server.pem
configure_yaml
disable_dnc_service disable_dnc_service
fi fi
echo "===================="
echo "dnc server installed and configured."
echo "To configure it, edit /etc/dhtnet/dnc.yaml"
echo "To enable and start server, run:"
echo " systemctl enable dnc.service"
echo " systemctl start dnc.service"
echo "To configure your dnc client, run:"
echo " dhtnet-crtmgr --interactive"
echo "===================="
} }
# reload_dnc_service() { # reload_dnc_service() {
...@@ -26,4 +36,23 @@ disable_dnc_service() { ...@@ -26,4 +36,23 @@ disable_dnc_service() {
systemctl disable dnc.service systemctl disable dnc.service
} }
configure_yaml() {
if [ -f /etc/dhtnet/dnc.yaml ]; then
sed -i 's/^#certificate:.*$/certificate: \"\/etc\/dhtnet\/id\/id-server.crt\"/' /etc/dhtnet/dnc.yaml
sed -i 's/^#privateKey:.*$/privateKey: \"\/etc\/dhtnet\/id\/id-server.pem\"/' /etc/dhtnet/dnc.yaml
else
echo "bootstrap: \"bootstrap.jami.net\"" > /etc/dhtnet/dnc.yaml
echo "turn_host: \"turn.jami.net\"" > /etc/dhtnet/dnc.yaml
echo "turn_user: \"ring\"" > /etc/dhtnet/dnc.yaml
echo "turn_pass: \"ring\"" > /etc/dhtnet/dnc.yaml
echo "turn_realm: \"ring\"" > /etc/dhtnet/dnc.yaml
echo "port: 22" > /etc/dhtnet/dnc.yaml
echo "ip: \"127.0.0.1\"" > /etc/dhtnet/dnc.yaml
echo "certificate: \"/etc/dhtnet/id/id-server.crt\"" > /etc/dhtnet/dnc.yaml
echo "privateKey: \"/etc/dhtnet/id/id-server.pem\"" > /etc/dhtnet/dnc.yaml
echo "anonymous: false" > /etc/dhtnet/dnc.yaml
echo "verbose: false" > /etc/dhtnet/dnc.yaml
fi
}
create_server_keys create_server_keys
...@@ -8,7 +8,7 @@ Documentation=https://git.jami.net/savoirfairelinux/dhtnet/blob/master/tools/dvp ...@@ -8,7 +8,7 @@ Documentation=https://git.jami.net/savoirfairelinux/dhtnet/blob/master/tools/dvp
[Service] [Service]
Type=exec Type=exec
Environment="DHTNET_CACHE_DIR=/var/run/dhtnet" Environment="DHTNET_CACHE_DIR=/var/run/dhtnet"
ExecStart=@bindir@/dnc -l -d @sysconfdir@/dhtnet/dnc.yaml -c @sysconfdir@/dhtnet/id/id-server.crt -p @sysconfdir@/dhtnet/id/id-server.pem ExecStart=@bindir@/dnc -l -d @sysconfdir@/dhtnet/dnc.yaml
Restart=on-failure Restart=on-failure
ProtectSystem=strict ProtectSystem=strict
ProtectKernelTunables=yes ProtectKernelTunables=yes
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment