Raise an exception when the alias seems to be used and avoid removal, keep behaviour like it was in the legacy code for now.
Eventually it would be better to replace all alias usage for uuids, but that would be too tricky to implement at once.
If you raise an exception now, it's always called an "API exception".
This commit adds a "UserException" type which lets the developer set a title for the message and passes this to the endpoint.
We already know a new kernel/base is there, but look up the old
one which may fail if it has been deleted. This causes the sets
to be omitted from the update list, even though later on the
upgrade works as expected.
This implementation makes sure the callback is called with the actual field value and may return a list of validation errors.
Related to https://github.com/opnsense/core/issues/1858
While working on https://github.com/opnsense/core/issues/1858 we decided to drop the detailed descriptions, since they won't fit into the new mvc version.
The new version will use a tokenizer to add alias entries, which makes it impossible to add labels on top of single items. When detailed descriptions are needed, we have support for alias nesting so single items can have descriptions. The current solution is hard to port, without the need of generating xml tags per item, which in many cases has quite some overhead.
The new alias code will likely enter in a 18.7.x release, since we don't want to drop support in a minor release, we've chosen to do so in the legacy code.
The format issue has been reported before in https://github.com/opnsense/core/issues/1110, for now we stick to using list types into single xml tags, since this is aligned with the other fieldtypes we use, and drop the impractical aligned descriptions.
As discussed with @fichtner
This is only an improvement and unification of
`src/opnsense/scripts/shell/banner.php`.
Using `openssh_enabled()` both times in this file is preferred over one
time using `isset($config['system']['ssh']['enabled'])` and the other
time using `openssh_enabled()`.
Updates: 00f9b21cb78d9f76a8f94e8e62cbcefad65b7d99
Updates: 81e50abd0afba2d58ce487cdad60c7aedf899bbf
Updates: https://github.com/opnsense/core/pull/2481