BREAKING CHANGES: (for SeCuRiTy):

By default:
- `ssid_sessions[socket.ssid]` is now `session_data`
- `require` is no longer allowed in user scripts

To access global `socket_sessions` and `ssid_sessions`, as well as `require` additional modules, you must set `privileged: true` for the specific service. See `config.json`.
This commit is contained in:
zefie
2022-10-09 13:26:14 -04:00
parent 2491f62b89
commit 37f1ab67ad
118 changed files with 577 additions and 530 deletions

View File

@@ -5,34 +5,34 @@ if (!request_headers.query.registering ||
!request_headers.query.subscriber_username ||
!request_headers.query.subscriber_contact ||
!request_headers.query.subscriber_contact_method ||
!ssid_sessions[socket.ssid].session_store ||
!ssid_sessions[socket.ssid] ||
!session_data.session_store ||
!session_data ||
!socket.ssid
) {
var errpage = wtvshared.doErrorPage(400);
headers = errpage[0];
data = errpage[1];
} else {
ssid_sessions[socket.ssid].setSessionData("subscriber_name", request_headers.query.subscriber_name);
ssid_sessions[socket.ssid].setSessionData("subscriber_username", request_headers.query.subscriber_username);
ssid_sessions[socket.ssid].setSessionData("subscriber_contact", request_headers.query.subscriber_contact);
ssid_sessions[socket.ssid].setSessionData("subscriber_contact_method", request_headers.query.subscriber_contact_method);
ssid_sessions[socket.ssid].setSessionData("subscriber_userid", 0);
ssid_sessions[socket.ssid].setSessionData("registered", true);
var mailstore_exists = ssid_sessions[socket.ssid].mailstore.mailstoreExists();
session_data.setSessionData("subscriber_name", request_headers.query.subscriber_name);
session_data.setSessionData("subscriber_username", request_headers.query.subscriber_username);
session_data.setSessionData("subscriber_contact", request_headers.query.subscriber_contact);
session_data.setSessionData("subscriber_contact_method", request_headers.query.subscriber_contact_method);
session_data.setSessionData("subscriber_userid", 0);
session_data.setSessionData("registered", true);
var mailstore_exists = session_data.mailstore.mailstoreExists();
var mailbox_exists = false;
if (!mailstore_exists) mailstore_exists = ssid_sessions[socket.ssid].mailstore.createMailstore();
if (!mailstore_exists) mailstore_exists = session_data.mailstore.createMailstore();
if (mailstore_exists) {
if (!ssid_sessions[socket.ssid].mailstore.mailboxExists(0)) {
if (!session_data.mailstore.mailboxExists(0)) {
// mailbox does not yet exist, create it
mailbox_exists = ssid_sessions[socket.ssid].mailstore.createMailbox(0);
mailbox_exists = session_data.mailstore.createMailbox(0);
}
if (mailbox_exists) {
// Just created Inbox for the first time, so create the welcome message
ssid_sessions[socket.ssid].mailstore.createWelcomeMessage();
session_data.mailstore.createWelcomeMessage();
}
}
if (!ssid_sessions[socket.ssid].saveSessionData(true, true)) {
if (!session_data.saveSessionData(true, true)) {
var errpage = wtvshared.doErrorPage(400);
headers = errpage[0];
data = errpage[1];