4832 Commits

Author SHA1 Message Date
Franco Fichtner
46514ec7d5 interfaces: finally move plugin defintions to plugins 2022-08-29 09:43:32 +02:00
Franco Fichtner
2a3aaf9e06 interfaces: convert lagg and simplify assignment page
list_devices() shouldn't change in the way it's generated
pre- or post-write so just us a pre-write invoke to get the
list of assignable devices.

Not completely true for weird WLAN case with the parent
assignment but sooner or later we will be able to get rid
of that as well.
2022-08-29 09:36:52 +02:00
Franco Fichtner
e557ab6372 interfaces: move ppp assignments 2022-08-29 09:06:38 +02:00
Franco Fichtner
56f8bae72a interfaces: convert vlan assignments 2022-08-29 08:44:28 +02:00
Franco Fichtner
b9bdf760b8 interfaces: 'sections' are arcane now, simplify to type tag 2022-08-29 08:38:27 +02:00
Franco Fichtner
d095546dcb interfaces: convert openvpn assignments 2022-08-29 08:27:10 +02:00
Franco Fichtner
b22c205970 ipsec: pattern was already registered above 2022-08-29 08:14:04 +02:00
Franco Fichtner
494437c1b8 interfaces: convert vxlan 2022-08-29 08:12:44 +02:00
Franco Fichtner
6f91dc4683 interfaces: finish wireless/wlan rework #5987
* Devices are now configured inline or directly via pluginctl
* Try to use "wlan" underneath as shorter and upstream term
2022-08-29 07:46:31 +02:00
Franco Fichtner
84f0544af3 interfaces: pluggable assignments for gif/gre 2022-08-28 21:03:41 +02:00
Franco Fichtner
6738e5fa9e interfaces: bridges to pluggable assignments
Should all be taken care of in a morning with equal amounts
of coffee.
2022-08-28 14:30:44 +02:00
Franco Fichtner
b386e61d82 interfaces: convert ipsec devices
Removes them from get_interface_list() and shows their description
on the assignments page.  It's already in the interface name but
we should adhere to consistency in the select box.
2022-08-28 14:18:58 +02:00
Franco Fichtner
394d8e10f5 interfaces: flip 'names' arrays to merge 'assign' data
We can assign these from here when the name value is not null.
2022-08-28 13:44:48 +02:00
Franco Fichtner
9b2455c8ab interfaces: same for loopback 2022-08-28 13:28:58 +02:00
Franco Fichtner
64222bc06f interfaces: merge assign and names array contents
We only need one of them eventually.
2022-08-28 13:26:34 +02:00
Franco Fichtner
6a2f428e79 system: style sweep 2022-08-28 13:26:15 +02:00
kulikov-a
840ddc52f7
GUI: match cipher suites and commands (#5993) 2022-08-27 15:06:39 +02:00
Ad Schellevis
244cd1f040 rrd - fix php notice 'Warning: Undefined array key "description" in /usr/local/etc/inc/rrd.inc on line 132' 2022-08-27 14:50:39 +02:00
Franco Fichtner
f052ae4bc2 interfaces: convert wlan assignment (hides ugly code) 2022-08-26 12:55:28 +02:00
Franco Fichtner
f72a06d1d5 interfaces: dynamic assignments for loopback 2022-08-26 12:33:57 +02:00
Franco Fichtner
ad2dc14e97 interfaces: make wireless handling less messy #5987
* get_interface_list() now excludes wlan parents
* console needs to cope with that change, restructuring
* add wlan device visbility for pluginctl
* use section logic in assignment to match wireless
* during assignment save move i.e. "iwn0" to "iwn0_wlan0"
  since the console also does this now so that the firewall
  rules expansion is correct
* speed up assignment a little by calling plugins_devices()
  only once
* fix 'status' key warning for PHP 8+
2022-08-26 12:04:49 +02:00
Franco Fichtner
b06423d342 interfaces: get_real_interface() requires internal key #5987 2022-08-26 10:01:54 +02:00
Franco Fichtner
2809ac290c interfaces: fix spacing 2022-08-25 21:54:41 +02:00
Franco Fichtner
42a903d201 interfaces: not an error 2022-08-25 13:56:09 +02:00
Franco Fichtner
74ae12b2f1 system: enable true again, killed in wrong code path 2022-08-25 13:31:17 +02:00
Franco Fichtner
239b47af36 system: up/down doesn't work on wlan parent 2022-08-25 13:23:31 +02:00
Franco Fichtner
ead2c880c6 system: console PHP 8+ issues and inconsistencies 2022-08-25 13:16:47 +02:00
Franco Fichtner
79e122ff08 system: console assignment strangeness 2022-08-25 12:46:31 +02:00
Franco Fichtner
9b21ba8243 interfaces: guard wireless settings consistently #5987 2022-08-25 12:02:56 +02:00
Franco Fichtner
8a0b54be52 interfaces: do not append empty standard #5987 2022-08-25 11:47:03 +02:00
Franco Fichtner
c5757e3ab4 firewall: remove dead pptpd server code 2022-08-25 11:24:46 +02:00
Franco Fichtner
70973c8cc8 interfaces: wireless issue on boot #5987 2022-08-25 11:12:18 +02:00
Franco Fichtner
ddb79243cc interfaces: sprinkle "up" earlier for #5946
For most purposes adding an IPv4 or IPv6 address already does the
UP/RUNNING thing and DHCP and PPPoE might as well so at the point
when we add the description bring it "up" explicity as well and
remove the later interface_bring_up() call.

For rtsold this is also required and IPv6 device might be different
from main device so add another "up" there and then also follow-up
with another "up" and "description" in case the main device and
IPv6 device differ.

On the overlap cases the duplicated "up" additions do not slow down
the boot.
2022-08-25 09:27:38 +02:00
Franco Fichtner
c01ad5059f interfaces: reduce indent in code to match IPv4 2022-08-25 08:49:53 +02:00
Franco Fichtner
859669e1e7 system: natsort() is better for opt9, opt10 reorder issue 2022-08-24 20:57:45 +02:00
Franco Fichtner
dee270a851 firewall: get lockout interface from get_primary_interface_from_list()
It's better logic than before as it uses all optX.  Found while grepping for opt1.
2022-08-24 20:50:54 +02:00
Franco Fichtner
ac2fb5654f interfaces: audit current changes #5987
Two things here: use the actual device name ('if' key) and repair
long broken opt code mismatching on index (there is no opt0).
2022-08-24 20:42:07 +02:00
Franco Fichtner
4758c7cecf interfaces: remove interface_get_wireless_clone() #5987
Use the hardcoded _wlan0 append when we have the base interface already.
This only happens to "count" the number of existing clones.

We also get the opportunity to clean up get_real_interface() which was
a bit ironic calling interface_get_wireless_clone() three times and then
the other wireless code ignoring get_real_interface() in favour of
interface_get_wireless_clone().
2022-08-24 15:23:07 +02:00
Franco Fichtner
feb7a4615d interfaces: remove is_interface_wireless() #5987
Make the presence of <wireless/> node authoritative except
for the assignment page where we need to set this node in
the first place.

Now pivot away from a handrolled regex of devices names to
trust the output of the sysctl net.wlan.devices which is also
the prefix for our clones.
2022-08-24 14:10:28 +02:00
Franco Fichtner
2b9f029819 interfaces: stop calling match_wireless_interface() everywhere #5987
Restructure return value of legacy_interface_listget() to return
WLAN-only devices present in the system and avoid returning null
value to simplify the couple of callers (some already assumed as
much).

Assume that <wireless/> node is properly set since console.inc
always did store this.  Not sure about wireless clones yet, but
will check and fix in the scope of this ticket anyway.

get_interface_list() moves to interfaces.lib.inc since it uses
most functions from there and util.inc should not want to know
about interface details in the first place.  We need this later
when we work through interfaces_assign.php for device iteration
reasons.
2022-08-24 12:19:04 +02:00
Franco Fichtner
940e4962f3 system: fix lint warning on older PHP 2022-08-24 07:49:46 +02:00
Franco Fichtner
3819c7d118 system: style sweep 2022-08-23 17:03:50 +02:00
Stephan de Wit
2cbd7fc768
CRL: add support for phpseclib3 (#5986) 2022-08-23 14:27:56 +02:00
Franco Fichtner
840c465d2b interfaces: configure all hardware devices on bootup; closes #5985 2022-08-23 10:32:58 +02:00
Franco Fichtner
029f0c217e src: style sweep 2022-08-23 10:32:03 +02:00
Franco Fichtner
dd4edff0fd interface: only parse actual options, not nd6 options #5985 2022-08-23 10:16:06 +02:00
Franco Fichtner
041e92a320 system: resolv.conf search is FQDN #5862 2022-08-23 08:30:47 +02:00
Franco Fichtner
f3b51b36bb interfaces: fix wrong status #5974 2022-08-22 20:52:25 +02:00
Franco Fichtner
05922760bd interfaces: status page warnings and dhcp6link fix; closes #5974
The buttons shown do the same for IPv4 and IPv6 so that might be a bit
misleading, but let's go from here.
2022-08-22 08:55:23 +02:00
Maurice Walker
f782ccb8c4 Web GUI: fix IPv6 link-local HTTP_REFERER check
Allow accessing Web GUI via link-local IPv6 addresses by ignoring %scope suffix when performing HTTP_REFERER check.
2022-08-22 08:18:37 +02:00