Restart defguard-service automatically after upgrading the .deb package

オープン
#4,007 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
58/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
linux, rust
領域
devops

調査の方向性

Start by locating the .deb packaging configuration and its post-install or systemd service handling; the issue does not name the relevant files. Check how upgrades currently handle defguard-service, then compare the package hooks with Debian’s systemd restart mechanisms. Done when upgrading the .deb restarts the service so it uses the installed version; the optional UI error change is separate.

索引モデルが issue の本文から書いたものです。

説明

feature

Is your feature request related to a problem? Please describe.

After upgrading the Defguard desktop client via the .deb package, connecting to a VPN location fails with “Connection failed”. The server side looks fine: authentication succeeds and the core logs show a successful login.

The client log shows that it cannot reach the local daemon:

[ERROR][Client] Problem connecting to UNIX domain socket: Connection refused (os error 111)
[ERROR][Client] Failed to push service locations to the daemon ... code: 'The service is currently unavailable'

Restarting the service manually (sudo systemctl restart defguard-service) fixes it immediately. It appears that the package upgrade does not restart the already running daemon, so the new client talks to an old or non-functional service instance. The error message in the UI (“Connection failed”) doesn’t hint at the daemon being the problem, so it took me a while to find the cause.

Environment:
Tuxedo OS, client 2.1.1 → 2.1.2, installed via .deb.

Describe the solution you’d like

Ideally the package’s post-install script restarts defguard-service after an upgrade (e.g. via deb-systemd-invoke restart or dh_installsystemd), so that the daemon always matches the installed client version.

Optionally, the client could show a clearer error in the UI when it cannot reach the daemon, e.g. “Cannot connect to defguard-service. Is the service running?”.

Describe alternatives you’ve considered

  • Restarting the service manually after every update. This works, but it is easy to forget and hard to diagnose if you don’t know about it.
  • Rebooting the machine, which also works but is heavy-handed.
主要言語
Rust
スター
2.9k
フォーク
121
平均マージ
19時間 20分
マージ済み PR(30日)
80

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

DefGuard/defguard のほかの issue

DefGuard/defguard の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。