OPNSense/core 9abf17bsrc/opnsense/scripts/kea kea_prefix_watcher.py

kea: Use hostwatch as ndp source in kea_prefix_watcher script
DeltaFile
+26-16src/opnsense/scripts/kea/kea_prefix_watcher.py
+26-161 files

OPNSense/core 6c10a1csrc/www firewall_rules.php

firewall: make previously associated DNAT rules editable

Also need to go through the edit page but first this as a
reminder.
DeltaFile
+0-22src/www/firewall_rules.php
+0-221 files

OPNSense/core 8d7629dsrc/etc/inc/plugins.inc.d dhcpd.inc

isc-dhcp: check if device we try to configure exists in the system

PR: https://github.com/opnsense/plugins/issues/5169
DeltaFile
+4-0src/etc/inc/plugins.inc.d/dhcpd.inc
+4-01 files

OPNSense/core 42158casrc/etc rc.newwanipv6, src/etc/inc interfaces.inc

interfaces: avoid forced reloads when PDINFO is not set #9521

PDINFO, the variable we get from dhcp6c has only reply packet
context and may not be correct when it's renewing a NAINFO for
example.  Ignore the event when not set and add more logging
for the specific case to see if the PPPoE loop is stopped with
that approach.

It may not be stopped since the possibility for a shift of the
PD is still there, but that would mean we're not allowed to
reload a connected PPPoE for specifc reasons we need to find
out.

PR: https://forum.opnsense.org/index.php?topic=50505.0
(cherry picked from commit 3248b4d2315f8e0efd32b5c4c16654cb31c60e32)
DeltaFile
+14-10src/etc/inc/interfaces.inc
+6-6src/etc/rc.newwanipv6
+20-162 files

OPNSense/core 3248b4dsrc/etc rc.newwanipv6, src/etc/inc interfaces.inc

interfaces: avoid forced reloads when PDINFO is not set #9521

PDINFO, the variable we get from dhcp6c has only reply packet
context and may not be correct when it's renewing a NAINFO for
example.  Ignore the event when not set and add more logging
for the specific case to see if the PPPoE loop is stopped with
that approach.

It may not be stopped since the possibility for a shift of the
PD is still there, but that would mean we're not allowed to
reload a connected PPPoE for specifc reasons we need to find
out.

PR: https://forum.opnsense.org/index.php?topic=50505.0
DeltaFile
+14-10src/etc/inc/interfaces.inc
+6-6src/etc/rc.newwanipv6
+20-162 files

OPNSense/core 4ae2ddc. plist, src/etc/rc.syshook.d/start 90-hostwatch

interfaces: do not handle hostwatch user/group from here

PR: https://github.com/opnsense/hostwatch/issues/7

(cherry picked from commit fe145d99ae3f1c130e158cf1aaea7b5d2d9c9095)
(cherry picked from commit 2b19239c1437a6437f24413c2fab5b62bd23017f)
DeltaFile
+0-4src/etc/rc.syshook.d/start/90-hostwatch
+1-1src/opnsense/service/templates/OPNsense/Hostdiscovery/rc.conf.d
+0-1plist
+1-63 files

OPNSense/core a4875b0src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php, src/opnsense/mvc/app/models/OPNsense/Kea/FieldTypes KeaPoolsField.php

Services: Kea DHCP: Kea DHCPv6 - add pool in net validation, for https://github.com/opnsense/core/issues/9343

(cherry picked from commit 6a666e804a78605798aa303ed2a12158ce0bde69)
DeltaFile
+15-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+10-0src/opnsense/mvc/app/models/OPNsense/Kea/FieldTypes/KeaPoolsField.php
+25-02 files

OPNSense/core bae13c5src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogReservation6.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv6.php

Services: Kea DHCP: Kea DHCPv6 / Rervations - allow hw-address for reservations (in stead of DUID), closes https://github.com/opnsense/core/issues/9282

(cherry picked from commit b9b9336975fa589c23b2dfc2309b615330fcf7ad)
DeltaFile
+12-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+6-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+6-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation6.xml
+24-23 files

OPNSense/core ffe892asrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.php KeaDhcpv6.php

Services: Kea DHCP - add libdhcp_host_cmds.so to expose (internal) api commands for reservations, closes https://github.com/opnsense/core/issues/9646

(cherry picked from commit 592f9f13341b1e80a2c052643f2624c23eb686eb)
DeltaFile
+3-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+3-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+6-02 files

OPNSense/core 1940090src/opnsense/scripts/filter/lib/alias __init__.py

Firewall: Aliases - expire geoip aliases when there's either no database installed or its newer than the alias contents populated. closes https://github.com/opnsense/core/issues/9374

In the long run we should probably refactor the alias class so different types can have their own implementations, but this has a lot more impact than injecting a specific expire() implementation for geoip information at its current spot.

The additional advantage of this change is it will update aliases before their TTL expires when the geoip database is newer than the alias content.

(cherry picked from commit 7bb40089867079e75857823d26ecdee5b12075d8)
DeltaFile
+13-0src/opnsense/scripts/filter/lib/alias/__init__.py
+13-01 files

OPNSense/core 9e044absrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ProtocolField.php BaseField.php

mvc: add ChangeCase support to ProtocolField for DNAT special case (#9643)

Use the ChangeCase BaseField extension because it's already being tested
and add more tests and safeguards so that the cache knows which case is
going on (also if 'any' needs to be used).

The 'any' value is a bit tricky here.  Force it to lowercase in all cases
since it wasn't uppercased before either.

Also fix the display of anti-lockout protocol for consistency.

(cherry picked from commit 33e296120f1a453a1235dbc403f89efb2e9cd996)
DeltaFile
+48-32src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ProtocolFieldTest.php
+53-8src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ProtocolField.php
+20-17src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+2-1src/opnsense/mvc/app/models/OPNsense/Firewall/DNat.xml
+1-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+124-585 files

OPNSense/core 3e71cd7src/etc/inc/plugins.inc.d radvd.inc

radvd: remove faulty condition introduced in 733f5057d0c

I'm not sure why it was there.  No address means no working radvd.

(cherry picked from commit 3c86f5d10e1fb91305723312951bcd192410da0a)
DeltaFile
+1-1src/etc/inc/plugins.inc.d/radvd.inc
+1-11 files

OPNSense/core 5c33a36src/opnsense/mvc/app/models/OPNsense/Base/Menu MenuSystem.php

isc-dhcp: also show menu in idassoc6 mode

PR: https://forum.opnsense.org/index.php?topic=50474.msg257718#msg257718
(cherry picked from commit e1325c5d4dec6028fec4882169d9ce35f9203370)
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+1-11 files

OPNSense/core 9372de5. plist, src/etc/inc interfaces.inc

interfaces: generalise the dhcp6c_script using the new IFNAME variable #7647

The file was conceptually created in d36f0f4f62557 and before was a single
command line script... so add appropriate copyrights from that time onward.

Many thanks to Martin for pinoeering this back in the day!

interfaces: show the prefix shift in the log message

Move the other force message to the respective if which is more or
less what we had before.  This is important for making clear what
the impact of #9521 to renewals actually is.

interfaces: missed script path via @cm-rudolph
DeltaFile
+84-0src/opnsense/scripts/interfaces/dhcp6c_script.sh
+3-68src/etc/inc/interfaces.inc
+1-0plist
+88-683 files

OPNSense/core b24ccebsrc/etc/inc interfaces.inc, src/opnsense/scripts/interfaces rtsold_script.sh

interfaces: multi-dhcp6c support and custom PD association #7647

This splits off rtsold and dhcp6c into separate processes
which frees us from the restrictions of faked iterative IDs
for PD associations.  For NA we simply default to 0 now.

I'm not entirely sure why we settled for a single deamon of
dhcp6c back in the day, but there are certianly downsides to
it and I don't see something that wasn't fixed in the meantime
that makes this not work.

Add two debugging files which still need to be steered via the
debug setting.
DeltaFile
+21-53src/etc/inc/interfaces.inc
+58-4src/www/interfaces.php
+6-6src/opnsense/scripts/interfaces/rtsold_script.sh
+85-633 files

OPNSense/core 2d187b6src/www interfaces.php

interfaces: looks like an oversight in validation

In the configuration there only exists "track6", but for "idassoc6" we
were looking for that instead which PHP could confuse with a "0" value
when empty.

PR: https://forum.opnsense.org/index.php?topic=50488.0
(cherry picked from commit c3a24de1b5f70cce75f7eb9980caccd197f60fee)
DeltaFile
+1-1src/www/interfaces.php
+1-11 files

OPNSense/core c3a24desrc/www interfaces.php

interfaces: looks like an oversight in validation

In the configuration there only exists "track6", but for "idassoc6" we
were looking for that instead which PHP could confuse with a "0" value
when empty.

PR: https://forum.opnsense.org/index.php?topic=50488.0
DeltaFile
+1-1src/www/interfaces.php
+1-11 files

OPNSense/core 6a666e8src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php, src/opnsense/mvc/app/models/OPNsense/Kea/FieldTypes KeaPoolsField.php

Services: Kea DHCP: Kea DHCPv6 - add pool in net validation, for https://github.com/opnsense/core/issues/9343
DeltaFile
+15-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+10-0src/opnsense/mvc/app/models/OPNsense/Kea/FieldTypes/KeaPoolsField.php
+25-02 files

OPNSense/core 3c86f5dsrc/etc/inc/plugins.inc.d radvd.inc

radvd: remove faulty condition introduced in 733f5057d0c

I'm not sure why it was there.  No address means no working radvd.
DeltaFile
+1-1src/etc/inc/plugins.inc.d/radvd.inc
+1-11 files

OPNSense/core e1325c5src/opnsense/mvc/app/models/OPNsense/Base/Menu MenuSystem.php

isc-dhcp: also show menu in idassoc6 mode

PR: https://forum.opnsense.org/index.php?topic=50474.msg257718#msg257718
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+1-11 files

OPNSense/core 592f9f1src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.php KeaDhcpv6.php

Services: Kea DHCP - add libdhcp_host_cmds.so to expose (internal) api commands for reservations, closes https://github.com/opnsense/core/issues/9646
DeltaFile
+3-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+3-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+6-02 files

OPNSense/core b9b9336src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogReservation6.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.xml KeaDhcpv6.php

Services: Kea DHCP: Kea DHCPv6 / Rervations - allow hw-address for reservations (in stead of DUID), closes https://github.com/opnsense/core/issues/9282
DeltaFile
+12-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+6-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+6-0src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation6.xml
+24-23 files

OPNSense/core 7bb4008src/opnsense/scripts/filter/lib/alias __init__.py

Firewall: Aliases - expire geoip aliases when there's either no database installed or its newer than the alias contents populated. closes https://github.com/opnsense/core/issues/9374

In the long run we should probably refactor the alias class so different types can have their own implementations, but this has a lot more impact than injecting a specific expire() implementation for geoip information at its current spot.

The additional advantage of this change is it will update aliases before their TTL expires when the geoip database is newer than the alias content.
DeltaFile
+13-0src/opnsense/scripts/filter/lib/alias/__init__.py
+13-01 files

OPNSense/core 33e2961src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ProtocolField.php BaseField.php

mvc: add ChangeCase support to ProtocolField for DNAT special case (#9643)

Use the ChangeCase BaseField extension because it's already being tested
and add more tests and safeguards so that the cache knows which case is
going on (also if 'any' needs to be used).

The 'any' value is a bit tricky here.  Force it to lowercase in all cases
since it wasn't uppercased before either.

Also fix the display of anti-lockout protocol for consistency.
DeltaFile
+48-32src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ProtocolFieldTest.php
+53-8src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ProtocolField.php
+20-17src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+2-1src/opnsense/mvc/app/models/OPNsense/Firewall/DNat.xml
+1-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+124-585 files

OPNSense/core 1f30870src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes ProtocolFieldTest.php

Apply suggestion from @fichtner
DeltaFile
+1-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/ProtocolFieldTest.php
+1-11 files

OPNSense/core 6481ac7src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ProtocolField.php

Apply suggestion from @fichtner
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ProtocolField.php
+1-11 files

OPNSense/core d0b3d00src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

Apply suggestion from @fichtner
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+1-11 files

OPNSense/core 3a32bf9src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

Apply suggestion from @fichtner
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+1-11 files

OPNSense/core 2b19239. plist, src/etc/rc.syshook.d/start 90-hostwatch

rc: hostwatch glitch should be gone in RC2 with latest package

PR: https://github.com/opnsense/hostwatch/issues/7
DeltaFile
+0-4src/etc/rc.syshook.d/start/90-hostwatch
+0-1plist
+0-52 files

OPNSense/core 23cdeb0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ProtocolField.php BaseField.php

mvc: small tweaks in CaseChange behaviour esp. for ProtocolField
DeltaFile
+32-11src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ProtocolField.php
+6-5src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+38-162 files