HCoop
/
hcoop
/
zz_old
/
config
/
exim4-hopper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Get vmail working!
[hcoop/zz_old/config/exim4-hopper.git]
/
get-token
diff --git
a/get-token
b/get-token
index
3a28140
..
0c7abe5
100755
(executable)
--- a/
get-token
+++ b/
get-token
@@
-15,8
+15,8
@@
REALUSER=$(whoami)
USER=$1
LOGFILE=/tmp/exim4/get-token-log.$USER
USER=$1
LOGFILE=/tmp/exim4/get-token-log.$USER
-if
[ "$REALUSER" = "root" ]
; then
- if
[ -n "$2" ]
; then
+if
test "$REALUSER" = "root"
; then
+ if
test "$2" = "norecurse"
; then
echo "Error: running as root even after trying to change to $USER" \
> $LOGFILE
exit 1
echo "Error: running as root even after trying to change to $USER" \
> $LOGFILE
exit 1
@@
-24,7
+24,7
@@
if [ "$REALUSER" = "root" ]; then
# Decide whether the user exists: getent returns 0 error code if so
getent passwd "$USER" >/dev/null
# Decide whether the user exists: getent returns 0 error code if so
getent passwd "$USER" >/dev/null
- if
[ $? -ne 0 ]
; then
+ if
test $? -ne 0
; then
echo "$USER is not a local user, so ignoring them"
exit 1
else
echo "$USER is not a local user, so ignoring them"
exit 1
else
@@
-32,6
+32,15
@@
if [ "$REALUSER" = "root" ]; then
fi
fi
fi
fi
+# Make sure USER exists, and resolve UIDs to a login name
+USER=$(getent passwd "$USER" | cut -d':' -f 1)
+LOGFILE=/tmp/exim4/get-token-log.$USER
+
+if test -z "$USER"; then
+ echo "$USER is not a local user, so ignoring them"
+ exit 1
+fi
+
# fuse stdin and stderr
exec 2>&1
# fuse stdin and stderr
exec 2>&1
@@
-41,6
+50,12
@@
exec >& $LOGFILE
# print name of user
echo "Running as user $REALUSER"
# print name of user
echo "Running as user $REALUSER"
+# debugging output
+if test "$2" = "debug"; then
+ shift; shift
+ echo "Debugging output: $*"
+fi
+
# set the credentials cache
export KRB5CCNAME=FILE:/tmp/exim4/krb5cc_$USER.email
# set the credentials cache
export KRB5CCNAME=FILE:/tmp/exim4/krb5cc_$USER.email