diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-1800/preregister.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-1800/preregister.js index 5fd0c145..b1fa82a4 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-1800/preregister.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-1800/preregister.js @@ -51,10 +51,6 @@ if (request_headers.query.reconnect && session_data.getSessionData("registered") if (session_data.data_store.wtvsec_login) { var prereg_contype = "text/html"; - if (request_headers.query.relogin || request_headers.query.guest_login) { // relogin - session_data.data_store.wtvsec_login.ticket_b64 = null; // clear old ticket - } - // if relogin and wtv-script-id != 0, skip tellyscript session_data.set("wtv-open-access", (request_headers['wtv-open-access'] === "true") ? true : false); var file_path = null; @@ -63,7 +59,7 @@ if (session_data.data_store.wtvsec_login) { var bf0app_update = false; var romtype = session_data.get("wtv-client-rom-type"); var bootrom = parseInt(session_data.get("wtv-client-bootrom-version")); - var send_tellyscript = (minisrv_config.services[service_name].send_tellyscripts && !request_headers.query.relogin && !request_headers.query.guest_login && !bootrom !== 0); + var send_tellyscript = (minisrv_config.services[service_name].send_tellyscripts && !request_headers.query.relogin && !bootrom !== 0); var wtv_script_id = parseInt(session_data.get("wtv-script-id")); var wtv_script_mod = parseInt(session_data.get("wtv-script-mod")); if ((request_headers.query.reconnect || request_headers.query.relogin) && wtv_script_id != 0) send_tellyscript = false; @@ -165,12 +161,6 @@ if (session_data.data_store.wtvsec_login) { if (request_headers.query.reconnect) gourl = null; - if (request_headers.query.guest_login) { - send_tellyscript = false; - if (gourl != null) gourl += "&guest_login=true" - if (request_headers.query.skip_splash) gourl += "&skip_splash=true"; - } - if (file_path != null && send_tellyscript && !minisrv_config.config.debug_flags.quiet) console.log(" * Sending TellyScript", file_path, "on socket", socket.id); if (template != null && send_tellyscript && !minisrv_config.config.debug_flags.quiet) console.log(" * Generating TellyScript on socket", socket.id); @@ -193,7 +183,6 @@ if (session_data.data_store.wtvsec_login) { if (bf0app_update) headers += "wtv-boot-url: " + gourl + "\n"; else { headers += "wtv-boot-url: wtv-head-waiter:/login?relogin=true"; - if (request_headers.query.guest_login) headers += "&guest_login=true"; headers += "\n"; } if (gourl != null) headers += "wtv-visit: " + gourl + "\n"; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-admin/operatortweaks.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-admin/operatortweaks.js index f18a9454..224e6bd0 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-admin/operatortweaks.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-admin/operatortweaks.js @@ -137,9 +137,6 @@ contact the server operator (eg. email, Discord, Twitter, etc...) verbosity
Console log debug level. show_diskmap
Useful for debugging wtv-disk downloads. - -allow_guests
Allows users to use the service without having to register. -Guest session data is destroyed upon logout, and some features are not available to guests. enable_
lzpf_compression

Toggles whether LZPF compression will be considered or not @@ -211,9 +208,6 @@ ${generateFormField('select', 'verbosity', [ ${generateFormField('checkbox', 'show_diskmap')} - -${generateFormField('checkbox', 'allow_guests')} - ${generateFormField('checkbox', 'enable_lzpf_compression')} diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/ValidateLogin.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/ValidateLogin.js index 59d331a1..ab9ea326 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/ValidateLogin.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/ValidateLogin.js @@ -82,12 +82,6 @@ wtv-visit: client:hangupphone` } } - if (request_headers.query.guest_login) { - if (request_headers.query.relogin || request_headers.query.reconnect) gourl += "&"; - gourl += "guest_login=true"; - if (request_headers.query.skip_splash) gourl += "&skip_splash=true"; - } - if (user_id != null && !request_headers.query.initial_login && !request_headers.query.user_login && !request_headers.query.relogin && !request_headers.query.reconnect) { if (request_headers.query.password == "") { headers = `403 Please enter your password and try again diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/login-stage-two.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/login-stage-two.js index 97811d3b..1006665b 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/login-stage-two.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/login-stage-two.js @@ -3,14 +3,14 @@ var gourl = null; var bootrom = parseInt(session_data.get("wtv-client-bootrom-version")); -if (!session_data.isRegistered() && (!request_headers.query.guest_login || !minisrv_config.config.allow_guests)) gourl = "wtv-register:/splash?"; +if (!session_data.isRegistered()) gourl = "wtv-register:/splash?"; var home_url = "wtv-home:/home?"; if (gourl) { headers = "200 OK\n"; if (bootrom !== 0) headers += "wtv-open-isp-disabled: false\n"; - if (!session_data.isRegistered() && (!request_headers.query.guest_login || !minisrv_config.config.allow_guests)) { + if (!session_data.isRegistered()) { // fake logged in for reg session_data.setUserLoggedIn(true); headers += `wtv-encrypted: ${(request_headers['wtv-encrypted']) ? wtvshared.parseBool(request_headers['wtv-encrypted']) : true} @@ -27,17 +27,6 @@ Content-type: text/html`; else { if (session_data.lockdown) { home_url = minisrv_config.config.unauthorized_url; - } - else if (request_headers.query.guest_login && minisrv_config.config.allow_guests) { - var namerand = Math.floor(Math.random() * 100000); - var nickname = (minisrv_config.config.service_name + '_' + namerand) - var human_name = nickname; - var userid = '1' + Math.floor(Math.random() * 1000000000000000000); - var messenger_enabled = 0; - var messenger_authorized = 0; - var timezone = "-0000"; - if (request_headers.query.skip_splash) gourl = "wtv-home:/home?"; - else gourl = "wtv-home:/splash?"; } else if (!session_data.getSessionData("registered")) { var errpage = wtvshared.doErrorPage(400); headers = errpage[0]; @@ -174,13 +163,8 @@ wtv-inactive-timeout: 1440 if (!limitedLogin && !limitedLoginRegistered) { headers += "wtv-relogin-url: wtv-head-waiter:/relogin?relogin=true\n"; - if (request_headers.query.guest_login) headers += "&guest_login=true\n"; - headers += "wtv-reconnect-url: wtv-head-waiter:/login-stage-two?reconnect=true\n"; - if (request_headers.query.guest_login) headers += "&guest_login=true\n"; - - headers += "wtv-boot-url: wtv-head-waiter:/relogin?relogin=true\n"; - if (request_headers.query.guest_login) headers += "&guest_login=true\n "; + headers += "wtv-boot-url: wtv-head-waiter:/relogin?relogin=true\n"; headers += "wtv-home-url: " + home_url + "\n"; } diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/login.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/login.js index 6c2b8903..415ee099 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/login.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/login.js @@ -9,11 +9,6 @@ else if (request_headers.query.reconnect) gourl += "reconnect=true"; else gourl += "initial_login=true" var bootrom = parseInt(session_data.get("wtv-client-bootrom-version")); -if (request_headers.query.guest_login || bootrom === 0) { - if (gourl.substr(-1) != "?") gourl += "&"; - gourl += "guest_login=true"; - if (request_headers.query.skip_splash) gourl += "&skip_splash=true"; -} var send_to_relogin = true; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/relogin.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/relogin.js index cd040a39..5a20d578 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/relogin.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-head-waiter/relogin.js @@ -6,12 +6,6 @@ var gourl = "wtv-1800:/preregister?"; if (request_headers.query.relogin) gourl += "relogin=true"; else if (request_headers.query.reconnect) gourl += "reconnect=true"; -if (request_headers.query.guest_login) { - if (request_headers.query.relogin || request_headers.query.reconnect) gourl += "&"; - gourl += "guest_login=true"; - if (request_headers.query.skip_splash) gourl += "&skip_splash=true"; -} - headers = `200 OK Connection: Keep-Alive Expires: Wed, 09 Oct 1991 22:00:00 GMT diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-mail/listmail.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-mail/listmail.js index 02850ab4..8ca58633 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-mail/listmail.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-mail/listmail.js @@ -1,91 +1,87 @@ var minisrv_service_file = true; var mailstore_exists = false; -if (!session_data.isRegistered()) { - var errpage = wtvshared.doErrorPage("400", "Mail service is not available for guest users."); + +function mail_end_error(msg) { + var errpage = wtvshared.doErrorPage("400", msg); headers = errpage[0]; data = errpage[1]; +} + +var intro_seen = session_data.mailstore.checkMailIntroSeen(); +if (!intro_seen && !request_headers.query.intro_seen) { + // user is trying to bypass the intro screen + headers = "300 OK\nLocation: wtv-mail:/DiplomaMail"; } else { - function mail_end_error(msg) { - var errpage = wtvshared.doErrorPage("400", msg); - headers = errpage[0]; - data = errpage[1]; + if (!intro_seen && request_headers.query.intro_seen) { + // User has come from intro + session_data.mailstore.setMailIntroSeen(true); } + // check if mailstore exista + mailstore_exists = session_data.mailstore.mailstoreExists(); - var intro_seen = session_data.mailstore.checkMailIntroSeen(); - if (!intro_seen && !request_headers.query.intro_seen) { - // user is trying to bypass the intro screen - headers = "300 OK\nLocation: wtv-mail:/DiplomaMail"; - } else { - if (!intro_seen && request_headers.query.intro_seen) { - // User has come from intro - session_data.mailstore.setMailIntroSeen(true); - } - // check if mailstore exists (returns null if guest) - mailstore_exists = session_data.mailstore.mailstoreExists(); + // create mailstore if it doesnt exist + if (!mailstore_exists) mailstore_exists = session_data.mailstore.createMailstore(); - // create mailstore if it doesnt exist (also returns null if guest) - if (!mailstore_exists) mailstore_exists = session_data.mailstore.createMailstore(); + if (mailstore_exists) { + // mailstore exists - if (mailstore_exists) { - // mailstore exists and user is not guest + var default_limit = (minisrv_config.services[service_name].messages_per_page) ? minisrv_config.services[service_name].messages_per_page : 25; // user config or 25 + var mailbox = (request_headers.query.mailbox) ? parseInt(request_headers.query.mailbox) : 0; + var limit = (request_headers.query.limit) ? parseInt(request_headers.query.limit) : default_limit; + var reverse_sort = (request_headers.query.reverse_sort) ? true : false; + var page = (request_headers.query.page) ? parseInt(request_headers.query.page) : 0; - var default_limit = (minisrv_config.services[service_name].messages_per_page) ? minisrv_config.services[service_name].messages_per_page : 25; // user config or 25 - var mailbox = (request_headers.query.mailbox) ? parseInt(request_headers.query.mailbox) : 0; - var limit = (request_headers.query.limit) ? parseInt(request_headers.query.limit) : default_limit; - var reverse_sort = (request_headers.query.reverse_sort) ? true : false; - var page = (request_headers.query.page) ? parseInt(request_headers.query.page) : 0; + // get mailbox name + var mailbox_name = session_data.mailstore.getMailboxById(parseInt(mailbox)); - // get mailbox name - var mailbox_name = session_data.mailstore.getMailboxById(parseInt(mailbox)); - - // if false or null, then mailbox is invalid - if (!mailbox_name) { - mail_end_error("Invalid Mailbox ID"); - } else { - // mailboxid is ok - if (!session_data.mailstore.mailboxExists(mailbox)) { - // mailbox does not yet exist, create it - var mailbox_exists = session_data.mailstore.createMailbox(mailbox); - if (!mailbox_exists) { - // failed to create mailbox for some reason - mail_end_error(); - } else { - if (mailbox === 0) { - // Just created Inbox for the first time, so create the welcome message - session_data.mailstore.createWelcomeMessage(); - } - } - } - var message_list = session_data.mailstore.listMessages(mailbox, limit, reverse_sort, (page * limit)) - var total_message_count = session_data.mailstore.countMessages(mailbox); - var total_unread_message_count = session_data.mailstore.countUnreadMessages(mailbox); - - var message_list_string = null; - if (total_message_count == 0) { - message_list_string = "No new mail messages for "; + // if false or null, then mailbox is invalid + if (!mailbox_name) { + mail_end_error("Invalid Mailbox ID"); + } else { + // mailboxid is ok + if (!session_data.mailstore.mailboxExists(mailbox)) { + // mailbox does not yet exist, create it + var mailbox_exists = session_data.mailstore.createMailbox(mailbox); + if (!mailbox_exists) { + // failed to create mailbox for some reason + mail_end_error(); } else { - if (total_unread_message_count > 0) { - message_list_string = total_unread_message_count + " new mail message" + ((total_message_count != 1) ? 's' : ''); - if (total_message_count - total_unread_message_count > 0) message_list_string += ", " + (total_message_count - total_unread_message_count) + " mail message" + (((total_message_count - total_unread_message_count) != 1) ? 's' : '') + " for "; - } else { - message_list_string = total_message_count + " mail message" + ((total_message_count != 1) ? 's' : '') + " for "; + if (mailbox === 0) { + // Just created Inbox for the first time, so create the welcome message + session_data.mailstore.createWelcomeMessage(); } } + } + var message_list = session_data.mailstore.listMessages(mailbox, limit, reverse_sort, (page * limit)) + var total_message_count = session_data.mailstore.countMessages(mailbox); + var total_unread_message_count = session_data.mailstore.countUnreadMessages(mailbox); - var username = session_data.getSessionData("subscriber_username"); - var notImplementedAlert = new clientShowAlert({ - 'image': minisrv_config.config.service_logo, - 'message': "This feature is not available.", - 'buttonlabel1': "Okay", - 'buttonaction1': "client:donothing", - 'noback': true, - }).getURL(); + var message_list_string = null; + if (total_message_count == 0) { + message_list_string = "No new mail messages for "; + } else { + if (total_unread_message_count > 0) { + message_list_string = total_unread_message_count + " new mail message" + ((total_message_count != 1) ? 's' : ''); + if (total_message_count - total_unread_message_count > 0) message_list_string += ", " + (total_message_count - total_unread_message_count) + " mail message" + (((total_message_count - total_unread_message_count) != 1) ? 's' : '') + " for "; + } else { + message_list_string = total_message_count + " mail message" + ((total_message_count != 1) ? 's' : '') + " for "; + } + } - headers = `200 OK + var username = session_data.getSessionData("subscriber_username"); + var notImplementedAlert = new clientShowAlert({ + 'image': minisrv_config.config.service_logo, + 'message': "This feature is not available.", + 'buttonlabel1': "Okay", + 'buttonaction1': "client:donothing", + 'noback': true, + }).getURL(); + + headers = `200 OK Content-type: text/html`; - data = ` `; - var icon_image = null; - switch (mailbox_name) { - case "Inbox": - icon_image = session_data.mailstore.getMailboxIcon(); - break; - case "Sent": - icon_image = "MailboxSent.gif"; - break; - case "Trash": - icon_image = "MailboxDiscard.gif"; - break; - default: - icon_image = "MailboxStorage.gif"; - break; - } + var icon_image = null; + switch (mailbox_name) { + case "Inbox": + icon_image = session_data.mailstore.getMailboxIcon(); + break; + case "Sent": + icon_image = "MailboxSent.gif"; + break; + case "Trash": + icon_image = "MailboxDiscard.gif"; + break; + default: + icon_image = "MailboxStorage.gif"; + break; + } - data += ` + data += ` @@ -260,9 +256,9 @@ label="View saved e-mail messages">
`; - if (message_list) { + if (message_list) { - data += ` + data += ` ${message_list_string}
@@ -283,17 +279,17 @@ ${username}@${minisrv_config.config.service_name}
`; - Object.keys(message_list).forEach(function (k) { - var message = message_list[k]; - if (typeof message.subject == "object" && message.subject) message.subject = wtvshared.decodeBufferText(message.subject); - message.known_sender = session_data.isAddressInAddressBook(message.from_addr); - var message_font_open = ""; - var message_font_close = ""; - if (message.unread) { - message_font_open = ``; - message_font_close = "" - } - data += ` + Object.keys(message_list).forEach(function (k) { + var message = message_list[k]; + if (typeof message.subject == "object" && message.subject) message.subject = wtvshared.decodeBufferText(message.subject); + message.known_sender = session_data.isAddressInAddressBook(message.from_addr); + var message_font_open = ""; + var message_font_close = ""; + if (message.unread) { + message_font_open = ``; + message_font_close = "" + } + data += `
@@ -313,16 +309,16 @@ ${message_font_close} ${message_font_open} `; - var message_date = new Date(message.date * 1000); - data += (message_date.getMonth() + 1) + "/" + message_date.getDate() + "\n"; - data += ` + var message_date = new Date(message.date * 1000); + data += (message_date.getMonth() + 1) + "/" + message_date.getDate() + "\n"; + data += ` ${message_font_close}
`; - }); - } else { - data += ` + }); + } else { + data += ` No ${(mailbox_name == "Inbox") ? `new e-mail messages for
${username}@${minisrv_config.config.service_name} @@ -330,18 +326,17 @@ ${username}@${minisrv_config.config.service_name}
` : 'e-mail messages in mailbox ' + mailbox_name}

`; - } - data += ` + } + data += `
- `; +`; - } - } else { - mail_end_error("Access Denied"); } + } else { + mail_end_error("Access Denied"); } } \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-mail/sendmail.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-mail/sendmail.js index 6e1fdd60..e3c5d6cb 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-mail/sendmail.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-mail/sendmail.js @@ -3,335 +3,330 @@ var minisrv_service_file = true; var message_snapshot_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(); - if (!intro_seen && !request_headers.query.intro_seen) { - // user is trying to bypass the intro screen - headers = "300 OK\nLocation: wtv-mail:/DiplomaMail?came-from=" + encodeURIComponent(request_headers.request_url); - } else if (request_headers.query.clear == "true") { - if (request_headers.Referer) - gourl = request_headers.Referer.replace(/[\?\&]clear\=true/, ''); - else - gourl = "wtv-mail:/sendmail" - if (request_headers.query.saveoff) delete request_headers.query.saveoff; - session_data.deleteSessionData("usenet_draft"); - session_data.deleteSessionData("usenet_draft_attachments"); - session_data.deleteSessionData("mail_draft"); - session_data.deleteSessionData("mail_draft_attachments"); - if (request_headers.query.message_to) delete request_headers.query.message_to; - if (request_headers.query.message_subject) delete request_headers.query.message_subject; - if (request_headers.query.message_body) delete request_headers.query.message_body; - if (request_headers.query.message_url) delete request_headers.query.message_url; - if (request_headers.query.message_title) delete request_headers.query.message_title; - if (request_headers.query.message_reply_all_cc) delete request_headers.query.message_reply_all_cc; - if (request_headers.query['wtv-saved-message-id']) delete request_headers.query['wtv-saved-message-id']; +var intro_seen = session_data.mailstore.checkMailIntroSeen(); +if (!intro_seen && !request_headers.query.intro_seen) { + // user is trying to bypass the intro screen + headers = "300 OK\nLocation: wtv-mail:/DiplomaMail?came-from=" + encodeURIComponent(request_headers.request_url); +} else if (request_headers.query.clear == "true") { + if (request_headers.Referer) + gourl = request_headers.Referer.replace(/[\?\&]clear\=true/, ''); + else + gourl = "wtv-mail:/sendmail" + if (request_headers.query.saveoff) delete request_headers.query.saveoff; + session_data.deleteSessionData("usenet_draft"); + session_data.deleteSessionData("usenet_draft_attachments"); + session_data.deleteSessionData("mail_draft"); + session_data.deleteSessionData("mail_draft_attachments"); + if (request_headers.query.message_to) delete request_headers.query.message_to; + if (request_headers.query.message_subject) delete request_headers.query.message_subject; + if (request_headers.query.message_body) delete request_headers.query.message_body; + if (request_headers.query.message_url) delete request_headers.query.message_url; + if (request_headers.query.message_title) delete request_headers.query.message_title; + if (request_headers.query.message_reply_all_cc) delete request_headers.query.message_reply_all_cc; + if (request_headers.query['wtv-saved-message-id']) delete request_headers.query['wtv-saved-message-id']; - headers = `300 OK + headers = `300 OK wtv-expire-all: wtv-mail:/listmail wtv-expire-all: wtv-mail:/sendmail Location: ${gourl}`; +} else { + var doClientError = function (msg) { + var clientErrorMsg = new clientShowAlert({ + 'image': minisrv_config.config.service_logo, + 'message': msg, + 'buttonlabel1': "Okay", + 'buttonaction1': "client:donothing", + 'noback': true, + }).getURL(); + + return "200 OK\nwtv-visit: " + clientErrorMsg; + } + + var newsgroup = null; + if (wtvshared.parseBool(request_headers.query.discuss)) { + newsgroup = request_headers.query.group || request_headers.query.message_to || null; + } + + var gourl = "wtv-mail:/sendmail"; + var msg_subject, to_addr, to_name; + + if (newsgroup !== null) { + var to_addr = newsgroup; + var pageTitle = "Post to " + newsgroup; + var article = request_headers.query.article || null; + var gourl = gourl + "?group=" + newsgroup; + } else { - var doClientError = function (msg) { - var clientErrorMsg = new clientShowAlert({ - 'image': minisrv_config.config.service_logo, - 'message': msg, - 'buttonlabel1': "Okay", - 'buttonaction1': "client:donothing", - 'noback': true, - }).getURL(); - - return "200 OK\nwtv-visit: " + clientErrorMsg; - } - - var newsgroup = null; - if (wtvshared.parseBool(request_headers.query.discuss)) { - newsgroup = request_headers.query.group || request_headers.query.message_to || null; - } - - var gourl = "wtv-mail:/sendmail"; - var msg_subject, to_addr, to_name; - - if (newsgroup !== null) { - var to_addr = newsgroup; - var pageTitle = "Post to " + newsgroup; - var article = request_headers.query.article || null; - var gourl = gourl + "?group=" + newsgroup; - - } else { - var to_addr = request_headers.query.message_to || null; - var pageTitle = "Write an e-mail message"; - if (request_headers.query.message_reply_id) { - reply_message = session_data.mailstore.getMessageByID(request_headers.query.message_reply_id); - if (reply_message) { - msg_subject = "Re: " + reply_message.subject; - to_addr = reply_message.from_addr; - to_name = reply_message.from_name; - } + var to_addr = request_headers.query.message_to || null; + var pageTitle = "Write an e-mail message"; + if (request_headers.query.message_reply_id) { + reply_message = session_data.mailstore.getMessageByID(request_headers.query.message_reply_id); + if (reply_message) { + msg_subject = "Re: " + reply_message.subject; + to_addr = reply_message.from_addr; + to_name = reply_message.from_name; } } + } - var msg_subject = msg_subject || request_headers.query.message_subject || null; - var msg_body = request_headers.query.message_body || null; - var to_name = to_name || request_headers.query.whatever_webtv_sends_this_as || null; - var msg_url = request_headers.query.message_url || null; - var msg_url_title = request_headers.query.message_title || null; - var no_signature = false; + var msg_subject = msg_subject || request_headers.query.message_subject || null; + var msg_body = request_headers.query.message_body || null; + var to_name = to_name || request_headers.query.whatever_webtv_sends_this_as || null; + var msg_url = request_headers.query.message_url || null; + var msg_url_title = request_headers.query.message_title || null; + var no_signature = false; - mail_draft_data = {}; - mail_draft_attachments = {}; - if (!wtvshared.parseBool(request_headers.query.discuss)) { - mail_draft_data = session_data.getSessionData("mail_draft"); - mail_draft_attachments = session_data.getSessionData("mail_draft_attachments") || {}; - if (mail_draft_data && !wtvshared.parseBool(request_headers.query.discuss)) { - session_data.deleteSessionData("mail_draft"); - if (mail_draft_data.to_addr) to_addr = request_headers.query.message_to || mail_draft_data.to_addr; - if (mail_draft_data.msg_subject) msg_subject = request_headers.query.message_subject || mail_draft_data.msg_subject; - if (mail_draft_data.msg_body) msg_body = request_headers.query.message_body || mail_draft_data.msg_body; - if (mail_draft_data.no_signature) no_signature = mail_draft_data.no_signature; - if (mail_draft_data.msg_url) msg_url = request_headers.query.message_url || mail_draft_data.msg_url; - if (mail_draft_data.msg_url_title) msg_url_title = request_headers.query.message_title || mail_draft_data.msg_url_title; - } - } else { - mail_draft_data = session_data.getSessionData("usenet_draft"); - mail_draft_attachments = session_data.getSessionData("usenet_draft_attachments") || {}; - if (mail_draft_data && !wtvshared.parseBool(request_headers.query.discuss)) { - session_data.deleteSessionData("usenet_draft"); - if (mail_draft_data.to_addr) to_addr = request_headers.query.message_to || mail_draft_data.to_addr; - if (mail_draft_data.msg_subject) msg_subject = request_headers.query.message_subject || mail_draft_data.msg_subject; - if (mail_draft_data.msg_body) msg_body = request_headers.query.message_body || mail_draft_data.msg_body; - if (mail_draft_data.no_signature) no_signature = mail_draft_data.no_signature; - if (mail_draft_data.article) article = article || mail_draft_data.article; - } + mail_draft_data = {}; + mail_draft_attachments = {}; + if (!wtvshared.parseBool(request_headers.query.discuss)) { + mail_draft_data = session_data.getSessionData("mail_draft"); + mail_draft_attachments = session_data.getSessionData("mail_draft_attachments") || {}; + if (mail_draft_data && !wtvshared.parseBool(request_headers.query.discuss)) { + session_data.deleteSessionData("mail_draft"); + if (mail_draft_data.to_addr) to_addr = request_headers.query.message_to || mail_draft_data.to_addr; + if (mail_draft_data.msg_subject) msg_subject = request_headers.query.message_subject || mail_draft_data.msg_subject; + if (mail_draft_data.msg_body) msg_body = request_headers.query.message_body || mail_draft_data.msg_body; + if (mail_draft_data.no_signature) no_signature = mail_draft_data.no_signature; + if (mail_draft_data.msg_url) msg_url = request_headers.query.message_url || mail_draft_data.msg_url; + if (mail_draft_data.msg_url_title) msg_url_title = request_headers.query.message_title || mail_draft_data.msg_url_title; } - - if (request_headers.query.togglesign == "true") no_signature = false; - if (request_headers.query.togglesign == "false") no_signature = true; - - if (mail_draft_attachments) { - if (mail_draft_attachments.message_snapshot_data) message_snapshot_data = mail_draft_attachments.message_snapshot_data; - else if (request_headers.query.message_snapshot_data) message_snapshot_data = request_headers.query.message_snapshot_data; - if (mail_draft_attachments.message_voicemail_data) message_voicemail_data = mail_draft_attachments.message_voicemail_data; - else if (request_headers.query.message_voicemail_data) message_voicemail_data = request_headers.query.message_voicemail_data; + } else { + mail_draft_data = session_data.getSessionData("usenet_draft"); + mail_draft_attachments = session_data.getSessionData("usenet_draft_attachments") || {}; + if (mail_draft_data && !wtvshared.parseBool(request_headers.query.discuss)) { + session_data.deleteSessionData("usenet_draft"); + if (mail_draft_data.to_addr) to_addr = request_headers.query.message_to || mail_draft_data.to_addr; + if (mail_draft_data.msg_subject) msg_subject = request_headers.query.message_subject || mail_draft_data.msg_subject; + if (mail_draft_data.msg_body) msg_body = request_headers.query.message_body || mail_draft_data.msg_body; + if (mail_draft_data.no_signature) no_signature = mail_draft_data.no_signature; + if (mail_draft_data.article) article = article || mail_draft_data.article; } + } - if (message_snapshot_data && request_headers.query.get_snap) { - headers = `200 OK + if (request_headers.query.togglesign == "true") no_signature = false; + if (request_headers.query.togglesign == "false") no_signature = true; + + if (mail_draft_attachments) { + if (mail_draft_attachments.message_snapshot_data) message_snapshot_data = mail_draft_attachments.message_snapshot_data; + else if (request_headers.query.message_snapshot_data) message_snapshot_data = request_headers.query.message_snapshot_data; + if (mail_draft_attachments.message_voicemail_data) message_voicemail_data = mail_draft_attachments.message_voicemail_data; + else if (request_headers.query.message_voicemail_data) message_voicemail_data = request_headers.query.message_voicemail_data; + } + + if (message_snapshot_data && request_headers.query.get_snap) { + headers = `200 OK Content-Type: image/jpeg`; - data = message_snapshot_data; - } else if (message_voicemail_data && request_headers.query.get_gab) { - headers = `200 OK + data = message_snapshot_data; + } else if (message_voicemail_data && request_headers.query.get_gab) { + headers = `200 OK Content-Type: audio/wav`; - data = message_voicemail_data; - } else { + data = message_voicemail_data; + } else { - var username = session_data.getSessionData("subscriber_username"); - var userdisplayname = wtvshared.htmlEntitize(session_data.getSessionData("subscriber_name")); - var address = username + "@" + minisrv_config.config.service_name //minisrv_config.config.domain_name - var notImplementedAlert = new clientShowAlert({ - 'image': minisrv_config.config.service_logo, - 'message': "This feature is not available.", - 'buttonlabel1': "Okay", - 'buttonaction1': "client:donothing", - 'noback': true, - }).getURL(); + var username = session_data.getSessionData("subscriber_username"); + var userdisplayname = wtvshared.htmlEntitize(session_data.getSessionData("subscriber_name")); + var address = username + "@" + minisrv_config.config.service_name //minisrv_config.config.domain_name + var notImplementedAlert = new clientShowAlert({ + 'image': minisrv_config.config.service_logo, + 'message': "This feature is not available.", + 'buttonlabel1': "Okay", + 'buttonaction1': "client:donothing", + 'noback': true, + }).getURL(); - if ((typeof request_headers.query.sendoff !== 'undefined' && request_headers.query.sendoff != false) || request_headers.query.saveoff || request_headers.query.get_snap || request_headers.query.get_gab) { - var from_addr = address; - var signature = session_data.getSessionData("subscriber_signature") || null; - if (typeof request_headers.query.sendoff !== 'undefined' && request_headers.query.sendoff != false) { - var attachments = []; + if ((typeof request_headers.query.sendoff !== 'undefined' && request_headers.query.sendoff != false) || request_headers.query.saveoff || request_headers.query.get_snap || request_headers.query.get_gab) { + var from_addr = address; + var signature = session_data.getSessionData("subscriber_signature") || null; + if (typeof request_headers.query.sendoff !== 'undefined' && request_headers.query.sendoff != false) { + var attachments = []; - if (message_snapshot_data) { - var attachment = { - 'mime': 'image/jpeg', - 'filename': 'snapshot.jpg' - } - if (typeof message_snapshot_data == "object") { - attachment.content = new Buffer.from(message_snapshot_data).toString('base64'); - attachment.is_base64 = true; - } else - attachment.content = message_snapshot_data; + if (message_snapshot_data) { + var attachment = { + 'mime': 'image/jpeg', + 'filename': 'snapshot.jpg' + } + if (typeof message_snapshot_data == "object") { + attachment.content = new Buffer.from(message_snapshot_data).toString('base64'); + attachment.is_base64 = true; + } else + attachment.content = message_snapshot_data; - attachments.push(attachment); + attachments.push(attachment); + } + + if (message_voicemail_data) { + var attachment = { + 'mime': 'audio/wav', + 'filename': 'voicemail.wav' } - if (message_voicemail_data) { - var attachment = { - 'mime': 'audio/wav', - 'filename': 'voicemail.wav' + if (typeof message_voicemail_data == "object") { + attachment.content = new Buffer.from(message_voicemail_data).toString('base64'); + attachment.is_base64 = true; + } else + attachment.content = message_voicemail_data; + + attachments.push(attachment); + } + + console.log("DEBUG sendmail: Before send decision - newsgroup =", newsgroup, "to_addr =", to_addr); + if (newsgroup !== null) { + console.log("DEBUG sendmail: Taking newsgroup path"); + var request_is_async = true; + var local_service_name = request_headers.query['discuss-prefix'] || "wtv-news" + const wtvnews = new WTVNews(minisrv_config, local_service_name); + var service_config = minisrv_config.services[local_service_name]; + if (wtvnewsserver) { + var tls_options = { + ca: this.wtvshared.getServiceDep('wtv-news/localserver_ca.pem'), + key: this.wtvshared.getServiceDep('wtv-news/localserver_key.pem'), + cert: this.wtvshared.getServiceDep('wtv-news/localserver_cert.pem'), + checkServerIdentity: () => { return null; } } - - if (typeof message_voicemail_data == "object") { - attachment.content = new Buffer.from(message_voicemail_data).toString('base64'); - attachment.is_base64 = true; - } else - attachment.content = message_voicemail_data; - - attachments.push(attachment); + if (wtvnewsserver.username) + wtvnews.initializeUsenet("127.0.0.1", service_config.local_nntp_port, tls_options, wtvnewsserver.username, wtvnewsserver.password); + else + wtvnews.initializeUsenet("127.0.0.1", service_config.local_nntp_port, tls_options); + } else { + if (service_config.upstream_auth) + wtvnews.initializeUsenet(service_config.upstream_address, service_config.upstream_port, service_config.upstream_tls || null, service_config.upstream_auth.username || null, service_config.upstream_auth.password || null); + else + wtvnews.initializeUsenet(service_config.upstream_address, service_configupstream_port, service_config.upstream_tls || null); } - - console.log("DEBUG sendmail: Before send decision - newsgroup =", newsgroup, "to_addr =", to_addr); - if (newsgroup !== null) { - console.log("DEBUG sendmail: Taking newsgroup path"); - var request_is_async = true; - var local_service_name = request_headers.query['discuss-prefix'] || "wtv-news" - const wtvnews = new WTVNews(minisrv_config, local_service_name); - var service_config = minisrv_config.services[local_service_name]; - if (wtvnewsserver) { - var tls_options = { - ca: this.wtvshared.getServiceDep('wtv-news/localserver_ca.pem'), - key: this.wtvshared.getServiceDep('wtv-news/localserver_key.pem'), - cert: this.wtvshared.getServiceDep('wtv-news/localserver_cert.pem'), - checkServerIdentity: () => { return null; } - } - if (wtvnewsserver.username) - wtvnews.initializeUsenet("127.0.0.1", service_config.local_nntp_port, tls_options, wtvnewsserver.username, wtvnewsserver.password); - else - wtvnews.initializeUsenet("127.0.0.1", service_config.local_nntp_port, tls_options); - } else { - if (service_config.upstream_auth) - wtvnews.initializeUsenet(service_config.upstream_address, service_config.upstream_port, service_config.upstream_tls || null, service_config.upstream_auth.username || null, service_config.upstream_auth.password || null); - else - wtvnews.initializeUsenet(service_config.upstream_address, service_configupstream_port, service_config.upstream_tls || null); - } - from_addr = userdisplayname + " <" + from_addr + ">"; - news_headers = null; - if (signature && signature != "" && !no_signature) { - var signature_tuple = null; - if (signature.indexOf('') >= 0) { - attachments.push({ - "mime": 'text/html', - "content": signature, - "use_base64": false, - "filename": "wtv_signature.html" - }); - } else { - if (msg_body) msg_body += "\n" + signature; - else msg_body = signature; - } - } - - if (!msg_body) msg_body = ""; - - if (attachments.length > 0 || msg_body.indexOf('') >= 0) { - // usenet attachments - var tuples = []; - if (msg_body.indexOf('') >= 0) { - tuples.push({ - "mime": 'text/html', - "content": msg_body, - "use_base64": false, - "filename": "message.html" - }); - } else { - tuples = [{ - "mime": 'text/plain', - "content": msg_body || '', - "use_base64": false - }]; - } - if (signature_tuple) tuples.push(signature_tuple); - attachments.forEach((attachment) => { - var tuple = {}; - tuple.mime = attachment.mime; - tuple.content = attachment.content; - tuple.use_base64 = (typeof attachment.use_base64 === 'boolean') ? attachment.use_base64 : true; - tuple.is_base64 = (typeof attachment.is_base64 === 'boolean') ? attachment.is_base64 : false; - tuple.filename = attachment.filename || null; - tuples.push(tuple); + from_addr = userdisplayname + " <" + from_addr + ">"; + news_headers = null; + if (signature && signature != "" && !no_signature) { + var signature_tuple = null; + if (signature.indexOf('') >= 0) { + attachments.push({ + "mime": 'text/html', + "content": signature, + "use_base64": false, + "filename": "wtv_signature.html" }); - var multipart_data = wtvmime.generateMultipartMIME(tuples); - news_headers = { - "Content-Type": multipart_data.content_type, - "MIME-Version": multipart_data.mime_version, - "User-Agent": minisrv_version_string + " for WebTV", - "Content-Language": "en-US" - } - msg_body = multipart_data.content.toString(); - } - wtvnews.postToGroup(newsgroup, from_addr, msg_subject, msg_body, article, news_headers).then(() => { - session_data.deleteSessionData("usenet_draft"); - session_data.deleteSessionData("usenet_draft_attachments"); - headers = `300 OK + } else { + if (msg_body) msg_body += "\n" + signature; + else msg_body = signature; + } + } + + if (!msg_body) msg_body = ""; + + if (attachments.length > 0 || msg_body.indexOf('') >= 0) { + // usenet attachments + var tuples = []; + if (msg_body.indexOf('') >= 0) { + tuples.push({ + "mime": 'text/html', + "content": msg_body, + "use_base64": false, + "filename": "message.html" + }); + } else { + tuples = [{ + "mime": 'text/plain', + "content": msg_body || '', + "use_base64": false + }]; + } + if (signature_tuple) tuples.push(signature_tuple); + attachments.forEach((attachment) => { + var tuple = {}; + tuple.mime = attachment.mime; + tuple.content = attachment.content; + tuple.use_base64 = (typeof attachment.use_base64 === 'boolean') ? attachment.use_base64 : true; + tuple.is_base64 = (typeof attachment.is_base64 === 'boolean') ? attachment.is_base64 : false; + tuple.filename = attachment.filename || null; + tuples.push(tuple); + }); + var multipart_data = wtvmime.generateMultipartMIME(tuples); + news_headers = { + "Content-Type": multipart_data.content_type, + "MIME-Version": multipart_data.mime_version, + "User-Agent": minisrv_version_string + " for WebTV", + "Content-Language": "en-US" + } + msg_body = multipart_data.content.toString(); + } + wtvnews.postToGroup(newsgroup, from_addr, msg_subject, msg_body, article, news_headers).then(() => { + session_data.deleteSessionData("usenet_draft"); + session_data.deleteSessionData("usenet_draft_attachments"); + headers = `300 OK wtv-expire-all: wtv-news:/news?group=${newsgroup} wtv-expire-all wtv-mail:/sendmail Location: wtv-news:/news?group=${newsgroup}`; - sendToClient(socket, headers, ''); - }).catch((e) => { - var err = this.wtvshared.doErrorPage(500, null, e.toString()) - sendToClient(socket, err[0], err[1]); - }); + sendToClient(socket, headers, ''); + }).catch((e) => { + var err = this.wtvshared.doErrorPage(500, null, e.toString()) + sendToClient(socket, err[0], err[1]); + }); + } else { + console.log("DEBUG sendmail: Taking email path with to_addr =", to_addr); + var messagereturn = session_data.mailstore.sendMessageToAddr(from_addr, to_addr, msg_body, msg_subject, userdisplayname, to_name, signature, attachments, msg_url, msg_url_title); + if (messagereturn !== true) { + var errpage = wtvshared.doErrorPage(400, messagereturn); + headers = errpage[0]; + data = errpage[1]; } else { - console.log("DEBUG sendmail: Taking email path with to_addr =", to_addr); - var messagereturn = session_data.mailstore.sendMessageToAddr(from_addr, to_addr, msg_body, msg_subject, userdisplayname, to_name, signature, attachments, msg_url, msg_url_title); - if (messagereturn !== true) { - var errpage = wtvshared.doErrorPage(400, messagereturn); - headers = errpage[0]; - data = errpage[1]; - } else { - session_data.deleteSessionData("mail_draft"); - session_data.deleteSessionData("mail_draft_attachments"); - headers = `300 OK + session_data.deleteSessionData("mail_draft"); + session_data.deleteSessionData("mail_draft_attachments"); + headers = `300 OK wtv-expire-all: wtv-mail:/listmail wtv-expire-all: wtv-mail:/sendmail Location: wtv-mail:/listmail`; - } } + } - } else if (request_headers.query.saveoff) { - var mail_draft_data = { - to_addr: to_addr, - msg_subject: msg_subject, - msg_body: msg_body, - no_signature: no_signature, - msg_url: msg_url, - msg_url_title: msg_url_title, - } - if (newsgroup) mail_draft_data.article = article; - session_data.setSessionData((newsgroup) ? "usenet_draft" : "mail_draft", mail_draft_data); - headers = `200 OK + } else if (request_headers.query.saveoff) { + var mail_draft_data = { + to_addr: to_addr, + msg_subject: msg_subject, + msg_body: msg_body, + no_signature: no_signature, + msg_url: msg_url, + msg_url_title: msg_url_title, + } + if (newsgroup) mail_draft_data.article = article; + session_data.setSessionData((newsgroup) ? "usenet_draft" : "mail_draft", mail_draft_data); + headers = `200 OK Content-type: text/html wtv-expire-all: wtv-mail:/sendmail`; - } - } else { + } + } else { - headers = `200 OK + headers = `200 OK Content-type: text/html`; - var mail_draft_data = session_data.getSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments") || {}; - if (request_headers.query.snapping == "false") { - headers += "\nwtv-expire-all: cache:snapshot.jpg"; - if (mail_draft_data.message_snapshot_data) mail_draft_data.message_snapshot_data = null; - session_data.setSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments", mail_draft_data); - } + var mail_draft_data = session_data.getSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments") || {}; + if (request_headers.query.snapping == "false") { + headers += "\nwtv-expire-all: cache:snapshot.jpg"; + if (mail_draft_data.message_snapshot_data) mail_draft_data.message_snapshot_data = null; + session_data.setSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments", mail_draft_data); + } - if (request_headers.query.gabbing == "false") { - headers += "\nwtv-expire-all: cache:voicemail.wav"; - if (mail_draft_data.message_voicemail_data) mail_draft_data.message_voicemail_data = null; - session_data.setSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments", mail_draft_data); - } + if (request_headers.query.gabbing == "false") { + headers += "\nwtv-expire-all: cache:voicemail.wav"; + if (mail_draft_data.message_voicemail_data) mail_draft_data.message_voicemail_data = null; + session_data.setSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments", mail_draft_data); + } - if (request_headers.query.message_snapshot_data) { - mail_draft_data.message_snapshot_data = request_headers.query.message_snapshot_data - session_data.setSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments", mail_draft_data); - } + if (request_headers.query.message_snapshot_data) { + mail_draft_data.message_snapshot_data = request_headers.query.message_snapshot_data + session_data.setSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments", mail_draft_data); + } - if (request_headers.query.message_voicemail_data) { - mail_draft_data.message_voicemail_data = request_headers.query.message_voicemail_data - session_data.setSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments", mail_draft_data); - } - var message_colors = null; - if (no_signature) message_colors = session_data.mailstore.getSignatureColors(null, true); - else message_colors = session_data.mailstore.getSignatureColors(session_data.getSessionData("subscriber_signature"), true); + if (request_headers.query.message_voicemail_data) { + mail_draft_data.message_voicemail_data = request_headers.query.message_voicemail_data + session_data.setSessionData((newsgroup) ? "usenet_draft_attachments" : "mail_draft_attachments", mail_draft_data); + } + var message_colors = null; + if (no_signature) message_colors = session_data.mailstore.getSignatureColors(null, true); + else message_colors = session_data.mailstore.getSignatureColors(session_data.getSessionData("subscriber_signature"), true); - data = ` + data = ` @@ -402,23 +397,23 @@ ${(request_headers.query.article) ? `<input type="hidden" name="article" value=" <td width=10 height=26> <td width=89 valgn=middle> <table cellspacing=0 cellpadding=0 href="` - if (newsgroup) { - data += "wtv-news:/news?group=" + newsgroup; - } else { - data += "wtv-mail:/listmail"; - } + if (newsgroup) { + data += "wtv-news:/news?group=" + newsgroup; + } else { + data += "wtv-mail:/listmail"; + } data += `"><tr> <td height=1> <tr>`; - if (newsgroup) { - data += `<td><shadow><font sizerange=medium color=#E6CD4A>Group list</font></shadow>`; - } else { - data += `<td><shadow><font sizerange=medium color=#E6CD4A>Mail list</font></shadow>`; - } + if (newsgroup) { + data += `<td><shadow><font sizerange=medium color=#E6CD4A>Group list</font></shadow>`; + } else { + data += `<td><shadow><font sizerange=medium color=#E6CD4A>Mail list</font></shadow>`; + } data += `</table>`; - if (!newsgroup) { - data += ` + if (!newsgroup) { + data += ` <td width=5> <tr> <td bgcolor=#4A525A height=2 width=104 colspan=3> <tr> @@ -430,7 +425,7 @@ data += `</table>`; <tr> <td><shadow><font sizerange=medium color=#E6CD4A>Address</font></shadow> </table>`; - } + } data += ` <td width=5> <tr> <td bgcolor=#4A525A height=2 width=104 colspan=3> @@ -549,12 +544,12 @@ ${address} <img src="wtv-mail:/content/images/sendmail_panel_dots.gif" width=385 height=2> <tr> <td width=80 valign=top align=right>`; - if (!request_headers.query.discuss) { - data += '<a href="client:openaddresspanel">To:</a>'; - } else { - data += 'To:'; - } - data += `  + if (!request_headers.query.discuss) { + data += '<a href="client:openaddresspanel">To:</a>'; + } else { + data += 'To:'; + } + data += `  <td width=305 valign=top> <textarea bgcolor="${message_colors.bgcolor}" @@ -573,7 +568,7 @@ autoactivate addresses autoascii nohighlight`; - if (newsgroup) { data += "\nreadonly" } + if (newsgroup) { data += "\nreadonly" } data += ` >${(to_addr) ? to_addr : ''}</textarea> <tr> @@ -624,15 +619,15 @@ link=${message_colors.link} vlink=${message_colors.vlink} vspace=0 hspace=0>`; - if (session_data.getSessionData("subscriber_signature") && session_data.getSessionData("subscriber_signature") != "" && !no_signature) { - data += wtvshared.sanitizeSignature(session_data.getSessionData("subscriber_signature")); - } - if (msg_url) { - data += `<input type="hidden" name="message_url" value="${msg_url}"> + if (session_data.getSessionData("subscriber_signature") && session_data.getSessionData("subscriber_signature") != "" && !no_signature) { + data += wtvshared.sanitizeSignature(session_data.getSessionData("subscriber_signature")); + } + if (msg_url) { + data += `<input type="hidden" name="message_url" value="${msg_url}"> <input type="hidden" name="message_title" value="${msg_url_title}"> Included Page: <a href="${msg_url}">${wtvshared.htmlEntitize(msg_url_title).replace(/'/gi, "'")}</a>`; - } - data += ` + } + data += ` <td abswidth=13> <td abswidth=2 bgcolor=#000000> <tr> @@ -649,18 +644,18 @@ Included Page: <a href="${msg_url}">${wtvshared.htmlEntitize(msg_url_title).repl <table cellspacing=0 cellpadding=0 border=0> <tr> <td width=305 valign=top>`; - if (!session_data.getSessionData("subscriber_signature") || session_data.getSessionData("subscriber_signature") == "") { - data += `<input type = hidden name = "togglesign" value = "false"> <td abswidth=13 > `; - } else if (no_signature) { - data += `<a href="javascript:Signing('true')"> + if (!session_data.getSessionData("subscriber_signature") || session_data.getSessionData("subscriber_signature") == "") { + data += `<input type = hidden name = "togglesign" value = "false"> <td abswidth=13 > `; + } else if (no_signature) { + data += `<a href="javascript:Signing('true')"> <img src="wtv-mail:/content/images/RemoveButton.gif" align=absmiddle height=25 width=25> Add signature </a> <br>`; - } else { - data += `<a href="javascript:Signing('false')"> + } else { + data += `<a href="javascript:Signing('false')"> <img src="wtv-mail:/content/images/RemoveButton.gif" align=absmiddle height=25 width=25> Remove signature </a> <br>`; - } - data += ` + } + data += ` <td align=right valign=top width=110> <FONT COLOR="#E7CE4A"><SHADOW> <INPUT TYPE=SUBMIT BORDERIMAGE="file://ROM/Borders/ButtonBorder2.bif" action="javascript:Submit()" value="Send" @@ -674,8 +669,8 @@ USESTYLE NOARGS> <spacer type=vertical size=5> `; - if ((request_headers.query.snapping && request_headers.query.snapping !== 'false') || mail_draft_attachments.message_snapshot_data) { - data += `<tr> + if ((request_headers.query.snapping && request_headers.query.snapping !== 'false') || mail_draft_attachments.message_snapshot_data) { + data += `<tr> <td absheight="10"> <img src="ROMCache/Spacer.gif" width="1" height="10"> </td></tr></tbody></table> @@ -703,12 +698,12 @@ USESTYLE NOARGS> <img src="ROMCache/Spacer.gif" width="1" height="1"> </td></tr><tr> <td colspan="2" absheight="15">`; - if (!mail_draft_attachments.message_snapshot_data) { - data += `<input type="file" device="video" name="message_snapshot_data" src="cache:snapshot.jpg" invisible="" width="75%" height="75%"> + if (!mail_draft_attachments.message_snapshot_data) { + data += `<input type="file" device="video" name="message_snapshot_data" src="cache:snapshot.jpg" invisible="" width="75%" height="75%"> <input type="hidden" name="message_snapshot_url" value="cache:snapshot.jpg">`; - } + } - data += ` + data += ` </td></tr><tr> <td colspan="2" align="center"> <img src="${(mail_draft_attachments.message_snapshot_data) ? 'wtv-mail:/sendmail?get_snap=true' : (request_headers.query.message_snapshot_url) ? request_headers.query.message_snapshot_url : 'cache:snapshot.jpg'}" width="380" height="290"> @@ -736,10 +731,10 @@ USESTYLE NOARGS> <td absheight="6"> <img src="ROMCache/Spacer.gif" width="1" height="6"> </td></tr>`; - } + } - if ((request_headers.query.gabbing && request_headers.query.gabbing !== 'false') || mail_draft_attachments.message_voicemail_data) { - data += `<tr> + if ((request_headers.query.gabbing && request_headers.query.gabbing !== 'false') || mail_draft_attachments.message_voicemail_data) { + data += `<tr> <td absheight="10"> <img src="ROMCache/Spacer.gif" width="1" height="10"> </td></tr></tbody></table> @@ -792,15 +787,14 @@ ${(!mail_draft_attachments.message_voicemail_data) ? '' : '<input type=hidden na <td absheight="6"> <img src="ROMCache/Spacer.gif" width="1" height="6"> </td></tr>`; - } - data += ` + } + data += ` </form> </tbody> </table> </body> </HTML> `; - } } } } \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-register/BeMyGuest.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-register/BeMyGuest.js deleted file mode 100644 index b95c5900..00000000 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-register/BeMyGuest.js +++ /dev/null @@ -1,28 +0,0 @@ -var minisrv_service_file = true; - -if (minisrv_config.config.allow_guests) { - headers = `300 Moved -Connection: Close -wtv-noback-all: wtv-register: -wtv-expire-all: wtv-`; - if (socket.ssid) { - if (session_data) { - if (session_data.data_store) { - if (session_data.data_store.wtvsec_login) { - headers += "\nwtv-ticket: " + session_data.data_store.wtvsec_login.ticket_b64; - } - } - } - } - headers += ` -wtv-service: reset -${getServiceString('wtv-1800')} -wtv-relogin-url: wtv-1800:/preregister?guest_login=true&skip_splash=true -wtv-reconnect-url: wtv-1800:/preregister?guest_login=true&reconnect=true -wtv-boot-url: wtv-1800:/preregister?guest_login=true -Location: client:relogin`; -} else { - var errpage = wtvshared.doErrorPage(400, "Guest mode is not enabled on this service."); - headers = errpage[0]; - data = errpage[1]; -} \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-register/register.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-register/register.js index 83e0a917..678121cb 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-register/register.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-register/register.js @@ -10,7 +10,6 @@ var nickname = (minisrv_config.config.service_name + '_' + namerand) var human_name = nickname; var isOldBuild = wtvshared.isOldBuild(session_data); var form_data = `<input type=button action="ValidateAgreement?registering=true&subscriber_name=${human_name}&subscriber_username=${nickname}" text="#dddddd" Value="Quick Reg" name="speedyreg" borderimage="file://ROM/Borders/ButtonBorder2.bif" width=130>`; -if (minisrv_config.config.allow_guests) form_data += `<input type=button text="#dddddd" action="BeMyGuest" Value="Sign in as Guest" name="noreg" borderimage="file://ROM/Borders/ButtonBorder2.bif" width=170 >`; var main_data = `<form action="ValidateAgreement" ENCTYPE="x-www-form-encoded" METHOD="POST"> <input type=hidden name=registering value="true"> diff --git a/zefie_wtvp_minisrv/includes/classes/WTVAuthor.js b/zefie_wtvp_minisrv/includes/classes/WTVAuthor.js index 0ccf164d..36902053 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVAuthor.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVAuthor.js @@ -55,17 +55,14 @@ class WTVAuthor { } pagestoreExists() { - if (!this.isguest) { - if (this.pagestore_dir === null) { - // set pagestore directory local var so we don't call the function every time - var userstore_dir = this.wtvclient.getUserStoreDirectory(); - // PageStore - var store_dir = "PageStore" + this.path.sep; - this.pagestore_dir = userstore_dir + store_dir; - } - return this.fs.existsSync(this.pagestore_dir); - } - return true; + if (this.pagestore_dir === null) { + // set pagestore directory local var so we don't call the function every time + var userstore_dir = this.wtvclient.getUserStoreDirectory(); + // PageStore + var store_dir = "PageStore" + this.path.sep; + this.pagestore_dir = userstore_dir + store_dir; + } + return this.fs.existsSync(this.pagestore_dir); } createPagestore() { diff --git a/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js b/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js index d6ac00c1..44c66226 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js @@ -346,13 +346,11 @@ class WTVClientSessionData { } scrapbookExists() { - if (!this.isguest) { - if (this.scrapbook_dir === null) { - var userstore_dir = this.getUserStoreDirectory(); - var store_dir = "Scrapbook" + this.path.sep; - this.scrapbook_dir = userstore_dir + store_dir; - } - } + if (this.scrapbook_dir === null) { + var userstore_dir = this.getUserStoreDirectory(); + var store_dir = "Scrapbook" + this.path.sep; + this.scrapbook_dir = userstore_dir + store_dir; + } return this.fs.existsSync(this.scrapbook_dir); } diff --git a/zefie_wtvp_minisrv/includes/classes/WTVFavorites.js b/zefie_wtvp_minisrv/includes/classes/WTVFavorites.js index 89cad0cf..1316fe6c 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVFavorites.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVFavorites.js @@ -39,18 +39,15 @@ class WTVFavorites { } favstoreExists() { - if (!this.isguest) { - if (this.favstore_dir === null) { - // set favstore directory local var so we don't call the function every time - const userstore_dir = this.wtvclient.getUserStoreDirectory(); + if (this.favstore_dir === null) { + // set favstore directory local var so we don't call the function every time + const userstore_dir = this.wtvclient.getUserStoreDirectory(); - // FavStore - const store_dir = "FavStore" + this.path.sep; - this.favstore_dir = userstore_dir + store_dir; - } - return this.fs.existsSync(this.favstore_dir); - } - return null; + // FavStore + const store_dir = "FavStore" + this.path.sep; + this.favstore_dir = userstore_dir + store_dir; + } + return this.fs.existsSync(this.favstore_dir); } folderExists(foldername) { diff --git a/zefie_wtvp_minisrv/includes/classes/WTVMail.js b/zefie_wtvp_minisrv/includes/classes/WTVMail.js index fcca48c9..8499cca7 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVMail.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVMail.js @@ -56,17 +56,14 @@ class WTVMail { mailstoreExists() { - if (!this.isguest) { - if (this.mailstore_dir === null) { - // set mailstore directory local var so we don't call the function every time - const userstore_dir = this.wtvclient.getUserStoreDirectory(); - // MailStore - const store_dir = "MailStore" + this.path.sep; - this.mailstore_dir = userstore_dir + store_dir; - } - return this.fs.existsSync(this.mailstore_dir); + if (this.mailstore_dir === null) { + // set mailstore directory local var so we don't call the function every time + const userstore_dir = this.wtvclient.getUserStoreDirectory(); + // MailStore + const store_dir = "MailStore" + this.path.sep; + this.mailstore_dir = userstore_dir + store_dir; } - return null; + return this.fs.existsSync(this.mailstore_dir); } getSignatureColors(signature = null, sendmail = true) { diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index 3a66e99c..0a113ce6 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -47,7 +47,6 @@ "show_diskmap": false, // Useful for debugging custom Diskmaps "unauthorized_url": "wtv-1800:/unauthorized?", // Where to send unauthorized users "enable_port_isolation": true, // Only respond to services on their correct ports - "allow_guests": true, // Allow users to experience the server without registering "domain_name": "wtv.zefie.com", // For usenet and future stuff, no need to change just yet, "max_post_length": 20, // in megabytes "require_valid_ssid": false, // require a valid SSID (with valid CRC) diff --git a/zefie_wtvp_minisrv/package.json b/zefie_wtvp_minisrv/package.json index b2af413e..e433d8f5 100644 --- a/zefie_wtvp_minisrv/package.json +++ b/zefie_wtvp_minisrv/package.json @@ -9,7 +9,8 @@ "start": "node app.js", "irc": "node irconly.js", "test": "node test.js", - "debug": "cross-env DEBUG=* node app.js" + "debug": "cross-env DEBUG=* node app.js", + "modem-proxy": "node modem_proxy.js" }, "author": { "name": "zefie",