Fix ENV_HASH not working correctly.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
|||||||
tmp.*
|
tmp.*
|
||||||
*.log
|
*.log
|
||||||
.env
|
.env
|
||||||
|
p.vim
|
||||||
|
13
main.rb
13
main.rb
@@ -7,18 +7,20 @@ require "uri"
|
|||||||
require "xxhash"
|
require "xxhash"
|
||||||
require "zlib"
|
require "zlib"
|
||||||
|
|
||||||
|
load "logman.rb"
|
||||||
|
|
||||||
ALPHANUM = [*"0".."9", *"A".."Z", *"a".."z", "-", "_"].freeze
|
ALPHANUM = [*"0".."9", *"A".."Z", *"a".."z", "-", "_"].freeze
|
||||||
|
|
||||||
env_data = File.read(".env")
|
env_data = File.read(".env")
|
||||||
ENV_HASH = {}
|
ENV_HASH = {}
|
||||||
|
|
||||||
env_data.each_line do |line|
|
env_data.each_line do |line|
|
||||||
if (match = line.match(/^([A-Z_][A-Z0-9_]*)=(.*)$/))
|
next unless (match = line.match(/^([A-Z_][A-Z0-9_]*)=(.*)$/))
|
||||||
_, key, val = match
|
ENV_HASH[match[1]] = match[2]
|
||||||
ENV_HASH[key] = val
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Logman.log ENV_HASH.inspect
|
||||||
|
|
||||||
CODE_ENV = :dev
|
CODE_ENV = :dev
|
||||||
|
|
||||||
db_file = File.expand_path("infinsweeper.db")
|
db_file = File.expand_path("infinsweeper.db")
|
||||||
@@ -26,7 +28,6 @@ DB = Sequel.connect("sqlite:///#{db_file}", single_threaded: false)
|
|||||||
DB.run("PRAGMA foreign_keys = ON;")
|
DB.run("PRAGMA foreign_keys = ON;")
|
||||||
$active_users = DB[:SignedInUsers].all.map { |x| [x[:code], x[:player]] }.to_h
|
$active_users = DB[:SignedInUsers].all.map { |x| [x[:code], x[:player]] }.to_h
|
||||||
|
|
||||||
load "logman.rb"
|
|
||||||
load "mailer.rb"
|
load "mailer.rb"
|
||||||
load "players.rb"
|
load "players.rb"
|
||||||
load "session.rb"
|
load "session.rb"
|
||||||
@@ -35,7 +36,7 @@ set :public_folder, "public"
|
|||||||
|
|
||||||
get "/" do
|
get "/" do
|
||||||
session = Sessions.new request, response
|
session = Sessions.new request, response
|
||||||
Logman.log session["message"]
|
Logman.log session["message"].inspect
|
||||||
send_file "index.html"
|
send_file "index.html"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@@ -64,6 +64,7 @@ module Players
|
|||||||
|
|
||||||
def self.authorized?(username, pass)
|
def self.authorized?(username, pass)
|
||||||
digest = XXhash.xxh32(pass, ENV_HASH["SALT"])
|
digest = XXhash.xxh32(pass, ENV_HASH["SALT"])
|
||||||
|
Logman.log "Authorized: #{username} & #{digest}\n"
|
||||||
player = self[username]
|
player = self[username]
|
||||||
player && player[:digest].to_i == digest.to_i ? player : false
|
player && player[:digest].to_i == digest.to_i ? player : false
|
||||||
end
|
end
|
||||||
|
@@ -20,6 +20,8 @@ class Sessions
|
|||||||
end
|
end
|
||||||
|
|
||||||
def login(username, pass)
|
def login(username, pass)
|
||||||
|
Logman.log "Logging in: #{username} & #{pass} #{ENV_HASH["SALT"]}\n"
|
||||||
|
|
||||||
player = Players.authorized?(username, pass)
|
player = Players.authorized?(username, pass)
|
||||||
if player
|
if player
|
||||||
code = Array.new(24) { ALPHANUM.sample }.join
|
code = Array.new(24) { ALPHANUM.sample }.join
|
||||||
|
Reference in New Issue
Block a user