<feed xmlns='http://www.w3.org/2005/Atom'>
<title>veeos-1x.git/interface-definitions/include/constraint, branch current</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos-contrib/veeos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos-contrib/veeos-1x.git/atom?h=current</id>
<link rel='self' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/atom?h=current'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/'/>
<updated>2025-03-20T21:05:04+00:00</updated>
<entry>
<title>Merge pull request #4402 from c-po/wireguard-key-T7246</title>
<updated>2025-03-20T21:05:04+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-03-20T21:05:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=f2d427bd6b2a2a39d6eb086dd0abdfa099b78cdd'/>
<id>urn:sha1:f2d427bd6b2a2a39d6eb086dd0abdfa099b78cdd</id>
<content type='text'>
wireguard: T7246: verify Base64 encoded 32byte boundary on keys</content>
</entry>
<entry>
<title>wireguard: T7246: verify Base64 encoded 32byte boundary on keys</title>
<updated>2025-03-20T21:00:10+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-03-20T21:00:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=8021bdd62e4142caf4a5e82000c8ca3da99fcae4'/>
<id>urn:sha1:8021bdd62e4142caf4a5e82000c8ca3da99fcae4</id>
<content type='text'>
Not 31 bytes or 33 bytes, but exactly 32. This matters, because 32 does not
divide evenly by .75, so there's a padding character and the penultimate
character does not include the whole base64 alphabet.

Extend the base64 validator with an optional argument to define the length
to match of the decrypted Base64 encoded string.

Source: https://lists.zx2c4.com/pipermail/wireguard/2020-December/006222.html
</content>
</entry>
<entry>
<title>T7252: Allow vpptun and vpptap for constraint validator</title>
<updated>2025-03-17T10:38:15+00:00</updated>
<author>
<name>Viacheslav Hletenko</name>
<email>v.gletenko@vyos.io</email>
</author>
<published>2025-03-17T10:38:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=f8bc27991374c7fa013dac56fef2ff8c1379d69a'/>
<id>urn:sha1:f8bc27991374c7fa013dac56fef2ff8c1379d69a</id>
<content type='text'>
It fixes cases whey we want to use VPP kernel interfaces for OSPF
But VPP kernel interface is not exists on this step

set vpp interfaces loopback lo0 kernel-interface 'vpptun0'
set protocols ospf interface vpptun0 area '0'

  Incorrect path /sys/class/net/vpptun0: no such file or directory
</content>
</entry>
<entry>
<title>firewall: T7177: update interface-name.xml.i constraint and smoketest to support pod interfaces from containers</title>
<updated>2025-02-19T16:30:14+00:00</updated>
<author>
<name>Mark</name>
<email>mark.hayes0338@gmail.com</email>
</author>
<published>2025-02-19T16:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=9db6b57e1516acfceec9a40a3e63c501f67d578d'/>
<id>urn:sha1:9db6b57e1516acfceec9a40a3e63c501f67d578d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xml: T7161: provide re-usable building block for alternative routing tables</title>
<updated>2025-02-13T16:00:01+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-02-13T16:00:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=8f6246da654704c6bff3dbdb366b57f11253ba9e'/>
<id>urn:sha1:8f6246da654704c6bff3dbdb366b57f11253ba9e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>T6214: T6213: change constraint &lt;alpha-numeric-hyphen-underscore-dot.xml.i&gt; in order to not allow string starting with dot character; use such constraint in firewall group definitions.</title>
<updated>2024-04-09T16:50:36+00:00</updated>
<author>
<name>Nicolas Fort</name>
<email>nicolasfort1988@gmail.com</email>
</author>
<published>2024-04-09T11:02:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=c455a1f71674300b8a74863ddfe6e551fe8fd252'/>
<id>urn:sha1:c455a1f71674300b8a74863ddfe6e551fe8fd252</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xml: T5738: extend VRF building blocks with common constraint definition</title>
<updated>2024-04-01T18:27:24+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2024-04-01T18:27:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=32d6a693de99021d2cd44fb4235e929caf7b4a6d'/>
<id>urn:sha1:32d6a693de99021d2cd44fb4235e929caf7b4a6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xml: T5738: use common constraint include for container network</title>
<updated>2024-03-24T19:30:33+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2024-03-24T19:30:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=6be463fcca574e051420ae7549bed72e74486470'/>
<id>urn:sha1:6be463fcca574e051420ae7549bed72e74486470</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dhcp-client: T6093: extend regex for client class-id's with DOT</title>
<updated>2024-03-10T19:06:42+00:00</updated>
<author>
<name>Lucas</name>
<email>pinheirolucas@pm.me</email>
</author>
<published>2024-03-10T18:02:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=c8670ae7941a8bac31e2174d4c6426b47272bfcc'/>
<id>urn:sha1:c8670ae7941a8bac31e2174d4c6426b47272bfcc</id>
<content type='text'>
The regex used is not working if the string contains dots.

Originally authored by: Lucas &lt;pinheirolucas@pm.me&gt;
</content>
</entry>
<entry>
<title>pki: T5886: add support for ACME protocol (LetsEncrypt)</title>
<updated>2024-01-06T07:33:33+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2024-01-05T21:27:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos-contrib/veeos-1x.git/commit/?id=b8db1a9d7baf91b70c1b735e58710f1e2bc9fc7a'/>
<id>urn:sha1:b8db1a9d7baf91b70c1b735e58710f1e2bc9fc7a</id>
<content type='text'>
The "idea" of this PR is to add new CLI nodes under the pki subsystem to
activate ACME for any given certificate.

vyos@vyos# set pki certificate NAME acme
Possible completions:
+  domain-name          Domain Name
   email                Email address to associate with certificate
   listen-address       Local IPv4 addresses to listen on
   rsa-key-size         Size of the RSA key (default: 2048)
   url                  Remote URL (default:
                        https://acme-v02.api.letsencrypt.org/directory)

Users choose if the CLI based custom certificates are used
  set pki certificate EXAMPLE acme certificate &lt;base64&gt;
or if it should be generated via ACME.

The ACME server URL defaults to LetsEncrypt but can be changed to their staging
API for testing to not get blacklisted.
  set pki certificate EXAMPLE acme url https://acme-staging-v02.api.letsencrypt.org/directory

Certificate retrieval has a certbot --dry-run stage in verify() to see if it
can be generated.

After successful generation, the certificate is stored in under
/config/auth/letsencrypt. Once a certificate is referenced in the CLI (e.g. set
interfaces ethernet eth0 eapol certificate EXAMPLE) we call
vyos.config.get_config_dict() which will (if with_pki=True is set) blend in the
base64 encoded certificate into the JSON data structure normally used when
using a certificate set by the CLI.

Using this "design" does not need any change to any other code referencing the
PKI system, as the base64 encoded certificate is already there.

certbot renewal will call the PKI python script to trigger dependency updates.
</content>
</entry>
</feed>
