From 3de030b06bd8e9834395d09824e81e8c77b35f0a Mon Sep 17 00:00:00 2001 From: Slawomir Koszewski Date: Fri, 30 Oct 2026 01:54:50 +0100 Subject: [PATCH] fix: /config answers the OpenID Provider's state and issuer. --- README.md | 1 + debian-package/debian/changelog | 9 +++++++++ .../src/usr/lib/vpn-router/vpnrouter_web/status.py | 5 ++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7351b5d..32a0d8d 100644 --- a/README.md +++ b/README.md @@ -1160,6 +1160,7 @@ vre /etc/vpn-router/vpn-router.json ~/notes.txt | `docker` | `docker.exposed_ports` and the rules of the `VPN-ROUTER-DOCKER` chain | | `postgresql` | `clusters`: each PostgreSQL cluster of `pg_lsclusters` with its version, name, port, status and data directory, and for one that is online its `settings`: `server_version`, `listen_addresses`, `port`, `max_connections`, `shared_buffers`, `effective_cache_size`, `work_mem`, `password_encryption`, `ssl` and `timezone`; `null` when `pg_lsclusters` fails | | `caddy` | The installed Caddy: `version`, `source`, `upstream` once Caddy's repository is configured and `ubuntu` otherwise, and `service`, the state of `caddy.service`; `null` when Caddy is not installed | +| `oidc` | The OpenID Provider: `enabled`, and `issuer`, its issuer URL, `null` while it is disabled | ### The /postgresql page diff --git a/debian-package/debian/changelog b/debian-package/debian/changelog index 999e6cf..fae9a3c 100644 --- a/debian-package/debian/changelog +++ b/debian-package/debian/changelog @@ -1,3 +1,12 @@ +vpn-router (0.37.1-1) unstable; urgency=medium + + fix: /config answers the OpenID Provider's state and issuer. + + * /config has oidc: enabled, and issuer, the issuer URL, null while the + provider is disabled. + + -- Slawomir Koszewski Fri, 30 Oct 2026 01:53:55 +0100 + vpn-router (0.37.0-1) unstable; urgency=medium feature: the OpenID Provider has the client credentials and device authorization grants, public clients, and service accounts as resources with roles and scopes in JWT access tokens. diff --git a/debian-package/src/usr/lib/vpn-router/vpnrouter_web/status.py b/debian-package/src/usr/lib/vpn-router/vpnrouter_web/status.py index e925ea0..1129f36 100644 --- a/debian-package/src/usr/lib/vpn-router/vpnrouter_web/status.py +++ b/debian-package/src/usr/lib/vpn-router/vpnrouter_web/status.py @@ -211,9 +211,11 @@ def postgresql_databases(): def details(state): """What /config shows: the configuration without its secrets, and what the router resolved and runs; caddy is the - installed Caddy, {version, source, service}, service the state of caddy.service, null when it is not installed.""" + installed Caddy, {version, source, service}, service the state of caddy.service, null when it is not installed; oidc + is {enabled, issuer} of the OpenID Provider, issuer null while it is disabled.""" configuration = state.get('configuration', {}) caddy = package_version('caddy') + oidc = configuration.get('oidc', {}).get('enabled') is True return { 'configuration': configuration, 'network': dict(state.get('network', {}), routes=routes()), @@ -230,6 +232,7 @@ def details(state): # Caddy is upstream's once its repository is configured (vpn-router-caddy). 'caddy': {'version': caddy, 'source': 'upstream' if vpnrouter.CADDY_APT_SOURCE.is_file() else 'ubuntu', 'service': unit_state('caddy.service')} if caddy else None, + 'oidc': {'enabled': oidc, 'issuer': vpnrouter.oidc_issuer(configuration) if oidc else None}, }