Skip to content
Snippets Groups Projects
Commit c66a0021 authored by rswindell's avatar rswindell
Browse files

Added "email forgotten password" feature.

Set email_passwords=false to disable.
parent a000d6d0
Branches
Tags
No related merge requests found
......@@ -6,6 +6,8 @@
load("sbbsdefs.js");
var email_passwords = true;
// The following 2 lines are only required for "Re-login" capability
bbs.logout();
system.node_list[bbs.node_num-1].status = NODE_LOGON;
......@@ -18,13 +20,13 @@ for(var c=0; c<10; c++) {
bbs.nodesync();
// Display login prompt
console.print("\r\n\1n\1h\1cEnter User Name");
console.print("\r\n\1n\1h\1cEnter \1wUser Name");
if(!(bbs.node_settings&NM_NO_NUM))
console.print(" or Number");
console.print("\1c or \1wNumber");
if(!(system.settings&SYS_CLOSED))
console.print(" or '\1yNew\1c'");
console.print("\1c or '\1yNew\1c'");
if(guest)
console.print(" or '\1yGuest\1c'");
console.print("\1c or '\1yGuest\1c'");
console.print("\r\nNN:\b\b\bLogin: \1w");
// Get login string
......@@ -47,6 +49,53 @@ for(var c=0; c<10; c++) {
bbs.logon();
exit();
}
if(email_passwords) {
var usernum = system.matchuser(str);
if(usernum) {
var u = new User(usernum);
if(!(u.settings&(USER_DELETED|USER_INACTIVE))
&& netaddr_type(u.netmail) == NET_INTERNET
&& !console.noyes("Did you forget your password")) {
console.print("\1n\1c\1hPlease confirm your Internet e-mail address: \1y");
var email_addr = console.getstr(50);
if(email_addr.toLowerCase() == u.netmail.toLowerCase()) {
var msgbase = new MsgBase("mail");
if(msgbase.open()==false)
alert(log(LOG_ERR,"!ERROR " + msgbase.last_error));
else {
var hdr = { to: u.alias,
to_net_addr: u.netmail,
to_net_type: NET_INTERNET,
from: system.operator,
from_ext: "1",
subject: system.name + " user account information"
};
var msgtxt = "Your user account information was requested on " + system.timestr() + "\r\n";
msgtxt += "by " + client.host_name + " [" + client.ip_address +"] via " +
client.protocol + " (TCP port " + client.port + "):\r\n\r\n";
msgtxt += "Account Number: " + u.number + "\r\n";
msgtxt += "Created: " + system.timestr(u.stats.firston_date) + "\r\n";
msgtxt += "Last on: " + system.timestr(u.stats.laston_date) + "\r\n";
msgtxt += "Connect: " + u.host_name + " [" + u.ip_address + "]" +
" via " + u.connection + "\r\n";
msgtxt += "Password: " + u.security.password + "\r\n";
if(msgbase.save_msg(hdr, msgtxt))
console.print("\r\n\1n\1h\1yAccount information e-mailed to: \1w" + u.netmail + "\r\n");
else
alert(log(LOG_ERR,"!ERROR " + msgbase.last_error + "saving bulkmail message"));
msgbase.close();
}
continue;
}
alert(log(LOG_WARNING,"Incorrect e-mail address: " + email_addr));
}
}
}
// Password failure counts as 2 attempts
c++;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment