Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rednet.open("top")
- while true do
- id, message, info = rednet.receive()
- if message == "register" then
- local user = info[1]
- local pass = info[2]
- if fs.exists(user) then
- rednet.send(id, "userexists")
- else
- fs.makeDir(user)
- --local dir = user.."/"
- local dir = user
- file = fs.open(fs.combine(dir, "password"), "w")
- file.write(pass)
- file.close()
- rednet.send(id, "sucessful")
- end
- elseif message == "login" then
- local user = info[1]
- local pass = info[2]
- if fs.exists(user) == false then
- rednet.send(id, "usernoexist")
- else
- tmp = fs.open(fs.combine(user, "password"), "r")
- local spass = tmp.readAll()
- tmp.close()
- if spass == pass then
- rednet.send(id, "sucessful")
- else
- rednet.send(id, "passwrong")
- end
- end
- elseif message == "download" then
- local user = info[1]
- local pass = info[2]
- -- Adding Authentication just in case someone
- -- tries to trick the login system on the
- -- client
- if fs.exists(user) == false then
- rednet.send(id, "invaildauth")
- else
- tmp = fs.open(fs.combine(user, "password"), "r")
- local spass = tmp.readAll()
- tmp.close()
- if pass == spass then
- -- Send files one by one
- local files = fs.list("/"..user.."/")
- for k,v in pairs(files) do
- if v == "password" then
- -- Do nothing
- else
- file = fs.open(fs.combine(user, v), "r")
- local content = file.readAll()
- file.close()
- info = {v, content}
- rednet.send(id, "recieve", info)
- end
- end
- rednet.send(id, "stop")
- else
- -- Invaild Session
- rednet.send(id, "invaildauth")
- end
- end
- elseif message == "send-start" then
- -- Basic Auth
- local user = info[1]
- local pass = info[2]
- if fs.exists(user) == false then
- rednet.send(id, "invaildauth")
- else
- while true do
- id, message, info = rednet.receive()
- if message == "send" then
- if fs.exists(fs.combine(user, info[1])) then
- fs.delete(fs.combine(user, info[1]))
- end
- f = fs.open(fs.combine(user, info[1]), "w")
- f.write(info[2])
- f.close()
- elseif message == "send-stop" then
- break
- end
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment