Commit graph

25 commits

Author SHA1 Message Date
Paul Spooren
24fe4788da luci-app-attendedsysupgrade: update to new api
there was a major rewrite of the database structure

Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-02-20 08:59:30 +01:00
Paul Spooren
b7954cbdc6 luci-app-attendedsysupgrade: fixup server url
server does not send full download url but only path

fixup error_box

Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-02-03 01:23:44 +01:00
Paul Spooren
84ff9094ce luci-app-attendedsysupgrade: new api, unify status
to distinguish between installed packages and requested packages, the
API call is now "installed" instead of "packages".

Also unify "info_box" and "error_box" to "status_box"

Signed-off-by: Paul Spooren <mail@aparcar.org>
2019-01-25 19:45:51 +01:00
Stefan Weil
ec63339ae5 Add missing variable declarations in JavaScript code
This fixes errors reported by LGTM.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2018-10-28 22:38:20 +01:00
yangfl
ae8b68cfe8 treewide: Fix typos in UI strings
Signed-off-by: David Yang <mmyangfl@gmail.com>
2018-10-12 22:18:51 +08:00
Paul Spooren
6551f5c139 luci-app-attendedsysupgrade: fixup missing package
Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
2018-03-16 18:52:48 +01:00
Paul Spooren
5949c2cea8 luci-app-attendedsysupgrade: reload rpcd fix #1668
when installing the luci app and opening it for the first time the
webinterface shows an error as some freshly installed rpcd calls are not
yet available. The reload fixes the problem.

luci-app-attendedsysupgrade: downloadable image

the creted sysupgrade image can now easily be downloaded via web
interface.

also fixed some </br> to <br />

Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
2018-03-07 13:11:32 +01:00
Paul Spooren
a6d55b19f3 luci-app-attendedsysupgrade: show unknown package
Reads the header X-Unknown-Package offered by the sysupgrade server and
shows it in the error message.

Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
2018-03-06 19:25:08 +01:00
Paul Spooren
6638e4cdd5 luci-app-attendedsysupgrade: remove outdated checks
the upgrade server used to store a md5 checksum and the image filesize,
due to complexity this was removed.

Instead a sha256sums file is created by the IB with additional
signature. The firmware filesize can be retrived by requesting
Content-Length data.sysupgrade_url.

As the deeper layers (rpcd) currently do not offer an easy way to to
perform a sha256sum check & verify a usign sig these features will be
re-added once supported.

Until then the security of the sysupgrades depend on TLS and so the
luci-app is meant as a demonstration only.

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-12-27 03:26:21 +01:00
Paul Spooren
99fea16179 luci-app-attendedsysupgrade: separate js from html
also use hide(), show() and $() like jquery

Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
2017-12-27 03:26:21 +01:00
Paul Spooren
802d5b6bec luci-app-attendedsysupgrade: use rpc-sys pkglist
The bash package rpcd-mod-packagelist is no longer required as it has
been ported to rpc-sys by @dangowrt. The luci app now uses that feature.

The packagelist.acls is no longer required and has been removed.

luci-app-attendedsysupgrade: follow new server api

a new api uses more status codes and headers instead of genric 400 code
with json payload.

show error message when ubus call fail

fix typo

more info here
https://github.com/aparcar/attendedsysupgrade-server#response-status-codes

luci-app-attendedsysupgrade: refactoring

luci-app-attendedsysupgrade: use checksum

now compares cgi-io md5 checksum with md5 of server
as well checks if enough free memory is available to store image

Added needed ACL to let Luci request "system info"

rename "image" to "firmware" in output strings. This was requested as
"unification"

rpcd-mod-packelist used to return a variable called "packagelist", the
new "rpc-sys packagelist" returns a variable called "packages". This has
been adapted.

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-11-24 02:10:31 +01:00
Paul Spooren
4891deaf94 luci-app-attendedsysupgrade: use common
use attendedsysupgrade-common package and rpc-sys instead of
rpcd-mod-attendedsysupgrade

luci-app-attendedsysupgrade: editable server url

the server url can now be changed. The solution is kept as simple as
possible to not introduce any lua code.

Small cleanup, but needs a refactoring.

Add acl rights to edit the attendedsysupgrade file

Add cgi-io as a dependencie to upload image to router

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-11-12 03:09:33 +01:00
Paul Spooren
26c93debe9 luci-app-attendedsysupgrade: upgrade to version 2
Add required ubus acls from package rpcd-mod-attendedsysupgrade.

luci-app-attendedsysupgrade: add postinst script

removes caches and restarts uhttpd as mentioned here:
https://github.com/aparcar/gsoc17-attended-sysupgrade/issues/58#issuecomment-339370803

luci-app-attendedsysupgrade: redesign

simplified the interface and made it more "luci" like

simplify ubus interaction, use uci_call und ubus_call functions

add optional settings:

auto_search:
search on opening the view without clicking

advanced_mode:
if set, allow package edits, show build log

rename updateserver to upgradeserver
rename url to server_url

luci-app-attendedsysupgrade: rename uci options

remove leading "upgrade" from uci options
also rename server_url to url

cleaning

use new api/ urls

wait for successfull reboot

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-11-04 19:25:10 +01:00
Paul Spooren
f3abaf8cd1 luci-app-attendedsysupgrade: editable packagelist
add textarea with all to be installed packages, allows user to changes
packages before requesting the image

add button to open build log in

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-10-20 01:33:27 +02:00
Jo-Philipp Wich
72b90c0a10 Merge pull request #1314 from aparcar/acld
luci-app-attendedsysupgrade: lua code for acl.d
2017-08-22 21:23:05 +02:00
Paul Spooren
f389d676de luci-app-attendedsysupgrade: lua code for acl.d
re add lua code to handle content of acl.d/. This should enable users to
use the luci-app without having the full snapshot luci installed, e.g.
trying the app from 17.01.2

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-08-19 14:59:03 +02:00
Paul Spooren
35215110ee luci-app-attendedsysupgrade: param update_package
the "update_package" option explicitly asks the server to check for
packages updates as well not only upgrades to a new release

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-08-17 02:14:20 +02:00
Paul Spooren
5cdab68f25 luci-app-attendedsysupgrade: use JSON.stringify
now uses JSON.stringify instead of creating pseudo JSON data via
`'{' + variable + '}'`

also simplify uci naming

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-08-14 19:14:52 +02:00
Paul Spooren
47a36e0af9 luci-app-attendedsysupgrade: send model info
as reported [here][1] the board_name is not everywhere unified yet. to
solve this problem, the model name is transported as well and used as a
fallback identifier

[1]: https://github.com/aparcar/gsoc17-attended-sysupgrade/issues/26

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-08-13 17:53:28 +02:00
Paul Spooren
6cc4a22579 luci-app-attendedsysupgrade: add keep-settings opt
add a keep-settings checkbox to the webview
this PR depends on [this][1] PR in openwrt/packages

[1]: https://github.com/openwrt/packages/pull/4689

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-08-13 15:52:28 +02:00
Jo-Philipp Wich
99f7794311 Merge pull request #1290 from aparcar/uhttpd-mod-ubus
luci-app-attendedsysupgrade: add missing dep
2017-08-13 15:05:33 +02:00
Paul Spooren
2f53e30806 luci-app-attendedsysupgrade: show updated packages
since the update server now checks packages for updates the web view
will show all changed package versions. this PR is also important to
support future package transformations of the server

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-08-11 20:58:35 +02:00
Paul Spooren
99958baed5 luci-app-attendedsysupgrade: add missing dep
uhttpd-mod-ubus is missing on some devices where rpcd is installed.
the luci app fundamentally depends on /ubus

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-08-08 16:06:08 +02:00
Paul Spooren
a22f050861 luci-app-attendedsysupgrade: remove leading slash
the slash leads to // redirecting to /. The redirecting causes problems
with CORS [1].

[1]: http://enable-cors.org/

Signed-off-by: Paul Spooren <paul@spooren.de>
2017-08-04 18:09:43 +02:00
Paul Spooren
b90153386c luci-app-attendedsysupgrade: add package
Add a simple luci view in system tab to perform a sysupgrade
with no hassle.

Asks an external update server for upgrades, downloads and
flashes the upgrade.

This packge is the frontend for my current GSoC project:
https://summerofcode.withgoogle.com/projects/#5684958571003904

More code is found here:
https://github.com/aparcar/gsoc17-attended-sysupgrade

Signed-off-by: Paul Spooren <paul@spooren.de>
[jo@mein.io: squash commits, remove PKGARCH from Makefile]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-02 22:28:50 +02:00