Interfaces: Assignments - work in progress for https://github.com/opnsense/core/issues/9945
In order to migrate the interface assignments, we need to think of a way to use the differently named xml nodes for interfaces (wan, lan, ..) into something that closely resembles a standard model implementation.
Since we can't match these nodes in our statically defined model xmls, the main idea is to flush all via an in-memory model with a separate load [construct] and save hook [serializeToConfig].
The next challenge is to "stash" updates and wait for "apply" in certain cases, for this we add some temporary attributes to the configuration which are synced after the actual system change has happend (pending_action, pending_if). When succesfully applied, the apply function cleans up the final stage of the configuration to make everything consistent again.
firmware: stop buffering in sed
Since cmd_output was made the generic filter for subscriptions
the update log showed signs of excessive buffering. This brings
it back to where it was and also improves the old read case.
network time: cleanse port option before use
This is also a continuation of 770480715b15. Moving the validation
inside the respective function makes sense. Also checking if the
name and expected file type is present before continuing.
Also bring in the PPS unlink() fix into GPS and always use the default
init string if nothing else given -- may be wrong but at least this
was the code intention only obscured by the wrong logic expression.
PR: GHSA-872g-g543-j37m
(cherry picked from commit 3183b3ed1fc0f66234b61143304e7ac0c57ba6f6)
network time: cleanse port option before use
This is also a continuation of 770480715b15. Moving the validation
inside the respective function makes sense. Also checking if the
name and expected file type is present before continuing.
Also bring in the PPS unlink() fix into GPS and always use the default
init string if nothing else given -- may be wrong but at least this
was the code intention only obscured by the wrong logic expression.
PR: GHSA-872g-g543-j37m
mvc: OptionField: allow empty values in options
This falls back to the key which isn't going to be translated
since it's likely a technical term or keyword.
Also translate the $subvalue which appears to have been missed
before.
(cherry picked from commit b187227683de93cb705d6290090aaa708354edf1)
mvc: unify migration message returns a bit
Mostly noticed due to "check log for details" which now in
most cases is not relevant since we use the verbose flag.
(cherry picked from commit cd2e12ed9f8255b9a022d208d2e9a72efe51a824)
cron: allow unregistered actions to be deleted
Also add a user exception so the users knows what's going on
when not being able to delete.
(cherry picked from commit ae08b03b53c8d24358bd7ecbfb6f8e349ac8ba8e)
Firewall: NAT: download/upload rules as csv (#10371)
* Firewall: Turn downloadRules and uploadRules into a protected function inside FilterBaseController, implement it in Firewall rules and NAT pages