diff --git a/mod_absec.c b/mod_absec.c
index 2e9fc2d..70da0d6 100755
--- a/mod_absec.c
+++ b/mod_absec.c
@@ -303,6 +303,8 @@ static authn_status authn_check_absec(request_rec *r, const char* user, const ch
////////////////////////////////////////////////////////////////
// Validate ressource access
+// request_rec contain user/pass if basic auth
+// it could also contain cookies if cookies based auth
static authz_status authz_check_absec(request_rec *r, const char *require_args, const void *parsed_require_args)
{
char *user = r->user;
@@ -362,6 +364,8 @@ static authz_status authz_check_absec(request_rec *r, const char *require_args,
ap_rprintf(r, "Fichier propriƩtaire
\r\n");
ap_log_rerror("mod_absec.c", 282, 1, APLOG_ERR, APR_SUCCESS, r, "authz_check_absec : Fichier propriƩtaire
\r\n");
return AUTHZ_GRANTED;
+ } else {
+ ap_log_rerror("mod_absec.c", 282, 1, APLOG_ERR, APR_SUCCESS, r, "authz_check_absec : No user access %d", pw->pw_uid);
}
// If file is group readable and primary group match return content
@@ -369,6 +373,25 @@ static authz_status authz_check_absec(request_rec *r, const char *require_args,
ap_rprintf(r, "Fichier groupe
\r\n");
ap_log_rerror("mod_absec.c", 282, 1, APLOG_ERR, APR_SUCCESS, r, "authz_check_absec : Fichier groupe
\r\n");
return AUTHZ_GRANTED;
+ } else {
+ ap_log_rerror("mod_absec.c", 282, 1, APLOG_ERR, APR_SUCCESS, r, "authz_check_absec : No group access %d", pw->pw_gid);
+ }
+
+ // check supplemental groups
+ gid_t grouplist[16];
+ int grouplistsize = 16;
+ int groupreturn;
+ groupreturn = getgrouplist(user, pw->pw_gid, grouplist, &grouplistsize);
+ if (groupreturn >= 0) {
+ ap_log_rerror("mod_absec.c", 282, 1, APLOG_ERR, APR_SUCCESS, r, "authz_check_absec : liste groups (%d)", grouplistsize);
+ for (int i=0; i\r\n");