One example found that leads to inconsistent configuration is constraint alpha-numeric-hyphen-underscore-dot.xml.i, which is used in several parts:
interface-definitions/include/accel-ppp/client-ip-pool.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/accel-ppp/client-ip-pool.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/accel-ppp/client-ipv6-pool.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/accel-ppp/default-ipv6-pool.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/accel-ppp/default-pool.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/bgp/afi-route-map-export-import.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/bgp/afi-route-map-export-import.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/bgp/neighbor-afi-ipv4-ipv6-common.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/bgp/neighbor-afi-ipv4-ipv6-common.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/bgp/neighbor-afi-ipv4-ipv6-common.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/bgp/neighbor-afi-ipv4-ipv6-common.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i:<!-- include start from constraint/alpha-numeric-hyphen-underscore-dot.xml.i --> interface-definitions/include/dhcp/option-v6.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/dhcp/option-v6.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/include/route-map.xml.i: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/pki.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/pki.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/pki.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/policy.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/service_dhcp-server.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/service_dhcp-server.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/service_dhcp-server.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/service_dhcpv6-server.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i> interface-definitions/service_dhcpv6-server.xml.in: #include <include/constraint/alpha-numeric-hyphen-underscore-dot.xml.i>
This contraint allow an input starting with dot character. And that's when we get undesired behavior. For example:
vyos@vyos# set pki ca .DOT description TEST [edit] vyos@vyos# set policy route-map .SecondDOT description ANOTHER-ONE [edit] vyos@vyos# commit [edit] vyos@vyos# run show config comm | grep "pki\|policy" set pki set policy [edit] vyos@vyos#