Pakon webUI in Safari - Failed to load data

Zdravim,
nevim absolutne co delam spatne, ale po upgradu na Turris OS 3.10 jsem sel zkusit ono webUI Pakone, ale jediny co dostanu je:

Konzolovy pakon-show normalne funguje.

Odlisnosti: Mam SDD a nechal jsem ho pres STORAGE namountit na /srv (1. Obsah /srv nakopirovan na USB flashku, protoze interni SSD disk uz byl za pomoci symlinků z /mnt/SSD uz na to pouzit. 2. Pouziti interniho SSD na /srv 3. Vraceni obsahu z USB flashky zpet na /srv).
Protoze mi webUI pakone nechodilo, tak jsem pro sichr provedl uplny reinstall vseho co ma v nazvu pakon (foris-controller-pakon-module foris-pakon-plugin suricata-pakon pakon-lists pakon). Ve fazi odinstalace jsem smazl veskery obsah /srv/pakon a /srv/suricata.

Ve fazi nove instalace mam malou vsuvku: Nemyslim si ze je uplne v poradku kdyz cista instalace pakone provede toto:

root@omnia:/# opkg install pakon
Installing pakon (1.2-3) to root...
Downloading https://repo.turris.cz/omnia/packages//turrispackages/pakon_1.2-3_mvebu.ipk
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13012  100 13012    0     0   235k      0 --:--:-- --:--:-- --:--:--  244k
Installing suricata-pakon (1-4) to root...
Downloading https://repo.turris.cz/omnia/packages//turrispackages/suricata-pakon_1-4_mvebu.ipk
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 23674  100 23674    0     0   366k      0 --:--:-- --:--:-- --:--:--  372k
Installing pakon-lists (4) to root...
Downloading https://repo.turris.cz/omnia/packages//turrispackages/pakon-lists_4_mvebu.ipk
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  223k  100  223k    0     0  1294k      0 --:--:-- --:--:-- --:--:-- 1302k
Configuring pakon-lists.
Traceback (most recent call last):
  File "/usr/libexec/pakon-light/domains_reapply.py", line 75, in <module>
    main()
  File "/usr/libexec/pakon-light/domains_reapply.py", line 71, in main
    replace('/var/lib/pakon.db', multiple_replace)
  File "/usr/libexec/pakon-light/domains_reapply.py", line 55, in replace
    for row in c.execute('SELECT DISTINCT(app_hostname) FROM traffic WHERE app_hostname IS NOT NULL'):
sqlite3.OperationalError: no such table: traffic
Command failed: Not found
Command failed: Not found
Configuring suricata-pakon.
Configuring pakon.
br-lan br-guest_turris
root@omnia:/#

Kazdopadne pakon se vsim vsudy reinstalovan, konzolovy pakon-show funguje, ale webUI tvrdosijne hlasa “Failed to load data”.

Kam bych se mel podivat dal v tomhle pripade?

Jsem na tom stejně, první instalace z forisu trvala dlouho, vypadalo to že neproběhla

Tak maly, ale myslim ze dulezity, update: Nechce to chodit v Safari, ve Firefoxu ESR to jde.
A asi to ma nejakou souvislost s tim, ze ‘https:///foris/config/main/pakon/ajax?action=eventsource&query=%7B%22start%22%3Anull%2C%22end%22%3Anull%2C%22aggregate%22%3Atrue%7D’ mi v Safari vraci 404.

Dobrý den,
co se týče toho tracebacku, není to nic kritického, je to špatným pořadím ve kterém se spustí post-install skripty. Je to nehezká hláška, ale není to žádný problém.

Poladím do příštího vydání, problém je v tom že databáze ještě není vytvořená (při čisté instalaci) ve chvíli kdy se spustí postinst skript pakon-lists. Ta se vytvoří až při postinst skriptu pakon. Ty skripty se spouštějí v jiném pořadí než jsem uvažoval. Nicméně ten postinst skript pakon-lists má stejně smysl jen při vytvořené databázi, zkouší ji updatovat.

Co se týče toho problému se Safari, o tom mox nevím. Přehodím na kolegu který vyráběl UI.

Jeste doplneni: Asi jde o parametr query= pro onen foris/config/main/pakon/ajax.
Firefox: query=%7B%22start%22%3A1525903200%2C%22aggregate%22%3Atrue%7D
Chrome: query=%7B%22start%22%3A1525903200%2C%22aggregate%22%3Atrue%7D
Safari: query=%7B%22start%22%3Anull%2C%22end%22%3Anull%2C%22aggregate%22%3Atrue%7D

t.j.:
Firefoxi query=: {“start”:1525903200,“aggregate”:true}
Chromi query= : {“start”:1525903200,“aggregate”:true}
Safari query= : {“start”:null,“end”:null,“aggregate”:true}

V pripade Safari (resp. jeho cURL podobe) obdrzim misto nejake odpovedi krasne: HTTP/1.1 404 Not Found

Dalsi pokus o doplneni, ciste jen mezitim ziskany poznatky ktery by se mohly hodit:
Firefox:

> new Date();
< Date 2018-05-11T11:29:45.926Z
> new Date('5, 10, 2018, 00:00:00');
< Date 2018-05-09T22:00:00.000Z

Chrome:

> new Date();
< Fri May 11 2018 13:30:37 GMT+0200 (CEST)
> new Date('5, 10, 2018, 00:00:00');
< Thu May 10 2018 00:00:00 GMT+0200 (CEST)

Safari:

> new Date();
< Fri May 11 2018 13:31:41 GMT+0200 (CEST)
> new Date('5, 10, 2018, 00:00:00');
< Invalid Date

Problém s “Failed to load data” se mi také projevuje.

Zde je moje konfigurace:

Zařízení Turris - rtrs01
Verze Turris OS 3.10
Verze jádra 4.4.131-fea04ecaf4d3e8a8c81b9e278dafea4f-2
macOS 10.12.6
Safari 11.1 (12605.1.33.1.4)

Console v Safari ukazuje následující:

[Error] WebSocket connection to 'ws://10.111.111.1/foris-ws' failed: WebSocket is closed due to suspension.
[Error] WebSocket connection to 'ws://10.111.111.1/foris-ws' failed: WebSocket is closed due to suspension.
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (screen.css.map, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-regular-400.woff2, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-regular-400.woff, line 0)
[Log] WS registering for: maintain,lan,router_notifications,updater (foris.min.js, line 1)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-regular-400.ttf, line 0)
[Log] WS message received: {"result": true, "subscriptions": ["lan", "maintain", "updater", "router_notifications"]} (foris.min.js, line 1)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-regular-400.svg, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (fa-solid-900.woff2, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (ajax, line 0)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (ajax, line 0)

Chyba se projevuje ať jsem připojen po HTTP a nebo HTTPS.

Z jiných prohlížečů jsem zkoušel Firefox a ten funguje.

Zdravím,
velmi nám to pomohlo. Předal jsem to kolegovi, co má na starost web UI Pakoně a podívá se na to. :slight_smile:

// Přidáno na seznam známých chyb - Errata!

To snad pomůže každému vývojáři, když mu uživatel udělá kompletní analýzu problému, nebo ne?
Já myslím, že si @kmarty zaslouží kromě poděkování nejméně jednoho MOXe zadara! :slight_smile:

To zase nutny neni :slight_smile:
Ja uz mam i patch, ale nejak mi blbne forum.turris.cz (konkretne prihlaseni pres mojeid - koncim na 500 Bad Gateway) a pres mobil to sem posilat nebudu. Ona to stejne zadna slava neni, jen zmena z pomlcek na lomitka a cas je oddeleny jen mezerou. Stejne nevim jestli je to dobre, ale v kazdym pripade v tyhle uprave mi to chodi ve vsech trech prohlizecich.

Forum je nějaké “vyhnilé” - má šíleně dlouhé reakce na všechno.
Asi by to chtělo restart! :slight_smile:

Tak ten veleslavny patch je tohle
--- /usr/share/foris/plugins/pakon/templates/javascript/pakon/pakon.js.tpl.orig 2018-05-11 14:31:56.079793128 +0200
+++ /usr/share/foris/plugins/pakon/templates/javascript/pakon/pakon.js.tpl      2018-05-11 14:36:25.110167370 +0200
@@ -1885,7 +1885,7 @@
                                                                const columnPosition = this.getColumnPositionBy( item.id );
                                                                let node;
                                                                if ( item.id === 'datetime' ) {
-                                                                       const currentDate = new Date( this.dataStructure[ i ][ columnPosition ] );
+                                                                       const currentDate = new Date( this.dataStructure[ i ][ columnPosition ].replace('-','/').replace('-','/'));
                                                                        cell.setAttribute( 'data-raw-content', String( Number( currentDate ) / 1000 ) );
                                                                        node = document.createElement( 'time' );
                                                                        node.dateTime = currentDate[ this.toW3CString ]();
@@ -3199,9 +3199,9 @@
                if ( dateTo && dateTo.value ) {
                        const part1 = dateTo.value.substr( 0, 4 );
                        const part2 = dateTo.value.substr( 5 );
-                       toString += part2.replace( '-', ', ' ) + ', ' + part1 + ', ';
+                       toString += part2.replace( '-', '/' ) + '/' + part1 + ' ';
                } else {
-                       toString += ( d.getMonth() + 1 ) + ', ' + d.getDate() + ', ' + d.getFullYear() + ', ';
+                       toString += ( d.getMonth() + 1 ) + '/' + d.getDate() + '/' + d.getFullYear() + ' ';
                }
                if ( timeFrom && timeFrom.value ) {
                        toString += timeTo.value;
@@ -3211,10 +3211,10 @@
                if ( dateFrom && dateFrom.value ) {
                        const part1 = dateFrom.value.substr( 0, 4 );
                        const part2 = dateFrom.value.substr( 5 );
-                       fromString += part2.replace( '-', ', ' ) + ', ' + part1 + ', ';
+                       fromString += part2.replace( '-', '/' ) + '/' + part1 + ' ';
                } else {
                        d.setDate( d.getDate() - this.settings.timeLimitation.suggestedInterval );
-                       fromString += ( d.getMonth() + 1 ) + ', ' + d.getDate() + ', ' + d.getFullYear() + ', ';
+                       fromString += ( d.getMonth() + 1 ) + '/' + d.getDate() + '/' + d.getFullYear() + ' ';
                }
                if ( timeFrom && timeFrom.value ) {
                        fromString += timeFrom.value;

Je dost dobre mozny ze to neni spravne, ze mi neco uteklo (ale treba filtr casovyho okna nefungoval ani predtim u Chrome a Firefoxu), proste je to takovej hotfix pac jsem chtel vedet jestli tam neni jeste jinej problem.

Doplnil jsem do nadpisu Safari, protoze se ten problem tyka jen jeho.

zaznamenal som rovnaky problem testovane v Opere aj v Chrome

No, na Turrisu 1.0 mi ani Chrome,Firefox 60 (mac verze) ani EDGE nezobrazí nic a končí jen točícím se kolečkem… MSIE11 pak nezobrazí ani to kolečko.

Konzolový pakon-show funguje v pořádku.

Update: uvedené problémy zmizí s web je funčkní pokud do administrace jdu pomocí https. Při obyčejném http skončí Pakon GUI jen točíčím kolečkem.

je jedno ci pouzijem http alebo https

pakon show comand hlasi:

nejaky napad na fix ?

@BuloZB: pročti si to tady Pakon ve Foris a IE 11. Asi je tam bug, který by měli opravit v 3.10.1

Tady bych rád poopravil @jkmh.

Pokud nejde Pakoň z CLI, tak Vám to nepůjde ani ve Web UI.
Chyba, kterou Vám to píše v konzoli by mohla zřejmě souviset s tím, že jste pravděpodobně odstranil data z databáze Pakoně, případně smazal rovnou celý adresář /srv/pakon.

Řešení je možné najít v tomto přípěvku:

1 Like

dakujem po vytvoreni DB a restarte vsetko funguje