summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-05ci: T8966: add product T-ID title/commit check (opt-in relocation) (#5257)Yuriy Andamasov
2026-06-05Merge pull request #5232 from natali-rs1985/T8936Christian Breunig
vrf: T8936: Specify `pref 1998` when deleting fwmark routing rules on VRF removal
2026-06-05dhcp-server: T8524: Validate DDNS key-name references defined tsig-keyNataliia Solomko
When a key-name is set under dynamic-dns-update forward-domain or reverse-domain, validate that the referenced TSIG key is defined under dynamic-dns-update tsig-key. Previously the missing key was only caught at runtime, causing kea-dhcp-ddns to fail to start with a fatal error. Also fix a pre-existing bug in `verify_ddns_domain` (formerly `verify_ddns_domain_servers`) where the function was called with the full tagNode dict but iterated as if it received a single domain config, causing the DNS server address check to never actually run.
2026-06-05Merge pull request #5187 from jestabro/clean-up-configtreeJohn Estabrook
T8503: clean up linting errors, reformatting, and minor refactoring
2026-06-05Merge pull request #5250 from vyos/fix/T8956-remote-url-credential-leakViacheslav Hletenko
remote: T8956: stop leaking URL credentials in TftpC.upload()
2026-06-05vrf: T8936: Specify `pref 1998` when deleting fwmark routing rules on VRF ↵Nataliia Solomko
removal
2026-06-05vpp: T8913: Skip bond teardown for non-structural config changesNataliia Solomko
VPP bond teardown was triggered on every commit regardless of what changed, dropping all subinterfaces and BGP sessions even for trivial changes like descriptions or IP addresses. Only mode, hash-policy and mac_address require full recreation since VPP has no in-place update API for these; all other changes are now applied incrementally.
2026-06-04pki: T8165: Add ability to show certificate full chain in pem formatIndrajit Raychaudhuri
Add op-mode command having ability to show certificate full chain in pem format as part of PKI configuration. The certificates are ordered beginning with the end entity (leaf) certificate, followed by any intermediate certificates and finally the private key if requested. This allows users to easily export a certificate along with its CA hierarchy for use in external applications, that require the full chain to be provided in a single file. One can now run the following commands: ``` show pki ca NAME pem full-chain show pki certificate NAME pem full-chain show pki certificate NAME private pem full-chain ```
2026-06-04Merge pull request #5227 from indrajitr/dhcp-lease-time-fixChristian Breunig
dhcp: T8933: Honor system timezone for timestamp display in op mode
2026-06-04remote: T8956: stop leaking URL credentials in TftpC.upload()Yuriy Andamasov
TftpC.upload() printed `{command} "{urlstring}"` to stdout before running the command. This was debug code from the time where VRF support was added. As TFTP has no authentication - no credentials got leaked.
2026-06-04Merge pull request #5253 from alexandr-san4ez/T8346-rollingChristian Breunig
password-reset: T8346: Fix password recovery when only `plaintext-password` is set
2026-06-04Merge pull request #5255 from natali-rs1985/T7931Christian Breunig
frr: T7931: Do not restart FRR on unrelated config changes when VRF protocols are configured
2026-06-04Merge pull request #5195 from natali-rs1985/T8492Christian Breunig
T8492: CRL generated by VyOS PKI lacks X.509 extensions required for strongSwan validation
2026-06-04geoip: T5746: Add GeoIP ASN supportsarthurdev
2026-06-04vpp: T8930: Block vif driver to prevent unhandled traceback on XCP-NGNataliia Solomko
The `vif` driver is fundamentally incompatible with VPP — no DPDK poll-mode driver exists for Xen paravirtual interfaces and no PCI address is exposed, so `allow-unsupported-nics` cannot rescue it either.
2026-06-04frr: T7931: Do not restart FRR on unrelated config changes when VRF ↵Nataliia Solomko
protocols are configured FRR was restarted on every commit when VRF protocols were configured, even when no routing-related configuration changed. Root cause: the rendering loop mutated `config_dict` in-place by injecting a `vrf` key into each VRF protocol sub-dict, polluting `cached_config_dict` which holds a reference to the same object, causing the equality check to always fail on the next commit.
2026-06-04T8503: clean up of linting warnings, reformatting, and minor refactoringJohn Estabrook
2026-06-04password-reset: T8346: Fix password recovery when only `plaintext-password` ↵Oleksandr Kuchmystyi
is set When a user account was provisioned with only `plaintext-password` (e.g. via cloud-init), the password recovery tool failed to persist the new password across reboots. On the next boot, VyOS would re-apply the `plaintext-password` from config.boot, silently overwriting the recovered encrypted password.
2026-06-03Merge pull request #5242 from rnavarro/fix/T8950-netlinkd-dhcp-state-trackingChristian Breunig
vyos-netlinkd: T8950: track per-interface operstate to suppress UP-to-UP DHCP restarts
2026-06-03vyos-netlinkd: T8950: track per-interface operstate to suppress UP-to-UP ↵Robert Navarro
DHCP restarts _handle_dhcp_events() restarts dhclient/dhcp6c on every RTM_NEWLINK that carries operstate=UP, regardless of whether the interface was already UP. Normal kernel events that re-notify UP without a preceding DOWN (e.g. post-migration gratuitous-ARP, promiscuous-mode toggles) trigger unnecessary DHCP restarts. Each restart also creates a feedback loop: dhclient-script runs "ip link set dev <if> up" during PREINIT, which emits another RTM_NEWLINK(UP), which triggers another restart. One seed event becomes 10+ restarts in 15 seconds. Add a module-level dict tracking the last observed operstate per interface. Only proceed with the DHCP restart when the transition is DOWN-to-UP or when no previous state is recorded (first boot / service restart). UP-to-UP re-notifications are suppressed with a LOG_DEBUG message. Validated on a production VyOS 2026.05.26-1327-rolling router: a controlled KVM live migration after the patch produced zero DHCP restarts (all UP-to-UP events suppressed), with no impact on normal DOWN-to-UP DHCP recovery.
2026-06-03Merge pull request #5213 from alexandr-san4ez/T8308-currentDaniil Baturin
conntrack: T8308: Add per-flow counters and VRF filter to conntrack table
2026-06-03Merge pull request #5251 from alexandr-san4ez/T8954-rollingDaniil Baturin
ipsec: T8954: Bump strongSwan deps to version 5.9.11
2026-06-03ipsec: T8954: Bump strongSwan deps to version 5.9.11-2+vyos0Oleksandr Kuchmystyi
When strongSwan package is not available on `packages.vyos.net`, it causes the Debain 5.9.8 package version to be used, which fails the tests.
2026-06-02Merge pull request #5248 from vyos/ci/T8943-smoketest-config-rollingJohn Estabrook
ci: T8943: complete current->rolling branch-ref migration (rollout 1c follow-up)
2026-06-02ci: T8943: complete current->rolling branch-ref migration (rollout 1c follow-up)Yuriy Andamasov
Rollout 1c PR #5241 renamed the default branch current->rolling and updated the 7 workflow files, but missed two files that still referenced the old branch name: - .github/config/smoketest-branches.json: the branch config is keyed by github.ref_name. package-smoketest.yml already triggers on `rolling`, then looks up `.branches["rolling"]`, which returned null -> the workflow errored out ("No smoketest configuration found for branch 'rolling'") on every push and PR to the rolling branch. Rename the key current->rolling. The entry's vyos_mirror and container_image are also moved to the now-canonical `rolling` release stream (packages.vyos.net/repositories/rolling/, vyos/vyos-build:rolling -- both live; the rolling docker tag is actively rebuilt while `current` froze at 2026-03-27), matching the self-consistent circinus/sagitta entries where key == mirror == image == branch name. - .github/PULL_REQUEST_TEMPLATE.md: two github.com/vyos/vyos-1x/{blob,tree}/current/ links repointed to /rolling/ (the default branch). A full-repo scan confirmed no other current->rolling git-branch references remain; all other "current" occurrences are the VyOS release-stream/version/ config vocabulary and are intentionally left unchanged. 🤖 Generated by [robots](https://vyos.io)
2026-06-02Merge pull request #5236 from c-po/nat66Daniil Baturin
nat: T8939: fix KeyError: 'group' exception
2026-06-02chore(mirror): remove force_workspace backport wrapper (R4 mothballed) (#5247)Yuriy Andamasov
Mergify ignore_conflicts:true already creates the backport workspace PR + resolves toward theirs + applies backport-conflict for path-drift conflicts (verified by canary VyOS-Networks/ipaddrcheck#26/#27). force_workspace's 'No backport have been created' trigger never fires under that config. T8943 / IS-510.
2026-06-02ci(mirror-rollout-4): add force_workspace backport companion wrapper (#5246)Yuriy Andamasov
Source-side wrapper (mirrored to the VyOS-Networks twin) for the public vyos/.github force_workspace reusable. Inert on this public source (owner guard); active on the mirror. force_workspace_enabled per-consumer (default false). 🤖 Generated by [robots](https://vyos.io)
2026-06-01Merge pull request #5245 from vyos/ci/lts-name-checkYuriy Andamasov
T8943: ci: add lts-name-check advisory caller
2026-06-01T8943: ci: add lts-name-check advisory callerYuriy Andamasov
Adds the source-side LTS-name advisory caller (mirror-pipeline). Non-blocking; posts a generic advisory if a PR title/body references a release-train branch name. 🤖 Generated by [robots](https://vyos.io)
2026-06-01docs: AGENTS.md: reflect rollout 1c default-branch rename (#5244)Yuriy Andamasov
2026-06-01T8943: migrate pr-mirror wrapper to canonical stub (#5243)Yuriy Andamasov
Mirror Pipeline Rollout 2 Task 6. Uniform canonical wrapper: trigger branches [rolling, production], permissions: contents: read, drop redundant wrapper-level MIRROR_ENABLED guard (now central). 🤖 Generated by [robots](https://vyos.io)
2026-05-30ci: T8943: migrate branch-name refs current->rolling (rollout 1c) (#5241)Yuriy Andamasov
Tracking: T8943
2026-05-30ci: T8943: sweep HIGH-producer pins to renamed branches (rollout 1c) (#5240)Yuriy Andamasov
Rewrites uses: pins to the three HIGH-fanout producers (vyos/.github, vyos/vyos-cla-signatures, VyOS-Networks/vyos-reusable-workflows) from their old default branch to the new production compat branch staged in Task 1. No functional change; pin-ref rewrite only. Tracking: T8943
2026-05-30T8943: migrate mirror wrapper to App-ready uniform stub (rollout 1b Task 5) ↵HEADcurrentYuriy Andamasov
(#5239) Replace PAT-based caller with uniform App-ready stub that passes secrets: inherit and checks vars.MIRROR_ENABLED opt-out flag. Plan: ~/.claude/plans/2026-05-26-mirror-rollout-1b-revised.md Task 5 🤖 Generated by [robots](https://vyos.io)
2026-05-29dhcpv6: T8941: Support filter/sorting combination on DHCPv6 server leasesIndrajit Raychaudhuri
Also add `hostname` as sort key for DHCPv6 leases, and fix a typo in the completion help for DHCPv6 leases sorting.
2026-05-29dhcpv4: T8941: Support filter/sorting combination on DHCPv4 server leasesIndrajit Raychaudhuri
2026-05-29dhcp: T8941: Apply guards for empty or missing mapping keysIndrajit Raychaudhuri
2026-05-29dhcp: T8941: Add missing `hostname` as valid sort keyIndrajit Raychaudhuri
Add `hostname` as a valid sort key for both DHCPv4 and DHCPv6 leases and static mappings.
2026-05-29dhcp: T8933: Honor system timezone for timestamp display in op modeIndrajit Raychaudhuri
The time displayed in DHCP v4/v6 server lease op-mode commands should honor system timezone and not force UTC timezone. This would keep the timestamps in the output of `show log dhcp server` or `show log dhcpv6 server` consistent with the timestamps in the output of `show dhcp server leases` or `show dhcpv6 server leases` commands.
2026-05-28Merge pull request #5233 from vyos/feature/T8937-smokeChristian Breunig
docs: T8937: fix typo in CONTRIBUTING.md
2026-05-28nat: T8939: fix KeyError: 'group' exceptionChristian Breunig
Prevent access to missing dictionary key by probing for availability. On removal of inbound-interface or outbound-interface name CLI node, there was a guard missing when accessing the CLI dictionary containing the config data.
2026-05-28Merge pull request #5234 from vyos/chore/T8937-retire-mergify-replaceable-ghasYuriy Andamasov
chore: T8937: retire Mergify-replaceable GHA caller workflows
2026-05-28chore: T8937: retire Mergify-replaceable GHA caller workflowsYuriy Andamasov
2026-05-28T8937: fix typo in CONTRIBUTING.mdYuriy Andamasov
"wan't" → "want" Phase A smoke for Mergify-replaceable GHA migration (T8937). Confirms central Mergify rules fire on a real consumer repo. Advances: T8937 🤖 Generated by [robots](https://vyos.io)
2026-05-28Merge pull request #5109 from statio/fix/vrf-aware-port-checkDaniil Baturin
T8454: fix VRF-bind port availability check in service_https
2026-05-28Merge pull request #5169 from jestabro/exclusive-mask-config-syncJohn Estabrook
T8502: Add exclusion mask to config-sync
2026-05-28T8916: add simple nosetest for subtree_from_partial utilityJohn Estabrook
2026-05-28T8916: allow passing ReferenceTree instance to subtree_from_partialJohn Estabrook
For use in nosetests or other, allow passing ReferenceTree from an internal cache in a non-standard location.
2026-05-28T8916: clear error_message before useJohn Estabrook