summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-08-23wireless: T6318: move country-code to a system wide configurationChristian Breunig
Wireless devices are subject to regulations issued by authorities. For any given AP or router, there will most likely be no case where one wireless NIC is located in one country and another wireless NIC in the same device is located in another country, resulting in different regulatory domains to apply to the same box. Currently, wireless regulatory domains in VyOS need to be configured per-NIC: set interfaces wireless wlan0 country-code us This leads to several side-effects: * When operating multiple WiFi NICs, they all can have different regulatory domains configured which might offend legislation. * Some NICs need additional entries to /etc/modprobe.d/cfg80211.conf to apply regulatory domain settings, such as: "options cfg80211 ieee80211_regdom=US" This is true for the Compex WLE600VX. This setting cannot be done per-interface. Migrate the first found wireless module country-code from the wireless interface CLI to: "system wireless country-code" (cherry picked from commit 9e22ab6b2aee48029d3455f65880e45c558cf1da)
2024-08-18op_mode: T3961: Generate PKI expect 2 character country codeNataliia Solomko
(cherry picked from commit 71d6d0fe31db13f4ddf5c75209b9bba88a1e0a32)
2024-08-16T6649: Accel-ppp separate vlan-mon from listen interfacesNataliia Solomko
(cherry picked from commit 663e468de2b431f771534b4e3a2d00a5924b98fe)
2024-08-15op_mode: T6651: Add a top level op mode word "execute"Nataliia Solomko
(cherry picked from commit 69ab44309d56d73d92c2f8a7b0b4ca3016e61ff6)
2024-08-13Merge pull request #3974 from vyos/mergify/bp/circinus/pr-3937Daniil Baturin
configd: T6633: inject missing env vars for configfs utility (backport #3937)
2024-08-13Merge pull request #3972 from vyos/mergify/bp/circinus/pr-3961Christian Breunig
configverify: T6642: verify_interface_exists requires config_dict arg (backport #3961)
2024-08-13configd: T6633: inject missing env vars for configfs utilityJohn Estabrook
(cherry picked from commit a9024f302fd9657a0e6ef274cfc1dedccaf9d1a3)
2024-08-12Merge pull request #3959 from vyos/mergify/bp/circinus/pr-3955Christian Breunig
configd: T6640: enforce in_session returns False under configd (backport #3955)
2024-08-12configverify: T6642: verify_interface_exists requires config_dict argJohn Estabrook
The function verify_interface_exists requires a reference to the ambient config_dict rather than creating an instance. As access is required to the 'interfaces' path, provide as attribute of class ConfigDict, so as not to confuse path searches of script-specific config_dict instances. (cherry picked from commit 5f23b7275564cfaa7c178d320868b5f5e86ae606)
2024-08-09qos: T6638: require interface state existence in verify conditionalJohn Estabrook
(cherry picked from commit ed63c9d1896a218715e13e1799fc059f4561f75e)
2024-08-08configd: T6640: enforce in_session returns False under configdJohn Estabrook
The CStore in_session check is a false positive outside of a config session if a specific environment variable is set with an existing referent in unionfs. To allow extensions when running under configd and avoid confusion, enforce in_session returns False. (cherry picked from commit 6543f444c42ff45e8115366256643186bf1dd567)
2024-08-06multicast: T6619: remove unused imports (#3941)Christian Breunig
(cherry picked from commit 9979afa15650bd609399030da1751488baaac70b)
2024-08-05OPENVPN: T6555: fix name to bridgefett0
(cherry picked from commit 0162a27952d2166583a9e6aee2cd77b9c693062b)
2024-08-05OPENVPN: T6555: fix name to bridgefett0
(cherry picked from commit d5ae708581d453e2205ad4cf8576503f42e262b6)
2024-08-05OPENVPN: T6555: add server-bridge options in mode serverfett0
(cherry picked from commit 4acad3eb8d9be173b76fecafc32b0c70eae9b192)
2024-08-04Merge pull request #3934 from vyos/mergify/bp/circinus/pr-3916Christian Breunig
T6619: Remove the remaining uses of per-protocol FRR configs (backport #3916)
2024-08-03nat64: T6627: call check_kmod within standard config function (#3931)mergify[bot]
Functions called from config scripts outside of the standard functions get_config/verify/generate/apply will not be called when run under configd. Move as appropriate for the general config script structure and the specific script requirements. (cherry picked from commit aeb51976ea23d68d35685bdaa535042a05016185) Co-authored-by: John Estabrook <jestabro@vyos.io>
2024-08-03T6632: add missing standard functions to config scripts (#3936)mergify[bot]
(cherry picked from commit 31de01242a26dff8ff993061ea2f86102a8a7493) Co-authored-by: John Estabrook <jestabro@vyos.io>
2024-08-02T6629: call check_kmod within a standard config functionJohn Estabrook
Move the remaining calls to check_kmod within a standard function, with placement determined by the needs of the config script. (cherry picked from commit 95eef73f1b002c8b9e8e769135ffed50c8ca6890)
2024-08-02T6619: Remove the remaining uses of per-protocol FRR configs (#3916)Roman Khramshin
(cherry picked from commit f2256ad338fc3fbaa9a5de2c0615603cd23e0f94)
2024-08-01console: T3334: remove unused directories imported from vyos.defaultsChristian Breunig
(cherry picked from commit 4055090a8d4fd64288eab7ae41aa9440f5de4ece)
2024-08-01T6486: T6379: Rewrite generate openvpn client-configViacheslav Hletenko
This command helps to generate users `.ovpn` files Rewrite `generate openvpn client-config` to use Config() It needs to get the default values as `ConfigTreeQuery` is not supporting default values. Fixed "ignores configured protocol type" if TCP is used Fixed lzo, was used even if lzo not configured Fixed encryption is not parse the dict (cherry picked from commit fe50f1a9292b34e168b35453f2cfc2aee2ca4843)
2024-08-01T6617: T6618: vpn ipsec remote-access: fix profile generatorsLucas Christian
(cherry picked from commit e97d86e619e134f4dfda06efb7df4a3296d17b95)
2024-07-31ipsec: T6148: Removed unused imports (#3915)aapostoliuk
Removed unused pprint module (cherry picked from commit cb1834742f4ed01d99d6396af8339dd59788ef65)
2024-07-31Merge pull request #3908 from vyos/mergify/bp/circinus/pr-3763Christian Breunig
ipsec: T6148: Fixed reset command by adding init after terminating (backport #3763)
2024-07-31Merge pull request #3906 from vyos/mergify/bp/circinus/pr-3715Christian Breunig
T6313: Add "NAT" to "generate" command for rule resequence (backport #3715)
2024-07-30system: op-mode: T3334: allow delayed getty restart when configuring serial ↵Andrew Topp
ports * Created op-mode command "restart serial console" * Relocated service control to vyos.utils.serial helpers, used by conf- and op-mode serial console handling * Checking for logged-in serial sessions that may be affected by getty reconfig * Warning the user when changes are committed and serial sessions are active, otherwise restart services as normal. No prompts issued during commit, all config gen/commit steps still occur except for the service restarts (everything remains consistent) * To apply committed changes, user will need to run "restart serial console" to complete the process or reboot the whole router * Added additional flags and target filtering for generic use of helpers. (cherry picked from commit bc9049ebd76576d727fa87b10b96d1616950237c)
2024-07-30ipsec: T6148: Fixed reset command by adding init after terminating (#3763)aapostoliuk
Strongswan does not initiate session after termination via vici. Added an CHILD SAs initialization on the initiator side of the tunnel. (cherry picked from commit 8838b29180ccc26d2aca0c22c9c8ca5e274825b2)
2024-07-30T6313: Add "NAT" to "generate" command for rule resequencekhramshinr
(cherry picked from commit 142545b0535d0a994182389c99b7bcd6d7c37c24)
2024-07-30vrf: T6603: improve code runtime when retrieving info from nftables vrf zoneChristian Breunig
(cherry picked from commit 31acb42ecdf4ecf0f636f831f42a845b8a00d367)
2024-07-30vrf: T6603: conntrack ct_iface_map must only contain one entry for ↵Christian Breunig
iifname/oifname When any of the following features NAT, NAT66 or Firewall is enabled, for every VRF on the CLI we install one rule into nftables for conntrack: chain vrf_zones_ct_in { type filter hook prerouting priority raw; policy accept; counter packets 3113 bytes 32227 ct original zone set iifname map @ct_iface_map counter packets 8550 bytes 80739 ct original zone set iifname map @ct_iface_map counter packets 5644 bytes 67697 ct original zone set iifname map @ct_iface_map } This is superfluous. (cherry picked from commit d6e9824f1612bd8c876437c071f31a1a0f44af5d)
2024-07-26Merge pull request #3877 from vyos/mergify/bp/circinus/pr-3868Christian Breunig
T6605: restore configd error formatting to be consistent with CLI (backport #3868)
2024-07-26vxlan: T6505: Support VXLAN VLAN-VNI range mapping in CLI (#3756)Nataliia S
(cherry picked from commit 115e99630a317cab62c6f99e0461f6ce2c1edaf3)
2024-07-25system_option: T5552: Apply IPv4 and IPv6 options after reapplying sysctls ↵mergify[bot]
by TuneD (#3863) (cherry picked from commit 7b82e4005724683c6311fab22358746f2cca4c1b) Co-authored-by: Nataliia Solomko <natalirs1985@gmail.com>
2024-07-25T6605: restore configd error formatting to be consistent with CLI (#3868)John Estabrook
(cherry picked from commit 645f24908c9b338adc56ecc83f8c44d0b0206550)
2024-07-25vrf: T6602: verify supplied VRF name on all interface types (#3870)mergify[bot]
Only some (e.g. ethernet or wireguard) interfaces validate if the supplied VRF actually exists. If this is not validated, one can pass an invalid VRF to the system which generates an OSError exception. To reproduce set interfaces vxlan vxlan1 vni 1000 set interfaces vxlan vxlan1 remote 1.2.3.4 set interfaces vxlan vxlan1 vrf smoketest results in OSError: [Errno 255] failed to run command: ip link set dev vxlan1 master smoketest_mgmt This commit adds the missing verify_vrf() call to the missing interface types and an appropriate smoketest for all interfaces supporting VRF assignment. (cherry picked from commit dd0ebffa33728e452ac6e11737c2283f0e390359) Co-authored-by: Christian Breunig <christian@breunig.cc>
2024-07-24op_mode: T6596: pppoe operation command failedNataliia Solomko
(cherry picked from commit 79407cd5bbec3194a9b6542418229b33eab05121)
2024-07-22wireless: T6597: improve hostapd startup and corresponding smoketestsChristian Breunig
This was found during smoketesting as thoase started to repeadingly fail in the last weeks File "/usr/libexec/vyos/tests/smoke/cli/test_interfaces_wireless.py", line 534, in test_wireless_security_station_address self.assertTrue(process_named_running('hostapd')) AssertionError: None is not true Digging into this revealed that this is NOT related to the smoketest coding but to hostapd/systemd instead. With a configured WIFI interface and calling: "sudo systemctl reload-or-restart hostapd@wlan1" multiple times in a short period caused systemd to report: "Jul 18 16:15:32 systemd[1]: hostapd@wlan1.service: Deactivated successfully." According to the internal systemd logic used in our version this is explained by: /* If there's a stop job queued before we enter the DEAD state, we shouldn't act on Restart=, in order to not * undo what has already been enqueued. */ if (unit_stop_pending(UNIT(s))) allow_restart = false; if (s->result == SERVICE_SUCCESS) s->result = f; if (s->result == SERVICE_SUCCESS) { unit_log_success(UNIT(s)); end_state = SERVICE_DEAD;` Where unit_log_success() generates the log message in question. Improve the restart login in the wireless interface script and an upgrade to hostapd solved the issue. (cherry picked from commit a67f49d99eda00998c425f9a663e138dbd0f7755)
2024-07-22wireless: T6320: add 802.11ax at 6GHzAlain Lamar
Authored-By: Alain Lamar <alain_lamar@yahoo.de> (cherry picked from commit d5e988ba2d0fa0189feff22374c9b46eb49e2e79)
2024-07-22openvpn: T3834: verify() is not allowed to change anything on the systemChristian Breunig
Commit e3c71af1466 ("remove secrets file if the tunnel is deleted and fix opmode commands") added a code path into verify() which removed files on the system if TOTP was not defined. This commit moves the code path to the appropriate generate() function. (cherry picked from commit 40c835992db9217f48e54dbbf15a7fbf1dcba482)
2024-07-22T6599: ipsec: fix incorect default behavior for dead-peer-detectionLucas Christian
(cherry picked from commit 23a3419d512139650cfe3dc76759b370b0c0c3d6)
2024-07-21vrf: T6592: remove unused import get_interface_configChristian Breunig
Remove unused import (left over) from commit 36f3791e0 ("utils: migrate to new get_vrf_tableid() helper") (cherry picked from commit b551f542c5c906c901e3be37ad3fd68c8248473d)
2024-07-20utils: migrate to new get_vrf_tableid() helperChristian Breunig
Commit 452068ce7 ("interfaces: T6592: moving an interface between VRF instances failed") introduced a new helper to retrieve the VRF table ID from the Kernel. This commit migrates the old code path where the individual fields got queried to the new helper vyos.utils.network.get_vrf_tableid(). (cherry picked from commit 36f3791e0c15267483d59a3bb74465811d08df88)
2024-07-19T6578: Fix unhandled exception in "show openconnect-server sessions" (#3830)mergify[bot]
(cherry picked from commit e858d96a3fbc1ae4719a50ee67df02b2f256b40f) Co-authored-by: khramshinr <khramshinr@gmail.com>
2024-07-18openvpn: T6591: deprecate OpenVPN server net30 topology (#3825)Daniil Baturin
(cherry picked from commit e2b05343b30d2f989968532106e792cbaf75ecf6)
2024-07-18Merge pull request #3822 from vyos/mergify/bp/circinus/pr-3813Daniil Baturin
configdep: T6559: fix regression in dependent script error under configd (backport #3813)
2024-07-17op-mode: T6577: create generic service restart helper to work with the APIChristian Breunig
Right now we have multiple restart helpers (e.g. dhcp server, ssh, ntp) that all do the same (more or less): * Check if service is configured on CLI * Restart if configured * Error out if unconfigured This is not available via the op-mode API. Create a new restart.py op-mode helper that takes the service name and possible VRF as argument so it's also exposed via API. (cherry picked from commit c74ae852152b0c3c3f00a1847d081d28f500e178)
2024-07-17configdep: T6559: use single dependency list with reset under configdJohn Estabrook
(cherry picked from commit 52d08b1ec5b2943744daac7123e35fd415f85db2)
2024-07-17configdep: T6559: drop global redundancy removal to fix error reportingJohn Estabrook
(cherry picked from commit 7249d10f1fbb3f90a4bdbcd0223926d0380ddd3a)
2024-07-05op-mode: T6537: remove unused cmd imported from vyos.utils.processChristian Breunig
Commit dc60fe99350 ("op-mode: T6537: include hostname in the reboot/shutdown warning message") added a more local import of vyos.utils.process.cmd() that made the fglobal import obsolete and trigger a linter warning. $ make unused-imports -------------------------------------------------------------------- Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00) (cherry picked from commit 6b2e45c073eeef62bbb5905e1bff98e20199b6b0)