15378 Commits

Author SHA1 Message Date
Franco Fichtner
c59a06f645 firmware: sort plugins before store; closes #6616 2023-06-15 13:24:51 +02:00
Franco Fichtner
96460cf330 dhcp: tighten expire logic for delegated prefix routes
We need to expire existing routes as well in order to get rid
of the old gateway, because deleting with the new gateway given
will not delete the existing route to another one.

Also bring back (and actually use) the active binding check
before storing an address or prefix for processing.

Use "null" to designate that these are expired, later overwritten
if an active lease is there.
2023-06-15 09:40:14 +02:00
Franco Fichtner
23c913918e dhcp: avoid parse_duid() duplication
We know this works so clean this up properly now.
2023-06-14 14:52:54 +02:00
Franco Fichtner
617d0f62a1 dhcp: improve prefix script readability and flow
Assign copyright due to fundamntal work since 2022 here.
2023-06-14 14:43:54 +02:00
Franco Fichtner
c868a2e4bf dhcp: fix includes 2023-06-12 14:54:29 +02:00
Franco Fichtner
a738136847 dhcp: use static mapping to find a gateway to delegated prefix
PR: https://forum.opnsense.org/index.php?topic=34416.0
2023-06-12 13:14:05 +02:00
Franco Fichtner
188df11552 dhcp: fix IPv6 lease page undefined vars and other issues 2023-06-12 12:48:22 +02:00
Franco Fichtner
b0b34c5866 system: extra careful... DST might not be there 2023-06-09 09:42:48 +02:00
Franco Fichtner
9b50a77f32 system: fix extra mile add last symlink for kernel 2023-06-09 09:36:17 +02:00
Franco Fichtner
072440697d system: fix typo 2023-06-09 09:30:13 +02:00
Franco Fichtner
64be3606c4 system: kgdb wants debug version 2023-06-09 09:25:32 +02:00
Franco Fichtner
9e25bf7c85 system: copy of kernel for "kgdb -n X" to work
It's ignored by crash reporter already due to size constraints.
2023-06-09 08:56:44 +02:00
Franco Fichtner
ef515f925a system: simplify/unify previous 2023-06-08 15:00:55 +02:00
Franco Fichtner
0a74256241 system: remove vmcore files earlier 2023-06-08 14:51:28 +02:00
Franco Fichtner
c9944b647c system: "handle" big crash files 2023-06-08 14:46:22 +02:00
Franco Fichtner
de57607a06 system: allow notice for vmcore files too 2023-06-08 14:09:26 +02:00
Franco Fichtner
dcc9c40514 system: create core dump with debug kernel 2023-06-08 13:41:46 +02:00
William Desportes
65402b72cc src: remove noodp and noydir, they do not serve any SEO purpose now 2023-06-07 14:57:21 +02:00
William Desportes
694d828ab1 Improve CONTRIBUTING 2023-06-07 14:51:43 +02:00
Franco Fichtner
45726533f5 ipsec: only write /var/db/ipsecpinghosts if not empty; closes #6600 2023-06-07 14:46:14 +02:00
William Desportes
97343e3aae ref #6596 - stop touching /var/run/booting
Ref: https://github.com/opnsense/core/issues/6596#issuecomment-1575160947
2023-06-07 13:07:24 +02:00
Franco Fichtner
81fa5fd332 firmware: disable until we have updated opnsense-update 2023-06-07 10:22:34 +02:00
Franco Fichtner
c6cf3312ad firmware: style 2023-06-06 11:00:49 +02:00
Franco Fichtner
41b5e641cf firmware: let opnsense-update -u stage the kernel as well
And only replace kernel if the pre-upgrade hook went ok.
2023-06-06 09:36:36 +02:00
Franco Fichtner
ea8338767d firmware: if the kernel hasn't been applied do it now
"opnsense-update -u" changes to not apply the kernel and the upgrade
script will handle it.  But in case this is going to be scripted by
the user we should just make sure this still needs to be taken care of
adding an extra reboot but that's ok.
2023-06-06 09:12:36 +02:00
Franco Fichtner
afcb402aae firmware: shift key extract to "-x" option
We need "-K" for deferred kernel install.
2023-06-06 08:44:29 +02:00
Franco Fichtner
38772514fa firmware: make a note about future work (FreeBSD 14) 2023-06-06 08:13:28 +02:00
Franco Fichtner
428bc2f4a2 system: propagate error in rc.syshook scripts #6594
We could stop on first problem but that woul likely break a number
of setups that use boot early/start hooks with sloppy coding.

Instead make the full run as an error and report it at the end.
2023-06-05 13:52:56 +02:00
Franco Fichtner
72cae559d7 firmware: refactor for clarity 2023-06-05 13:34:02 +02:00
Franco Fichtner
5f60391b63 firmware: handle script errors by aborting the upgrade #6594
The individual scripts should return an error and clean up
their state in case they aborted (which isn't too easy but
in most cases moving the relevant files to the final location
is a good way of dealing with this problem).
2023-06-05 13:32:19 +02:00
Franco Fichtner
cea3afd44c firmware: pre-upgrade hook #6594
Make sure we are ready for reboot with kernel replaced but
not yet booted.  This way we can run the migration in the
last possible correct spot.  We might even abort on errors
here which might be handy to catch issues... to be discussed.
2023-06-05 12:38:48 +02:00
Franco Fichtner
af5834600c system: do a full transition on gateway group apply 2023-06-05 09:04:09 +02:00
Franco Fichtner
6607268a23 interfaces: adjust this for moving it to stable safely
While this should work let's try not to assume how the interface
names look like and just match until the next known delimiter by
excluding it and accepting all other characters.
2023-06-05 08:39:29 +02:00
Franco Fichtner
a0f2e8fac8 openvpn: widget style tweaks 2023-06-05 08:24:59 +02:00
William Desportes
a7b1a70533
Fix some typos (#6598)
* src: fix a typo in a translation string

* src: fix typos in comments and SECURITY.md
2023-06-04 10:38:04 +02:00
agh1467
a337d62008
ipsec: Check ipsec config exists before using, closes #6411 (#6412)
* ipsec: Check ipsec config exists before using, closes #6411
2023-06-04 10:26:14 +02:00
William Desportes
d82396db4f
src: fix phpdocs (#6599) 2023-06-04 10:21:24 +02:00
Ad Schellevis
6b40db6c2a Services: Monit: Settings - fix typo in validation message 2023-06-03 13:51:23 +02:00
Franco Fichtner
0200f79a19 system: dealing with "sleep 60" and signals in scripts is hard...
PR: https://forum.opnsense.org/index.php?topic=34241.0
2023-06-03 12:30:57 +02:00
Ad Schellevis
7273bba2c1 Services: Monit: Settings - fix "not on" validation. closes https://github.com/opnsense/core/issues/6591 2023-06-03 09:45:57 +02:00
Franco Fichtner
fdf46f317c system: improve RRD collector PID/service handling
PR: https://forum.opnsense.org/index.php?topic=34241.0
2023-06-03 09:26:55 +02:00
Ad Schellevis
038d5b9bcf Services: Web Proxy: Access Log - syslog parsing cleanup. closes https://github.com/opnsense/core/issues/6588 2023-06-01 08:34:15 +02:00
Franco Fichtner
962c388c58 src: style sweep 2023-05-31 16:29:30 +02:00
Ad Schellevis
e9edb11535
VPN: OpenVPN: Instances (MVC) (#6584)
* VPN: OpenVPN: Instances - add new module using the same approach as introduced for IPsec in 23.1. Since we likely can't easily migrate the old cruft, we better focus on offering the correct options for openvpn following upstream documentation.

o add boilerplate
o implement a solution to keep vpnid's unique so device creation for legacy and mvc can function in similar ways.
o add some of the main "helper" options for clients and servers
o Implement certificate logic, selecting a certificate also implies an authority (which we validate)
o hook CRL generation into the exising openvpn_refresh_crls() event
o attach already refactored authentication to new MVC as well, OpenVPN->getInstanceById() is responsible for feeding the data needed during authentication and overwrite generation.
o when in client mode and in need for a username+password combination, flush these to file and link in "auth-user-pass"
o routes (remote) and push routes (local), combine IPv4 and IPv6 for ease of administration,
o keep alive [push] ping-[restart] defined as seperate fields for validation
o add various "push" to client options in Miscellaneous section
o add "auth-gen-token" lifetime for https://github.com/opnsense/core/issues/6135
o allow selection of redirect-gateway type for https://github.com/opnsense/core/issues/6220
o move tls-auth/crypt into separate static keys objects (tab in instances page)
o hook existing events (ovpn_event.py) and make sure they locate the server using getServerById() when needed
o use getInstanceById in openvpn_prepare() to return both legacy as MVC device configuration
o add ovpn_service_control.php for service control [stop|start|restart|configure] and glue this in openvpn_services() via configd
o change openvpn_interfaces() to use isEnabled() method on the model to query if any (legacy/mvc) instances are enabled
o move openvpn_config() from openvpn.inc to widget and extend with MVC instances
o extend ovpn_status.py to parse "instance-" sockets as well, since the filename doesn't explain the role, we're using the status call to figure out the use. uuid's are keys in this case
o server_id type to str in kill_session.py so we can match either legacy or mvc sockets
o hook ExportController to OpenVPN model using getInstanceById() to glue the Client Export utility to both components
o extend connection status with mvc sessions (descriptions)

---------

Co-authored-by: Franco Fichtner <franco@opnsense.org>
2023-05-31 16:04:43 +02:00
Ad Schellevis
f5868fd0f1 Daskboard/OpenVPN widget - fix typo 2023-05-31 16:00:12 +02:00
Ad Schellevis
5d29d382c2 Filter - remove duplicate table defintions as these are already added via src/opnsense/mvc/app/models/OPNsense/Firewall/static_aliases/core.json 2023-05-31 12:46:55 +02:00
Franco Fichtner
74c3125e0d system: do not delete pid file
PR: https://forum.opnsense.org/index.php?topic=34241.0
2023-05-31 10:05:23 +02:00
Ad Schellevis
1c9677c82a VPN: IPsec: Connections - Support the default selector ([dynamic]) when local_ts or remote_ts are left empty. closes https://github.com/opnsense/core/issues/6579 2023-05-30 18:01:27 +02:00
Franco Fichtner
efcc7fcffa system: pluginctl -s batch mode like -S #6582
Refactor the code to take advantage of the -S behaviour and
also ditch the extra service_control_status() since already
fetched the status ourselves and it's used nowhere else.
2023-05-30 15:09:54 +02:00
Franco Fichtner
e454ed03bf interfaces: cleanups for #6583 2023-05-30 08:25:02 +02:00