summaryrefslogtreecommitdiffstats
path: root/session.txr
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-03-02 18:12:15 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-03-02 18:12:15 -0800
commit88e22c838c889ce5cb099b475d6b24053e2f16ab (patch)
treec0e9998e6d9b087be5c0905f80117b1a81bc99d4 /session.txr
parentb09356a195cb352c5b220f60bc78ac9bba47cb66 (diff)
downloadtamarind-88e22c838c889ce5cb099b475d6b24053e2f16ab.tar.gz
tamarind-88e22c838c889ce5cb099b475d6b24053e2f16ab.tar.bz2
tamarind-88e22c838c889ce5cb099b475d6b24053e2f16ab.zip
Configurable sessions dir.
Diffstat (limited to 'session.txr')
-rw-r--r--session.txr8
1 files changed, 4 insertions, 4 deletions
diff --git a/session.txr b/session.txr
index 0a2b8a0..1f9be6e 100644
--- a/session.txr
+++ b/session.txr
@@ -1,14 +1,14 @@
@(define ensure-session (userid clientip))
-@ (do (ensure-dir ".sessions" #o700))
+@ (do (ensure-dir sessions-dir #o700))
@ (bind sessionid @(rand (expt 2 128)))
-@ (output `.sessions/@userid`)
+@ (output `@{sessions-dir}/@userid`)
@userid @sessionid @clientip @(time)
@ (end)
@ (add-header "Set-Cookie" `tamarind-login=@userid:@sessionid`)
@(end)
@;
@(define remove-session (userid))
-@ (do (ignerr (remove-path `.sessions/@userid`)))
+@ (do (ignerr (remove-path `@{sessions-dir}/@userid`)))
@ (add-header "Set-Cookie" `tamarind-login=;max-age=0`)
@(end)
@;
@@ -19,7 +19,7 @@ HTTP_COOKIE=@(skip)tamarind-login=@userid:@{sessionid /\d+/}@(skip)
@(define check-session (valid-p userid sessid clientip))
@ (cases)
@ (require (and userid sessid))
-@ (next `.sessions/@{userid}` :nothrow)
+@ (next `@{sessions-dir}/@{userid}` :nothrow)
@{userid} @{sessid} @clientip @timestamp
@ (require (< (- (time) (int-str timestamp)) (* 3600 169)))
@ (bind valid-p t)