aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wfm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/wfm.c b/wfm.c
index 3643e8f..625a66c 100644
--- a/wfm.c
+++ b/wfm.c
@@ -153,6 +153,19 @@ void access_check(char *access_string) {
}
}
}
+ else if(sscanf(access_string, "access-htauth=%2[^':']:%30s", type, user)==2) {
+ users_defined=1;
+
+ if(user[0]=='*' || strcmp(user, getenv("REMOTE_USER"))==0) {
+ if(strcmp(type, "ro")==0)
+ access_level=PERM_RO;
+ else if(strcmp(type, "rw")==0)
+ access_level=PERM_RW;
+
+ access_as_user=1;
+ strncpy(loggedinuser, getenv("REMOTE_USER"), sizeof(loggedinuser));
+ }
+ }
}