Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("/api/tom")
- tom.gui()
- tom.header("SERVER ACTIVE")
- modem = peripheral.wrap("top")
- serverchan = 3
- modem.open(serverchan)
- function split(str, pat)
- out = {}
- for match in (str..pat):gmatch("(.-)"..pat) do
- table.insert(out, match)
- end
- return out
- end
- function readData(input)
- t = split(input, "!")
- incominguser = t[1]
- incominghash = t[2]
- incomingpass = t[3]
- end
- local function send(message, whoto)
- modem.transmit(whoto, serverchan, message)
- end
- local event, side, recchan, repchan, mess, dist = os.pullEvent("modem_message")
- fullstr = mess
- readData(fullstr)
- usercheck = fs.isDir("/users/"..incominguser)
- hashcheck = fs.exists("/users/"..incominguser.."/"..incominghash)
- passfile = io.open("/users/"..incominguser.."/"..incominghash,"r")
- passwd = passfile:read()
- if usercheck == false then
- send("erroruser", repchan)
- sleep(1)
- tom.gui()
- tom.header("User doesn't exist")
- sleep(1)
- os.reboot()
- else
- if hashcheck == false then
- send("errorhash", repchan)
- sleep(1)
- tom.gui()
- tom.header("Hash incorrect")
- sleep(1)
- os.reboot()
- else
- if incomingpass ~= passwd then
- send("errorpass", repchan)
- sleep(1)
- tom.gui()
- tom.header("Second Factor password incorrect")
- sleep(1)
- os.reboot()
- elseif incomingpass == passwd then
- send("permit", repchan)
- sleep(1)
- tom.gui()
- tom.header("Access granted for " .. incominguser)
- sleep(1)
- os.reboot()
- end
- end
- end
Add Comment
Please, Sign In to add comment