Skip to content

[bug] ZeroTier VPN backend couples human-facing Vpn.name with machine configuration #1426

Description

@pandafy

⚠️ Not suitable for beginners

Describe the bug
The ZeroTier VPN backend injects Vpn.name (a human-facing VPN identifier) as the ZeroTier network name into configuration context variables in two places. This creates a coupling between human administration labels and machine-consumable configuration values, causing cache invalidation issues whenever the VPN name changes.

Expected behavior
Renaming a VPN for administrative clarity should NOT require invalidating all client configurations. The human-facing label (Vpn.name) should be separate from machine configuration values.

Current problematic code locations

In get_vpn_server_context() (line 596-599):

if self._is_backend_type("zerotier") and self.network_id:
    context[context_keys["network_name"]] = self.name  # Vpn.name exposed as context variable

The architectural concern

This design conflates two separate concerns:

  • Human administration - organizing and identifying VPNs (Vpn.name)
  • Machine configuration - values needed for client configuration (network name)

Consequences of this coupling:

  • Renaming a VPN for administrative clarity requires invalidating all client configurations
  • The semantic intent is unclear in the codebase

Metadata

Metadata

Assignees

Labels

Type

Fields

No fields configured for Bug.

Projects

Status
To do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions