36 Commits

Author SHA1 Message Date
Ilia Ross
8ba6a02122 Merge branch 'master' into dev/add-deb-dhcpcd-support-1607 2026-06-21 00:00:06 +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
090aed60df Fix to remove unrelated network formatting cleanups 2026-06-20 14:44:51 +02:00
Ilia Ross
7ebe3f7dfa Add dhcpcd network backend for Debian and Raspberry Pi OS
This PR adds dhcpcd backend support for Debian and Raspberry Pi OS network configuration. It detects dhcpcd only as a final fallback after Netplan, NetworkManager, and ifupdown, preventing Webmin from incorrectly falling back to `/etc/network/interfaces` on dhcpcd-managed systems.

The new backend reads and writes `/etc/dhcpcd.conf`, including DHCP and static IPv4/IPv6 configuration, gateways, static routes, DNS servers, search domains, MTU, and virtual IPv4 aliases. It also supports implicit DHCP-managed interfaces for default dhcpcd setups with no explicit interface blocks, and handles `allowinterfaces` / `denyinterfaces` behavior.

This PR also fixes apply/delete flows for dhcpcd-managed interfaces and virtual aliases, avoids rewriting generated `/etc/resolv.conf`, preserves spacing/comments in touched hosts and nsswitch files, and tightens Active Now handling so virtual aliases are treated as IP addresses rather than independent links.

https://github.com/webmin/webmin/issues/1607
2026-06-20 01:57:50 +02:00
Ilia Ross
6574373761 Fix to detect NetworkManager networking on Debian
ⓘ Prefer Netplan when Debian has Netplan YAML config, otherwise select the existing NetworkManager backend for Debian systems with saved NM connection profiles, with regression tests for backend selection.

https://github.com/webmin/webmin/issues/2559
2026-06-02 01:33:59 +02:00
Jamie Cameron
07a46ff561 Start of work on networkmanager support 2023-06-14 21:27:12 -07:00
Ilia Rostovtsev
f69fa81e59 Fix to get safely using wrapper sub 2/2 2021-09-28 16:30:05 +03:00
Jamie Cameron
bd58c99d74 Finished off support for netplan 2021-09-10 18:00:16 -07:00
Jamie Cameron
ec3c00090d Show network config format in UI 2020-12-28 14:30:39 -08:00
Jamie Cameron
78bd566d9b User may be on netplan but have no configs yet 2020-11-20 16:57:50 -08:00
Ilia Rostovtsev
02e354a17c Check for configs too b6ad8b0f41 2020-11-11 11:32:02 +03:00
Jamie Cameron
b6ad8b0f41 Check for netplan command as well 2020-11-10 11:20:38 -08:00
Jamie Cameron
2437f73570 Netplan dir may exist but be empty https://www.virtualmin.com/node/70054 2020-11-03 20:35:40 -08:00
Jamie Cameron
b593551c5f For systems that don't need the broadcast address to be set in the config file, don't force it to be set https://github.com/webmin/webmin/pull/1278 2020-08-29 17:27:29 -07:00
Ilia Rostovtsev
68f1f5750e Add support for showing network interfaces on Dashboard https://github.com/authentic-theme/authentic-theme/issues/1453 2020-05-20 23:41:08 +03:00
Jamie Cameron
ec7140cc87 Complete CentOS 8 virtual interfsace support 2020-02-03 18:31:28 -08:00
Jamie Cameron
1b1579ad1b Allow commenting out of hosts file entries 2019-07-03 01:35:33 -07:00
Jamie Cameron
a86e5f5f8d Theme library may not be loaded 200. 2019-02-15 10:58:24 -08:00
Jamie Cameron
017da0b204 Allow theme override 2019-02-07 20:00:16 -08:00
Jamie Cameron
a6ade1804e Early work on Ubuntu 18's netplan config format 2018-06-16 14:16:18 -07:00
Jamie Cameron
581047a965 Compare fully qualified IPv6 addresses 2016-03-14 23:03:23 -07:00
Jamie Cameron
990e75724d Remove redundant fallback method http://virtualmin.com/node/36094 2015-02-08 10:30:22 -08:00
Jamie Cameron
1732751df7 Minor UI tweaks for Ubuntu 10.10 2011-02-12 10:24:52 -08:00
Jamie Cameron
c7661f6aef Fixes for redhat IPv6 support 2011-01-19 17:49:04 -08:00
Jamie Cameron
e329e2991d Debian boot-time IPv6 interface editing now working 2011-01-19 17:02:13 -08:00
Jamie Cameron
a9d5c6e244 Start of work on IPv6 support 2011-01-15 11:45:40 -08:00
Jamie Cameron
9dbd5db2c9 Fix permissions 2009-07-20 23:42:32 -07:00
Jamie Cameron
95fd0c9fd1 Disallow rules on virtual interfaces 2009-03-22 21:40:02 +00:00
Jamie Cameron
be040d91a8 Use new module 2009-03-01 20:43:38 +00:00
Jamie Cameron
bd3bbbb1fe Fix prefix to mask function 2008-11-13 18:47:36 +00:00
Jamie Cameron
27c6aeb556 UI library conversions 2008-08-18 00:38:04 +00:00
Jamie Cameron
c46ab04bff IPv6 support on Debian 2008-06-18 20:43:23 +00:00
Jamie Cameron
a439f0ad36 Fix slackware version detection 2007-08-06 23:48:09 +00:00
Jamie Cameron
560f87794c Catalan translation, other random fixes 2007-05-05 04:25:27 +00:00
Jamie Cameron
91e45c7fd8 Fixed broken SuSE 10.2+ support 2007-04-20 16:42:21 +00:00
Jamie Cameron
fc1c1b243f Initial checkin of Webmin 2007-04-12 20:24:50 +00:00