diff options
Diffstat (limited to 'session.txr')
-rw-r--r-- | session.txr | 8 |
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) |