ref: 2845f7d97215174132a9da0f657b2715cad558ba
parent: 877b014a25fbb5a0290d14925a87d987b92a3dbe
author: uriel <uriel@engel.se.cat-v.org>
date: Tue Oct 21 12:36:45 EDT 2008
Replace debug and 'false' calls with setting $status
--- a/bin/cgilib.rc
+++ b/bin/cgilib.rc
@@ -127,17 +127,13 @@
# Auth code
# Cookie format: WERC_USER: name:timestamp:hash(name.timestamp.password)
-# login_user can't be used from a template because it sets a cookie!
+# login_user can't be used from a template because it sets a cookie
fn login_user {
get_post_args user_name user_password
- if(auth_user $user_name $user_password) {
- set_cookie werc_user $"user_name^':0:'^$"user_password
- dprint Auth: SET COOKIE FOR USER: $user_name
- }
- if not {
- dprint Auth: failed login for $user_name $user_password
- false
- }
+ if(auth_user $user_name $user_password)
+ set_cookie werc_user $"user_name^':0:'^$"user_password
+ if not
+ status='Auth: failed login for $user_name $user_password'
}
fn auth_user {
@@ -145,22 +141,14 @@
user_pass = $2
pfile = 'etc/users/'^$"user_name^'/password'
- if (~ $#user_name 0 || ~ $#user_password 0) {
- dprint Auth: missing user name or pass: $user_name / $user_password
- false
- }
- if not if(! test -f $pfile) {
- dprint Auth: cant find $pfile
- false
- }
- if not if (! ~ $user_pass `{cat $pfile}) {
- dprint Auth: Pass $user_pass doesnt match `{cat $pfile}
- false
- }
- if not {
+ if (~ $#user_name 0 || ~ $#user_password 0)
+ status='Auth: missing user name or pass: '^$user_name^' / '^$user_password
+ if not if(! test -f $pfile)
+ status='Auth: cant find '^$pfile
+ if not if (! ~ $user_pass `{cat $pfile})
+ status='Auth: Pass '$user_pass' doesnt match '^`{cat $pfile}
+ if not
dprint Auth: success
- true
- }
}
fn user_in_group {
@@ -167,14 +155,10 @@
if(~ $#logged_user 0)
get_user
- if(~ $#logged_user 0) {
- dprint Auth: user_in_group: No logged in user
+ if(~ $#logged_user 0)
false
- }
- if not if (! grep -s '^'^$logged_user^'$' etc/groups/$1) {
- dprint Auth: user_in_group: Cant find $logged_user in etc/groups/$1
+ if not if (! grep -s '^'^$logged_user^'$' etc/groups/$1)
false
- }
if not
true
}