attempt to cleanly reject guest users from mail/usenet

This commit is contained in:
zefie
2025-06-24 10:21:32 -04:00
parent c6a3a0f949
commit 7aec035fae
3 changed files with 1111 additions and 1099 deletions

View File

@@ -2197,7 +2197,7 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq
async function cleanupSocket(socket) { async function cleanupSocket(socket) {
try { try {
if (socket_sessions[socket.id]) { if (socket_sessions[socket.id]) {
if (!minisrv_config.config.debug_flags.quiet) console.debug('* Cleaning up disconnected socket', socket.id, `(${socket_sessions[socket.id].socket_total_read} bytes read, ${socket_sessions[socket.id].socket_total_written} bytes written)`); if (!minisrv_config.config.debug_flags.quiet) console.debug('* Cleaning up disconnected socket', socket.id, `(${socket_sessions[socket.id].socket_total_read || 0} bytes read, ${socket_sessions[socket.id].socket_total_written || 0} bytes written)`);
delete socket_sessions[socket.id]; delete socket_sessions[socket.id];
} }
if (socket.ssid) { if (socket.ssid) {

View File

@@ -1,7 +1,11 @@
var minisrv_service_file = true; var minisrv_service_file = true;
var mailstore_exists = false; var mailstore_exists = false;
if (!session_data.isRegistered()) {
var errpage = wtvshared.doErrorPage("400", "Mail service is not available for guest users.");
headers = errpage[0];
data = errpage[1];
} else {
function mail_end_error(msg) { function mail_end_error(msg) {
var errpage = wtvshared.doErrorPage("400", msg); var errpage = wtvshared.doErrorPage("400", msg);
headers = errpage[0]; headers = errpage[0];
@@ -340,3 +344,4 @@ ${username}@${minisrv_config.config.service_name}
mail_end_error("Access Denied"); mail_end_error("Access Denied");
} }
} }
}

View File

@@ -2,6 +2,12 @@ var minisrv_service_file = true;
var message_snapshot_data = null; var message_snapshot_data = null;
var message_voicemail_data = null; var message_voicemail_data = null;
if (!session_data.isRegistered()) {
var errpage = wtvshared.doErrorPage("400", "Sending mail and posting to usenet is not available for guest users.");
headers = errpage[0];
data = errpage[1];
} else {
var intro_seen = session_data.mailstore.checkMailIntroSeen(); var intro_seen = session_data.mailstore.checkMailIntroSeen();
if (!intro_seen && !request_headers.query.intro_seen) { if (!intro_seen && !request_headers.query.intro_seen) {
// user is trying to bypass the intro screen // user is trying to bypass the intro screen
@@ -795,3 +801,4 @@ ${(!mail_draft_attachments.message_voicemail_data) ? '' : '<input type=hidden na
} }
} }
} }
}