Do not use requirejs in example

Fixes #11721
Closes #13108
This commit is contained in:
Matej Marušák 2019-11-07 22:17:32 +01:00 committed by Martin Pitt
parent 18362488f0
commit 8d098c9ea6
2 changed files with 99 additions and 104 deletions

View File

@ -8,5 +8,5 @@
}
},
"content-security-policy": "default-src 'self' 'unsafe-inline' 'unsafe-eval'"
"content-security-policy": "default-src 'self' https://code.jquery.com 'unsafe-inline' 'unsafe-eval'"
}

View File

@ -25,6 +25,7 @@ along with Cockpit; If not, see <http://www.gnu.org/licenses/>.
<link href="../base1/cockpit.css" type="text/css" rel="stylesheet">
<link href="ocserv.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="../base1/cockpit.js"></script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body hidden>
@ -70,126 +71,120 @@ along with Cockpit; If not, see <http://www.gnu.org/licenses/>.
<script>
require([
'jquery',
'base1/cockpit'
], function($, cockpit) {
var raw;
var status_raw;
var raw;
var status_raw;
occtl_users_run();
occtl_status_run();
occtl_users_run();
occtl_status_run();
function occtl_users_run() {
var proc = cockpit.spawn(["/usr/bin/occtl", "-n", "-j", "show", "users"],
{ err: "message", superuser: "try" });
proc.done(occtl_users_success);
proc.stream(occtl_users_output);
proc.fail(occtl_users_fail);
function occtl_users_run() {
var proc = cockpit.spawn(["/usr/bin/occtl", "-n", "-j", "show", "users"],
{ err: "message", superuser: "try" });
proc.done(occtl_users_success);
proc.stream(occtl_users_output);
proc.fail(occtl_users_fail);
raw = "";
}
raw = "";
}
function occtl_users_success() {
var obj;
try {
obj = JSON.parse(raw);
} catch(e) {
console.warn(e, obj);
}
function occtl_users_success() {
var obj;
try {
obj = JSON.parse(raw);
} catch(e) {
console.warn(e, obj);
}
$("#users-table-tbody").empty();
$("#users-table-tbody").empty();
$.each(obj, function (index,Object) {
var ipv4 = Object.IPv4;
var ipv6 = Object.IPv6;
var ip;
$.each(obj, function (index,Object) {
var ipv4 = Object.IPv4;
var ipv6 = Object.IPv6;
var ip;
if (ipv4 && ipv6) {
ip = ipv4 + "/" + ipv6;
} else {
if (ipv4)
ip = ipv4;
else
ip = ipv6;
}
if (ipv4 && ipv6) {
ip = ipv4 + "/" + ipv6;
} else {
if (ipv4)
ip = ipv4;
else
ip = ipv6;
}
var row = $("<tr>").append(
$('<td class="ocserv-users-id">').text(Object.ID),
$('<td class="ocserv-users-name">').text(Object.Username),
$('<td class="ocserv-users-remote-ip">').text(Object["Remote IP"]),
$('<td class="ocserv-users-ip">').text(ip),
$('<td class="ocserv-users-since">').text(Object["Connected at"]),
$('<td class="ocserv-users-state">').text(Object.State)
);
$("#users-table-tbody").append(row);
});
var row = $("<tr>").append(
$('<td class="ocserv-users-id">').text(Object.ID),
$('<td class="ocserv-users-name">').text(Object.Username),
$('<td class="ocserv-users-remote-ip">').text(Object["Remote IP"]),
$('<td class="ocserv-users-ip">').text(ip),
$('<td class="ocserv-users-since">').text(Object["Connected at"]),
$('<td class="ocserv-users-state">').text(Object.State)
);
$("#users-table-tbody").append(row);
});
$('.curtain-ocserv').hide();
$('body').show();
}
$('.curtain-ocserv').hide();
$('body').show();
}
function occtl_users_fail(ex) {
if (ex.problem == "not-found")
console.warn("occtl executable was not found");
else
console.warn(cockpit.message(ex));
$('.curtain-ocserv').show();
$('body').show();
}
function occtl_users_fail(ex) {
if (ex.problem == "not-found")
console.warn("occtl executable was not found");
else
console.warn(cockpit.message(ex));
$('.curtain-ocserv').show();
$('body').show();
}
function occtl_users_output(data) {
raw = raw.concat(data);
}
function occtl_users_output(data) {
raw = raw.concat(data);
}
function occtl_status_run() {
function occtl_status_output(data) {
status_raw = status_raw.concat(data);
}
function occtl_status_run() {
function occtl_status_output(data) {
status_raw = status_raw.concat(data);
}
status_raw = "";
status_raw = "";
var proc = cockpit.spawn(["/usr/bin/occtl", "-n", "-j", "show", "status"],
{ err: "message", superuser: "try" });
proc.done(occtl_status_success);
proc.stream(occtl_status_output);
proc.fail(occtl_status_fail);
}
var proc = cockpit.spawn(["/usr/bin/occtl", "-n", "-j", "show", "status"],
{ err: "message", superuser: "try" });
proc.done(occtl_status_success);
proc.stream(occtl_status_output);
proc.fail(occtl_status_fail);
}
function occtl_status_success() {
var obj;
try {
obj = JSON.parse(status_raw);
} catch(e) {
console.warn(e, obj);
}
function occtl_status_success() {
var obj;
try {
obj = JSON.parse(status_raw);
} catch(e) {
console.warn(e, obj);
}
$("#status-table").empty();
if (!obj) {
occtl_status_fail();
} else {
$("#status-table").append('<tr><td>Status</td><td>' +
obj.Status + '</td></tr>');
$("#status-table").append('<tr><td>Uptime</td><td>' +
obj["_Up since"] + '</td></tr>');
$("#status-table").append('<tr><td>Connected users</td><td>' +
obj["Clients"] + '</td></tr>');
$("#status-table").append('<tr><td>IPs in ban list</td><td>' +
obj["IPs in ban list"] + '</td></tr>');
}
}
$("#status-table").empty();
if (!obj) {
occtl_status_fail();
} else {
$("#status-table").append('<tr><td>Status</td><td>' +
obj.Status + '</td></tr>');
$("#status-table").append('<tr><td>Uptime</td><td>' +
obj["_Up since"] + '</td></tr>');
$("#status-table").append('<tr><td>Connected users</td><td>' +
obj["Clients"] + '</td></tr>');
$("#status-table").append('<tr><td>IPs in ban list</td><td>' +
obj["IPs in ban list"] + '</td></tr>');
}
}
function occtl_status_fail(ex) {
console.log("status fail", ex);
var message = ex ? cockpit.message(ex) : "offline";
$("#status-table")
.empty()
.append('<tr>')
.append($('<td>Status</td>'),
$('<td>').text(message));
}
});
function occtl_status_fail(ex) {
console.log("status fail", ex);
var message = ex ? cockpit.message(ex) : "offline";
$("#status-table")
.empty()
.append('<tr>')
.append($('<td>Status</td>'),
$('<td>').text(message));
}
</script>
</body>
</html>