diff --git a/exec/login.js b/exec/login.js index 8f9f9cbe2714ae55d227e374e6d369b4408054d3..1083473666fa9b08d920ed7ace44b16ff04fa610 100644 --- a/exec/login.js +++ b/exec/login.js @@ -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++; }