summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/site.clj17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/site.clj b/src/site.clj
index f10f925..996fe4e 100755
--- a/src/site.clj
+++ b/src/site.clj
@@ -264,6 +264,13 @@
(set-cookie :token "dummy"
:expires "Thu, 01-Jan-70 00:00:01 GMT"))
+(defn set-login-token
+ [nick hash]
+ (set-cookie :token (generate-login-token nick hash)
+ :expires (gmt-string (new Date
+ (+ (System/currentTimeMillis)
+ *login-cookie-duration*)))))
+
(defn apply-login-info
[request user-info]
(let [req-cookies (request :cookies)
@@ -308,13 +315,13 @@
(let [nick (params :nick)
hash (params :hash)
db-user (authorize-nick-hash nick hash)
- remember-me (params :rememberme)]
+ remember-me (= (params :rememberme) "yes")
+ login-cookie (if remember-me
+ (set-login-token nick hash)
+ (clear-login-token))]
(if db-user
[(session-assoc-from-db db-user)
- (set-cookie :token (generate-login-token nick hash)
- :expires (gmt-string (new Date
- (+ (System/currentTimeMillis)
- *login-cookie-duration*))))
+ login-cookie
(resp-success "OK")]
(resp-error "BAD_LOGIN"))))