expcov report - Generated Sat Oct 15 21:39:18 2016

 Index  Statistics  Last 
Directory./modules/aaa
Filenamemod_authz_groupfile.c
ModifiedWed Nov 14 00:06:33 2007

Pass Half Fail Excluded Total
Function
2
40.00%
3
60.00%
0
0.00%
5
100%
Expressions
5
4.03%
119
95.97%
0
0.00%
124
100%
Conditions
0
0.00%
0
0.00%
24
100.00%
0
0.00%
24
100%
MC/DC
0
0.00%
9
100.00%
0
0.00%
9
100%
Branches

if
0
0.00%
0
0.00%
19
100.00%
0
0.00%
19
100%
for
0
0.00%
0
0.00%
1
100.00%
0
0.00%
1
100%
while
0
0.00%
0
0.00%
4
100.00%
0
0.00%
4
100%
case
0
0.00%
0
0.00%
0
0.00%
0
0.00%
0
100%

1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements.  See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License.  You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/* This module is triggered by an
18 *
19 *          AuthGroupFile standard /path/to/file
20 *
21 * and the presense of a
22 *
23 *         require group <list-of-groups>
24 *
25 * In an applicable limit/directory block for that method.
26 *
27 * If there are no AuthGroupFile directives valid for
28 * the request; we DECLINED.
29 *
30 * If the AuthGroupFile is defined; but somehow not
31 * accessible: we SERVER_ERROR (was DECLINED).
32 *
33 * If there are no 'require ' directives defined for
34 * this request then we DECLINED (was OK).
35 *
36 * If there are no 'require ' directives valid for
37 * this request method then we DECLINED. (was OK)
38 *
39 * If there are any 'require group' blocks and we
40 * are not in any group - we HTTP_UNAUTHORIZE
41 * unless we are non-authoritative; in which
42 * case we DECLINED.
43 *
44 */
45
46#include "apr_strings.h"
47#include "apr_lib.h" /* apr_isspace */
48
49#include "ap_config.h"
50#include "httpd.h"
51#include "http_config.h"
52#include "http_core.h"
53#include "http_log.h"
54#include "http_protocol.h"
55#include "http_request.h"
56
57#include "mod_auth.h"
58
59typedef struct {
60    char *groupfile;
61    int authoritative;
62} authz_groupfile_config_rec;
63
64static void *create_authz_groupfile_dir_config : call=1
c
reate_authz_groupfile_dir_config(apr_pool_t *p, char *d)
65{
66    authz_groupfile_config_rec *conf = apr_palloc : enter=1, leave=1

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(p : modules/aaa/mod_authz_groupfile.c line=64 column=60
p
, sizeof(*conf));
67
68    conf : modules/aaa/mod_authz_groupfile.c line=66 column=33
c
onf-> : enter=1, leave=1
-
>groupfile : modules/aaa/mod_authz_groupfile.c line=60 column=11
g
roupfile = : enter=1, leave=1
=
 NULL;
69    conf : modules/aaa/mod_authz_groupfile.c line=66 column=33
c
onf-> : enter=1, leave=1
-
>authoritative : modules/aaa/mod_authz_groupfile.c line=61 column=9
a
uthoritative = : enter=1, leave=1
=
 1; /* keep the fortress secure by default */
70    return : pass=1
r
eturn conf : modules/aaa/mod_authz_groupfile.c line=66 column=33
c
onf;
71}
72
73static const char *set_authz_groupfile_slot : call=0
s
et_authz_groupfile_slot(cmd_parms *cmd, void *offset, const char *f,
74                                 const char *t)
75{
76    if : true=0, false=0
i
f (MC/DC independently affect : true=0, false=0

t : modules/aaa/mod_authz_groupfile.c line=74 column=46
tTF
 && : true=0, false=0
&
MC/DC independently affect : true=0, false=0
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
sTF
trcmp(t : modules/aaa/mod_authz_groupfile.c line=74 column=46
t
, "standard")) {
77        return : pass=0
r
eturn apr_pstrcat : enter=0, leave=0

apr_pstrcat : /usr/include/apr-1/apr_strings.h line=139 column=28
a
pr_pstrcat(cmd : modules/aaa/mod_authz_groupfile.c line=73 column=56
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, "Invalid auth file type: ", t : modules/aaa/mod_authz_groupfile.c line=74 column=46
t
, NULL);
78    }
79
80    return : pass=0
r
eturn ap_set_file_slot : enter=0, leave=0

ap_set_file_slot : include/http_config.h line=533 column=33
a
p_set_file_slot(cmd : modules/aaa/mod_authz_groupfile.c line=73 column=56
c
md, offset : modules/aaa/mod_authz_groupfile.c line=73 column=67
o
ffset, f : modules/aaa/mod_authz_groupfile.c line=73 column=87
f
);
81}
82
83static const command_rec authz_groupfile_cmds[] =
84{
85    AP_INIT_TAKE12("AuthGroupFile", set_authz_groupfile_slot : modules/aaa/mod_authz_groupfile.c line=73 column=20
s
et_authz_groupfile_slot,
86                   (void *)APR_OFFSETOF(authz_groupfile_config_rec, groupfile : modules/aaa/mod_authz_groupfile.c line=60 column=11
g
roupfile),
87                   OR_AUTHCFG,
88                   "text file containing group names and member user IDs"),
89    AP_INIT_FLAG("AuthzGroupFileAuthoritative", ap_set_flag_slot : include/http_config.h line=523 column=33
a
p_set_flag_slot,
90                 (void *)APR_OFFSETOF(authz_groupfile_config_rec,
91                                      authoritative : modules/aaa/mod_authz_groupfile.c line=61 column=9
a
uthoritative),
92                 OR_AUTHCFG,
93                 "Set to 'Off' to allow access control to be passed along to "
94                 "lower modules if the 'require group' fails. (default is "
95                 "On)."),
96    {NULL}
97};
98
99module AP_MODULE_DECLARE_DATA authz_groupfile_module;
100
101static apr_status_t groups_for_user : call=0
g
roups_for_user(apr_pool_t *p, char *user, char *grpfile,
102                                    apr_table_t ** out)
103{
104    ap_configfile_t *f;
105    apr_table_t *grps = apr_table_make : enter=0, leave=0

apr_table_make : /usr/include/apr-1/apr_tables.h line=222 column=28
a
pr_table_make(p : modules/aaa/mod_authz_groupfile.c line=101 column=49
p
, 15);
106    apr_pool_t *sp;
107    char l[MAX_STRING_LEN];
108    const char *group_name, *ll, *w;
109    apr_status_t status;
110    apr_size_t group_len;
111
112    if : true=0, false=0
i
f ((status : modules/aaa/mod_authz_groupfile.c line=109 column=18
s
tatus = : pass=0
=
 ap_pcfg_openfile : enter=0, leave=0

ap_pcfg_openfile : include/http_config.h line=607 column=26
a
p_pcfg_openfile(&f : modules/aaa/mod_authz_groupfile.c line=104 column=22
f
p : modules/aaa/mod_authz_groupfile.c line=101 column=49
p
grpfile : modules/aaa/mod_authz_groupfile.c line=101 column=70
g
rpfile)) != : true=0, false=0
!
= APR_SUCCESS) {
113        return : pass=0
r
eturn status : modules/aaa/mod_authz_groupfile.c line=109 column=18
s
tatus ;
114    }
115
116    apr_pool_create(&sp : modules/aaa/mod_authz_groupfile.c line=106 column=17
s
p, p : modules/aaa/mod_authz_groupfile.c line=101 column=49
p
);
117
118    while : true=0, false=0
w
hile (! : true=0, false=0
!
(ap_cfg_getline : enter=0, leave=0

ap_cfg_getline : include/http_config.h line=633 column=17
a
p_cfg_getline(l : modules/aaa/mod_authz_groupfile.c line=107 column=10
l
, MAX_STRING_LEN, f : modules/aaa/mod_authz_groupfile.c line=104 column=22
f
))) {
119        if : true=0, false=0
i
f ((l : modules/aaa/mod_authz_groupfile.c line=107 column=10
l
[] : enter=0, leave=0
[
0] == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '#') || : true=0, false=0
|
| (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
l : modules/aaa/mod_authz_groupfile.c line=107 column=10
l
[] : enter=0, leave=0
[
0])) {
120            continue : pass=0
c
ontinue;
121        }
122        ll : modules/aaa/mod_authz_groupfile.c line=108 column=30
l
= : pass=0
=
 l : modules/aaa/mod_authz_groupfile.c line=107 column=10
l
;
123        apr_pool_clear : enter=0, leave=0

apr_pool_clear : /usr/include/apr-1/apr_pools.h line=356 column=19
a
pr_pool_clear(sp : modules/aaa/mod_authz_groupfile.c line=106 column=17
s
p);
124
125        group_name : modules/aaa/mod_authz_groupfile.c line=108 column=17
g
roup_name = : pass=0
=
 ap_getword : enter=0, leave=0

ap_getword : include/httpd.h line=1299 column=20
a
p_getword(sp : modules/aaa/mod_authz_groupfile.c line=106 column=17
s
p, &ll : modules/aaa/mod_authz_groupfile.c line=108 column=30
l
l, ':');
126        group_len : modules/aaa/mod_authz_groupfile.c line=110 column=16
g
roup_len = : pass=0
=
 strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(group_name : modules/aaa/mod_authz_groupfile.c line=108 column=17
g
roup_name);
127
128        while : true=0, false=0
w
hile (MC/DC independently affect : true=0, false=0

group_len : modules/aaa/mod_authz_groupfile.c line=110 column=16
gTF
roup_len && : true=0, false=0
&
& apr_isspace(* dereference : enter=0, leave=0
*
(group_name : modules/aaa/mod_authz_groupfile.c line=108 column=17
g
roup_name + : pass=0
+
 group_len : modules/aaa/mod_authz_groupfile.c line=110 column=16
g
roup_len - : pass=0
-
 1))) {
129            -- : pass=0
-
-group_len : modules/aaa/mod_authz_groupfile.c line=110 column=16
g
roup_len;
130        }
131
132        while : true=0, false=0
w
hile (ll : modules/aaa/mod_authz_groupfile.c line=108 column=30
l
l[] : enter=0, leave=0
[
0]) {
133            w : modules/aaa/mod_authz_groupfile.c line=108 column=35
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(sp : modules/aaa/mod_authz_groupfile.c line=106 column=17
s
p, &ll : modules/aaa/mod_authz_groupfile.c line=108 column=30
l
l);
134            if : true=0, false=0
i
f (! : true=0, false=0
!
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(w : modules/aaa/mod_authz_groupfile.c line=108 column=35
w
user : modules/aaa/mod_authz_groupfile.c line=101 column=58
u
ser)) {
135                apr_table_setn : enter=0, leave=0

apr_table_setn : /usr/include/apr-1/apr_tables.h line=282 column=19
a
pr_table_setn(grps : modules/aaa/mod_authz_groupfile.c line=105 column=18
g
rps, apr_pstrmemdup : enter=0, leave=0

apr_pstrmemdup : /usr/include/apr-1/apr_strings.h line=109 column=21
a
pr_pstrmemdup(p : modules/aaa/mod_authz_groupfile.c line=101 column=49
p
group_name : modules/aaa/mod_authz_groupfile.c line=108 column=17
g
roup_name, group_len : modules/aaa/mod_authz_groupfile.c line=110 column=16
g
roup_len),
136                               "in");
137                break : pass=0
b
reak;
138            }
139        }
140    }
141    ap_cfg_closefile : enter=0, leave=0

ap_cfg_closefile : include/http_config.h line=647 column=17
a
p_cfg_closefile(f : modules/aaa/mod_authz_groupfile.c line=104 column=22
f
);
142    apr_pool_destroy : enter=0, leave=0

apr_pool_destroy : /usr/include/apr-1/apr_pools.h line=385 column=19
a
pr_pool_destroy(sp : modules/aaa/mod_authz_groupfile.c line=106 column=17
s
p);
143
144    *out : modules/aaa/mod_authz_groupfile.c line=102 column=52
o
ut = : enter=0, leave=0
=
 grps : modules/aaa/mod_authz_groupfile.c line=105 column=18
g
rps;
145    return : pass=0
r
eturn APR_SUCCESS;
146}
147
148/* Checking ID */
149
150static int check_user_access : call=0
c
heck_user_access(request_rec *r)
151{
152    authz_groupfile_config_rec *conf = ap_get_module_config(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>per_dir_config : include/httpd.h line=977 column=30
p
er_dir_config,
153                                                      &authz_groupfile_module : modules/aaa/mod_authz_groupfile.c line=99 column=31
a
uthz_groupfile_module);
154    char *user = r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>user : include/httpd.h line=930 column=11
u
ser;
155    int m = r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>method_number : include/httpd.h line=831 column=9
m
ethod_number;
156    int required_group = 0;
157    register int x;
158    const char *t, *w;
159    apr_table_t *grpstatus = NULL;
160    const apr_array_header_t *reqs_arr = ap_requires : enter=0, leave=0

ap_requires : include/http_core.h line=336 column=40
a
p_requires(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
);
161    require_line *reqs;
162    const char *filegroup = NULL;
163    char *reason = NULL;
164
165    /* If there is no group file - then we are not
166     * configured. So decline.
167     */
168    if : true=0, false=0
i
f (! : true=0, false=0
!
(conf : modules/aaa/mod_authz_groupfile.c line=152 column=33
c
onf-> : enter=0, leave=0
-
>groupfile : modules/aaa/mod_authz_groupfile.c line=60 column=11
g
roupfile)) {
169        return : pass=0
r
eturn DECLINED;
170    }
171
172    if : true=0, false=0
i
f (! : true=0, false=0
!
reqs_arr : modules/aaa/mod_authz_groupfile.c line=160 column=31
r
eqs_arr) {
173        return : pass=0
r
eturn DECLINED; /* XXX change from legacy */
174    }
175
176    /* If there's no user, it's a misconfiguration */
177    if : true=0, false=0
i
f (! : true=0, false=0
!
user : modules/aaa/mod_authz_groupfile.c line=154 column=11
u
ser) {
178        return : pass=0
r
eturn HTTP_INTERNAL_SERVER_ERROR;
179    }
180
181    reqs : modules/aaa/mod_authz_groupfile.c line=161 column=19
r
eqs = : pass=0
=
 (require_line *)reqs_arr : modules/aaa/mod_authz_groupfile.c line=160 column=31
r
eqs_arr-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
182
183    for : true=0, false=0
f
or (x : modules/aaa/mod_authz_groupfile.c line=157 column=18
x
 = : pass=0
=
 0; x : modules/aaa/mod_authz_groupfile.c line=157 column=18
x
 < : true=0, false=0
<
 reqs_arr : modules/aaa/mod_authz_groupfile.c line=160 column=31
r
eqs_arr-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; x : modules/aaa/mod_authz_groupfile.c line=157 column=18
x
++ : pass=0
+
+) {
184
185        if : true=0, false=0
i
f (! : true=0, false=0
!
(reqs : modules/aaa/mod_authz_groupfile.c line=161 column=19
r
eqs[] : enter=0, leave=0
[
x : modules/aaa/mod_authz_groupfile.c line=157 column=18
x
].method_mask : include/http_core.h line=300 column=17
m
ethod_mask & : pass=0
&
 (AP_METHOD_BIT << : pass=0
<
m : modules/aaa/mod_authz_groupfile.c line=155 column=9
m
))) {
186            continue : pass=0
c
ontinue;
187        }
188
189        t : modules/aaa/mod_authz_groupfile.c line=158 column=17
t
 = : pass=0
=
 reqs : modules/aaa/mod_authz_groupfile.c line=161 column=19
r
eqs[] : enter=0, leave=0
[
x : modules/aaa/mod_authz_groupfile.c line=157 column=18
x
].requirement : include/http_core.h line=302 column=11
r
equirement;
190        w : modules/aaa/mod_authz_groupfile.c line=158 column=21
w
 = : pass=0
=
 ap_getword_white : enter=0, leave=0

ap_getword_white : include/httpd.h line=1318 column=20
a
p_getword_white(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, &t : modules/aaa/mod_authz_groupfile.c line=158 column=17
t
);
191
192        /* needs mod_authz_owner to be present */
193        if : true=0, false=0
i
f (! : true=0, false=0
!
strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(w : modules/aaa/mod_authz_groupfile.c line=158 column=21
w
, "file-group")) {
194            filegroup : modules/aaa/mod_authz_groupfile.c line=162 column=17
f
ilegroup = : pass=0
=
 apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>notes : include/httpd.h line=910 column=18
n
otes, AUTHZ_GROUP_NOTE);
195
196            if : true=0, false=0
i
f (! : true=0, false=0
!
filegroup : modules/aaa/mod_authz_groupfile.c line=162 column=17
f
ilegroup) {
197                /* mod_authz_owner is not present or not
198                 * authoritative. We are just a helper module for testing
199                 * group membership, so we don't care and decline.
200                 */
201                continue : pass=0
c
ontinue;
202            }
203        }
204
205        if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(w : modules/aaa/mod_authz_groupfile.c line=158 column=21
w
, "group") || : true=0, false=0
|
MC/DC independently affect : true=0, false=0

filegroup : modules/aaa/mod_authz_groupfile.c line=162 column=17
fTF
ilegroup) {
206            required_group : modules/aaa/mod_authz_groupfile.c line=156 column=9
r
equired_group = : pass=0
=
 1; /* remember the requirement */
207
208            /* create group table only if actually needed. */
209            if : true=0, false=0
i
f (! : true=0, false=0
!
grpstatus : modules/aaa/mod_authz_groupfile.c line=159 column=18
g
rpstatus) {
210                apr_status_t status;
211
212                status : modules/aaa/mod_authz_groupfile.c line=210 column=30
s
tatus = : pass=0
=
 groups_for_user : enter=0, leave=0

groups_for_user : modules/aaa/mod_authz_groupfile.c line=101 column=21
g
roups_for_user(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, user : modules/aaa/mod_authz_groupfile.c line=154 column=11
u
ser, conf : modules/aaa/mod_authz_groupfile.c line=152 column=33
c
onf-> : enter=0, leave=0
-
>groupfile : modules/aaa/mod_authz_groupfile.c line=60 column=11
g
roupfile,
213                                         &grpstatus : modules/aaa/mod_authz_groupfile.c line=159 column=18
g
rpstatus);
214
215                if : true=0, false=0
i
f (status : modules/aaa/mod_authz_groupfile.c line=210 column=30
s
tatus != : true=0, false=0
!
= APR_SUCCESS) {
216                    ap_log_rerror : enter=0, leave=0

ap_log_rerror : include/http_log.h line=219 column=18
a
p_log_rerror(APLOG_MARK, APLOG_ERR, status : modules/aaa/mod_authz_groupfile.c line=210 column=30
s
tatus, r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
,
217                                  "Could not open group file: %s",
218                                  conf : modules/aaa/mod_authz_groupfile.c line=152 column=33
c
onf-> : enter=0, leave=0
-
>groupfile : modules/aaa/mod_authz_groupfile.c line=60 column=11
g
roupfile);
219                    return : pass=0
r
eturn HTTP_INTERNAL_SERVER_ERROR;
220                }
221
222                if : true=0, false=0
i
f (apr_table_elts : enter=0, leave=0

apr_table_elts : /usr/include/apr-1/apr_tables.h line=88 column=41
a
pr_table_elts(grpstatus : modules/aaa/mod_authz_groupfile.c line=159 column=18
g
rpstatus)-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts == : true=0, false=0
=
= 0) {
223                    /* no groups available, so exit immediately */
224                    reason : modules/aaa/mod_authz_groupfile.c line=163 column=11
r
eason = : pass=0
=
 apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool,
225                                          "user doesn't appear in group file "
226                                          "(%s).", conf : modules/aaa/mod_authz_groupfile.c line=152 column=33
c
onf-> : enter=0, leave=0
-
>groupfile : modules/aaa/mod_authz_groupfile.c line=60 column=11
g
roupfile);
227                    break : pass=0
b
reak;
228                }
229            }
230
231            if : true=0, false=0
i
f (filegroup : modules/aaa/mod_authz_groupfile.c line=162 column=17
f
ilegroup) {
232                if : true=0, false=0
i
f (apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(grpstatus : modules/aaa/mod_authz_groupfile.c line=159 column=18
g
rpstatus, filegroup : modules/aaa/mod_authz_groupfile.c line=162 column=17
f
ilegroup)) {
233                    return : pass=0
r
eturn OK;
234                }
235
236                if : true=0, false=0
i
f (conf : modules/aaa/mod_authz_groupfile.c line=152 column=33
c
onf-> : enter=0, leave=0
-
>authoritative : modules/aaa/mod_authz_groupfile.c line=61 column=9
a
uthoritative) {
237                    reason : modules/aaa/mod_authz_groupfile.c line=163 column=11
r
eason = : pass=0
=
 apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool,
238                                          "file group '%s' does not match.",
239                                          filegroup : modules/aaa/mod_authz_groupfile.c line=162 column=17
f
ilegroup);
240                    break : pass=0
b
reak;
241                }
242
243                /* now forget the filegroup, thus alternatively require'd
244                   groups get a real chance */
245                filegroup : modules/aaa/mod_authz_groupfile.c line=162 column=17
f
ilegroup = : pass=0
=
 NULL;
246            }
247            else {
248                while : true=0, false=0
w
hile (t : modules/aaa/mod_authz_groupfile.c line=158 column=17
t
[] : enter=0, leave=0
[
0]) {
249                    w : modules/aaa/mod_authz_groupfile.c line=158 column=21
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, &t : modules/aaa/mod_authz_groupfile.c line=158 column=17
t
);
250                    if : true=0, false=0
i
f (apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(grpstatus : modules/aaa/mod_authz_groupfile.c line=159 column=18
g
rpstatus, w : modules/aaa/mod_authz_groupfile.c line=158 column=21
w
)) {
251                        return : pass=0
r
eturn OK;
252                    }
253                }
254            }
255        }
256    }
257
258    /* No applicable "require group" for this method seen */
259    if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
required_group : modules/aaa/mod_authz_groupfile.c line=156 column=9
r
equired_group || : true=0, false=0
|
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
conf : modules/aaa/mod_authz_groupfile.c line=152 column=33
c
onf-> : enter=0, leave=0
-
>authoritative : modules/aaa/mod_authz_groupfile.c line=61 column=9
a
uthoritative) {
260        return : pass=0
r
eturn DECLINED;
261    }
262
263    ap_log_rerror : enter=0, leave=0

ap_log_rerror : include/http_log.h line=219 column=18
a
p_log_rerror(APLOG_MARK, APLOG_ERR, 0, r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
,
264                  "Authorization of user %s to access %s failed, reason: %s",
265                  r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>user : include/httpd.h line=930 column=11
u
ser, r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
-> : enter=0, leave=0
-
>uri : include/httpd.h line=946 column=11
u
ri,
266                  reason : modules/aaa/mod_authz_groupfile.c line=163 column=11
r
eason conditional operator : true=0, false=0
?
 reason : modules/aaa/mod_authz_groupfile.c line=163 column=11
r
eason : "user is not part of the "
267                                    "'require'ed group(s).");
268
269    ap_note_auth_failure : enter=0, leave=0

ap_note_auth_failure : include/http_protocol.h line=470 column=18
a
p_note_auth_failure(r : modules/aaa/mod_authz_groupfile.c line=150 column=43
r
);
270    return : pass=0
r
eturn HTTP_UNAUTHORIZED;
271}
272
273static void register_hooks : call=1
r
egister_hooks(apr_pool_t *p)
274{
275    static const char * const aszPre[]={ "mod_authz_owner.c", NULL };
276
277    ap_hook_auth_checker : enter=1, leave=1

ap_hook_auth_checker : modules/aaa/ line=224 column=1
a
p_hook_auth_checker(check_user_access : modules/aaa/mod_authz_groupfile.c line=150 column=12
c
heck_user_access, aszPre : modules/aaa/mod_authz_groupfile.c line=275 column=31
a
szPre, NULL, APR_HOOK_MIDDLE);
278}
279
280module AP_MODULE_DECLARE_DATA authz_groupfile_module =
281{
282    STANDARD20_MODULE_STUFF,
283    create_authz_groupfile_dir_config : modules/aaa/mod_authz_groupfile.c line=64 column=14
c
reate_authz_groupfile_dir_config,/* dir config creater */
284    NULL,                             /* dir merger -- default is to override */
285    NULL,                             /* server config */
286    NULL,                             /* merge server config */
287    authz_groupfile_cmds : modules/aaa/mod_authz_groupfile.c line=83 column=26
a
uthz_groupfile_cmds,             /* command apr_table_t */
288    register_hooks : modules/aaa/mod_authz_groupfile.c line=273 column=13
r
egister_hooks                    /* register hooks */
289};
290[EOF]


Generated by expcov