* dnsmasq: Add full dhcp-host support for IPv4 and IPv6
* dnsmasq: Cleanup previous in dnsmasq.inc
* dnsmasq: Change comma placement in template to reduce one condition
* dnsmasq: Add validation to client_id
* dnsmasq: There can be multiple hardware addresses so change label accordingly
* dnsmasq: Change hostname validation so that client_id is also a valid choice without hostname defined.
* dnsmasq: Add validation that prevents duplicate IP addresses in dhcp-host set
* remove one stray newline
* Services: Dnsmasq DNS & DHCP - minor cleanups in https://github.com/opnsense/core/pull/8497
o fix possible race condition in validations
o simplify jinja template
---------
Co-authored-by: Ad Schellevis <ad@opnsense.org>
Some may argue the hidden commands are not good, but they are really
only to be intended to be called upon request. None of these things
magically fix firmware updates on their own, but can be useful (and
copying console output into the forum can also be more difficult).
* dnsmasq: Add filter function for interfaces and tags with multiselect
* dnsmasq: Small cleanup in filter selectpicker previous
* Refactor search actions and tag filtering
- Use single helper function for building filter
- Use tag UUIDs instead of names for filtering
- Avoid building filter functions when filters are empty
- Pass null to searchBase() when no filtering is required
- Use UUID-based filtering for dhcp_tags via record attributes
* dnsmasq: Make tags and interfaces dropdown just a tad nicer
* Services: Dnsmasq DNS & DHCP - cleanups for https://github.com/opnsense/core/pull/8465
simplify recurring pattern for tag search and move select options generation into common jquery function.
---------
Co-authored-by: Ad Schellevis <ad@opnsense.org>
* dnsmasq: Require interface when ra_mode is selected due to ra-param interface requirement. Hide ra-param in dialog when ra_mode is default, since then the global enable_ra defaults are used instead.
* Update src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDHCPrange.xml
Co-authored-by: Franco Fichtner <franco@opnsense.org>
* Update src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php
Co-authored-by: Franco Fichtner <franco@opnsense.org>
* Update src/opnsense/mvc/app/views/OPNsense/Dnsmasq/settings.volt
Co-authored-by: Franco Fichtner <franco@opnsense.org>
---------
Co-authored-by: Franco Fichtner <franco@opnsense.org>
* Display OpenVPN virtual IPv6 addresses for OpenVPN clients
* Check for virtual IPv6 address
* Filtering client vars and join them
* Revert "Filtering client vars and join them"
This reverts commit 8914b39d82ebc50656884172c290d8e8db7a1137.
* Moved logic
* Revert "Moved logic"
This reverts commit c66182871031c64d938bc70bf4d0c57f00634c28.
* Moved ip address list logic
---------
Co-authored-by: lucaspalomodevelop <lucas.palomo@t-online.de>
Added options:
- `columnSelectForceReload` (default false). Changes current behavior for all bootgrids (currently adding a new column re-fetches the data, which is unnecessary in most cases). Caches response internally, thereby assuming the data for a newly added column is already present.
- `headerFormatters` object. Can be explicitly set via `data-headerFormatter-<identifier>` or implicitly linked via the row id.
- `setColumns` function (`grid.bootgrid("setColumns", ['colA', 'colB' ...])`). Marks passed columns for addition. Requires either a `reload` or `softreload` to apply.
- `unsetColumns` function (`grid.bootgrid("unsetColumns", ['colA', 'colB' ...])`). Marks passed columns for removal. Requires either a `reload` or `softreload` to apply.
- `softreload` function (`grid.bootgrid("softreload")`).
UX changes:
- `headerFormatters` now makes sure that if column headers require styling, the styling doesn't flash and is applied from the beginning / during reloads.
- The "Loading..." status has been replaced with a transparent overlay containing a spinner. This prevents unnecessary style flashing when data is reloaded, i.e. when scrolling through pages, setting columns, forced refreshes etc.
- Added "reset to defaults" button, resetting the sort, visiblity and rowcount options to the controller defaults (removes them from localstorage).
Fixes https://github.com/opnsense/core/issues/8457
* dnsmasq: Add router advertisement options
* dnsmasq: Add router advertisement options
* dnsmasq: Add router advertisement options, fix small issue with spurious newline
* dnsmasq: Selectively show and hide dhcpv4 and dhcpv6 related options without introducing a new selectpicker. Since the validation in dnsmasq.php uses : to determine IPv6, the front end behaves the same.
* dnsmasq: Fix small style issue in previous
* dnsmasq: Since router advertisements are not opt-out per dhcpv6 range, it makes more sense not to enable it implicitely, but explicitely as global option.
* dnsmasq: Add validation for ra_mode, fix template spot of ra_mode, improve help text
* dnsmasq: Clear helptext up regarding SLAAC and prefix length. Template ignores this by default when ra is enabled.
* dnsmasq: Fix terminology of ra-param and add MTU option for feature completeness
* Update src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDHCPrange.xml
Co-authored-by: Franco Fichtner <franco@opnsense.org>
* Update src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDHCPrange.xml
Co-authored-by: Franco Fichtner <franco@opnsense.org>
---------
Co-authored-by: Franco Fichtner <franco@opnsense.org>
- Adds proper Termination Cause handling, requires addition of `delete_reason` column in the captiveportal sqlite database.
- Implements `Acct-Input|Output-Gigawords` accounting handling (Fixes https://github.com/opnsense/core/issues/6712)
- implements `Called|Calling-Station-Id`. (Fixes https://github.com/opnsense/core/issues/7844)
- `Called-Station-Id` implemented via additional optional input field
- `Calling-Station-Id` requires an extra preauth hook, which in general is useful to handle per-session authentication properties.
- While here, silence output of pf during state kills when client is disconnected
- `NAS-IP-Address` isn't added, RFC2865 states it should be either `NAS-Identifier` of `NAS-IP-Address`.
Since it touches this area, perhaps we can remove the deprecated `$zoneid` param in the captive portal SessionController.