Adds LuCI GUI for dnsmasq DHCP 'relays'.
The helper functions in dnsmasq/files/dnsmasq.init limit behaviour
whereby it is not possible to omit server_addr, where to omit
it (dnsmasq supported) would result in a broad- or multicast further on.
Tested on 22.03.2
Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
Fixes the following runtime error on glibc based builds:
Runtime error: Unable to dlopen file ...: undefined symbol: crypt
In module(), file /usr/share/ucode/luci/dispatcher.uc, line 1, byte 1:
called from anonymous function (/www/cgi-bin/luci:7:21)
Ref: https://forum.openwrt.org/t/x/137250/18
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Add a ui indicator displaying error details when the configured theme
failed to load and the next available one is being used instead.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Make sure that the uci session ID of the `luci.model.uci` module within
the Lua context is updated once we acquire the login session information.
In case legacy themes are used, the probing of the theme header template
might indirectly load the Lua runtime and the Lua side `luci.dispatcher`
module which in turn will load the `luci.model.uci` and set the session
ID there which is not yet initialized at this point in time.
This results in broken uci change handling within legacy Lua applications
when a legacy theme is loaded.
Fixes: #6060
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Convert the theme's Lua templates to ucode to avoid the implicit dependency
on the luci-lua-runtime package.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Trigger rendering of CBI header and footer templates via the ucode runtime
`include()` in order to ensure that scope data is properly inherited from
Lua templates (`cbi/header`) including ucode templates (`header`).
This fixes automatic triggering of the config apply flow on legacy Lua CBI
forms.
Ref: https://github.com/openwrt/luci/pull/6056#issuecomment-1292396588
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Ensure that the optional cbi() `config` argument is set to an empty table
if unspecified to ensure that the static call argument array is exactly
two elements long, otherwise call arguments are shifted and the invoked
method might not receive the expected parameter.
This fixes, among others, the dispatching of `arcombine()` targets.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
In the overview page, the name of the interface is converted to
uppercase. However, this is not the name in the configuration. From my
point of view, this makes no sense. The name displayed should correspond
exactly to the name in the configuration.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
The LuCI uci configuration requires language tags with underscores due
limitations of uci option names but the language catalogs themselves
are designated with dash separated language tags.
Make sure to substitute underscores with dashes when determining the
desired request language in order to fix loading of languages such as
`pt-br` or `zh-cn`.
Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-1290352951
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The ability to require certain paths to be absent for a menu entry to show
up was lost during the ucode conversion.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
GNU Make version 4.2 chokes on `#` characters embedded in variable
substitutions, leading to the following error:
../../luci.mk:114: *** unterminated call to function 'if': missing ')'. Stop.
Avoid this problem by replacing variable substitutions with Git branch
format arguments.
Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-1289935106
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Rewrite the luci-app-command configuration to client side cbi forms and
port the server side templates and controller logic to ucode.
Also utilize a query string parameter to pass custom arguments.
Fixes: #5559
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Some packages require Lua libraries but do not ship with a luasrc directory,
add explicit dependencies in these cases.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Remove the uhttpd and CGI gateway modules as they're not compatible with
the Lua compat stub runtime anymore.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The TIME_WAIT indicator might not appear at the beginning of the tuple
string in some cases, so match it anywhere.
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
[add commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Some init scripts, such as the sysfsutils one, declare their START or
STOP variables very late in the file. Duplicate the search buffer to
2048 byte in order to catch these cases.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>