summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-05-03 10:48:19 +0300
committerAlon Levy <alon@pobox.com>2015-05-03 10:48:19 +0300
commit725aa559eaa7c1cebbbbcf9462d89f9d2638545d (patch)
treeaefcc95cd3820e94543e6c033fd0e8d413753355
parent8780a9145be80c71386c0a1855d5d0ec80ab6984 (diff)
rz_server/rz_user_db: don't create user_db if access_control==False; Fixes #530
-rw-r--r--src/server/rz_server.py10
-rw-r--r--src/server/rz_user_db.py3
2 files changed, 10 insertions, 3 deletions
diff --git a/src/server/rz_server.py b/src/server/rz_server.py
index 502845fa..0ddad61c 100644
--- a/src/server/rz_server.py
+++ b/src/server/rz_server.py
@@ -25,7 +25,7 @@ from rz_req_handling import make_response__http__empty, \
sock_addr_from_env_HTTP_headers, sock_addr_from_REMOTE_X_keys
import rz_server_ctrl
import rz_user
-from rz_user_db import User_DB
+from rz_user_db import User_DB, Fake_User_DB
class Config(object):
@@ -453,9 +453,13 @@ def init_DB(cfg):
return db_ctl
-def init_user_db():
+def init_user_db(cfg):
global user_db
+ if not cfg.access_control:
+ user_db = Fake_User_DB()
+ return user_db
+
try:
if os.path.exists(cfg.user_db_path):
mode = 'w' # anydbm doc: open existing database for reading and writing
@@ -515,7 +519,7 @@ if __name__ == "__main__":
log.warn('[!] access control disabled, all-granted access set on all URLs')
init_signal_handlers()
- init_user_db()
+ init_user_db(cfg)
except Exception as e:
log.exception('failed to initialize server')
traceback.print_exc()
diff --git a/src/server/rz_user_db.py b/src/server/rz_user_db.py
index 8325c870..b6e54639 100644
--- a/src/server/rz_user_db.py
+++ b/src/server/rz_user_db.py
@@ -6,6 +6,9 @@ from functools import wraps
import rz_user
+class Fake_User_DB(object):
+ pass
+
class User_DB(object):
"""
Simple user database: