luci-base: accept alternative logread location
authorDirk Brenken <dev@brenken.org>
Fri, 20 Mar 2020 15:11:31 +0000 (16:11 +0100)
committerJo-Philipp Wich <jo@mein.io>
Thu, 7 May 2020 17:40:49 +0000 (19:40 +0200)
* minimal change to accept the usual logread location
  plus the alternative location (/usr/sbin/logread)
  used by syslog-ng (see openwrt/packages/issues/11535 for reference)

Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit 085f3f7809daae9a239214d6324557eb6295dc1e)

modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json
modules/luci-mod-status/htdocs/luci-static/resources/view/status/syslog.js

index 1f5b26f8d659438c746ef69a76b662aa2ab7de71..8b8481b1cb1a41f8b37bd97e4d94ce8d15175c17 100644 (file)
@@ -49,6 +49,7 @@
                                "/sbin/ip -6 neigh show": [ "exec" ],
                                "/sbin/ip -6 route show table all": [ "exec" ],
                                "/sbin/logread -e ^": [ "exec" ],
+                               "/usr/sbin/logread -e ^": [ "exec" ],
                                "/usr/bin/ping *": [ "exec" ],
                                "/usr/bin/ping6 *": [ "exec" ],
                                "/usr/bin/traceroute *": [ "exec" ],
index 145a632e62acc8a87d5c58ed7278b0824bbd78b8..2bd29194d25e2fa43077c6d049c974ba669284df 100644 (file)
@@ -5,9 +5,16 @@
 
 return view.extend({
        load: function() {
-               return fs.exec_direct('/sbin/logread', [ '-e', '^' ]).catch(function(err) {
-                       ui.addNotification(null, E('p', {}, _('Unable to load log data: ' + err.message)));
-                       return '';
+               return Promise.all([
+                       L.resolveDefault(fs.stat('/sbin/logread'), null),
+                       L.resolveDefault(fs.stat('/usr/sbin/logread'), null)
+               ]).then(function(stat) {
+                       var logger = stat[0] ? stat[0].path : stat[1] ? stat[1].path : null;
+
+                       return fs.exec_direct(logger, [ '-e', '^' ]).catch(function(err) {
+                               ui.addNotification(null, E('p', {}, _('Unable to load log data: ' + err.message)));
+                               return '';
+                       });
                });
        },