<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/src/etc, branch rolling</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos/vyos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-10-15T15:32:02+00:00</updated>
<entry>
<title>Merge pull request #5551 from c-po/T9454-frr-render-after-commit</title>
<updated>2026-10-15T15:32:02+00:00</updated>
<author>
<name>John Estabrook</name>
<email>jestabro@vyos.io</email>
</author>
<published>2026-10-15T15:32:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=51ce16fd1a3ef130be1da3fc5cfad1456aa7b1a1'/>
<id>urn:sha1:51ce16fd1a3ef130be1da3fc5cfad1456aa7b1a1</id>
<content type='text'>
frrender: T9454: render FRR after a DHCP lease only once the commit completed</content>
</entry>
<entry>
<title>frrender: T9454: render FRR after a DHCP lease only once the commit completed</title>
<updated>2026-10-10T20:10:32+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-10-10T20:10:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1748e1eff7db459bfcaa69b28862dd2740fe1745'/>
<id>urn:sha1:1748e1eff7db459bfcaa69b28862dd2740fe1745</id>
<content type='text'>
A lease event during a commit rendered FRR from the active configuration, which
the commit has not replaced yet. When the lease arrived after the commit's own
FRR render but before the commit finished, the stale render was applied and
nothing corrected it: moving a DHCP interface into a VRF left the VRF without
its default route.

The lease hook now starts the render detached and the render waits for the
running commit to complete. Detaching is required, as a commit stopping the
DHCP client waits for the release hook. Waiting is opt-in, as the commit itself
uses the same helper when it cannot reach the configuration daemon.
</content>
</entry>
<entry>
<title>vyos-router: T9447: stop copying a directory when restoring the bootup hooks</title>
<updated>2026-10-08T14:30:08+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-10-08T14:30:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=7f4e17413c44c65a759e0be380f3fe60b01b754d'/>
<id>urn:sha1:7f4e17413c44c65a759e0be380f3fe60b01b754d</id>
<content type='text'>
A boot whose configuration directory carries no pre/post-config hook scripts
copies them out of the running image. That copy named the image root twice,
because the image's squashfs is mounted at two paths and the variable holding
it kept both. One extra operand reached cp as a bare directory:

    cp: -r not specified; omitting directory '/run/live/rootfs/&lt;image&gt;.squashfs'

The hook itself still landed, so nothing broke, but the copy reported failure
and was one word-split away from restoring the wrong file. It shows up where
the encrypted configuration volume stays shut, leaving the directory beneath
it empty.

The image root is now a single path, the two identical restore paths share one
implementation, and a copy that fails is logged rather than passing silently.
A missing hook is not escalated - on a first boot that would hand the system to
the upgrade-failure rollback.
</content>
</entry>
<entry>
<title>pppoe: T9395: apply the configuration being committed when a session returns</title>
<updated>2026-10-07T17:59:15+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-10-07T17:59:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=8cfc171402bbe8fbc67bea3b579a27d7e0d78ac6'/>
<id>urn:sha1:8cfc171402bbe8fbc67bea3b579a27d7e0d78ac6</id>
<content type='text'>
A PPPoE session is restarted from within the commit that changes it and comes
back up milliseconds later, while that commit is still running. The hook which
then configures the interface reads the running configuration, which until the
commit finishes is still the one from before it. Everything the commit adds is
missing at that point: for an interface newly set to IPv6 autoconf the hook
disabled router advertisements and autoconfiguration on the link, and nothing
turned them back on. The link kept its link-local address and never received a
global one, until the next commit or reconnect.

Which interface is hit varies with the order the commit happens to process
them, so this surfaced as an intermittent failure.

The hook now waits for the commit to finish before reading the configuration.
</content>
</entry>
<entry>
<title>frrender: T9368: reconcile FRR after a DHCP lease without the commit socket</title>
<updated>2026-10-07T17:59:13+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2026-10-07T17:59:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=c8d75f88f078c8c2c2a1f6a9a62c937424279d4b'/>
<id>urn:sha1:c8d75f88f078c8c2c2a1f6a9a62c937424279d4b</id>
<content type='text'>
Reconciling the FRR configuration after a DHCP lease event was requested from
the configuration daemon over the socket the commit pipeline uses. The daemon
serves one client at a time and assumes it is the running commit, so
the request either landed in the middle of the handshake which hands over the
configuration, or kept the daemon busy past the 10ms a commit waits for it.

Either way the commit fell back to running the conf-mode scripts directly.
Those never render FRR, only the daemon does, so the commit succeeded while FRR
kept the configuration rendered before it, until the next lease event.

A lease event now renders FRR in its own process, and a commit which could not
use the daemon renders FRR itself instead of skipping the reload. Both take the
same lock. A commit post-hook would remove the second case, for a full render
on every commit.
</content>
</entry>
<entry>
<title>cli: T9077: quote expansions and send DSR to /dev/tty</title>
<updated>2026-09-24T15:21:55+00:00</updated>
<author>
<name>Brad Kollmyer</name>
<email>bradk@vitalsoft.com</email>
</author>
<published>2026-07-13T17:23:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=412dfb9e933b9811b0731a60e4412af313d190ad'/>
<id>urn:sha1:412dfb9e933b9811b0731a60e4412af313d190ad</id>
<content type='text'>
Harden the quote-aware '?' handler: quote readline buffer expansions and
write the DSR query to /dev/tty so help still works when stdout is redirected.
</content>
</entry>
<entry>
<title>cli: T9077: insert literal '?' inside quoted values instead of triggering help</title>
<updated>2026-09-24T15:21:55+00:00</updated>
<author>
<name>Brad Kollmyer</name>
<email>bradk@vitalsoft.com</email>
</author>
<published>2026-07-11T00:20:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1ec6e664afc29957d9f3f596fd4433b4ebb1f7a7'/>
<id>urn:sha1:1ec6e664afc29957d9f3f596fd4433b4ebb1f7a7</id>
<content type='text'>
The '?' key is a raw readline binding (possible-completions), so a
literal question mark can never be typed into a value: readline
intercepts the keystroke before bash parsing begins and quoting cannot
protect it. Values like remote-group URLs with query strings get
silently corrupted ('.../blacklist?key=x' is stored as
'.../blacklistkey=x') with no error at any stage.

Rebind '?' to a bind -x handler that scans the line left of the cursor
for an open single/double quote or a pending backslash escape. Inside a
quote or escape the key self-inserts; otherwise it triggers the
standard help via a DSR round-trip (printf '\e[5n' with the terminal's
reply ESC [ 0 n bound to possible-completions), keeping the help path
and output identical to the previous behavior.

'set terminal key query-help enable' now restores the quote-aware
handler instead of the raw binding; 'disable' keeps its existing
self-insert override, which takes precedence at login as before.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>journald: T9183: stop forwarding journal entries to syslog</title>
<updated>2026-09-17T20:59:55+00:00</updated>
<author>
<name>Robert Navarro</name>
<email>crshman@gmail.com</email>
</author>
<published>2026-09-17T20:59:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=011b53cbfe8a273a931069ea592ace7a5aa18dbc'/>
<id>urn:sha1:011b53cbfe8a273a931069ea592ace7a5aa18dbc</id>
<content type='text'>
rsyslog reads the journal directly through imjournal (rsyslog.conf.j2 loads
it alongside imuxsock), so journald forwarding the same entries to /dev/log
delivers every non-kernel message twice. Both copies land in /var/log files
and go to every remote syslog target, differing only in PID formatting.

Ship the setting as a journald drop-in here rather than as a full
journald.conf in vyos-build, so the image carries only the settings VyOS
actually overrides. MaxLevelSyslog=debug comes across from that file; the
rest of it was commented-out systemd defaults.

Tested on a live 2026.09.11 router: with the drop-in in place a single
logger event produces one entry, remote targets receive one copy, and
kernel messages (imklog) and HAProxy's own socket are unaffected.
</content>
</entry>
<entry>
<title>vbash: T7575: Trim trailing whitespace</title>
<updated>2026-09-09T22:36:33+00:00</updated>
<author>
<name>sarthurdev</name>
<email>965089+sarthurdev@users.noreply.github.com</email>
</author>
<published>2026-09-09T22:05:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1b76a46ad27fca9e9329386491a7cab3bcc6e84b'/>
<id>urn:sha1:1b76a46ad27fca9e9329386491a7cab3bcc6e84b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>vbash: T7575: Prevent re-declare readonly variable</title>
<updated>2026-09-09T22:36:33+00:00</updated>
<author>
<name>sarthurdev</name>
<email>965089+sarthurdev@users.noreply.github.com</email>
</author>
<published>2026-09-09T22:06:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=610d2d876120b13f990fdd183a8fc1aa38229b21'/>
<id>urn:sha1:610d2d876120b13f990fdd183a8fc1aa38229b21</id>
<content type='text'>
</content>
</entry>
</feed>
