107 Commits

Author SHA1 Message Date
Ilia Ross
77610666cc Fix live activation of Linux VLAN interfaces
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
ⓘ Create and detect VLAN devices before applying live configuration, parse live VLANs with their physical parent instead of a virtual alias, normalize persisted dotted VLAN names when the parent device exists, consistently target the real VLAN device across the ip, ifup and vconfig paths, skip recreating existing devices or activating absent disabled ones, and add regression coverage.

https://github.com/webmin/webmin/pull/2785
2026-07-11 13:33:58 +02:00
Ilia Ross
81d44f8491 Fix live activation of Linux bond interfaces
ⓘ Create and configure missing bond devices with ip link, attach partner interfaces before assigning addresses, avoid legacy module auto-creation when ip is available, and add regression coverage.

Ref.: https://github.com/webmin/webmin/pull/2777
2026-06-27 18:16:38 +02:00
Ilia Ross
c08468ec48 Fix network config spacing preservation
- Preserve existing spacing and inline comments when rewriting `/etc/nsswitch.conf` `hosts:` lines.

- Preserve indentation, comment prefix, inline comments, and field separators when rewriting `/etc/hosts` rows.

- Add tests for the `nsswitch.conf` spacing/comment behavior.
2026-06-20 15:27:28 +02:00
Ilia Ross
cb4a322042 Fix active virtual interface handling
ⓘ Treat Linux active virtual interfaces as secondary IP addresses instead of independent links, fixing alias parsing, hiding invalid status controls, rejecting down-state creation, and removing existing aliases with ip addr del when needed.

Reproduce path:

Example repro before this fix:

1. Go to **Network Configuration → Network Interfaces → Active Now**.
2. Click **Add a new interface**.
3. Enter:

```text
Name: enp0s5:1
IPv4 address: 10.211.55.21
Netmask: 255.255.255.0
Status: Down
```

4. Click **Create**.

Before the fix, Webmin could still create the alias or handle it inconsistently, because `enp0s5:1` is not a real link that can be “down”. It is just an extra IP address on `enp0s5`.

Expected after the fix:

- The UI should not offer `Status` for active virtual aliases.
- If someone submits `up=0` manually anyway, Webmin rejects it with:
  `Virtual interfaces cannot be created with down status`
- If an existing active virtual alias is saved as down through lower-level code, Webmin removes the IP using something like:

```bash
ip addr del 10.211.55.21/24 dev enp0s5
```
2026-06-20 15:23:09 +02:00
Ilia Ross
846bbb8252 Fix to preserve Netplan YAML when saving DNS
* Note: Preserve existing Netplan indentation when updating DNS settings, validate with netplan generate before applying, and surface apply errors to avoid network loss from malformed YAML.
2026-05-19 00:31:34 +02:00
Jamie Cameron
35bae257f2 Don't add IP address if there isn't one 2023-11-15 17:14:54 -08:00
Jamie Cameron
b095aa2b20 Show the actual command that failed in the error 2023-11-14 20:20:06 -08:00
Jamie Cameron
627a047028 Next virtual interface is always one greater than the last one 2023-11-07 17:56:02 -08:00
Ilia Ross
4709ff6adf Add support for odd Amazon Linux interface names 2023-08-22 01:52:22 +03:00
Ilia Ross
5156a472be Fix a bug in regex to correctly grep wack [build]
https://sourceforge.net/p/webadmin/discussion/55377/thread/78e5aa05f3
2023-08-16 13:48:54 +03:00
Ilia Ross
185e7db58d Revert "Revert "Fix to priorities ip command usage""
This reverts commit f8ec917bc5.
2023-08-16 13:03:51 +03:00
Ilia Ross
f8ec917bc5 Revert "Fix to priorities ip command usage"
This reverts commit 3b36dfa8ad.
2023-08-16 13:01:17 +03:00
Jamie Cameron
e599e0206a Can only use ifup if innstalled 2023-07-23 08:40:27 -07:00
iliajie
3b36dfa8ad Fix to priorities ip command usage 2023-07-22 13:31:20 +03:00
iliajie
36095d04f8 Fix to use ip addr command only to get active interfaces 2023-07-18 15:19:29 +03:00
iliajie
04e14cc979 Add ability to present active interfaces the way network manager wants 2023-07-17 13:56:58 +03:00
Jamie Cameron
9aeab55a88 Don't match dynamic if we're matching it later 2023-07-16 14:39:41 -07:00
Jamie Cameron
f4d83f5ebf Priorize the dynamically assigned IP 2023-07-16 14:14:18 -07:00
Jamie Cameron
f1b2adaa59 Fixes for CentOS 8 2022-10-30 22:05:17 -07:00
Jamie Cameron
d54fa9028b Network line sometimes has 'metric XXX' in it https://github.com/virtualmin/virtualmin-pro/issues/25 2022-04-26 18:56:04 -07:00
Ilia Rostovtsev
216b8ea2e4 Fix to match a token multiple times
https://sourceforge.net/p/webadmin/bugs/5535/
2021-12-16 13:55:29 +03:00
Jamie Cameron
18d0c858c8 Handle new format for secondary IPs 2021-08-25 10:38:59 -07:00
Jamie Cameron
e39b67c98c Support 'secondary' IP keyword https://github.com/webmin/webmin/issues/1506 2021-08-14 17:53:37 -07:00
Jamie Cameron
f8e3de083f Quote all command inputs 2021-05-29 15:29:45 -07:00
Jamie Cameron
6bacd8fd48 vtnet interfaces are ethernet https://www.virtualmin.com/node/70742 2021-02-24 22:58:50 -08:00
Jamie Cameron
3ef3c44af9 Handle interface numbers above 9 00~https://sourceforge.net/p/webadmin/bugs/5383/01~ 2020-06-27 12:55:14 -07:00
Jamie Cameron
ea2f537904 Handle different order of dynamic and noprefixroute https://github.com/webmin/webmin/issues/1217 2020-03-20 22:31:05 -07:00
Jamie Cameron
83327e5d15 Support new ip addr output format 2020-02-03 16:18:50 -08:00
Jamie Cameron
38e22aa37f Deal with another interface name format https://github.com/webmin/webmin/issues/1184 2020-01-26 22:18:03 -08:00
Javier Pastor
423120a721 fix: "active_interfaces" not detect interface vlan. 2019-09-05 16:52:00 +02:00
Jamie Cameron
ab0c84eed5 Support noprefixroute option https://www.virtualmin.com/node/66738 2019-08-11 16:09:40 -07:00
Jamie Cameron
2ab5ff1b7e Small fix to previous patch 2019-05-18 18:00:37 -07:00
Jamie Cameron
81f9d1239b Handle another ip addr output line https://www.virtualmin.com/node/65844 2019-05-18 17:57:55 -07:00
Jamie Cameron
5794174f05 Handle word 'dynamic' in ip addr output https://www.virtualmin.com/node/65844 2019-05-12 11:42:28 -07:00
Jamie Cameron
694599a2d3 Handle vlan interfaces properly https://github.com/webmin/webmin/issues/1045 2019-04-14 22:29:21 -07:00
Jamie Cameron
8662a30432 Broadcast can be missing https://github.com/webmin/webmin/issues/1040 2019-04-06 20:23:33 -07:00
Jamie Cameron
797039fb80 Handle case where eth0 has no IP but eth0:1 exists https://github.com/webmin/webmin/issues/1009 2019-01-21 18:45:12 -08:00
Jamie Cameron
a9596b5ef8 Stop stripping off first virtual IP address in ip addr output on CentOS 6 https://www.virtualmin.com/node/58191 2018-08-26 18:57:37 -07:00
Jamie Cameron
fd4377b22b Deal with an unusual ip addr format seen on CentOS 6 https://www.virtualmin.com/node/58191 2018-08-06 11:46:11 -07:00
Jamie Cameron
a06f6010db Don't assume that interface numbers in 'ip addr' output are in order 2018-07-11 17:39:16 -07:00
Jamie Cameron
7d23bb1aff More work on netplan support for DNS 2018-07-08 23:27:04 -07:00
Jamie Cameron
c0b340f5b6 Work on reading netplan DNS configs 2018-06-17 22:52:07 -07:00
Jamie Cameron
a8f3f18452 Use ip command in preference, as ifconfig doesn't include all IPs 2018-06-10 16:08:48 -07:00
Jamie Cameron
08a1f3db74 If speed is reported as Unknown, don't use it 2017-05-31 18:19:27 -07:00
Jamie Cameron
2c194271fc ref and use columns can collide https://sourceforge.net/p/webadmin/bugs/4939/ 2017-04-18 23:25:21 -07:00
Jamie Cameron
36b15f2615 Properly identify other bridge types https://github.com/webmin/webmin/issues/482 2017-01-18 15:45:13 -08:00
Jamie Cameron
8cb9515e0b Re-factor code for OS-specific DNS configs https://github.com/webmin/webmin/issues/238 2015-07-26 13:13:08 -07:00
Jamie Cameron
9938636224 Clarify param meaning 2015-02-08 10:35:53 -08:00
Jamie Cameron
ac8634bf75 Actually, the inet6 addr: format is only used by the ifconfig command 2015-02-08 10:34:49 -08:00
Jamie Cameron
5a8ae25d02 Handle different output format from ip addr command http://virtualmin.com/comment/edit/143915 2015-02-08 10:33:03 -08:00