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

 Index  Statistics  Last 
Directory./server
Filenameconfig.c
ModifiedFri Oct 8 01:56:54 2010

Pass Half Fail Excluded Total
Function
19
32.20%
40
67.80%
0
0.00%
59
100%
Expressions
219
17.46%
1035
82.54%
0
0.00%
1254
100%
Conditions
4
1.67%
21
8.79%
214
89.54%
0
0.00%
239
100%
MC/DC
0
0.00%
94
100.00%
0
0.00%
94
100%
Branches

if
4
2.72%
23
15.65%
120
81.63%
0
0.00%
147
100%
for
6
26.09%
0
0.00%
17
73.91%
0
0.00%
23
100%
while
1
5.88%
1
5.88%
15
88.24%
0
0.00%
17
100%
case
0
0.00%
0
0.00%
14
100.00%
0
0.00%
14
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/*
18 * http_config.c: once was auxillary functions for reading httpd's config
19 * file and converting filenames into a namespace
20 *
21 * Rob McCool
22 *
23 * Wall-to-wall rewrite for Apache... commands which are part of the
24 * server core can now be found next door in "http_core.c".  Now contains
25 * general command loop, and functions which do bookkeeping for the new
26 * Apache config stuff (modules and configuration vectors).
27 *
28 * rst
29 *
30 */
31
32#include "apr.h"
33#include "apr_strings.h"
34#include "apr_portable.h"
35#include "apr_file_io.h"
36#include "apr_fnmatch.h"
37
38#define APR_WANT_STDIO
39#define APR_WANT_STRFUNC
40#include "apr_want.h"
41
42#define CORE_PRIVATE
43
44#include "ap_config.h"
45#include "httpd.h"
46#include "http_config.h"
47#include "http_protocol.h"
48#include "http_core.h"
49#include "http_log.h"      /* for errors in parse_htaccess */
50#include "http_request.h"  /* for default_handler (see invoke_handler) */
51#include "http_main.h"
52#include "http_vhost.h"
53#include "util_cfgtree.h"
54#include "mpm.h"
55
56
57AP_DECLARE_DATA const char *ap_server_argv0 = NULL;
58
59AP_DECLARE_DATA const char *ap_server_root = NULL;
60
61AP_DECLARE_DATA apr_array_header_t *ap_server_pre_read_config = NULL;
62AP_DECLARE_DATA apr_array_header_t *ap_server_post_read_config = NULL;
63AP_DECLARE_DATA apr_array_header_t *ap_server_config_defines = NULL;
64
65AP_DECLARE_DATA ap_directive_t *ap_conftree = NULL;
66
67APR_HOOK_STRUCT(
68           APR_HOOK_LINK(header_parser)
69           APR_HOOK_LINK(pre_config)
70           APR_HOOK_LINK(post_config)
71           APR_HOOK_LINK(open_logs)
72           APR_HOOK_LINK(child_init)
73           APR_HOOK_LINK(handler)
74           APR_HOOK_LINK(quick_handler)
75           APR_HOOK_LINK(optional_fn_retrieve)
76           APR_HOOK_LINK(test_config)
77)
78
79AP_IMPLEMENT_HOOK_RUN_ALL(int, header_parser,
80                          (request_rec *r), (r : server/config.c line=80 column=41
r
), OK, DECLINED)
81
82AP_IMPLEMENT_HOOK_RUN_ALL(int, pre_config,
83                          (apr_pool_t *pconf, apr_pool_t *plog,
84                           apr_pool_t *ptemp),
85                          (pconf : server/config.c line=83 column=40
p
conf, plog : server/config.c line=83 column=59
p
log, ptemp : server/config.c line=84 column=40
p
temp), OK, DECLINED)
86
87AP_IMPLEMENT_HOOK_VOID(test_config,
88                       (apr_pool_t *pconf, server_rec *s),
89                       (pconf : server/config.c line=88 column=37
p
conf, s : server/config.c line=88 column=56
s
))
90
91AP_IMPLEMENT_HOOK_RUN_ALL(int, post_config,
92                          (apr_pool_t *pconf, apr_pool_t *plog,
93                           apr_pool_t *ptemp, server_rec *s),
94                          (pconf : server/config.c line=92 column=40
p
conf, plog : server/config.c line=92 column=59
p
log, ptemp : server/config.c line=93 column=40
p
temp, s : server/config.c line=93 column=59
s
), OK, DECLINED)
95
96/* During the course of debugging I expanded this macro out, so
97 * rather than remove all the useful information there is in the
98 * following lines, I'm going to leave it here in case anyone
99 * else finds it useful.
100 *
101 * Ben has looked at it and thinks it correct :)
102 *
103AP_DECLARE(int) ap_hook_post_config(ap_HOOK_post_config_t *pf,
104                                    const char * const *aszPre,
105                                    const char * const *aszSucc,
106                                    int nOrder)
107{
108    ap_LINK_post_config_t *pHook;
109
110    if (!_hooks.link_post_config) {
111        _hooks.link_post_config = apr_array_make(apr_hook_global_pool, 1,
112                                                 sizeof(ap_LINK_post_config_t));
113        apr_hook_sort_register("post_config", &_hooks.link_post_config);
114    }
115
116    pHook = apr_array_push(_hooks.link_post_config);
117    pHook->pFunc = pf;
118    pHook->aszPredecessors = aszPre;
119    pHook->aszSuccessors = aszSucc;
120    pHook->nOrder = nOrder;
121    pHook->szName = apr_hook_debug_current;
122
123    if (apr_hook_debug_enabled)
124        apr_hook_debug_show("post_config", aszPre, aszSucc);
125}
126
127AP_DECLARE(apr_array_header_t *) ap_hook_get_post_config(void) {
128    return _hooks.link_post_config;
129}
130
131AP_DECLARE(int) ap_run_post_config(apr_pool_t *pconf,
132                                   apr_pool_t *plog,
133                                   apr_pool_t *ptemp,
134                                   server_rec *s)
135{
136    ap_LINK_post_config_t *pHook;
137    int n;
138
139    if(!_hooks.link_post_config)
140        return;
141
142    pHook = (ap_LINK_post_config_t *)_hooks.link_post_config->elts;
143    for (n = 0; n < _hooks.link_post_config->nelts; ++n)
144        pHook[n].pFunc (pconf, plog, ptemp, s);
145}
146 */
147
148AP_IMPLEMENT_HOOK_RUN_ALL(int, open_logs,
149                          (apr_pool_t *pconf, apr_pool_t *plog,
150                           apr_pool_t *ptemp, server_rec *s),
151                          (pconf : server/config.c line=149 column=40
p
conf, plog : server/config.c line=149 column=59
p
log, ptemp : server/config.c line=150 column=40
p
temp, s : server/config.c line=150 column=59
s
), OK, DECLINED)
152
153AP_IMPLEMENT_HOOK_VOID(child_init,
154                       (apr_pool_t *pchild, server_rec *s),
155                       (pchild : server/config.c line=154 column=37
p
child, s : server/config.c line=154 column=57
s
))
156
157AP_IMPLEMENT_HOOK_RUN_FIRST(int, handler, (request_rec *r),
158                            (r : server/config.c line=157 column=57
r
), DECLINED)
159
160AP_IMPLEMENT_HOOK_RUN_FIRST(int, quick_handler, (request_rec *r, int lookup),
161                            (r : server/config.c line=160 column=63
r
lookup : server/config.c line=160 column=70
l
ookup), DECLINED)
162
163AP_IMPLEMENT_HOOK_VOID(optional_fn_retrieve, (void), ())
164
165/****************************************************************
166 *
167 * We begin with the functions which deal with the linked list
168 * of modules which control just about all of the server operation.
169 */
170
171/* total_modules is the number of modules that have been linked
172 * into the server.
173 */
174static int total_modules = 0;
175
176/* dynamic_modules is the number of modules that have been added
177 * after the pre-loaded ones have been set up. It shouldn't be larger
178 * than DYNAMIC_MODULE_LIMIT.
179 */
180static int dynamic_modules = 0;
181
182AP_DECLARE_DATA module *ap_top_module = NULL;
183AP_DECLARE_DATA module **ap_loaded_modules=NULL;
184
185static apr_hash_t *ap_config_hash = NULL;
186
187typedef int (*handler_func)(request_rec *);
188typedef void *(*dir_maker_func)(apr_pool_t *, char *);
189typedef void *(*merger_func)(apr_pool_t *, void *, void *);
190
191/* maximum nesting level for config directories */
192#ifndef AP_MAX_INCLUDE_DIR_DEPTH
193#define AP_MAX_INCLUDE_DIR_DEPTH (128)
194#endif
195
196/* Dealing with config vectors.  These are associated with per-directory,
197 * per-server, and per-request configuration, and have a void* pointer for
198 * each modules.  The nature of the structure pointed to is private to the
199 * module in question... the core doesn't (and can't) know.  However, there
200 * are defined interfaces which allow it to create instances of its private
201 * per-directory and per-server structures, and to merge the per-directory
202 * structures of a directory and its subdirectory (producing a new one in
203 * which the defaults applying to the base directory have been properly
204 * overridden).
205 */
206
207static ap_conf_vector_t *create_empty_config : call=0
c
reate_empty_config(apr_pool_t *p)
208{
209    void *conf_vector = apr_pcalloc(p : server/config.c line=207 column=58
p
, sizeof(void *) * : pass=0
*
210                                    (total_modules : server/config.c line=174 column=12
t
otal_modules + : pass=0
+
 DYNAMIC_MODULE_LIMIT));
211    return : pass=0
r
eturn conf_vector : server/config.c line=209 column=11
c
onf_vector;
212}
213
214static ap_conf_vector_t *create_default_per_dir_config : call=1
c
reate_default_per_dir_config(apr_pool_t *p)
215{
216    void **conf_vector = apr_pcalloc(p : server/config.c line=214 column=68
p
, sizeof(void *) * : pass=1
*
217                                     (total_modules : server/config.c line=174 column=12
t
otal_modules + : pass=1
+
 DYNAMIC_MODULE_LIMIT));
218    module *modp;
219
220    for : true=27, false=1
f
or (modp : server/config.c line=218 column=13
m
odp = : pass=1
=
 ap_top_module : server/config.c line=182 column=25
a
p_top_module; modp : server/config.c line=218 column=13
m
odp; modp : server/config.c line=218 column=13
m
odp = : pass=27
=
 modp : server/config.c line=218 column=13
m
odp-> : enter=27, leave=27
-
>next : include/http_config.h line=340 column=27
n
ext) {
221        dir_maker_func df = modp : server/config.c line=218 column=13
m
odp-> : enter=27, leave=27
-
>create_dir_config : include/http_config.h line=357 column=13
c
reate_dir_config;
222
223        if : true=18, false=9
i
f (df : server/config.c line=221 column=24
d
f)
224            conf_vector : server/config.c line=216 column=12
c
onf_vector[modp : server/config.c line=218 column=13
m
odp-> : enter=18, leave=18
-
>module_index : include/http_config.h line=331 column=9
m
odule_index] = : enter=18, leave=18
=
 df : enter=18, leave=18

df : server/config.c line=221 column=24
(
*df : server/config.c line=221 column=24
d
f)(p : server/config.c line=214 column=68
p
, NULL);
225    }
226
227    return : pass=1
r
eturn (ap_conf_vector_t *)conf_vector : server/config.c line=216 column=12
c
onf_vector;
228}
229
230AP_CORE_DECLARE(ap_conf_vector_t *) ap_merge_per_dir_configs : call=0
a
p_merge_per_dir_configs(apr_pool_t *p,
231                                           ap_conf_vector_t *base,
232                                           ap_conf_vector_t *new_conf)
233{
234    void **conf_vector = apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(p : server/config.c line=230 column=74
p
, sizeof(void *) * : pass=0
*
 total_modules : server/config.c line=174 column=12
t
otal_modules);
235    void **base_vector = (void **)base : server/config.c line=231 column=62
b
ase;
236    void **new_vector = (void **)new_conf : server/config.c line=232 column=62
n
ew_conf;
237    module *modp;
238
239    for : true=0, false=0
f
or (modp : server/config.c line=237 column=13
m
odp = : pass=0
=
 ap_top_module : server/config.c line=182 column=25
a
p_top_module; modp : server/config.c line=237 column=13
m
odp; modp : server/config.c line=237 column=13
m
odp = : pass=0
=
 modp : server/config.c line=237 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext) {
240        int i = modp : server/config.c line=237 column=13
m
odp-> : enter=0, leave=0
-
>module_index : include/http_config.h line=331 column=9
m
odule_index;
241
242        if : true=0, false=0
i
f (! : true=0, false=0
!
new_vector : server/config.c line=236 column=12
n
ew_vector[] : enter=0, leave=0
[
i : server/config.c line=240 column=13
i
]) {
243            conf_vector : server/config.c line=234 column=12
c
onf_vector[i : server/config.c line=240 column=13
i
= : enter=0, leave=0
=
 base_vector : server/config.c line=235 column=12
b
ase_vector[] : enter=0, leave=0
[
i : server/config.c line=240 column=13
i
];
244        }
245        else {
246            merger_func df = modp : server/config.c line=237 column=13
m
odp-> : enter=0, leave=0
-
>merge_dir_config : include/http_config.h line=365 column=13
m
erge_dir_config;
247            if : true=0, false=0
i
f (MC/DC independently affect : true=0, false=0

df : server/config.c line=246 column=25
dTF
&& : true=0, false=0
&
base_vector : server/config.c line=235 column=12
b
ase_vectorMC/DC independently affect : true=0, false=0
[] : enter=0, leave=0
[TF
i : server/config.c line=240 column=13
i
]) {
248                conf_vector : server/config.c line=234 column=12
c
onf_vector[i : server/config.c line=240 column=13
i
= : enter=0, leave=0
=
 df : enter=0, leave=0

df : server/config.c line=246 column=25
(
*df : server/config.c line=246 column=25
d
f)(p : server/config.c line=230 column=74
p
base_vector : server/config.c line=235 column=12
b
ase_vector[] : enter=0, leave=0
[
i : server/config.c line=240 column=13
i
], new_vector : server/config.c line=236 column=12
n
ew_vector[] : enter=0, leave=0
[
i : server/config.c line=240 column=13
i
]);
249            }
250            else
251                conf_vector : server/config.c line=234 column=12
c
onf_vector[i : server/config.c line=240 column=13
i
= : enter=0, leave=0
=
 new_vector : server/config.c line=236 column=12
n
ew_vector[] : enter=0, leave=0
[
i : server/config.c line=240 column=13
i
];
252        }
253    }
254
255    return : pass=0
r
eturn (ap_conf_vector_t *)conf_vector : server/config.c line=234 column=12
c
onf_vector;
256}
257
258static ap_conf_vector_t *create_server_config : call=1
c
reate_server_config(apr_pool_t *p, server_rec *s)
259{
260    void **conf_vector = apr_pcalloc(p : server/config.c line=258 column=59
p
, sizeof(void *) * : pass=1
*
261                                     (total_modules : server/config.c line=174 column=12
t
otal_modules + : pass=1
+
 DYNAMIC_MODULE_LIMIT));
262    module *modp;
263
264    for : true=27, false=1
f
or (modp : server/config.c line=262 column=13
m
odp = : pass=1
=
 ap_top_module : server/config.c line=182 column=25
a
p_top_module; modp : server/config.c line=262 column=13
m
odp; modp : server/config.c line=262 column=13
m
odp = : pass=27
=
 modp : server/config.c line=262 column=13
m
odp-> : enter=27, leave=27
-
>next : include/http_config.h line=340 column=27
n
ext) {
265        if : true=8, false=19
i
f (modp : server/config.c line=262 column=13
m
odp-> : enter=27, leave=27
-
>create_server_config : include/http_config.h line=372 column=13
c
reate_server_config)
266            conf_vector : server/config.c line=260 column=12
c
onf_vector[modp : server/config.c line=262 column=13
m
odp-> : enter=8, leave=8
-
>module_index : include/http_config.h line=331 column=9
m
odule_index] = : enter=8, leave=8
=
 create_server_config : enter=8, leave=8

create_server_config : include/http_config.h line=372 column=13
(
*modp : server/config.c line=262 column=13
m
odp-> : enter=8, leave=8
-
>create_server_config : include/http_config.h line=372 column=13
c
reate_server_config)(p : server/config.c line=258 column=59
p
s : server/config.c line=258 column=74
s
);
267    }
268
269    return : pass=1
r
eturn (ap_conf_vector_t *)conf_vector : server/config.c line=260 column=12
c
onf_vector;
270}
271
272static void merge_server_configs : call=0
m
erge_server_configs(apr_pool_t *p, ap_conf_vector_t *base,
273                                 ap_conf_vector_t *virt)
274{
275    /* Can reuse the 'virt' vector for the spine of it, since we don't
276     * have to deal with the moral equivalent of .htaccess files here...
277     */
278
279    void **base_vector = (void **)base : server/config.c line=272 column=67
b
ase;
280    void **virt_vector = (void **)virt : server/config.c line=273 column=52
v
irt;
281    module *modp;
282
283    for : true=0, false=0
f
or (modp : server/config.c line=281 column=13
m
odp = : pass=0
=
 ap_top_module : server/config.c line=182 column=25
a
p_top_module; modp : server/config.c line=281 column=13
m
odp; modp : server/config.c line=281 column=13
m
odp = : pass=0
=
 modp : server/config.c line=281 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext) {
284        merger_func df = modp : server/config.c line=281 column=13
m
odp-> : enter=0, leave=0
-
>merge_server_config : include/http_config.h line=380 column=13
m
erge_server_config;
285        int i = modp : server/config.c line=281 column=13
m
odp-> : enter=0, leave=0
-
>module_index : include/http_config.h line=331 column=9
m
odule_index;
286
287        if : true=0, false=0
i
f (! : true=0, false=0
!
virt_vector : server/config.c line=280 column=12
v
irt_vector[] : enter=0, leave=0
[
i : server/config.c line=285 column=13
i
])
288            virt_vector : server/config.c line=280 column=12
v
irt_vector[i : server/config.c line=285 column=13
i
= : enter=0, leave=0
=
 base_vector : server/config.c line=279 column=12
b
ase_vector[] : enter=0, leave=0
[
i : server/config.c line=285 column=13
i
];
289        else if : true=0, false=0
i
f (df : server/config.c line=284 column=21
d
f)
290            virt_vector : server/config.c line=280 column=12
v
irt_vector[i : server/config.c line=285 column=13
i
= : enter=0, leave=0
=
 df : enter=0, leave=0

df : server/config.c line=284 column=21
(
*df : server/config.c line=284 column=21
d
f)(p : server/config.c line=272 column=46
p
base_vector : server/config.c line=279 column=12
b
ase_vector[] : enter=0, leave=0
[
i : server/config.c line=285 column=13
i
], virt_vector : server/config.c line=280 column=12
v
irt_vector[] : enter=0, leave=0
[
i : server/config.c line=285 column=13
i
]);
291    }
292}
293
294AP_CORE_DECLARE(ap_conf_vector_t *) ap_create_request_config : call=0
a
p_create_request_config(apr_pool_t *p)
295{
296    return : pass=0
r
eturn create_empty_config : enter=0, leave=0

create_empty_config : server/config.c line=207 column=26
c
reate_empty_config(p : server/config.c line=294 column=74
p
);
297}
298
299AP_CORE_DECLARE(ap_conf_vector_t *) ap_create_conn_config : call=0
a
p_create_conn_config(apr_pool_t *p)
300{
301    return : pass=0
r
eturn create_empty_config : enter=0, leave=0

create_empty_config : server/config.c line=207 column=26
c
reate_empty_config(p : server/config.c line=299 column=71
p
);
302}
303
304AP_CORE_DECLARE(ap_conf_vector_t *) ap_create_per_dir_config : call=0
a
p_create_per_dir_config(apr_pool_t *p)
305{
306    return : pass=0
r
eturn create_empty_config : enter=0, leave=0

create_empty_config : server/config.c line=207 column=26
c
reate_empty_config(p : server/config.c line=304 column=74
p
);
307}
308
309/* Invoke the filter_init_func for all filters with FILTERS where f->r
310 * matches R.  Restricting to a matching R avoids re-running init
311 * functions for filters configured for r->main where r is a
312 * subrequest.  */
313static int invoke_filter_init : call=0
i
nvoke_filter_init(request_rec *r, ap_filter_t *filters)
314{
315    while : true=0, false=0
w
hile (filters : server/config.c line=313 column=60
f
ilters) {
316        if : true=0, false=0
i
f (filters : server/config.c line=313 column=60
f
ilters-> : enter=0, leave=0
-
>frec : include/util_filter.h line=265 column=22
f
recMC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>filter_init_func : include/util_filter.h line=232 column=25
f
ilter_init_func && : true=0, false=0
&
filters : server/config.c line=313 column=60
f
ilters-> : enter=0, leave=0
-
>r : include/util_filter.h line=277 column=18
r
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
r : server/config.c line=313 column=44
r
) {
317            int result = filter_init_func : enter=0, leave=0

filters : server/config.c line=313 column=60
filter_init_func : include/util_filter.h line=232 column=25
f
ilters-> : enter=0, leave=0
-
>frec : include/util_filter.h line=265 column=22
f
rec-> : enter=0, leave=0
-
>filter_init_func : include/util_filter.h line=232 column=25
f
ilter_init_func(filters : server/config.c line=313 column=60
f
ilters);
318            if : true=0, false=0
i
f (result : server/config.c line=317 column=17
r
esult != : true=0, false=0
!
= OK) {
319                return : pass=0
r
eturn result : server/config.c line=317 column=17
r
esult;
320            }
321        }
322        filters : server/config.c line=313 column=60
f
ilters = : pass=0
=
 filters : server/config.c line=313 column=60
f
ilters-> : enter=0, leave=0
-
>next : include/util_filter.h line=271 column=18
n
ext;
323    }
324    return : pass=0
r
eturn OK;
325}
326
327AP_CORE_DECLARE(int) ap_invoke_handler : call=0
a
p_invoke_handler(request_rec *r)
328{
329    const char *handler;
330    const char *p;
331    int result;
332    const char *old_handler = r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>handler : include/httpd.h line=919 column=17
h
andler;
333    const char *ignore;
334
335    /*
336     * The new insert_filter stage makes the most sense here.  We only use
337     * it when we are going to run the request, so we must insert filters
338     * if any are available.  Since the goal of this phase is to allow all
339     * modules to insert a filter if they want to, this filter returns
340     * void.  I just can't see any way that this filter can reasonably
341     * fail, either your modules inserts something or it doesn't.  rbb
342     */
343    ap_run_insert_filter : enter=0, leave=0

ap_run_insert_filter : server/ line=23 column=1
a
p_run_insert_filter(r : server/config.c line=327 column=53
r
);
344
345    /* Before continuing, allow each filter that is in the two chains to
346     * run their init function to let them do any magic before we could
347     * start generating data.
348     */
349    result : server/config.c line=331 column=9
r
esult = : pass=0
=
 invoke_filter_init : enter=0, leave=0

invoke_filter_init : server/config.c line=313 column=12
i
nvoke_filter_init(r : server/config.c line=327 column=53
r
r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>input_filters : include/httpd.h line=992 column=25
i
nput_filters);
350    if : true=0, false=0
i
f (result : server/config.c line=331 column=9
r
esult != : true=0, false=0
!
= OK) {
351        return : pass=0
r
eturn result : server/config.c line=331 column=9
r
esult;
352    }
353    result : server/config.c line=331 column=9
r
esult = : pass=0
=
 invoke_filter_init : enter=0, leave=0

invoke_filter_init : server/config.c line=313 column=12
i
nvoke_filter_init(r : server/config.c line=327 column=53
r
r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>output_filters : include/httpd.h line=990 column=25
o
utput_filters);
354    if : true=0, false=0
i
f (result : server/config.c line=331 column=9
r
esult != : true=0, false=0
!
= OK) {
355        return : pass=0
r
eturn result : server/config.c line=331 column=9
r
esult;
356    }
357
358    if : true=0, false=0
i
f (! : true=0, false=0
!
r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>handler : include/httpd.h line=919 column=17
h
andler) {
359        handler : server/config.c line=329 column=17
h
andler = : pass=0
=
 r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>content_type : include/httpd.h line=917 column=17
c
ontent_type conditional operator : true=0, false=0
?
 r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>content_type : include/httpd.h line=917 column=17
c
ontent_type : ap_default_type : enter=0, leave=0

ap_default_type : include/http_core.h line=166 column=26
a
p_default_type(r : server/config.c line=327 column=53
r
);
360        if : true=0, false=0
i
f ((p : server/config.c line=330 column=17
p
= : pass=0
=
ap_strchr_c(handler : server/config.c line=329 column=17
h
andler, ';')) != : true=0, false=0
!
= NULL) {
361            char *new_handler = (char *)apr_pmemdup : enter=0, leave=0

apr_pmemdup : /usr/include/apr-1/apr_strings.h line=131 column=21
a
pr_pmemdup(r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, handler : server/config.c line=329 column=17
h
andler,
362                                                    p : server/config.c line=330 column=17
p
 - : pass=0
-
 handler : server/config.c line=329 column=17
h
andler + : pass=0
+
 1);
363            char *p2 = new_handler : server/config.c line=361 column=19
n
ew_handler + : pass=0
+
 (p : server/config.c line=330 column=17
p
 - : pass=0
-
 handler : server/config.c line=329 column=17
h
andler);
364            handler : server/config.c line=329 column=17
h
andler = : pass=0
=
 new_handler : server/config.c line=361 column=19
n
ew_handler;
365
366            /* MIME type arguments */
367            while : true=0, false=0
w
hile (p2 : server/config.c line=363 column=19
p
> : true=0, false=0
MC/DC independently affect : true=0, false=0
>TF
 handler : server/config.c line=329 column=17
h
andler && : true=0, false=0
&
p2 : server/config.c line=363 column=19
p
2[] : enter=0, leave=0
[
-1] == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= ' ')
368                -- : pass=0
-
-p2 : server/config.c line=363 column=19
p
2; /* strip trailing spaces */
369
370            *p2 : server/config.c line=363 column=19
p
2= : enter=0, leave=0
=
'\0';
371        }
372
373        r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>handler : include/httpd.h line=919 column=17
h
andler = : enter=0, leave=0
=
 handler : server/config.c line=329 column=17
h
andler;
374    }
375
376    result : server/config.c line=331 column=9
r
esult = : pass=0
=
 ap_run_handler : enter=0, leave=0

ap_run_handler : server/ line=19 column=1
a
p_run_handler(r : server/config.c line=327 column=53
r
);
377
378    r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>handler : include/httpd.h line=919 column=17
h
andler = : enter=0, leave=0
=
 old_handler : server/config.c line=332 column=17
o
ld_handler;
379
380    if : true=0, false=0
i
f (result : server/config.c line=331 column=9
r
esult == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= DECLINED && : true=0, false=0
&
r : server/config.c line=327 column=53
r
MC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>handler : include/httpd.h line=919 column=17
h
andler && : true=0, false=0
&
r : server/config.c line=327 column=53
r
MC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>filename : include/httpd.h line=948 column=11
f
ilename) {
381        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_WARNING, 0, r : server/config.c line=327 column=53
r
,
382            "handler \"%s\" not found for: %s", r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>handler : include/httpd.h line=919 column=17
h
andler, r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>filename : include/httpd.h line=948 column=11
f
ilename);
383    }
384    if : true=0, false=0
i
f ((result : server/config.c line=331 column=9
r
esult != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= OK) && : true=0, false=0
&
& (result : server/config.c line=331 column=9
r
esult != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= DONE) && : true=0, false=0
&
& (result : server/config.c line=331 column=9
r
esult != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= DECLINED)
385        && : true=0, false=0
&
& (result : server/config.c line=331 column=9
r
esult != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= AP_FILTER_ERROR)
386        && : true=0, false=0
&
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
ap_is_HTTP_VALID_RESPONSE(result : server/config.c line=331 column=9
r
esult)) {
387        /* If a module is deliberately returning something else
388         * (request_rec in non-HTTP or proprietary extension?)
389         * let it set a note to allow it explicitly.
390         * Otherwise, a return code that is neither reserved nor HTTP
391         * is a bug, as in PR#31759.
392         */
393        ignore : server/config.c line=333 column=17
i
gnore = : 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 : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>notes : include/httpd.h line=910 column=18
n
otes, "HTTP_IGNORE_RANGE");
394        if : true=0, false=0
i
f (! : true=0, false=0
!
ignore : server/config.c line=333 column=17
i
gnore) {
395            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 : server/config.c line=327 column=53
r
,
396                          "Handler for %s returned invalid result code %d",
397                          r : server/config.c line=327 column=53
r
-> : enter=0, leave=0
-
>handler : include/httpd.h line=919 column=17
h
andler, result : server/config.c line=331 column=9
r
esult);
398            result : server/config.c line=331 column=9
r
esult = : pass=0
=
 HTTP_INTERNAL_SERVER_ERROR;
399        }
400    }
401
402    return : pass=0
r
eturn result : server/config.c line=331 column=9
r
esult == : true=0, false=0
=
= DECLINED conditional operator : true=0, false=0
?
 HTTP_INTERNAL_SERVER_ERROR : result : server/config.c line=331 column=9
r
esult;
403}
404
405AP_DECLARE(int) ap_method_is_limited : call=0
a
p_method_is_limited(cmd_parms *cmd, const char *method)
406{
407    int methnum;
408
409    methnum : server/config.c line=407 column=9
m
ethnum = : pass=0
=
 ap_method_number_of : enter=0, leave=0

ap_method_number_of : include/http_protocol.h line=569 column=17
a
p_method_number_of(method : server/config.c line=405 column=66
m
ethod);
410
411    /*
412     * A method number either hardcoded into apache or
413     * added by a module and registered.
414     */
415    if : true=0, false=0
i
f (methnum : server/config.c line=407 column=9
m
ethnum != : true=0, false=0
!
= M_INVALID) {
416        return : pass=0
r
eturn (cmd : server/config.c line=405 column=49
c
md-> : enter=0, leave=0
-
>limited : include/http_config.h line=279 column=17
l
imited & : pass=0
&
 (AP_METHOD_BIT << : pass=0
<
methnum : server/config.c line=407 column=9
m
ethnum)) conditional operator : true=0, false=0
?
 1 : 0;
417    }
418
419    return : pass=0
r
eturn 0; /* not found */
420}
421
422AP_DECLARE(void) ap_register_hooks : call=27
a
p_register_hooks(module *m, apr_pool_t *p)
423{
424    if : true=26, false=1
i
f (m : server/config.c line=422 column=44
m
-> : enter=27, leave=27
-
>register_hooks : include/http_config.h line=393 column=12
r
egister_hooks) {
425        if : true=0, false=26
i
f (getenv : enter=26, leave=26

getenv : /usr/include/stdlib.h line=567 column=14
g
etenv("SHOW_HOOKS")) {
426            printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("Registering hooks for %s\n", m : server/config.c line=422 column=44
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame);
427            apr_hook_debug_enabled : /usr/include/apr-1/apr_hooks.h line=216 column=29 apr_hook_debug_enabled = : pass=0
=
 1;
428        }
429
430        apr_hook_debug_current : /usr/include/apr-1/apr_hooks.h line=221 column=37 apr_hook_debug_current = : pass=26
=
 m : server/config.c line=422 column=44
m
-> : enter=26, leave=26
-
>name : include/http_config.h line=334 column=17
n
ame;
431        register_hooks : enter=26, leave=26

m : server/config.c line=422 column=44
register_hooks : include/http_config.h line=393 column=12
m
-> : enter=26, leave=26
-
>register_hooks : include/http_config.h line=393 column=12
r
egister_hooks(p : server/config.c line=422 column=59
p
);
432    }
433}
434
435static void ap_add_module_commands(module *m, apr_pool_t *p);
436
437typedef struct ap_mod_list_struct ap_mod_list;
438struct ap_mod_list_struct {
439    struct ap_mod_list_struct *next;
440    module *m;
441    const command_rec *cmd;
442};
443
444static apr_status_t reload_conf_hash : call=1
r
eload_conf_hash(void *baton)
445{
446    ap_config_hash : server/config.c line=185 column=20
a
p_config_hash = : pass=1
=
 NULL;
447    return : pass=1
r
eturn APR_SUCCESS;
448}
449
450static void rebuild_conf_hash : call=1
r
ebuild_conf_hash(apr_pool_t *p, int add_prelinked)
451{
452    module **m;
453
454    ap_config_hash : server/config.c line=185 column=20
a
p_config_hash = : pass=1
=
 apr_hash_make : enter=1, leave=1

apr_hash_make : /usr/include/apr-1/apr_hash.h line=78 column=27
a
pr_hash_make(p : server/config.c line=450 column=43
p
);
455
456    apr_pool_cleanup_register : enter=1, leave=1

apr_pool_cleanup_register : /usr/include/apr-1/apr_pools.h line=603 column=19
a
pr_pool_cleanup_register(p : server/config.c line=450 column=43
p
, NULL, reload_conf_hash : server/config.c line=444 column=21
r
eload_conf_hash,
457                              apr_pool_cleanup_null : /usr/include/apr-1/apr_pools.h line=682 column=34 apr_pool_cleanup_null);
458    if : true=0, false=1
i
f (add_prelinked : server/config.c line=450 column=50
a
dd_prelinked) {
459        for : true=0, false=0
f
or (m : server/config.c line=452 column=14
m
 = : pass=0
=
 ap_prelinked_modules : include/http_config.h line=745 column=32
a
p_prelinked_modules; * dereference : enter=0, leave=0
*
m : server/config.c line=452 column=14
m
 != : true=0, false=0
!
= NULL; m : server/config.c line=452 column=14
m
++ : pass=0
+
+) {
460            ap_add_module_commands : enter=0, leave=0

ap_add_module_commands : server/config.c line=435 column=13
a
p_add_module_commands(* dereference : enter=0, leave=0
*
m : server/config.c line=452 column=14
m
p : server/config.c line=450 column=43
p
);
461        }
462    }
463}
464
465static void ap_add_module_commands : call=27
a
p_add_module_commands(module *m, apr_pool_t *p)
466{
467    apr_pool_t *tpool;
468    ap_mod_list *mln;
469    const command_rec *cmd;
470    char *dir;
471
472    cmd : server/config.c line=469 column=24
c
md = : pass=27
=
 m : server/config.c line=465 column=44
m
-> : enter=27, leave=27
-
>cmds : include/http_config.h line=385 column=24
c
mds;
473
474    if : true=0, false=27
i
f (ap_config_hash : server/config.c line=185 column=20
a
p_config_hash == : true=0, false=27
=
= NULL) {
475        rebuild_conf_hash : enter=0, leave=0

rebuild_conf_hash : server/config.c line=450 column=13
r
ebuild_conf_hash(p : server/config.c line=465 column=59
p
, 0);
476    }
477
478    tpool : server/config.c line=467 column=17
t
pool = : pass=27
=
 apr_hash_pool_get : enter=27, leave=27

apr_hash_pool_get : server/ line=211 column=1
a
pr_hash_pool_get(ap_config_hash : server/config.c line=185 column=20
a
p_config_hash);
479
480    while : true=183, false=27
w
hile (MC/DC independently affect : true=183, false=1

cmd : server/config.c line=469 column=24
cTF
md && : true=183, false=27
&
cmd : server/config.c line=469 column=24
c
mdMC/DC independently affect : true=183, false=26
-> : enter=209, leave=209
-TF
>name : include/http_config.h line=204 column=17
n
ame) {
481        mln : server/config.c line=468 column=18
m
ln = : pass=183
=
 apr_palloc : enter=183, leave=183

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(tpool : server/config.c line=467 column=17
t
pool, sizeof(ap_mod_list));
482        mln : server/config.c line=468 column=18
m
ln-> : enter=183, leave=183
-
>cmd : server/config.c line=441 column=24
c
md = : enter=183, leave=183
=
 cmd : server/config.c line=469 column=24
c
md;
483        mln : server/config.c line=468 column=18
m
ln-> : enter=183, leave=183
-
>m : server/config.c line=440 column=13
m
 = : enter=183, leave=183
=
 m : server/config.c line=465 column=44
m
;
484        dir : server/config.c line=470 column=11
d
ir = : pass=183
=
 apr_pstrdup : enter=183, leave=183

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(tpool : server/config.c line=467 column=17
t
pool, cmd : server/config.c line=469 column=24
c
md-> : enter=183, leave=183
-
>name : include/http_config.h line=204 column=17
n
ame);
485
486        ap_str_tolower : enter=183, leave=183

ap_str_tolower : include/httpd.h line=1739 column=18
a
p_str_tolower(dir : server/config.c line=470 column=11
d
ir);
487
488        mln : server/config.c line=468 column=18
m
ln-> : enter=183, leave=183
-
>next : server/config.c line=439 column=32
n
ext = : enter=183, leave=183
=
 apr_hash_get : enter=183, leave=183

apr_hash_get : /usr/include/apr-1/apr_hash.h line=117 column=21
a
pr_hash_get(ap_config_hash : server/config.c line=185 column=20
a
p_config_hash, dir : server/config.c line=470 column=11
d
ir, APR_HASH_KEY_STRING);
489        apr_hash_set : enter=183, leave=183

apr_hash_set : /usr/include/apr-1/apr_hash.h line=107 column=19
a
pr_hash_set(ap_config_hash : server/config.c line=185 column=20
a
p_config_hash, dir : server/config.c line=470 column=11
d
ir, APR_HASH_KEY_STRING, mln : server/config.c line=468 column=18
m
ln);
490        ++ : pass=183
+
+cmd : server/config.c line=469 column=24
c
md;
491    }
492}
493
494
495/* One-time setup for precompiled modules --- NOT to be done on restart */
496
497AP_DECLARE(const char *) ap_add_module : call=27
a
p_add_module(module *m, apr_pool_t *p)
498{
499    /* This could be called from a LoadModule httpd.conf command,
500     * after the file has been linked and the module structure within it
501     * teased out...
502     */
503
504    if : true=0, false=27
i
f (m : server/config.c line=497 column=48
m
-> : enter=27, leave=27
-
>version : include/http_config.h line=326 column=9
v
ersion != : true=0, false=27
!
= MODULE_MAGIC_NUMBER_MAJOR) {
505        return : pass=0
r
eturn apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(p : server/config.c line=497 column=63
p
, "Module \"%s\" is not compatible with this "
506                            "version of Apache (found %d, need %d). Please "
507                            "contact the vendor for the correct version.",
508                            m : server/config.c line=497 column=48
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame, m : server/config.c line=497 column=48
m
-> : enter=0, leave=0
-
>version : include/http_config.h line=326 column=9
v
ersion, MODULE_MAGIC_NUMBER_MAJOR);
509    }
510
511    if : true=27, false=0
i
f (m : server/config.c line=497 column=48
m
-> : enter=27, leave=27
-
>next : include/http_config.h line=340 column=27
n
ext == : true=27, false=0
=
= NULL) {
512        m : server/config.c line=497 column=48
m
-> : enter=27, leave=27
-
>next : include/http_config.h line=340 column=27
n
ext = : enter=27, leave=27
=
 ap_top_module : server/config.c line=182 column=25
a
p_top_module;
513        ap_top_module : server/config.c line=182 column=25
a
p_top_module = : pass=27
=
 m : server/config.c line=497 column=48
m
;
514    }
515
516    if : true=0, false=27
i
f (m : server/config.c line=497 column=48
m
-> : enter=27, leave=27
-
>module_index : include/http_config.h line=331 column=9
m
odule_index == : true=0, false=27
=
= -1) {
517        m : server/config.c line=497 column=48
m
-> : enter=0, leave=0
-
>module_index : include/http_config.h line=331 column=9
m
odule_index = : enter=0, leave=0
=
 total_modules : server/config.c line=174 column=12
t
otal_modules++ : pass=0
+
+;
518        dynamic_modules : server/config.c line=180 column=12
d
ynamic_modules++ : pass=0
+
+;
519
520        if : true=0, false=0
i
f (dynamic_modules : server/config.c line=180 column=12
d
ynamic_modules > : true=0, false=0
>
 DYNAMIC_MODULE_LIMIT) {
521            return : pass=0
r
eturn apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(p : server/config.c line=497 column=63
p
, "Module \"%s\" could not be loaded, "
522                                "because the dynamic module limit was "
523                                "reached. Please increase "
524                                "DYNAMIC_MODULE_LIMIT and recompile.", m : server/config.c line=497 column=48
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame);
525        }
526    }
527
528    /* Some C compilers put a complete path into __FILE__, but we want
529     * only the filename (e.g. mod_includes.c). So check for path
530     * components (Unix and DOS), and remove them.
531     */
532
533    if : true=0, false=27
i
f (ap_strrchr_c(m : server/config.c line=497 column=48
m
-> : enter=27, leave=27
-
>name : include/http_config.h line=334 column=17
n
ame, '/'))
534        m : server/config.c line=497 column=48
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame = : enter=0, leave=0
=
 1 + : pass=0
+
 ap_strrchr_c(m : server/config.c line=497 column=48
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame, '/');
535
536    if : true=0, false=27
i
f (ap_strrchr_c(m : server/config.c line=497 column=48
m
-> : enter=27, leave=27
-
>name : include/http_config.h line=334 column=17
n
ame, '\\'))
537        m : server/config.c line=497 column=48
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame = : enter=0, leave=0
=
 1 + : pass=0
+
 ap_strrchr_c(m : server/config.c line=497 column=48
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame, '\\');
538
539#ifdef _OSD_POSIX
540    /* __FILE__ =
541     * "*POSIX(/home/martin/apache/src/modules/standard/mod_info.c)"
542     */
543
544    /* We cannot fix the string in-place, because it's const */
545    if (m->name[strlen(m->name)-1] == ')') {
546        char *tmp = strdup(m->name); /* FIXME: memory leak, albeit a small one */
547        tmp[strlen(tmp)-1] = '\0';
548        m->name = tmp;
549    }
550#endif /*_OSD_POSIX*/
551
552    ap_add_module_commands : enter=27, leave=27

ap_add_module_commands : server/config.c line=465 column=13
a
p_add_module_commands(m : server/config.c line=497 column=48
m
p : server/config.c line=497 column=63
p
);
553    /*  FIXME: is this the right place to call this?
554     *  It doesn't appear to be
555     */
556    ap_register_hooks : enter=27, leave=27

ap_register_hooks : server/config.c line=422 column=18
a
p_register_hooks(m : server/config.c line=497 column=48
m
p : server/config.c line=497 column=63
p
);
557
558    return : pass=27
r
eturn NULL;
559}
560
561/*
562 * remove_module undoes what add_module did. There are some caveats:
563 * when the module is removed, its slot is lost so all the current
564 * per-dir and per-server configurations are invalid. So we should
565 * only ever call this function when you are invalidating almost
566 * all our current data. I.e. when doing a restart.
567 */
568
569AP_DECLARE(void) ap_remove_module : call=0
a
p_remove_module(module *m)
570{
571    module *modp;
572
573    modp : server/config.c line=571 column=13
m
odp = : pass=0
=
 ap_top_module : server/config.c line=182 column=25
a
p_top_module;
574    if : true=0, false=0
i
f (modp : server/config.c line=571 column=13
m
odp == : true=0, false=0
=
m : server/config.c line=569 column=43
m
) {
575        /* We are the top module, special case */
576        ap_top_module : server/config.c line=182 column=25
a
p_top_module = : pass=0
=
 modp : server/config.c line=571 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext;
577        m : server/config.c line=569 column=43
m
-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext = : enter=0, leave=0
=
 NULL;
578    }
579    else {
580        /* Not the top module, find use. When found modp will
581         * point to the module _before_ us in the list
582         */
583
584        while : true=0, false=0
w
hile (MC/DC independently affect : true=0, false=0

modp : server/config.c line=571 column=13
mTF
odp && : true=0, false=0
&
modp : server/config.c line=571 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
m : server/config.c line=569 column=43
m
) {
585            modp : server/config.c line=571 column=13
m
odp = : pass=0
=
 modp : server/config.c line=571 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext;
586        }
587
588        if : true=0, false=0
i
f (! : true=0, false=0
!
modp : server/config.c line=571 column=13
m
odp) {
589            /* Uh-oh, this module doesn't exist */
590            ap_log_error : enter=0, leave=0

ap_log_error : include/http_log.h line=171 column=18
a
p_log_error(APLOG_MARK, APLOG_ERR, 0, NULL,
591                         "Cannot remove module %s: not found in module list",
592                         m : server/config.c line=569 column=43
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame);
593            return : pass=0
r
eturn;
594        }
595
596        /* Eliminate us from the module list */
597        modp : server/config.c line=571 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext = : enter=0, leave=0
=
 modp : server/config.c line=571 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext;
598    }
599
600    m : server/config.c line=569 column=43
m
-> : enter=0, leave=0
-
>module_index : include/http_config.h line=331 column=9
m
odule_index = : enter=0, leave=0
=
 -1; /* simulate being unloaded, should
601                           * be unnecessary */
602    dynamic_modules : server/config.c line=180 column=12
d
ynamic_modules-- : pass=0
-
-;
603    total_modules : server/config.c line=174 column=12
t
otal_modules-- : pass=0
-
-;
604}
605
606AP_DECLARE(const char *) ap_add_loaded_module : call=0
a
p_add_loaded_module(module *mod, apr_pool_t *p)
607{
608    module **m;
609    const char *error;
610
611    /*
612     *  Add module pointer to top of chained module list
613     */
614    error : server/config.c line=609 column=17
e
rror = : pass=0
=
 ap_add_module : enter=0, leave=0

ap_add_module : server/config.c line=497 column=26
a
p_add_module(mod : server/config.c line=606 column=55
m
od, p : server/config.c line=606 column=72
p
);
615    if : true=0, false=0
i
f (error : server/config.c line=609 column=17
e
rror) {
616        return : pass=0
r
eturn error : server/config.c line=609 column=17
e
rror;
617    }
618
619    /*
620     *  And module pointer to list of loaded modules
621     *
622     *  Notes: 1. ap_add_module() would already complain if no more space
623     *            exists for adding a dynamically loaded module
624     *         2. ap_add_module() accepts double inclusion, so we have
625     *            to accept this, too.
626     */
627    for : true=0, false=0
f
or (m : server/config.c line=608 column=14
m
 = : pass=0
=
 ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules; * dereference : enter=0, leave=0
*
m : server/config.c line=608 column=14
m
 != : true=0, false=0
!
= NULL; m : server/config.c line=608 column=14
m
++ : pass=0
+
+)
628        ;
629    *m : server/config.c line=608 column=14
m
++ : pass=0
+
= : enter=0, leave=0
=
 mod : server/config.c line=606 column=55
m
od;
630    *m : server/config.c line=608 column=14
m
 = : enter=0, leave=0
=
 NULL;
631
632    return : pass=0
r
eturn NULL;
633}
634
635AP_DECLARE(void) ap_remove_loaded_module : call=0
a
p_remove_loaded_module(module *mod)
636{
637    module **m;
638    module **m2;
639    int done;
640
641    /*
642     *  Remove module pointer from chained module list
643     */
644    ap_remove_module : enter=0, leave=0

ap_remove_module : server/config.c line=569 column=18
a
p_remove_module(mod : server/config.c line=635 column=50
m
od);
645
646    /*
647     *  Remove module pointer from list of loaded modules
648     *
649     *  Note: 1. We cannot determine if the module was successfully
650     *           removed by ap_remove_module().
651     *        2. We have not to complain explicity when the module
652     *           is not found because ap_remove_module() did it
653     *           for us already.
654     */
655    for : true=0, false=0
f
or (m : server/config.c line=637 column=14
m
 = : pass=0
=
 m2 : server/config.c line=638 column=14
m
= : pass=0
=
 ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules, done : server/config.c line=639 column=9
d
one = : pass=0
=
 0; * dereference : enter=0, leave=0
*
m2 : server/config.c line=638 column=14
m
!= : true=0, false=0
!
= NULL; m2 : server/config.c line=638 column=14
m
2++ : pass=0
+
+) {
656        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
m2 : server/config.c line=638 column=14
m
== : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
mod : server/config.c line=635 column=50
m
od && : true=0, false=0
&
done : server/config.c line=639 column=9
d
one == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= 0)
657            done : server/config.c line=639 column=9
d
one = : pass=0
=
 1;
658        else
659            *m : server/config.c line=637 column=14
m
++ : pass=0
+
= : enter=0, leave=0
=
 * dereference : enter=0, leave=0
*
m2 : server/config.c line=638 column=14
m
2;
660    }
661
662    *m : server/config.c line=637 column=14
m
 = : enter=0, leave=0
=
 NULL;
663}
664
665AP_DECLARE(const char *) ap_setup_prelinked_modules : call=1
a
p_setup_prelinked_modules(process_rec *process)
666{
667    module **m;
668    module **m2;
669    const char *error;
670
671    apr_hook_global_pool : /usr/include/apr-1/apr_hooks.h line=210 column=37 apr_hook_global_pool= : pass=1
=
process : server/config.c line=665 column=66
p
rocess-> : enter=1, leave=1
-
>pconf : include/httpd.h line=766 column=17
p
conf;
672
673    rebuild_conf_hash : enter=1, leave=1

rebuild_conf_hash : server/config.c line=450 column=13
r
ebuild_conf_hash(process : server/config.c line=665 column=66
p
rocess-> : enter=1, leave=1
-
>pconf : include/httpd.h line=766 column=17
p
conf, 0);
674
675    /*
676     *  Initialise total_modules variable and module indices
677     */
678    total_modules : server/config.c line=174 column=12
t
otal_modules = : pass=1
=
 0;
679    for : true=27, false=1
f
or (m : server/config.c line=667 column=14
m
 = : pass=1
=
 ap_preloaded_modules : include/http_config.h line=755 column=32
a
p_preloaded_modules; * dereference : enter=28, leave=28
*
m : server/config.c line=667 column=14
m
 != : true=27, false=1
!
= NULL; m : server/config.c line=667 column=14
m
++ : pass=27
+
+)
680        (* dereference : enter=27, leave=27
*
m : server/config.c line=667 column=14
m
)-> : enter=27, leave=27
-
>module_index : include/http_config.h line=331 column=9
m
odule_index = : enter=27, leave=27
=
 total_modules : server/config.c line=174 column=12
t
otal_modules++ : pass=27
+
+;
681
682    /*
683     *  Initialise list of loaded modules
684     */
685    ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules = : pass=1
=
 (module **)apr_palloc : enter=1, leave=1

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(process : server/config.c line=665 column=66
p
rocess-> : enter=1, leave=1
-
>pool : include/httpd.h line=764 column=17
p
ool,
686        sizeof(module *) * : pass=1
*
 (total_modules : server/config.c line=174 column=12
t
otal_modules + : pass=1
+
 DYNAMIC_MODULE_LIMIT + : pass=1
+
 1));
687
688    if : true=0, false=1
i
f (ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules == : true=0, false=1
=
= NULL) {
689        return : pass=0
r
eturn "Ouch! Out of memory in ap_setup_prelinked_modules()!";
690    }
691
692    for : true=27, false=1
f
or (m : server/config.c line=667 column=14
m
 = : pass=1
=
 ap_preloaded_modules : include/http_config.h line=755 column=32
a
p_preloaded_modules, m2 : server/config.c line=668 column=14
m
= : pass=1
=
 ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules; * dereference : enter=28, leave=28
*
m : server/config.c line=667 column=14
m
 != : true=27, false=1
!
= NULL; )
693        *m2 : server/config.c line=668 column=14
m
2++ : pass=27
+
= : enter=27, leave=27
=
 * dereference : enter=27, leave=27
*
m : server/config.c line=667 column=14
m
++ : pass=27
+
+;
694
695    *m2 : server/config.c line=668 column=14
m
= : enter=1, leave=1
=
 NULL;
696
697    /*
698     *   Initialize chain of linked (=activate) modules
699     */
700    for : true=27, false=1
f
or (m : server/config.c line=667 column=14
m
 = : pass=1
=
 ap_prelinked_modules : include/http_config.h line=745 column=32
a
p_prelinked_modules; * dereference : enter=28, leave=28
*
m : server/config.c line=667 column=14
m
 != : true=27, false=1
!
= NULL; m : server/config.c line=667 column=14
m
++ : pass=27
+
+) {
701        error : server/config.c line=669 column=17
e
rror = : pass=27
=
 ap_add_module : enter=27, leave=27

ap_add_module : server/config.c line=497 column=26
a
p_add_module(* dereference : enter=27, leave=27
*
m : server/config.c line=667 column=14
m
process : server/config.c line=665 column=66
p
rocess-> : enter=27, leave=27
-
>pconf : include/httpd.h line=766 column=17
p
conf);
702        if : true=0, false=27
i
f (error : server/config.c line=669 column=17
e
rror) {
703            return : pass=0
r
eturn error : server/config.c line=669 column=17
e
rror;
704        }
705    }
706
707    apr_hook_sort_all : enter=1, leave=1

apr_hook_sort_all : /usr/include/apr-1/apr_hooks.h line=233 column=19
a
pr_hook_sort_all();
708
709    return : pass=1
r
eturn NULL;
710}
711
712AP_DECLARE(const char *) ap_find_module_name : call=0
a
p_find_module_name(module *m)
713{
714    return : pass=0
r
eturn m : server/config.c line=712 column=54
m
-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame;
715}
716
717AP_DECLARE(module *) ap_find_linked_module : call=0
a
p_find_linked_module(const char *name)
718{
719    module *modp;
720
721    for : true=0, false=0
f
or (modp : server/config.c line=719 column=13
m
odp = : pass=0
=
 ap_top_module : server/config.c line=182 column=25
a
p_top_module; modp : server/config.c line=719 column=13
m
odp; modp : server/config.c line=719 column=13
m
odp = : pass=0
=
 modp : server/config.c line=719 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext) {
722        if : true=0, false=0
i
f (strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(modp : server/config.c line=719 column=13
m
odp-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame, name : server/config.c line=717 column=56
n
ame) == : true=0, false=0
=
= 0)
723            return : pass=0
r
eturn modp : server/config.c line=719 column=13
m
odp;
724    }
725
726    return : pass=0
r
eturn NULL;
727}
728
729/*****************************************************************
730 *
731 * Resource, access, and .htaccess config files now parsed by a common
732 * command loop.
733 *
734 * Let's begin with the basics; parsing the line and
735 * invoking the function...
736 */
737
738#define AP_MAX_ARGC 64
739
740static const char *invoke_cmd : call=0
i
nvoke_cmd(const command_rec *cmd, cmd_parms *parms,
741                              void *mconfig, const char *args)
742{
743    char *w, *w2, *w3;
744    const char *errmsg = NULL;
745
746    if : true=0, false=0
i
f ((parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>override : include/http_config.h line=277 column=9
o
verride & : pass=0
&
 cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override) == : true=0, false=0
=
= 0)
747        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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame, " not allowed here", NULL);
748
749    parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>info : include/http_config.h line=275 column=11
i
nfo = : enter=0, leave=0
=
 cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>cmd_data : include/http_config.h line=208 column=11
c
md_data;
750    parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>cmd : include/http_config.h line=305 column=24
c
md = : enter=0, leave=0
=
 cmd : server/config.c line=740 column=50
c
md;
751
752    switch : pass=0
s
witch (cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>args_how : include/http_config.h line=213 column=18
a
rgs_how) {
753    case : true=0, false=0
c
ase RAW_ARGS:
754#ifdef RESOLVE_ENV_PER_TOKEN
755        args = ap_resolve_env(parms->pool,args);
756#endif
757        return : pass=0
r
eturn raw_args : enter=0, leave=0

cmd : server/config.c line=740 column=50
raw_args : include/http_config.h line=84 column=19
c
md-> : enter=0, leave=0
-
>AP_RAW_ARGS(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, args : server/config.c line=741 column=58
a
rgs);
758
759    case : true=0, false=0
c
ase TAKE_ARGV:
760        {
761            char *argv[AP_MAX_ARGC];
762            int argc = 0;
763
764            do {
765                w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
766                if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' && : true=0, false=0
&
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0') {
767                    break : pass=0
b
reak;
768                }
769                argv : server/config.c line=761 column=19
a
rgv[argc : server/config.c line=762 column=17
a
rgc] = : enter=0, leave=0
=
 w : server/config.c line=743 column=11
w
;
770                argc : server/config.c line=762 column=17
a
rgc++ : pass=0
+
+;
771            } while : true=0, false=0
w
hile (argc : server/config.c line=762 column=17
a
rgc < : true=0, false=0
MC/DC independently affect : true=0, false=0
<TF
 AP_MAX_ARGC && : true=0, false=0
&
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= '\0');
772
773            return : pass=0
r
eturn take_argv : enter=0, leave=0

cmd : server/config.c line=740 column=50
take_argv : include/http_config.h line=87 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE_ARGV(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, argc : server/config.c line=762 column=17
a
rgc, argv : server/config.c line=761 column=19
a
rgv);
774        }
775
776    case : true=0, false=0
c
ase NO_ARGS:
777        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
!
= 0)
778            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame, " takes no arguments",
779                               NULL);
780
781        return : pass=0
r
eturn no_args : enter=0, leave=0

cmd : server/config.c line=740 column=50
no_args : include/http_config.h line=82 column=19
c
md-> : enter=0, leave=0
-
>AP_NO_ARGS(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config);
782
783    case : true=0, false=0
c
ase TAKE1:
784        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
785
786        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
787            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame, " takes one argument",
788                               cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg conditional operator : true=0, false=0
?
 ", " : NULL, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg, NULL);
789
790        return : pass=0
r
eturn take1 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take1 : include/http_config.h line=90 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE1(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
);
791
792    case : true=0, false=0
c
ase TAKE2:
793        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
794        w2 : server/config.c line=743 column=15
w
= : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
795
796        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
w2 : server/config.c line=743 column=15
w
== : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
797            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame, " takes two arguments",
798                               cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg conditional operator : true=0, false=0
?
 ", " : NULL, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg, NULL);
799
800        return : pass=0
r
eturn take2 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take2 : include/http_config.h line=92 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE2(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
w2 : server/config.c line=743 column=15
w
2);
801
802    case : true=0, false=0
c
ase TAKE12:
803        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
804        w2 : server/config.c line=743 column=15
w
= : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
805
806        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
807            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame, " takes 1-2 arguments",
808                               cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg conditional operator : true=0, false=0
?
 ", " : NULL, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg, NULL);
809
810        return : pass=0
r
eturn take2 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take2 : include/http_config.h line=92 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE2(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
* dereference : enter=0, leave=0
*
w2 : server/config.c line=743 column=15
w
conditional operator : true=0, false=0
?
 w2 : server/config.c line=743 column=15
w
2 : NULL);
811
812    case : true=0, false=0
c
ase TAKE3:
813        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
814        w2 : server/config.c line=743 column=15
w
= : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
815        w3 : server/config.c line=743 column=20
w
= : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
816
817        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
w2 : server/config.c line=743 column=15
w
== : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
w3 : server/config.c line=743 column=20
w
== : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
818            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame, " takes three arguments",
819                               cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg conditional operator : true=0, false=0
?
 ", " : NULL, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg, NULL);
820
821        return : pass=0
r
eturn take3 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take3 : include/http_config.h line=95 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE3(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
w2 : server/config.c line=743 column=15
w
2, w3 : server/config.c line=743 column=20
w
3);
822
823    case : true=0, false=0
c
ase TAKE23:
824        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
825        w2 : server/config.c line=743 column=15
w
= : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
826        w3 : server/config.c line=743 column=20
w
= : pass=0
=
 * dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs conditional operator : true=0, false=0
?
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs) : NULL;
827
828        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
w2 : server/config.c line=743 column=15
w
== : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
829            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame,
830                               " takes two or three arguments",
831                               cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg conditional operator : true=0, false=0
?
 ", " : NULL, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg, NULL);
832
833        return : pass=0
r
eturn take3 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take3 : include/http_config.h line=95 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE3(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
w2 : server/config.c line=743 column=15
w
2, w3 : server/config.c line=743 column=20
w
3);
834
835    case : true=0, false=0
c
ase TAKE123:
836        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
837        w2 : server/config.c line=743 column=15
w
= : pass=0
=
 * dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs conditional operator : true=0, false=0
?
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs) : NULL;
838        w3 : server/config.c line=743 column=20
w
= : pass=0
=
 * dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs conditional operator : true=0, false=0
?
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs) : NULL;
839
840        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
841            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame,
842                               " takes one, two or three arguments",
843                               cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg conditional operator : true=0, false=0
?
 ", " : NULL, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg, NULL);
844
845        return : pass=0
r
eturn take3 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take3 : include/http_config.h line=95 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE3(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
w2 : server/config.c line=743 column=15
w
2, w3 : server/config.c line=743 column=20
w
3);
846
847    case : true=0, false=0
c
ase TAKE13:
848        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
849        w2 : server/config.c line=743 column=15
w
= : pass=0
=
 * dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs conditional operator : true=0, false=0
?
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs) : NULL;
850        w3 : server/config.c line=743 column=20
w
= : pass=0
=
 * dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs conditional operator : true=0, false=0
?
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs) : NULL;
851
852        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
| (MC/DC independently affect : true=0, false=0

w2 : server/config.c line=743 column=15
wTF
&& : true=0, false=0
&
MC/DC independently affect : true=0, false=0
* dereference : enter=0, leave=0
*TF
w2 : server/config.c line=743 column=15
w
&& : true=0, false=0
&
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
w3 : server/config.c line=743 column=20
w
3) || : true=0, false=0
|
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
853            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame,
854                               " takes one or three arguments",
855                               cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg conditional operator : true=0, false=0
?
 ", " : NULL, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg, NULL);
856
857        return : pass=0
r
eturn take3 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take3 : include/http_config.h line=95 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE3(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
w2 : server/config.c line=743 column=15
w
2, w3 : server/config.c line=743 column=20
w
3);
858
859    case : true=0, false=0
c
ase ITERATE:
860        while : true=0, false=0
w
hile (* dereference : enter=0, leave=0
*
(w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs)) != : true=0, false=0
!
= '\0') {
861
862            errmsg : server/config.c line=744 column=17
e
rrmsg = : pass=0
=
 take1 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take1 : include/http_config.h line=90 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE1(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
);
863
864            if : true=0, false=0
i
f (MC/DC independently affect : true=0, false=0

errmsg : server/config.c line=744 column=17
eTF
rrmsg && : true=0, false=0
&
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(errmsg : server/config.c line=744 column=17
e
rrmsg, DECLINE_CMD) != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
865                return : pass=0
r
eturn errmsg : server/config.c line=744 column=17
e
rrmsg;
866        }
867
868        return : pass=0
r
eturn errmsg : server/config.c line=744 column=17
e
rrmsg;
869
870    case : true=0, false=0
c
ase ITERATE2:
871        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
872
873        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
args : server/config.c line=741 column=58
a
rgs == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= 0)
874            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame,
875                               " requires at least two arguments",
876                               cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg conditional operator : true=0, false=0
?
 ", " : NULL, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg, NULL);
877
878        while : true=0, false=0
w
hile (* dereference : enter=0, leave=0
*
(w2 : server/config.c line=743 column=15
w
= : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs)) != : true=0, false=0
!
= '\0') {
879
880            errmsg : server/config.c line=744 column=17
e
rrmsg = : pass=0
=
 take2 : enter=0, leave=0

cmd : server/config.c line=740 column=50
take2 : include/http_config.h line=92 column=19
c
md-> : enter=0, leave=0
-
>AP_TAKE2(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, w : server/config.c line=743 column=11
w
w2 : server/config.c line=743 column=15
w
2);
881
882            if : true=0, false=0
i
f (MC/DC independently affect : true=0, false=0

errmsg : server/config.c line=744 column=17
eTF
rrmsg && : true=0, false=0
&
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(errmsg : server/config.c line=744 column=17
e
rrmsg, DECLINE_CMD) != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0)
883                return : pass=0
r
eturn errmsg : server/config.c line=744 column=17
e
rrmsg;
884        }
885
886        return : pass=0
r
eturn errmsg : server/config.c line=744 column=17
e
rrmsg;
887
888    case : true=0, false=0
c
ase FLAG:
889        w : server/config.c line=743 column=11
w
 = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=741 column=58
a
rgs);
890
891        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
w : server/config.c line=743 column=11
w
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
| (MC/DC independently affect : true=0, false=0
strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
sTF
trcasecmp(w : server/config.c line=743 column=11
w
, "on") && : true=0, false=0
&
MC/DC independently affect : true=0, false=0
strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
sTF
trcasecmp(w : server/config.c line=743 column=11
w
, "off")))
892            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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame, " must be On or Off",
893                               NULL);
894
895        return : pass=0
r
eturn flag : enter=0, leave=0

cmd : server/config.c line=740 column=50
flag : include/http_config.h line=98 column=19
c
md-> : enter=0, leave=0
-
>AP_FLAG(parms : server/config.c line=740 column=66
p
arms, mconfig : server/config.c line=741 column=37
m
config, strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(w : server/config.c line=743 column=11
w
, "off") != : true=0, false=0
!
= 0);
896
897    default : true=0, false=0
d
efault:
898        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(parms : server/config.c line=740 column=66
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd : server/config.c line=740 column=50
c
md-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame,
899                           " is improperly configured internally (server bug)",
900                           NULL);
901    }
902}
903
904AP_CORE_DECLARE(const command_rec *) ap_find_command : call=0
a
p_find_command(const char *name,
905                                                     const command_rec *cmds)
906{
907    while : true=0, false=0
w
hile (cmds : server/config.c line=905 column=73
c
mds-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame) {
908        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(name : server/config.c line=904 column=66
n
ame, cmds : server/config.c line=905 column=73
c
mds-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame))
909            return : pass=0
r
eturn cmds : server/config.c line=905 column=73
c
mds;
910
911        ++ : pass=0
+
+cmds : server/config.c line=905 column=73
c
mds;
912    }
913
914    return : pass=0
r
eturn NULL;
915}
916
917AP_CORE_DECLARE(const command_rec *) ap_find_command_in_modules : call=0
a
p_find_command_in_modules(
918                                          const char *cmd_name, module **mod)
919{
920    const command_rec *cmdp;
921    module *modp;
922
923    for : true=0, false=0
f
or (modp : server/config.c line=921 column=13
m
odp = : pass=0
=
 * dereference : enter=0, leave=0
*
mod : server/config.c line=918 column=74
m
od; modp : server/config.c line=921 column=13
m
odp; modp : server/config.c line=921 column=13
m
odp = : pass=0
=
 modp : server/config.c line=921 column=13
m
odp-> : enter=0, leave=0
-
>next : include/http_config.h line=340 column=27
n
ext) {
924        if : true=0, false=0
i
f (modp : server/config.c line=921 column=13
m
odpMC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>cmds : include/http_config.h line=385 column=24
c
mds && : true=0, false=0
&
& (cmdp : server/config.c line=920 column=24
c
mdp = : pass=0
MC/DC independently affect : true=0, false=0
=TF
 ap_find_command : enter=0, leave=0

ap_find_command : server/config.c line=904 column=38
a
p_find_command(cmd_name : server/config.c line=918 column=55
c
md_name, modp : server/config.c line=921 column=13
m
odp-> : enter=0, leave=0
-
>cmds : include/http_config.h line=385 column=24
c
mds))) {
925            *mod : server/config.c line=918 column=74
m
od = : enter=0, leave=0
=
 modp : server/config.c line=921 column=13
m
odp;
926            return : pass=0
r
eturn cmdp : server/config.c line=920 column=24
c
mdp;
927        }
928    }
929
930    return : pass=0
r
eturn NULL;
931}
932
933AP_CORE_DECLARE(void *) ap_set_config_vectors : call=0
a
p_set_config_vectors(server_rec *server,
934                                              ap_conf_vector_t *section_vector,
935                                              const char *section,
936                                              module *mod, apr_pool_t *pconf)
937{
938    void *section_config = ap_get_module_config(section_vector : server/config.c line=934 column=65
s
ection_vector, mod : server/config.c line=936 column=55
m
od);
939    void *server_config = ap_get_module_config(server : server/config.c line=933 column=59
s
erver-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config, mod : server/config.c line=936 column=55
m
od);
940
941    if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
section_config : server/config.c line=938 column=11
s
ection_config && : true=0, false=0
&
mod : server/config.c line=936 column=55
m
odMC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>create_dir_config : include/http_config.h line=357 column=13
c
reate_dir_config) {
942        /* ### need to fix the create_dir_config functions' prototype... */
943        section_config : server/config.c line=938 column=11
s
ection_config = : pass=0
=
 create_dir_config : enter=0, leave=0

create_dir_config : include/http_config.h line=357 column=13
(
*mod : server/config.c line=936 column=55
m
od-> : enter=0, leave=0
-
>create_dir_config : include/http_config.h line=357 column=13
c
reate_dir_config)(pconf : server/config.c line=936 column=72
p
conf, (char *)section : server/config.c line=935 column=59
s
ection);
944        ap_set_module_config(section_vector : server/config.c line=934 column=65
s
ection_vector, mod : server/config.c line=936 column=55
m
od, section_config : server/config.c line=938 column=11
s
ection_config);
945    }
946
947    if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
server_config : server/config.c line=939 column=11
s
erver_config && : true=0, false=0
&
mod : server/config.c line=936 column=55
m
odMC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>create_server_config : include/http_config.h line=372 column=13
c
reate_server_config) {
948        server_config : server/config.c line=939 column=11
s
erver_config = : pass=0
=
 create_server_config : enter=0, leave=0

create_server_config : include/http_config.h line=372 column=13
(
*mod : server/config.c line=936 column=55
m
od-> : enter=0, leave=0
-
>create_server_config : include/http_config.h line=372 column=13
c
reate_server_config)(pconf : server/config.c line=936 column=72
p
conf, server : server/config.c line=933 column=59
s
erver);
949        ap_set_module_config(server : server/config.c line=933 column=59
s
erver-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config, mod : server/config.c line=936 column=55
m
od, server_config : server/config.c line=939 column=11
s
erver_config);
950    }
951
952    return : pass=0
r
eturn section_config : server/config.c line=938 column=11
s
ection_config;
953}
954
955static const char *execute_now(char *cmd_line, const char *args,
956                               cmd_parms *parms,
957                               apr_pool_t *p, apr_pool_t *ptemp,
958                               ap_directive_t **sub_tree,
959                               ap_directive_t *parent);
960
961static const char *ap_build_config_sub : call=0
a
p_build_config_sub(apr_pool_t *p, apr_pool_t *temp_pool,
962                                       const char *l, cmd_parms *parms,
963                                       ap_directive_t **current,
964                                       ap_directive_t **curr_parent,
965                                       ap_directive_t **conftree)
966{
967    const char *retval = NULL;
968    const char *args;
969    char *cmd_name;
970    ap_directive_t *newdir;
971    module *mod = ap_top_module : server/config.c line=182 column=25
a
p_top_module;
972    const command_rec *cmd;
973
974    if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
l : server/config.c line=962 column=52
l
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '#' || : true=0, false=0
|
* dereference : enter=0, leave=0
*
l : server/config.c line=962 column=52
l
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0')
975        return : pass=0
r
eturn NULL;
976
977#if RESOLVE_ENV_PER_TOKEN
978    args = l;
979#else
980    args : server/config.c line=968 column=17
a
rgs = : pass=0
=
 ap_resolve_env : enter=0, leave=0

ap_resolve_env : include/httpd.h line=1378 column=26
a
p_resolve_env(temp_pool : server/config.c line=961 column=67
t
emp_pool, l : server/config.c line=962 column=52
l
);
981#endif
982
983    cmd_name : server/config.c line=969 column=11
c
md_name = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(p : server/config.c line=961 column=52
p
, &args : server/config.c line=968 column=17
a
rgs);
984    if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
cmd_name : server/config.c line=969 column=11
c
md_name == : true=0, false=0
=
= '\0') {
985        /* Note: this branch should not occur. An empty line should have
986         * triggered the exit further above.
987         */
988        return : pass=0
r
eturn NULL;
989    }
990
991    if : true=0, false=0
i
f (cmd_name : server/config.c line=969 column=11
c
md_name[] : enter=0, leave=0
[
1] != : true=0, false=0
!
= '/') {
992        char *lastc = cmd_name : server/config.c line=969 column=11
c
md_name + : pass=0
+
 strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(cmd_name : server/config.c line=969 column=11
c
md_name) - : pass=0
-
 1;
993        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
lastc : server/config.c line=992 column=15
l
astc == : true=0, false=0
=
= '>') {
994            *lastc : server/config.c line=992 column=15
l
astc = : enter=0, leave=0
=
 '\0' ;
995        }
996        if : true=0, false=0
i
f (cmd_name : server/config.c line=969 column=11
c
md_name[] : enter=0, leave=0
[
0] == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '<' && : true=0, false=0
&
* dereference : enter=0, leave=0
*
args : server/config.c line=968 column=17
a
rgs == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0') {
997            args : server/config.c line=968 column=17
a
rgs = : pass=0
=
 ">";
998        }
999    }
1000
1001    newdir : server/config.c line=970 column=21
n
ewdir = : pass=0
=
 apr_pcalloc(p : server/config.c line=961 column=52
p
, sizeof(ap_directive_t));
1002    newdir : server/config.c line=970 column=21
n
ewdir-> : enter=0, leave=0
-
>filename : include/util_cfgtree.h line=67 column=17 filename = : enter=0, leave=0
=
 parms : server/config.c line=962 column=66
p
arms-> : enter=0, leave=0
-
>config_file : include/http_config.h line=286 column=22
c
onfig_file-> : enter=0, leave=0
-
>name : include/http_config.h line=264 column=17
n
ame;
1003    newdir : server/config.c line=970 column=21
n
ewdir-> : enter=0, leave=0
-
>line_num : include/util_cfgtree.h line=69 column=9 line_num = : enter=0, leave=0
=
 parms : server/config.c line=962 column=66
p
arms-> : enter=0, leave=0
-
>config_file : include/http_config.h line=286 column=22
c
onfig_file-> : enter=0, leave=0
-
>line_number : include/http_config.h line=265 column=14
l
ine_number;
1004    newdir : server/config.c line=970 column=21
n
ewdir-> : enter=0, leave=0
-
>directive : include/util_cfgtree.h line=48 column=17 directive = : enter=0, leave=0
=
 cmd_name : server/config.c line=969 column=11
c
md_name;
1005    newdir : server/config.c line=970 column=21
n
ewdir-> : enter=0, leave=0
-
>args : include/util_cfgtree.h line=51 column=17 args = : enter=0, leave=0
=
 apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(p : server/config.c line=961 column=52
p
args : server/config.c line=968 column=17
a
rgs);
1006
1007    if : true=0, false=0
i
f ((cmd : server/config.c line=972 column=24
c
md = : pass=0
=
 ap_find_command_in_modules : enter=0, leave=0

ap_find_command_in_modules : server/config.c line=917 column=38
a
p_find_command_in_modules(cmd_name : server/config.c line=969 column=11
c
md_name, &mod : server/config.c line=971 column=13
m
od)) != : true=0, false=0
!
= NULL) {
1008        if : true=0, false=0
i
f (cmd : server/config.c line=972 column=24
c
md-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 EXEC_ON_READ) {
1009            ap_directive_t *sub_tree = NULL;
1010
1011            parms : server/config.c line=962 column=66
p
arms-> : enter=0, leave=0
-
>err_directive : include/http_config.h line=310 column=27
e
rr_directive = : enter=0, leave=0
=
 newdir : server/config.c line=970 column=21
n
ewdir;
1012            retval : server/config.c line=967 column=17
r
etval = : pass=0
=
 execute_now : enter=0, leave=0

execute_now : server/config.c line=955 column=20
e
xecute_now(cmd_name : server/config.c line=969 column=11
c
md_name, args : server/config.c line=968 column=17
a
rgs, parms : server/config.c line=962 column=66
p
arms, p : server/config.c line=961 column=52
p
temp_pool : server/config.c line=961 column=67
t
emp_pool,
1013                                 &sub_tree : server/config.c line=1009 column=29
s
ub_tree, * dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent);
1014            if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent) {
1015                (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent)-> : enter=0, leave=0
-
>next : include/util_cfgtree.h line=54 column=28 next = : enter=0, leave=0
=
 sub_tree : server/config.c line=1009 column=29
s
ub_tree;
1016            }
1017            else {
1018                *current : server/config.c line=963 column=57
c
urrent = : enter=0, leave=0
=
 sub_tree : server/config.c line=1009 column=29
s
ub_tree;
1019                if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent) {
1020                    (* dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent)-> : enter=0, leave=0
-
>first_child : include/util_cfgtree.h line=57 column=28 first_child = : enter=0, leave=0
=
 (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent);
1021                }
1022                if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent) {
1023                    (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent)-> : enter=0, leave=0
-
>parent : include/util_cfgtree.h line=60 column=28 parent = : enter=0, leave=0
=
 (* dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent);
1024                }
1025            }
1026            if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent) {
1027                if : true=0, false=0
i
f (! : true=0, false=0
!
* dereference : enter=0, leave=0
*
conftree : server/config.c line=965 column=57
c
onftree) {
1028                    /* Before walking *current to the end of the list,
1029                     * set the head to *current.
1030                     */
1031                    *conftree : server/config.c line=965 column=57
c
onftree = : enter=0, leave=0
=
 * dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent;
1032                }
1033                while : true=0, false=0
w
hile ((* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent)-> : enter=0, leave=0
-
>next : include/util_cfgtree.h line=54 column=28 next != : true=0, false=0
!
= NULL) {
1034                    (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent) = : pass=0
=
 (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent)-> : enter=0, leave=0
-
>next : include/util_cfgtree.h line=54 column=28 next;
1035                    (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent)-> : enter=0, leave=0
-
>parent : include/util_cfgtree.h line=60 column=28 parent = : enter=0, leave=0
=
 (* dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent);
1036                }
1037            }
1038            return : pass=0
r
eturn retval : server/config.c line=967 column=17
r
etval;
1039        }
1040    }
1041
1042    if : true=0, false=0
i
f (cmd_name : server/config.c line=969 column=11
c
md_name[] : enter=0, leave=0
[
0] == : true=0, false=0
=
= '<') {
1043        if : true=0, false=0
i
f (cmd_name : server/config.c line=969 column=11
c
md_name[] : enter=0, leave=0
[
1] != : true=0, false=0
!
= '/') {
1044            (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent) = : pass=0
=
 ap_add_node : enter=0, leave=0

ap_add_node : include/util_cfgtree.h line=87 column=17
a
p_add_node(curr_parent : server/config.c line=964 column=57
c
urr_parent, * dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent, newdir : server/config.c line=970 column=21
n
ewdir, 1);
1045        }
1046        else if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent == : true=0, false=0
=
= NULL) {
1047            parms : server/config.c line=962 column=66
p
arms-> : enter=0, leave=0
-
>err_directive : include/http_config.h line=310 column=27
e
rr_directive = : enter=0, leave=0
=
 newdir : server/config.c line=970 column=21
n
ewdir;
1048            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(p : server/config.c line=961 column=52
p
cmd_name : server/config.c line=969 column=11
c
md_name,
1049                               " without matching <", cmd_name : server/config.c line=969 column=11
c
md_name + : pass=0
+
 2,
1050                               " section", NULL);
1051        }
1052        else {
1053            char *bracket = cmd_name : server/config.c line=969 column=11
c
md_name + : pass=0
+
 strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(cmd_name : server/config.c line=969 column=11
c
md_name) - : pass=0
-
 1;
1054
1055            if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
bracket : server/config.c line=1053 column=19
b
racket != : true=0, false=0
!
= '>') {
1056                parms : server/config.c line=962 column=66
p
arms-> : enter=0, leave=0
-
>err_directive : include/http_config.h line=310 column=27
e
rr_directive = : enter=0, leave=0
=
 newdir : server/config.c line=970 column=21
n
ewdir;
1057                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(p : server/config.c line=961 column=52
p
cmd_name : server/config.c line=969 column=11
c
md_name,
1058                                   "> directive missing closing '>'", NULL);
1059            }
1060
1061            *bracket : server/config.c line=1053 column=19
b
racket = : enter=0, leave=0
=
 '\0';
1062
1063            if : true=0, false=0
i
f (strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(cmd_name : server/config.c line=969 column=11
c
md_name + : pass=0
+
 2,
1064                           (* dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent)-> : enter=0, leave=0
-
>directive : include/util_cfgtree.h line=48 column=17 directive + : pass=0
+
 1) != : true=0, false=0
!
= 0) {
1065                parms : server/config.c line=962 column=66
p
arms-> : enter=0, leave=0
-
>err_directive : include/http_config.h line=310 column=27
e
rr_directive = : enter=0, leave=0
=
 newdir : server/config.c line=970 column=21
n
ewdir;
1066                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(p : server/config.c line=961 column=52
p
, "Expected </",
1067                                   (* dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent)-> : enter=0, leave=0
-
>directive : include/util_cfgtree.h line=48 column=17 directive + : pass=0
+
 1, "> but saw ",
1068                                   cmd_name : server/config.c line=969 column=11
c
md_name, ">", NULL);
1069            }
1070
1071            *bracket : server/config.c line=1053 column=19
b
racket = : enter=0, leave=0
=
 '>';
1072
1073            /* done with this section; move up a level */
1074            *current : server/config.c line=963 column=57
c
urrent = : enter=0, leave=0
=
 * dereference : enter=0, leave=0
*
curr_parent : server/config.c line=964 column=57
c
urr_parent;
1075            *curr_parent : server/config.c line=964 column=57
c
urr_parent = : enter=0, leave=0
=
 (* dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent)-> : enter=0, leave=0
-
>parent : include/util_cfgtree.h line=60 column=28 parent;
1076        }
1077    }
1078    else {
1079        *current : server/config.c line=963 column=57
c
urrent = : enter=0, leave=0
=
 ap_add_node : enter=0, leave=0

ap_add_node : include/util_cfgtree.h line=87 column=17
a
p_add_node(curr_parent : server/config.c line=964 column=57
c
urr_parent, * dereference : enter=0, leave=0
*
current : server/config.c line=963 column=57
c
urrent, newdir : server/config.c line=970 column=21
n
ewdir, 0);
1080    }
1081
1082    return : pass=0
r
eturn retval : server/config.c line=967 column=17
r
etval;
1083}
1084
1085AP_DECLARE(const char *) ap_build_cont_config : call=0
a
p_build_cont_config(apr_pool_t *p,
1086                                              apr_pool_t *temp_pool,
1087                                              cmd_parms *parms,
1088                                              ap_directive_t **current,
1089                                              ap_directive_t **curr_parent,
1090                                              char *orig_directive)
1091{
1092    char *l;
1093    char *bracket;
1094    const char *retval;
1095    ap_directive_t *sub_tree = NULL;
1096
1097    /* Since this function can be called recursively, allocate
1098     * the temporary 8k string buffer from the temp_pool rather
1099     * than the stack to avoid over-running a fixed length stack.
1100     */
1101    l : server/config.c line=1092 column=11
l
 = : pass=0
=
 apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(temp_pool : server/config.c line=1086 column=59
t
emp_pool, MAX_STRING_LEN);
1102
1103    bracket : server/config.c line=1093 column=11
b
racket = : pass=0
=
 apr_pstrcat : enter=0, leave=0

apr_pstrcat : /usr/include/apr-1/apr_strings.h line=139 column=28
a
pr_pstrcat(p : server/config.c line=1085 column=59
p
orig_directive : server/config.c line=1090 column=53
o
rig_directive + : pass=0
+
 1, ">", NULL);
1104    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 : server/config.c line=1092 column=11
l
, MAX_STRING_LEN, parms : server/config.c line=1087 column=58
p
arms-> : enter=0, leave=0
-
>config_file : include/http_config.h line=286 column=22
c
onfig_file))) {
1105        if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
memcmp : enter=0, leave=0

memcmp : /usr/include/string.h line=68 column=12
m
emcmp(l : server/config.c line=1092 column=11
l
, "</", 2)
1106            && : true=0, false=0
&
& (strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(l : server/config.c line=1092 column=11
l
 + : pass=0
+
 2, bracket : server/config.c line=1093 column=11
b
racket) == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= 0)
1107            && : true=0, false=0
&
& (* dereference : enter=0, leave=0
*
curr_parent : server/config.c line=1089 column=64
c
urr_parent == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= NULL)) {
1108            break : pass=0
b
reak;
1109        }
1110        retval : server/config.c line=1094 column=17
r
etval = : pass=0
=
 ap_build_config_sub : enter=0, leave=0

ap_build_config_sub : server/config.c line=961 column=20
a
p_build_config_sub(p : server/config.c line=1085 column=59
p
temp_pool : server/config.c line=1086 column=59
t
emp_pool, l : server/config.c line=1092 column=11
l
parms : server/config.c line=1087 column=58
p
arms, current : server/config.c line=1088 column=64
c
urrent,
1111                                     curr_parent : server/config.c line=1089 column=64
c
urr_parent, &sub_tree : server/config.c line=1095 column=21
s
ub_tree);
1112        if : true=0, false=0
i
f (retval : server/config.c line=1094 column=17
r
etval != : true=0, false=0
!
= NULL)
1113            return : pass=0
r
eturn retval : server/config.c line=1094 column=17
r
etval;
1114
1115        if : true=0, false=0
i
f (sub_tree : server/config.c line=1095 column=21
s
ub_tree == : true=0, false=0
=
= NULL) {
1116            sub_tree : server/config.c line=1095 column=21
s
ub_tree = : pass=0
=
 * dereference : enter=0, leave=0
*
curr_parent : server/config.c line=1089 column=64
c
urr_parent;
1117        }
1118
1119        if : true=0, false=0
i
f (sub_tree : server/config.c line=1095 column=21
s
ub_tree == : true=0, false=0
=
= NULL) {
1120            sub_tree : server/config.c line=1095 column=21
s
ub_tree = : pass=0
=
 * dereference : enter=0, leave=0
*
current : server/config.c line=1088 column=64
c
urrent;
1121        }
1122    }
1123
1124    *current : server/config.c line=1088 column=64
c
urrent = : enter=0, leave=0
=
 sub_tree : server/config.c line=1095 column=21
s
ub_tree;
1125    return : pass=0
r
eturn NULL;
1126}
1127
1128static const char *ap_walk_config_sub : call=0
a
p_walk_config_sub(const ap_directive_t *current,
1129                                      cmd_parms *parms,
1130                                      ap_conf_vector_t *section_vector)
1131{
1132    const command_rec *cmd;
1133    ap_mod_list *ml;
1134    char *dir = apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(parms : server/config.c line=1129 column=50
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, current : server/config.c line=1128 column=61
c
urrent-> : enter=0, leave=0
-
>directive : include/util_cfgtree.h line=48 column=17 directive);
1135
1136    ap_str_tolower : enter=0, leave=0

ap_str_tolower : include/httpd.h line=1739 column=18
a
p_str_tolower(dir : server/config.c line=1134 column=11
d
ir);
1137
1138    ml : server/config.c line=1133 column=18
m
= : pass=0
=
 apr_hash_get : enter=0, leave=0

apr_hash_get : /usr/include/apr-1/apr_hash.h line=117 column=21
a
pr_hash_get(ap_config_hash : server/config.c line=185 column=20
a
p_config_hash, dir : server/config.c line=1134 column=11
d
ir, APR_HASH_KEY_STRING);
1139
1140    if : true=0, false=0
i
f (ml : server/config.c line=1133 column=18
m
== : true=0, false=0
=
= NULL) {
1141        parms : server/config.c line=1129 column=50
p
arms-> : enter=0, leave=0
-
>err_directive : include/http_config.h line=310 column=27
e
rr_directive = : enter=0, leave=0
=
 current : server/config.c line=1128 column=61
c
urrent;
1142        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(parms : server/config.c line=1129 column=50
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, "Invalid command '",
1143                           current : server/config.c line=1128 column=61
c
urrent-> : enter=0, leave=0
-
>directive : include/util_cfgtree.h line=48 column=17 directive,
1144                           "', perhaps misspelled or defined by a module "
1145                           "not included in the server configuration",
1146                           NULL);
1147    }
1148
1149    for : true=0, false=0
f
or ( ; ml : server/config.c line=1133 column=18
m
!= : true=0, false=0
!
= NULL; ml : server/config.c line=1133 column=18
m
= : pass=0
=
 ml : server/config.c line=1133 column=18
m
l-> : enter=0, leave=0
-
>next : server/config.c line=439 column=32
n
ext) {
1150        void *dir_config = ap_set_config_vectors : enter=0, leave=0

ap_set_config_vectors : server/config.c line=933 column=25
a
p_set_config_vectors(parms : server/config.c line=1129 column=50
p
arms-> : enter=0, leave=0
-
>server : include/http_config.h line=296 column=17
s
erver,
1151                                                 section_vector : server/config.c line=1130 column=57
s
ection_vector,
1152                                                 parms : server/config.c line=1129 column=50
p
arms-> : enter=0, leave=0
-
>path : include/http_config.h line=303 column=11
p
ath,
1153                                                 ml : server/config.c line=1133 column=18
m
l-> : enter=0, leave=0
-
>m : server/config.c line=440 column=13
m
,
1154                                                 parms : server/config.c line=1129 column=50
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool);
1155        const char *retval;
1156        cmd : server/config.c line=1132 column=24
c
md = : pass=0
=
 ml : server/config.c line=1133 column=18
m
l-> : enter=0, leave=0
-
>cmd : server/config.c line=441 column=24
c
md;
1157
1158        /* Once was enough? */
1159        if : true=0, false=0
i
f (cmd : server/config.c line=1132 column=24
c
md-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 EXEC_ON_READ) {
1160            continue : pass=0
c
ontinue;
1161        }
1162
1163        retval : server/config.c line=1155 column=21
r
etval = : pass=0
=
 invoke_cmd : enter=0, leave=0

invoke_cmd : server/config.c line=740 column=20
i
nvoke_cmd(cmd : server/config.c line=1132 column=24
c
md, parms : server/config.c line=1129 column=50
p
arms, dir_config : server/config.c line=1150 column=15
d
ir_config, current : server/config.c line=1128 column=61
c
urrent-> : enter=0, leave=0
-
>args : include/util_cfgtree.h line=51 column=17 args);
1164
1165        if : true=0, false=0
i
f (retval : server/config.c line=1155 column=21
r
etval != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= NULL && : true=0, false=0
&
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(retval : server/config.c line=1155 column=21
r
etval, DECLINE_CMD) != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0) {
1166            /* If the directive in error has already been set, don't
1167             * replace it.  Otherwise, an error inside a container
1168             * will be reported as occuring on the first line of the
1169             * container.
1170             */
1171            if : true=0, false=0
i
f (! : true=0, false=0
!
parms : server/config.c line=1129 column=50
p
arms-> : enter=0, leave=0
-
>err_directive : include/http_config.h line=310 column=27
e
rr_directive) {
1172                parms : server/config.c line=1129 column=50
p
arms-> : enter=0, leave=0
-
>err_directive : include/http_config.h line=310 column=27
e
rr_directive = : enter=0, leave=0
=
 current : server/config.c line=1128 column=61
c
urrent;
1173            }
1174            return : pass=0
r
eturn retval : server/config.c line=1155 column=21
r
etval;
1175        }
1176    }
1177
1178    return : pass=0
r
eturn NULL;
1179}
1180
1181AP_DECLARE(const char *) ap_walk_config : call=0
a
p_walk_config(ap_directive_t *current,
1182                                        cmd_parms *parms,
1183                                        ap_conf_vector_t *section_vector)
1184{
1185    ap_conf_vector_t *oldconfig = parms : server/config.c line=1182 column=52
p
arms-> : enter=0, leave=0
-
>context : include/http_config.h line=308 column=30
c
ontext;
1186
1187    parms : server/config.c line=1182 column=52
p
arms-> : enter=0, leave=0
-
>context : include/http_config.h line=308 column=30
c
ontext = : enter=0, leave=0
=
 section_vector : server/config.c line=1183 column=59
s
ection_vector;
1188
1189    /* scan through all directives, executing each one */
1190    for : true=0, false=0
f
or (; current : server/config.c line=1181 column=57
c
urrent != : true=0, false=0
!
= NULL; current : server/config.c line=1181 column=57
c
urrent = : pass=0
=
 current : server/config.c line=1181 column=57
c
urrent-> : enter=0, leave=0
-
>next : include/util_cfgtree.h line=54 column=28 next) {
1191        const char *errmsg;
1192
1193        parms : server/config.c line=1182 column=52
p
arms-> : enter=0, leave=0
-
>directive : include/http_config.h line=288 column=21
d
irective = : enter=0, leave=0
=
 current : server/config.c line=1181 column=57
c
urrent;
1194
1195        /* actually parse the command and execute the correct function */
1196        errmsg : server/config.c line=1191 column=21
e
rrmsg = : pass=0
=
 ap_walk_config_sub : enter=0, leave=0

ap_walk_config_sub : server/config.c line=1128 column=20
a
p_walk_config_sub(current : server/config.c line=1181 column=57
c
urrent, parms : server/config.c line=1182 column=52
p
arms, section_vector : server/config.c line=1183 column=59
s
ection_vector);
1197        if : true=0, false=0
i
f (errmsg : server/config.c line=1191 column=21
e
rrmsg != : true=0, false=0
!
= NULL) {
1198            /* restore the context (just in case) */
1199            parms : server/config.c line=1182 column=52
p
arms-> : enter=0, leave=0
-
>context : include/http_config.h line=308 column=30
c
ontext = : enter=0, leave=0
=
 oldconfig : server/config.c line=1185 column=23
o
ldconfig;
1200            return : pass=0
r
eturn errmsg : server/config.c line=1191 column=21
e
rrmsg;
1201        }
1202    }
1203
1204    parms : server/config.c line=1182 column=52
p
arms-> : enter=0, leave=0
-
>context : include/http_config.h line=308 column=30
c
ontext = : enter=0, leave=0
=
 oldconfig : server/config.c line=1185 column=23
o
ldconfig;
1205    return : pass=0
r
eturn NULL;
1206}
1207
1208AP_DECLARE(const char *) ap_build_config : call=1
a
p_build_config(cmd_parms *parms,
1209                                         apr_pool_t *p, apr_pool_t *temp_pool,
1210                                         ap_directive_t **conftree)
1211{
1212    ap_directive_t *current = * dereference : enter=1, leave=1
*
conftree : server/config.c line=1210 column=59
c
onftree;
1213    ap_directive_t *curr_parent = NULL;
1214    char *l = apr_palloc : enter=1, leave=1

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc (temp_pool : server/config.c line=1209 column=69
t
emp_pool, MAX_STRING_LEN);
1215    const char *errmsg;
1216
1217    if : true=0, false=1
i
f (current : server/config.c line=1212 column=21
c
urrent != : true=0, false=1
!
= NULL) {
1218        while : true=0, false=0
w
hile (current : server/config.c line=1212 column=21
c
urrent-> : enter=0, leave=0
-
>next : include/util_cfgtree.h line=54 column=28 next) {
1219            current : server/config.c line=1212 column=21
c
urrent = : pass=0
=
 current : server/config.c line=1212 column=21
c
urrent-> : enter=0, leave=0
-
>next : include/util_cfgtree.h line=54 column=28 next;
1220        }
1221    }
1222
1223    while : true=0, false=1
w
hile (! : true=0, false=1
!
(ap_cfg_getline : enter=1, leave=1

ap_cfg_getline : include/http_config.h line=633 column=17
a
p_cfg_getline(l : server/config.c line=1214 column=11
l
, MAX_STRING_LEN, parms : server/config.c line=1208 column=53
p
arms-> : enter=1, leave=1
-
>config_file : include/http_config.h line=286 column=22
c
onfig_file))) {
1224        errmsg : server/config.c line=1215 column=17
e
rrmsg = : pass=0
=
 ap_build_config_sub : enter=0, leave=0

ap_build_config_sub : server/config.c line=961 column=20
a
p_build_config_sub(p : server/config.c line=1209 column=54
p
temp_pool : server/config.c line=1209 column=69
t
emp_pool, l : server/config.c line=1214 column=11
l
parms : server/config.c line=1208 column=53
p
arms,
1225                                     &current : server/config.c line=1212 column=21
c
urrent, &curr_parent : server/config.c line=1213 column=21
c
urr_parent, conftree : server/config.c line=1210 column=59
c
onftree);
1226        if : true=0, false=0
i
f (errmsg : server/config.c line=1215 column=17
e
rrmsg != : true=0, false=0
!
= NULL)
1227            return : pass=0
r
eturn errmsg : server/config.c line=1215 column=17
e
rrmsg;
1228
1229        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
conftree : server/config.c line=1210 column=59
c
onftree == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= NULL && : true=0, false=0
&
curr_parent : server/config.c line=1213 column=21
c
urr_parent != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= NULL) {
1230            *conftree : server/config.c line=1210 column=59
c
onftree = : enter=0, leave=0
=
 curr_parent : server/config.c line=1213 column=21
c
urr_parent;
1231        }
1232
1233        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
conftree : server/config.c line=1210 column=59
c
onftree == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= NULL && : true=0, false=0
&
current : server/config.c line=1212 column=21
c
urrent != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= NULL) {
1234            *conftree : server/config.c line=1210 column=59
c
onftree = : enter=0, leave=0
=
 current : server/config.c line=1212 column=21
c
urrent;
1235        }
1236    }
1237
1238    if : true=0, false=1
i
f (curr_parent : server/config.c line=1213 column=21
c
urr_parent != : true=0, false=1
!
= NULL) {
1239        errmsg : server/config.c line=1215 column=17
e
rrmsg = : pass=0
=
 "";
1240
1241        while : true=0, false=0
w
hile (curr_parent : server/config.c line=1213 column=21
c
urr_parent != : true=0, false=0
!
= NULL) {
1242            errmsg : server/config.c line=1215 column=17
e
rrmsg = : pass=0
=
 apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(p : server/config.c line=1209 column=54
p
, "%s%s%s:%u: %s> was not closed.",
1243                                  errmsg : server/config.c line=1215 column=17
e
rrmsg,
1244                                  * dereference : enter=0, leave=0
*
errmsg : server/config.c line=1215 column=17
e
rrmsg == : true=0, false=0
=
= '\0' conditional operator : true=0, false=0
?
 "" : APR_EOL_STR,
1245                                  curr_parent : server/config.c line=1213 column=21
c
urr_parent-> : enter=0, leave=0
-
>filename : include/util_cfgtree.h line=67 column=17 filename,
1246                                  curr_parent : server/config.c line=1213 column=21
c
urr_parent-> : enter=0, leave=0
-
>line_num : include/util_cfgtree.h line=69 column=9 line_num,
1247                                  curr_parent : server/config.c line=1213 column=21
c
urr_parent-> : enter=0, leave=0
-
>directive : include/util_cfgtree.h line=48 column=17 directive);
1248
1249            parms : server/config.c line=1208 column=53
p
arms-> : enter=0, leave=0
-
>err_directive : include/http_config.h line=310 column=27
e
rr_directive = : enter=0, leave=0
=
 curr_parent : server/config.c line=1213 column=21
c
urr_parent;
1250            curr_parent : server/config.c line=1213 column=21
c
urr_parent = : pass=0
=
 curr_parent : server/config.c line=1213 column=21
c
urr_parent-> : enter=0, leave=0
-
>parent : include/util_cfgtree.h line=60 column=28 parent;
1251        }
1252
1253        return : pass=0
r
eturn errmsg : server/config.c line=1215 column=17
e
rrmsg;
1254    }
1255
1256    return : pass=1
r
eturn NULL;
1257}
1258
1259/*
1260 * Generic command functions...
1261 */
1262
1263AP_DECLARE_NONSTD(const char *) ap_set_string_slot : call=0
a
p_set_string_slot(cmd_parms *cmd,
1264                                                   void *struct_ptr,
1265                                                   const char *arg)
1266{
1267    int offset = (int)(long)cmd : server/config.c line=1263 column=63
c
md-> : enter=0, leave=0
-
>info : include/http_config.h line=275 column=11
i
nfo;
1268
1269    *(const char **)((char *)struct_ptr : server/config.c line=1264 column=58
s
truct_ptr + : pass=0
+
 offset : server/config.c line=1267 column=9
o
ffset) = : enter=0, leave=0
=
 arg : server/config.c line=1265 column=64
a
rg;
1270
1271    return : pass=0
r
eturn NULL;
1272}
1273
1274AP_DECLARE_NONSTD(const char *) ap_set_int_slot : call=0
a
p_set_int_slot(cmd_parms *cmd,
1275                                                void *struct_ptr,
1276                                                const char *arg)
1277{
1278    char *endptr;
1279    char *error_str = NULL;
1280    int offset = (int)(long)cmd : server/config.c line=1274 column=60
c
md-> : enter=0, leave=0
-
>info : include/http_config.h line=275 column=11
i
nfo;
1281
1282    *(int *)((char*)struct_ptr : server/config.c line=1275 column=55
s
truct_ptr + : pass=0
+
 offset : server/config.c line=1280 column=9
o
ffset) = : enter=0, leave=0
=
 strtol : enter=0, leave=0

strtol : /usr/include/stdlib.h line=184 column=17
s
trtol(arg : server/config.c line=1276 column=61
a
rg, &endptr : server/config.c line=1278 column=11
e
ndptr, 10);
1283
1284    if : true=0, false=0
i
f ((* dereference : enter=0, leave=0
*
arg : server/config.c line=1276 column=61
a
rg == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0') || : true=0, false=0
|
| (* dereference : enter=0, leave=0
*
endptr : server/config.c line=1278 column=11
e
ndptr != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= '\0')) {
1285        error_str : server/config.c line=1279 column=11
e
rror_str = : pass=0
=
 apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(cmd : server/config.c line=1274 column=60
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool,
1286                     "Invalid value for directive %s, expected integer",
1287                     cmd : server/config.c line=1274 column=60
c
md-> : enter=0, leave=0
-
>directive : include/http_config.h line=288 column=21
d
irective-> : enter=0, leave=0
-
>directive : include/util_cfgtree.h line=48 column=17 directive);
1288    }
1289
1290    return : pass=0
r
eturn error_str : server/config.c line=1279 column=11
e
rror_str;
1291}
1292
1293AP_DECLARE_NONSTD(const char *) ap_set_string_slot_lower : call=0
a
p_set_string_slot_lower(cmd_parms *cmd,
1294                                                         void *struct_ptr,
1295                                                         const char *arg_)
1296{
1297    char *arg = apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(cmd : server/config.c line=1293 column=69
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool,arg_ : server/config.c line=1295 column=70
a
rg_);
1298    int offset = (int)(long)cmd : server/config.c line=1293 column=69
c
md-> : enter=0, leave=0
-
>info : include/http_config.h line=275 column=11
i
nfo;
1299
1300    ap_str_tolower : enter=0, leave=0

ap_str_tolower : include/httpd.h line=1739 column=18
a
p_str_tolower(arg : server/config.c line=1297 column=11
a
rg);
1301    *(char **)((char *)struct_ptr : server/config.c line=1294 column=64
s
truct_ptr + : pass=0
+
 offset : server/config.c line=1298 column=9
o
ffset) = : enter=0, leave=0
=
 arg : server/config.c line=1297 column=11
a
rg;
1302
1303    return : pass=0
r
eturn NULL;
1304}
1305
1306AP_DECLARE_NONSTD(const char *) ap_set_flag_slot : call=0
a
p_set_flag_slot(cmd_parms *cmd,
1307                                                 void *struct_ptr_v, int arg)
1308{
1309    int offset = (int)(long)cmd : server/config.c line=1306 column=61
c
md-> : enter=0, leave=0
-
>info : include/http_config.h line=275 column=11
i
nfo;
1310    char *struct_ptr = (char *)struct_ptr_v : server/config.c line=1307 column=56
s
truct_ptr_v;
1311
1312    *(int *)(struct_ptr : server/config.c line=1310 column=11
s
truct_ptr + : pass=0
+
 offset : server/config.c line=1309 column=9
o
ffset) = : enter=0, leave=0
=
 arg : server/config.c line=1307 column=74
a
rg conditional operator : true=0, false=0
?
 1 : 0;
1313
1314    return : pass=0
r
eturn NULL;
1315}
1316
1317AP_DECLARE_NONSTD(const char *) ap_set_file_slot : call=0
a
p_set_file_slot(cmd_parms *cmd, void *struct_ptr,
1318                                                 const char *arg)
1319{
1320    /* Prepend server_root to relative arg.
1321     * This allows most args to be independent of server_root,
1322     * so the server can be moved or mirrored with less pain.
1323     */
1324    const char *path;
1325    int offset = (int)(long)cmd : server/config.c line=1317 column=61
c
md-> : enter=0, leave=0
-
>info : include/http_config.h line=275 column=11
i
nfo;
1326
1327    path : server/config.c line=1324 column=17
p
ath = : pass=0
=
 ap_server_root_relative : enter=0, leave=0

ap_server_root_relative : include/http_config.h line=557 column=20
a
p_server_root_relative(cmd : server/config.c line=1317 column=61
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, arg : server/config.c line=1318 column=62
a
rg);
1328
1329    if : true=0, false=0
i
f (! : true=0, false=0
!
path : server/config.c line=1324 column=17
p
ath) {
1330        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 : server/config.c line=1317 column=61
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, "Invalid file path ",
1331                           arg : server/config.c line=1318 column=62
a
rg, NULL);
1332    }
1333
1334    *(const char **) ((char*)struct_ptr : server/config.c line=1317 column=72
s
truct_ptr + : pass=0
+
 offset : server/config.c line=1325 column=9
o
ffset) = : enter=0, leave=0
=
 path : server/config.c line=1324 column=17
p
ath;
1335
1336    return : pass=0
r
eturn NULL;
1337}
1338
1339AP_DECLARE_NONSTD(const char *) ap_set_deprecated : call=0
a
p_set_deprecated(cmd_parms *cmd,
1340                                                  void *struct_ptr,
1341                                                  const char *arg)
1342{
1343    return : pass=0
r
eturn cmd : server/config.c line=1339 column=62
c
md-> : enter=0, leave=0
-
>cmd : include/http_config.h line=305 column=24
c
md-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg;
1344}
1345
1346/*****************************************************************
1347 *
1348 * Reading whole config files...
1349 */
1350
1351static cmd_parms default_parms =
1352{NULL, 0, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
1353
1354AP_DECLARE(char *) ap_server_root_relative : call=1
a
p_server_root_relative(apr_pool_t *p, const char *file)
1355{
1356    char *newpath = NULL;
1357    apr_status_t rv;
1358    rv : server/config.c line=1357 column=18
r
= : pass=1
=
 apr_filepath_merge : enter=1, leave=1

apr_filepath_merge : /usr/include/apr-1/apr_file_info.h line=354 column=27
a
pr_filepath_merge(&newpath : server/config.c line=1356 column=11
n
ewpath, ap_server_root : server/config.c line=59 column=29
a
p_server_root, file : server/config.c line=1354 column=71
f
ile,
1359                            APR_FILEPATH_TRUENAME, p : server/config.c line=1354 column=56
p
);
1360    if : true=1, false=0
i
f (MC/DC independently affect : true=1, false=0

newpath : server/config.c line=1356 column=11
nTF
ewpath && : true=1, false=0
&
& (rv : server/config.c line=1357 column=18
r
== : true=1, false=0
MC/DC independently affect : true=1, false=0
=TF
= APR_SUCCESS || : true=1, false=0
|
| APR_STATUS_IS_EPATHWILD(rv : server/config.c line=1357 column=18
r
v)
1361                                      || : true=1, false=0
|
| APR_STATUS_IS_ENOENT(rv : server/config.c line=1357 column=18
r
v)
1362                                      || : true=1, false=0
|
| APR_STATUS_IS_ENOTDIR(rv : server/config.c line=1357 column=18
r
v))) {
1363        return : pass=1
r
eturn newpath : server/config.c line=1356 column=11
n
ewpath;
1364    }
1365    else {
1366        return : pass=0
r
eturn NULL;
1367    }
1368}
1369
1370AP_DECLARE(const char *) ap_soak_end_container : call=0
a
p_soak_end_container(cmd_parms *cmd, char *directive)
1371{
1372    char l[MAX_STRING_LEN];
1373    const char *args;
1374    char *cmd_name;
1375
1376    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 : server/config.c line=1372 column=10
l
, MAX_STRING_LEN, cmd : server/config.c line=1370 column=59
c
md-> : enter=0, leave=0
-
>config_file : include/http_config.h line=286 column=22
c
onfig_file))) {
1377#if RESOLVE_ENV_PER_TOKEN
1378        args = l;
1379#else
1380        args : server/config.c line=1373 column=17
a
rgs = : pass=0
=
 ap_resolve_env : enter=0, leave=0

ap_resolve_env : include/httpd.h line=1378 column=26
a
p_resolve_env(cmd : server/config.c line=1370 column=59
c
md-> : enter=0, leave=0
-
>temp_pool : include/http_config.h line=294 column=17
t
emp_pool, l : server/config.c line=1372 column=10
l
);
1381#endif
1382
1383        cmd_name : server/config.c line=1374 column=11
c
md_name = : pass=0
=
 ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(cmd : server/config.c line=1370 column=59
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &args : server/config.c line=1373 column=17
a
rgs);
1384        if : true=0, false=0
i
f (cmd_name : server/config.c line=1374 column=11
c
md_name[] : enter=0, leave=0
[
0] == : true=0, false=0
=
= '<') {
1385            if : true=0, false=0
i
f (cmd_name : server/config.c line=1374 column=11
c
md_name[] : enter=0, leave=0
[
1] == : true=0, false=0
=
= '/') {
1386                cmd_name : server/config.c line=1374 column=11
c
md_name[strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(cmd_name : server/config.c line=1374 column=11
c
md_name) - : pass=0
-
 1] = : enter=0, leave=0
=
 '\0';
1387
1388                if : true=0, false=0
i
f (strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(cmd_name : server/config.c line=1374 column=11
c
md_name + : pass=0
+
 2, directive : server/config.c line=1370 column=70
d
irective + : pass=0
+
 1) != : true=0, false=0
!
= 0) {
1389                    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 : server/config.c line=1370 column=59
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, "Expected </",
1390                                       directive : server/config.c line=1370 column=70
d
irective + : pass=0
+
 1, "> but saw ",
1391                                       cmd_name : server/config.c line=1374 column=11
c
md_name, ">", NULL);
1392                }
1393
1394                return : pass=0
r
eturn NULL; /* found end of container */
1395            }
1396            else {
1397                const char *msg;
1398
1399                if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
args : server/config.c line=1373 column=17
a
rgs == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' && : true=0, false=0
&
cmd_name : server/config.c line=1374 column=11
c
md_name[] : enter=0, leave=0
[
strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(cmd_name : server/config.c line=1374 column=11
c
md_name) - : pass=0
-
 1] == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '>') {
1400                    cmd_name : server/config.c line=1374 column=11
c
md_name[strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(cmd_name : server/config.c line=1374 column=11
c
md_name) - : pass=0
-
 1] = : enter=0, leave=0
=
 '\0';
1401                }
1402
1403                if : true=0, false=0
i
f ((msg : server/config.c line=1397 column=29
m
sg = : pass=0
=
 ap_soak_end_container : enter=0, leave=0

ap_soak_end_container : server/config.c line=1370 column=26
a
p_soak_end_container(cmd : server/config.c line=1370 column=59
c
md, cmd_name : server/config.c line=1374 column=11
c
md_name)) != : true=0, false=0
!
= NULL) {
1404                    return : pass=0
r
eturn msg : server/config.c line=1397 column=29
m
sg;
1405                }
1406            }
1407        }
1408    }
1409
1410    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 : server/config.c line=1370 column=59
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, "Expected </",
1411                       directive : server/config.c line=1370 column=70
d
irective + : pass=0
+
 1, "> before end of configuration",
1412                       NULL);
1413}
1414
1415static const char *execute_now : call=0
e
xecute_now(char *cmd_line, const char *args,
1416                               cmd_parms *parms,
1417                               apr_pool_t *p, apr_pool_t *ptemp,
1418                               ap_directive_t **sub_tree,
1419                               ap_directive_t *parent)
1420{
1421    const command_rec *cmd;
1422    ap_mod_list *ml;
1423    char *dir = apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(parms : server/config.c line=1416 column=43
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, cmd_line : server/config.c line=1415 column=38
c
md_line);
1424
1425    ap_str_tolower : enter=0, leave=0

ap_str_tolower : include/httpd.h line=1739 column=18
a
p_str_tolower(dir : server/config.c line=1423 column=11
d
ir);
1426
1427    ml : server/config.c line=1422 column=18
m
= : pass=0
=
 apr_hash_get : enter=0, leave=0

apr_hash_get : /usr/include/apr-1/apr_hash.h line=117 column=21
a
pr_hash_get(ap_config_hash : server/config.c line=185 column=20
a
p_config_hash, dir : server/config.c line=1423 column=11
d
ir, APR_HASH_KEY_STRING);
1428
1429    if : true=0, false=0
i
f (ml : server/config.c line=1422 column=18
m
== : true=0, false=0
=
= NULL) {
1430        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(parms : server/config.c line=1416 column=43
p
arms-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, "Invalid command '",
1431                           cmd_line : server/config.c line=1415 column=38
c
md_line,
1432                           "', perhaps misspelled or defined by a module "
1433                           "not included in the server configuration",
1434                           NULL);
1435    }
1436
1437    for : true=0, false=0
f
or ( ; ml : server/config.c line=1422 column=18
m
!= : true=0, false=0
!
= NULL; ml : server/config.c line=1422 column=18
m
= : pass=0
=
 ml : server/config.c line=1422 column=18
m
l-> : enter=0, leave=0
-
>next : server/config.c line=439 column=32
n
ext) {
1438        const char *retval;
1439        cmd : server/config.c line=1421 column=24
c
md = : pass=0
=
 ml : server/config.c line=1422 column=18
m
l-> : enter=0, leave=0
-
>cmd : server/config.c line=441 column=24
c
md;
1440
1441        retval : server/config.c line=1438 column=21
r
etval = : pass=0
=
 invoke_cmd : enter=0, leave=0

invoke_cmd : server/config.c line=740 column=20
i
nvoke_cmd(cmd : server/config.c line=1421 column=24
c
md, parms : server/config.c line=1416 column=43
p
arms, sub_tree : server/config.c line=1418 column=49
s
ub_tree, args : server/config.c line=1415 column=60
a
rgs);
1442
1443        if : true=0, false=0
i
f (retval : server/config.c line=1438 column=21
r
etval != : true=0, false=0
!
= NULL) {
1444            return : pass=0
r
eturn retval : server/config.c line=1438 column=21
r
etval;
1445        }
1446    }
1447
1448    return : pass=0
r
eturn NULL;
1449}
1450
1451/* This structure and the following functions are needed for the
1452 * table-based config file reading. They are passed to the
1453 * cfg_open_custom() routine.
1454 */
1455
1456/* Structure to be passed to cfg_open_custom(): it contains an
1457 * index which is incremented from 0 to nelts on each call to
1458 * cfg_getline() (which in turn calls arr_elts_getstr())
1459 * and an apr_array_header_t pointer for the string array.
1460 */
1461typedef struct {
1462    apr_array_header_t *array;
1463    int curr_idx;
1464} arr_elts_param_t;
1465
1466
1467/* arr_elts_getstr() returns the next line from the string array. */
1468static void *arr_elts_getstr : call=1
a
rr_elts_getstr(void *buf, size_t bufsiz, void *param)
1469{
1470    arr_elts_param_t *arr_param = (arr_elts_param_t *)param : server/config.c line=1468 column=62
p
aram;
1471
1472    /* End of array reached? */
1473    if : true=1, false=0
i
f (++ : pass=1
+
+arr_param : server/config.c line=1470 column=23
a
rr_param-> : enter=1, leave=1
-
>curr_idx : server/config.c line=1463 column=9
c
urr_idx > : true=1, false=0
>
 arr_param : server/config.c line=1470 column=23
a
rr_param-> : enter=1, leave=1
-
>array : server/config.c line=1462 column=25
a
rray-> : enter=1, leave=1
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts)
1474        return : pass=1
r
eturn NULL;
1475
1476    /* return the line */
1477    apr_cpystrn : enter=0, leave=0

apr_cpystrn : /usr/include/apr-1/apr_strings.h line=195 column=21
a
pr_cpystrn(buf : server/config.c line=1468 column=36
b
uf,
1478                ((char **)arr_param : server/config.c line=1470 column=23
a
rr_param-> : enter=0, leave=0
-
>array : server/config.c line=1462 column=25
a
rray-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts)[] : enter=0, leave=0
[
arr_param : server/config.c line=1470 column=23
a
rr_param-> : enter=0, leave=0
-
>curr_idx : server/config.c line=1463 column=9
c
urr_idx - : pass=0
-
 1],
1479                bufsiz : server/config.c line=1468 column=48
b
ufsiz);
1480
1481    return : pass=0
r
eturn buf : server/config.c line=1468 column=36
b
uf;
1482}
1483
1484
1485/* arr_elts_close(): dummy close routine (makes sure no more lines can be read) */
1486static int arr_elts_close : call=1
a
rr_elts_close(void *param)
1487{
1488    arr_elts_param_t *arr_param = (arr_elts_param_t *)param : server/config.c line=1486 column=33
p
aram;
1489
1490    arr_param : server/config.c line=1488 column=23
a
rr_param-> : enter=1, leave=1
-
>curr_idx : server/config.c line=1463 column=9
c
urr_idx = : enter=1, leave=1
=
 arr_param : server/config.c line=1488 column=23
a
rr_param-> : enter=1, leave=1
-
>array : server/config.c line=1462 column=25
a
rray-> : enter=1, leave=1
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts;
1491
1492    return : pass=1
r
eturn 0;
1493}
1494
1495static const char *process_command_config : call=1
p
rocess_command_config(server_rec *s,
1496                                          apr_array_header_t *arr,
1497                                          ap_directive_t **conftree,
1498                                          apr_pool_t *p,
1499                                          apr_pool_t *ptemp)
1500{
1501    const char *errmsg;
1502    cmd_parms parms;
1503    arr_elts_param_t arr_parms;
1504
1505    arr_parms : server/config.c line=1503 column=22
a
rr_parms.curr_idx : server/config.c line=1463 column=9
c
urr_idx = : pass=1
=
 0;
1506    arr_parms : server/config.c line=1503 column=22
a
rr_parms.array : server/config.c line=1462 column=25
a
rray = : pass=1
=
 arr : server/config.c line=1496 column=63
a
rr;
1507
1508    if : true=0, false=1
i
f (ap_config_hash : server/config.c line=185 column=20
a
p_config_hash == : true=0, false=1
=
= NULL) {
1509        rebuild_conf_hash : enter=0, leave=0

rebuild_conf_hash : server/config.c line=450 column=13
r
ebuild_conf_hash(s : server/config.c line=1495 column=55
s
-> : enter=0, leave=0
-
>process : include/httpd.h line=1174 column=18
p
rocess-> : enter=0, leave=0
-
>pconf : include/httpd.h line=766 column=17
p
conf, 1);
1510    }
1511
1512    parms : server/config.c line=1502 column=15
p
arms = : pass=1
=
 default_parms : server/config.c line=1351 column=18
d
efault_parms;
1513    parms : server/config.c line=1502 column=15
p
arms.pool : include/http_config.h line=291 column=17
p
ool = : pass=1
=
 p : server/config.c line=1498 column=55
p
;
1514    parms : server/config.c line=1502 column=15
p
arms.temp_pool : include/http_config.h line=294 column=17
t
emp_pool = : pass=1
=
 ptemp : server/config.c line=1499 column=55
p
temp;
1515    parms : server/config.c line=1502 column=15
p
arms.server : include/http_config.h line=296 column=17
s
erver = : pass=1
=
 s : server/config.c line=1495 column=55
s
;
1516    parms : server/config.c line=1502 column=15
p
arms.override : include/http_config.h line=277 column=9
o
verride = : pass=1
=
 (RSRC_CONF | : pass=1
|
 OR_ALL) & : pass=1
&
 ~ : pass=1
~
(OR_AUTHCFG | : pass=1
|
 OR_LIMIT);
1517    parms : server/config.c line=1502 column=15
p
arms.override_opts : include/http_config.h line=313 column=9
o
verride_opts = : pass=1
=
 OPT_ALL | : pass=1
|
 OPT_SYM_OWNER | : pass=1
|
 OPT_MULTI;
1518
1519    parms : server/config.c line=1502 column=15
p
arms.config_file : include/http_config.h line=286 column=22
c
onfig_file = : pass=1
=
 ap_pcfg_open_custom : enter=1, leave=1

ap_pcfg_open_custom : include/http_config.h line=619 column=31
a
p_pcfg_open_custom(p : server/config.c line=1498 column=55
p
, "-c/-C directives",
1520                                            &arr_parms : server/config.c line=1503 column=22
a
rr_parms, NULL,
1521                                            arr_elts_getstr : server/config.c line=1468 column=14
a
rr_elts_getstr, arr_elts_close : server/config.c line=1486 column=12
a
rr_elts_close);
1522
1523    errmsg : server/config.c line=1501 column=17
e
rrmsg = : pass=1
=
 ap_build_config : enter=1, leave=1

ap_build_config : server/config.c line=1208 column=26
a
p_build_config(&parms : server/config.c line=1502 column=15
p
arms, p : server/config.c line=1498 column=55
p
ptemp : server/config.c line=1499 column=55
p
temp, conftree : server/config.c line=1497 column=60
c
onftree);
1524    ap_cfg_closefile : enter=1, leave=1

ap_cfg_closefile : include/http_config.h line=647 column=17
a
p_cfg_closefile(parms : server/config.c line=1502 column=15
p
arms.config_file : include/http_config.h line=286 column=22
c
onfig_file);
1525
1526    if : true=0, false=1
i
f (errmsg : server/config.c line=1501 column=17
e
rrmsg) {
1527        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(p : server/config.c line=1498 column=55
p
, "Syntax error in -C/-c directive: ", errmsg : server/config.c line=1501 column=17
e
rrmsg,
1528                           NULL);
1529    }
1530
1531    return : pass=1
r
eturn NULL;
1532}
1533
1534typedef struct {
1535    char *fname;
1536} fnames;
1537
1538static int fname_alphasort : call=0
f
name_alphasort(const void *fn1, const void *fn2)
1539{
1540    const fnames *f1 = fn1 : server/config.c line=1538 column=40
f
n1;
1541    const fnames *f2 = fn2 : server/config.c line=1538 column=57
f
n2;
1542
1543    return : pass=0
r
eturn strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(f1 : server/config.c line=1540 column=19
f
1-> : enter=0, leave=0
-
>fname : server/config.c line=1535 column=11
f
name,f2 : server/config.c line=1541 column=19
f
2-> : enter=0, leave=0
-
>fname : server/config.c line=1535 column=11
f
name);
1544}
1545
1546static const char *process_resource_config_nofnmatch : call=1
p
rocess_resource_config_nofnmatch(server_rec *s,
1547                                                     const char *fname,
1548                                                     ap_directive_t **conftree,
1549                                                     apr_pool_t *p,
1550                                                     apr_pool_t *ptemp,
1551                                                     unsigned depth)
1552{
1553    cmd_parms parms;
1554    ap_configfile_t *cfp;
1555    const char *error;
1556    apr_status_t rv;
1557
1558    if : true=0, false=1
i
f (ap_is_directory : enter=1, leave=1

ap_is_directory : include/httpd.h line=1818 column=17
a
p_is_directory(p : server/config.c line=1549 column=66
p
fname : server/config.c line=1547 column=66
f
name)) {
1559        apr_dir_t *dirp;
1560        apr_finfo_t dirent;
1561        int current;
1562        apr_array_header_t *candidates = NULL;
1563        fnames *fnew;
1564        char *path = apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(p : server/config.c line=1549 column=66
p
fname : server/config.c line=1547 column=66
f
name);
1565
1566        if : true=0, false=0
i
f (++ : pass=0
+
+depth : server/config.c line=1551 column=63
d
epth > : true=0, false=0
>
 AP_MAX_INCLUDE_DIR_DEPTH) {
1567            return : pass=0
r
eturn apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(p : server/config.c line=1549 column=66
p
, "Directory %s exceeds the maximum include "
1568                                "directory nesting level of %u. You have "
1569                                "probably a recursion somewhere.", path : server/config.c line=1564 column=15
p
ath,
1570                                AP_MAX_INCLUDE_DIR_DEPTH);
1571        }
1572
1573        /*
1574         * first course of business is to grok all the directory
1575         * entries here and store 'em away. Recall we need full pathnames
1576         * for this.
1577         */
1578        rv : server/config.c line=1556 column=18
r
= : pass=0
=
 apr_dir_open : enter=0, leave=0

apr_dir_open : /usr/include/apr-1/apr_file_info.h line=244 column=27
a
pr_dir_open(&dirp : server/config.c line=1559 column=20
d
irp, path : server/config.c line=1564 column=15
p
ath, p : server/config.c line=1549 column=66
p
);
1579        if : true=0, false=0
i
f (rv : server/config.c line=1556 column=18
r
!= : true=0, false=0
!
= APR_SUCCESS) {
1580            char errmsg[120];
1581            return : pass=0
r
eturn apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(p : server/config.c line=1549 column=66
p
, "Could not open config directory %s: %s",
1582                                path : server/config.c line=1564 column=15
p
ath, apr_strerror : enter=0, leave=0

apr_strerror : /usr/include/apr-1/apr_errno.h line=52 column=21
a
pr_strerror(rv : server/config.c line=1556 column=18
r
v, errmsg : server/config.c line=1580 column=18
e
rrmsg, sizeof errmsg));
1583        }
1584
1585        candidates : server/config.c line=1562 column=29
c
andidates = : pass=0
=
 apr_array_make : enter=0, leave=0

apr_array_make : /usr/include/apr-1/apr_tables.h line=111 column=35
a
pr_array_make(p : server/config.c line=1549 column=66
p
, 1, sizeof(fnames));
1586        while : true=0, false=0
w
hile (apr_dir_read : enter=0, leave=0

apr_dir_read : /usr/include/apr-1/apr_file_info.h line=267 column=27
a
pr_dir_read(&dirent : server/config.c line=1560 column=21
d
irent, APR_FINFO_DIRENT, dirp : server/config.c line=1559 column=20
d
irp) == : true=0, false=0
=
= APR_SUCCESS) {
1587            /* strip out '.' and '..' */
1588            if : true=0, false=0
i
f (MC/DC independently affect : true=0, false=0
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
sTF
trcmp(dirent : server/config.c line=1560 column=21
d
irent.name : /usr/include/apr-1/apr_file_info.h line=210 column=17 name, ".")
1589                && : 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(dirent : server/config.c line=1560 column=21
d
irent.name : /usr/include/apr-1/apr_file_info.h line=210 column=17 name, "..")) {
1590                fnew : server/config.c line=1563 column=17
f
new = : pass=0
=
 (fnames *) apr_array_push : enter=0, leave=0

apr_array_push : /usr/include/apr-1/apr_tables.h line=121 column=21
a
pr_array_push(candidates : server/config.c line=1562 column=29
c
andidates);
1591                fnew : server/config.c line=1563 column=17
f
new-> : enter=0, leave=0
-
>fname : server/config.c line=1535 column=11
f
name = : enter=0, leave=0
=
 ap_make_full_path : enter=0, leave=0

ap_make_full_path : include/httpd.h line=1600 column=20
a
p_make_full_path(p : server/config.c line=1549 column=66
p
path : server/config.c line=1564 column=15
p
ath, dirent : server/config.c line=1560 column=21
d
irent.name : /usr/include/apr-1/apr_file_info.h line=210 column=17 name);
1592            }
1593        }
1594
1595        apr_dir_close : enter=0, leave=0

apr_dir_close : /usr/include/apr-1/apr_file_info.h line=252 column=27
a
pr_dir_close(dirp : server/config.c line=1559 column=20
d
irp);
1596        if : true=0, false=0
i
f (candidates : server/config.c line=1562 column=29
c
andidates-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts != : true=0, false=0
!
= 0) {
1597            qsort : enter=0, leave=0

qsort : /usr/include/stdlib.h line=761 column=13
q
sort((void *) candidates : server/config.c line=1562 column=29
c
andidates-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts, candidates : server/config.c line=1562 column=29
c
andidates-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts,
1598                  sizeof(fnames), fname_alphasort : server/config.c line=1538 column=12
f
name_alphasort);
1599
1600            /*
1601             * Now recurse these... we handle errors and subdirectories
1602             * via the recursion, which is nice
1603             */
1604            for : true=0, false=0
f
or (current : server/config.c line=1561 column=13
c
urrent = : pass=0
=
 0; current : server/config.c line=1561 column=13
c
urrent < : true=0, false=0
<
 candidates : server/config.c line=1562 column=29
c
andidates-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+current : server/config.c line=1561 column=13
c
urrent) {
1605                fnew : server/config.c line=1563 column=17
f
new = : pass=0
=
 &((fnames *) candidates : server/config.c line=1562 column=29
c
andidates-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts)[] : enter=0, leave=0
[
current : server/config.c line=1561 column=13
c
urrent];
1606                error : server/config.c line=1555 column=17
e
rror = : pass=0
=
 process_resource_config_nofnmatch : enter=0, leave=0

process_resource_config_nofnmatch : server/config.c line=1546 column=20
p
rocess_resource_config_nofnmatch(s : server/config.c line=1546 column=66
s
fnew : server/config.c line=1563 column=17
f
new-> : enter=0, leave=0
-
>fname : server/config.c line=1535 column=11
f
name,
1607                                                          conftree : server/config.c line=1548 column=71
c
onftree, p : server/config.c line=1549 column=66
p
ptemp : server/config.c line=1550 column=66
p
temp,
1608                                                          depth : server/config.c line=1551 column=63
d
epth);
1609                if : true=0, false=0
i
f (error : server/config.c line=1555 column=17
e
rror) {
1610                    return : pass=0
r
eturn error : server/config.c line=1555 column=17
e
rror;
1611                }
1612            }
1613        }
1614
1615        return : pass=0
r
eturn NULL;
1616    }
1617
1618    /* GCC's initialization extensions are soooo nice here... */
1619    parms : server/config.c line=1553 column=15
p
arms = : pass=1
=
 default_parms : server/config.c line=1351 column=18
d
efault_parms;
1620    parms : server/config.c line=1553 column=15
p
arms.pool : include/http_config.h line=291 column=17
p
ool = : pass=1
=
 p : server/config.c line=1549 column=66
p
;
1621    parms : server/config.c line=1553 column=15
p
arms.temp_pool : include/http_config.h line=294 column=17
t
emp_pool = : pass=1
=
 ptemp : server/config.c line=1550 column=66
p
temp;
1622    parms : server/config.c line=1553 column=15
p
arms.server : include/http_config.h line=296 column=17
s
erver = : pass=1
=
 s : server/config.c line=1546 column=66
s
;
1623    parms : server/config.c line=1553 column=15
p
arms.override : include/http_config.h line=277 column=9
o
verride = : pass=1
=
 (RSRC_CONF | : pass=1
|
 OR_ALL) & : pass=1
&
 ~ : pass=1
~
(OR_AUTHCFG | : pass=1
|
 OR_LIMIT);
1624    parms : server/config.c line=1553 column=15
p
arms.override_opts : include/http_config.h line=313 column=9
o
verride_opts = : pass=1
=
 OPT_ALL | : pass=1
|
 OPT_SYM_OWNER | : pass=1
|
 OPT_MULTI;
1625
1626    rv : server/config.c line=1556 column=18
r
= : pass=1
=
 ap_pcfg_openfile : enter=1, leave=1

ap_pcfg_openfile : include/http_config.h line=607 column=26
a
p_pcfg_openfile(&cfp : server/config.c line=1554 column=22
c
fp, p : server/config.c line=1549 column=66
p
fname : server/config.c line=1547 column=66
f
name);
1627    if : true=1, false=0
i
f (rv : server/config.c line=1556 column=18
r
!= : true=1, false=0
!
= APR_SUCCESS) {
1628        char errmsg[120];
1629        return : pass=1
r
eturn apr_psprintf : enter=1, leave=1

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(p : server/config.c line=1549 column=66
p
, "Could not open configuration file %s: %s",
1630                            fname : server/config.c line=1547 column=66
f
name, apr_strerror : enter=1, leave=1

apr_strerror : /usr/include/apr-1/apr_errno.h line=52 column=21
a
pr_strerror(rv : server/config.c line=1556 column=18
r
v, errmsg : server/config.c line=1628 column=14
e
rrmsg, sizeof errmsg));
1631    }
1632
1633    parms : server/config.c line=1553 column=15
p
arms.config_file : include/http_config.h line=286 column=22
c
onfig_file = : pass=0
=
 cfp : server/config.c line=1554 column=22
c
fp;
1634    error : server/config.c line=1555 column=17
e
rror = : pass=0
=
 ap_build_config : enter=0, leave=0

ap_build_config : server/config.c line=1208 column=26
a
p_build_config(&parms : server/config.c line=1553 column=15
p
arms, p : server/config.c line=1549 column=66
p
ptemp : server/config.c line=1550 column=66
p
temp, conftree : server/config.c line=1548 column=71
c
onftree);
1635    ap_cfg_closefile : enter=0, leave=0

ap_cfg_closefile : include/http_config.h line=647 column=17
a
p_cfg_closefile(cfp : server/config.c line=1554 column=22
c
fp);
1636
1637    if : true=0, false=0
i
f (error : server/config.c line=1555 column=17
e
rror) {
1638        return : pass=0
r
eturn apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(p : server/config.c line=1549 column=66
p
, "Syntax error on line %d of %s: %s",
1639                            parms : server/config.c line=1553 column=15
p
arms.err_directive : include/http_config.h line=310 column=27
e
rr_directive-> : enter=0, leave=0
-
>line_num : include/util_cfgtree.h line=69 column=9 line_num,
1640                            parms : server/config.c line=1553 column=15
p
arms.err_directive : include/http_config.h line=310 column=27
e
rr_directive-> : enter=0, leave=0
-
>filename : include/util_cfgtree.h line=67 column=17 filename, error : server/config.c line=1555 column=17
e
rror);
1641    }
1642
1643    return : pass=0
r
eturn NULL;
1644}
1645
1646AP_DECLARE(const char *) ap_process_resource_config : call=1
a
p_process_resource_config(server_rec *s,
1647                                                    const char *fname,
1648                                                    ap_directive_t **conftree,
1649                                                    apr_pool_t *p,
1650                                                    apr_pool_t *ptemp)
1651{
1652    /* XXX: lstat() won't work on the wildcard pattern...
1653     */
1654
1655    /* don't require conf/httpd.conf if we have a -C or -c switch */
1656    if : true=0, false=1
i
f ((ap_server_pre_read_config : server/config.c line=61 column=37
a
p_server_pre_read_configMC/DC independently affect : true=0, false=1
-> : enter=1, leave=1
-TF
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts
1657        || : true=0, false=1
|
ap_server_post_read_config : server/config.c line=62 column=37
a
p_server_post_read_configMC/DC independently affect : true=0, false=1
-> : enter=1, leave=1
-TF
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts)
1658        && : true=0, false=1
&
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
(strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(fname : server/config.c line=1647 column=65
f
name, ap_server_root_relative : enter=0, leave=0

ap_server_root_relative : server/config.c line=1354 column=20
a
p_server_root_relative(p : server/config.c line=1649 column=65
p
, SERVER_CONFIG_FILE)))) {
1659        apr_finfo_t finfo;
1660
1661        if : true=0, false=0
i
f (apr_stat : enter=0, leave=0

apr_stat : /usr/include/apr-1/apr_file_info.h line=229 column=27
a
pr_stat(&finfo : server/config.c line=1659 column=21
f
info, fname : server/config.c line=1647 column=65
f
name, APR_FINFO_LINK | : pass=0
|
 APR_FINFO_TYPE, p : server/config.c line=1649 column=65
p
!= : true=0, false=0
!
= APR_SUCCESS)
1662            return : pass=0
r
eturn NULL;
1663    }
1664
1665    if : true=1, false=0
i
f (! : true=1, false=0
!
apr_fnmatch_test : enter=1, leave=1

apr_fnmatch_test : /usr/include/apr-1/apr_fnmatch.h line=130 column=18
a
pr_fnmatch_test(fname : server/config.c line=1647 column=65
f
name)) {
1666        return : pass=1
r
eturn process_resource_config_nofnmatch : enter=1, leave=1

process_resource_config_nofnmatch : server/config.c line=1546 column=20
p
rocess_resource_config_nofnmatch(s : server/config.c line=1646 column=65
s
fname : server/config.c line=1647 column=65
f
name, conftree : server/config.c line=1648 column=70
c
onftree, p : server/config.c line=1649 column=65
p
ptemp : server/config.c line=1650 column=65
p
temp,
1667                                                 0);
1668    }
1669    else {
1670        apr_dir_t *dirp;
1671        apr_finfo_t dirent;
1672        int current;
1673        apr_array_header_t *candidates = NULL;
1674        fnames *fnew;
1675        apr_status_t rv;
1676        char *path = apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(p : server/config.c line=1649 column=65
p
fname : server/config.c line=1647 column=65
f
name), *pattern = NULL;
1677
1678        pattern : server/config.c line=1676 column=46
p
attern = : pass=0
=
 ap_strrchr(path : server/config.c line=1676 column=15
p
ath, '/');
1679
1680        AP_DEBUG_ASSERT(pattern != NULL); /* path must be absolute. */
1681
1682        *pattern : server/config.c line=1676 column=46
p
attern++ : pass=0
+
= : enter=0, leave=0
=
 '\0';
1683
1684        if : true=0, false=0
i
f (apr_fnmatch_test : enter=0, leave=0

apr_fnmatch_test : /usr/include/apr-1/apr_fnmatch.h line=130 column=18
a
pr_fnmatch_test(path : server/config.c line=1676 column=15
p
ath)) {
1685            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(p : server/config.c line=1649 column=65
p
, "Wildcard patterns not allowed in Include ",
1686                               fname : server/config.c line=1647 column=65
f
name, NULL);
1687        }
1688
1689        if : true=0, false=0
i
f (! : true=0, false=0
!
ap_is_directory : enter=0, leave=0

ap_is_directory : include/httpd.h line=1818 column=17
a
p_is_directory(p : server/config.c line=1649 column=65
p
path : server/config.c line=1676 column=15
p
ath)){
1690            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(p : server/config.c line=1649 column=65
p
, "Include directory '", path : server/config.c line=1676 column=15
p
ath, "' not found",
1691                               NULL);
1692        }
1693
1694        if : true=0, false=0
i
f (! : true=0, false=0
!
apr_fnmatch_test : enter=0, leave=0

apr_fnmatch_test : /usr/include/apr-1/apr_fnmatch.h line=130 column=18
a
pr_fnmatch_test(pattern : server/config.c line=1676 column=46
p
attern)) {
1695            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(p : server/config.c line=1649 column=65
p
, "Must include a wildcard pattern for "
1696                               "Include ", fname : server/config.c line=1647 column=65
f
name, NULL);
1697        }
1698
1699        /*
1700         * first course of business is to grok all the directory
1701         * entries here and store 'em away. Recall we need full pathnames
1702         * for this.
1703         */
1704        rv : server/config.c line=1675 column=22
r
= : pass=0
=
 apr_dir_open : enter=0, leave=0

apr_dir_open : /usr/include/apr-1/apr_file_info.h line=244 column=27
a
pr_dir_open(&dirp : server/config.c line=1670 column=20
d
irp, path : server/config.c line=1676 column=15
p
ath, p : server/config.c line=1649 column=65
p
);
1705        if : true=0, false=0
i
f (rv : server/config.c line=1675 column=22
r
!= : true=0, false=0
!
= APR_SUCCESS) {
1706            char errmsg[120];
1707            return : pass=0
r
eturn apr_psprintf : enter=0, leave=0

apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28
a
pr_psprintf(p : server/config.c line=1649 column=65
p
, "Could not open config directory %s: %s",
1708                                path : server/config.c line=1676 column=15
p
ath, apr_strerror : enter=0, leave=0

apr_strerror : /usr/include/apr-1/apr_errno.h line=52 column=21
a
pr_strerror(rv : server/config.c line=1675 column=22
r
v, errmsg : server/config.c line=1706 column=18
e
rrmsg, sizeof errmsg));
1709        }
1710
1711        candidates : server/config.c line=1673 column=29
c
andidates = : pass=0
=
 apr_array_make : enter=0, leave=0

apr_array_make : /usr/include/apr-1/apr_tables.h line=111 column=35
a
pr_array_make(p : server/config.c line=1649 column=65
p
, 1, sizeof(fnames));
1712        while : true=0, false=0
w
hile (apr_dir_read : enter=0, leave=0

apr_dir_read : /usr/include/apr-1/apr_file_info.h line=267 column=27
a
pr_dir_read(&dirent : server/config.c line=1671 column=21
d
irent, APR_FINFO_DIRENT, dirp : server/config.c line=1670 column=20
d
irp) == : true=0, false=0
=
= APR_SUCCESS) {
1713            /* strip out '.' and '..' */
1714            if : true=0, false=0
i
f (MC/DC independently affect : true=0, false=0
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
sTF
trcmp(dirent : server/config.c line=1671 column=21
d
irent.name : /usr/include/apr-1/apr_file_info.h line=210 column=17 name, ".")
1715                && : 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(dirent : server/config.c line=1671 column=21
d
irent.name : /usr/include/apr-1/apr_file_info.h line=210 column=17 name, "..")
1716                && : true=0, false=0
&
& (apr_fnmatch : enter=0, leave=0

apr_fnmatch : /usr/include/apr-1/apr_fnmatch.h line=122 column=27
a
pr_fnmatch(pattern : server/config.c line=1676 column=46
p
attern, dirent : server/config.c line=1671 column=21
d
irent.name : /usr/include/apr-1/apr_file_info.h line=210 column=17 name,
1717                                APR_FNM_PERIOD) == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= APR_SUCCESS)) {
1718                fnew : server/config.c line=1674 column=17
f
new = : pass=0
=
 (fnames *) apr_array_push : enter=0, leave=0

apr_array_push : /usr/include/apr-1/apr_tables.h line=121 column=21
a
pr_array_push(candidates : server/config.c line=1673 column=29
c
andidates);
1719                fnew : server/config.c line=1674 column=17
f
new-> : enter=0, leave=0
-
>fname : server/config.c line=1535 column=11
f
name = : enter=0, leave=0
=
 ap_make_full_path : enter=0, leave=0

ap_make_full_path : include/httpd.h line=1600 column=20
a
p_make_full_path(p : server/config.c line=1649 column=65
p
path : server/config.c line=1676 column=15
p
ath, dirent : server/config.c line=1671 column=21
d
irent.name : /usr/include/apr-1/apr_file_info.h line=210 column=17 name);
1720            }
1721        }
1722
1723        apr_dir_close : enter=0, leave=0

apr_dir_close : /usr/include/apr-1/apr_file_info.h line=252 column=27
a
pr_dir_close(dirp : server/config.c line=1670 column=20
d
irp);
1724        if : true=0, false=0
i
f (candidates : server/config.c line=1673 column=29
c
andidates-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts != : true=0, false=0
!
= 0) {
1725            const char *error;
1726
1727            qsort : enter=0, leave=0

qsort : /usr/include/stdlib.h line=761 column=13
q
sort((void *) candidates : server/config.c line=1673 column=29
c
andidates-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts, candidates : server/config.c line=1673 column=29
c
andidates-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts,
1728                  sizeof(fnames), fname_alphasort : server/config.c line=1538 column=12
f
name_alphasort);
1729
1730            /*
1731             * Now recurse these... we handle errors and subdirectories
1732             * via the recursion, which is nice
1733             */
1734            for : true=0, false=0
f
or (current : server/config.c line=1672 column=13
c
urrent = : pass=0
=
 0; current : server/config.c line=1672 column=13
c
urrent < : true=0, false=0
<
 candidates : server/config.c line=1673 column=29
c
andidates-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+current : server/config.c line=1672 column=13
c
urrent) {
1735                fnew : server/config.c line=1674 column=17
f
new = : pass=0
=
 &((fnames *) candidates : server/config.c line=1673 column=29
c
andidates-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts)[] : enter=0, leave=0
[
current : server/config.c line=1672 column=13
c
urrent];
1736                error : server/config.c line=1725 column=25
e
rror = : pass=0
=
 process_resource_config_nofnmatch : enter=0, leave=0

process_resource_config_nofnmatch : server/config.c line=1546 column=20
p
rocess_resource_config_nofnmatch(s : server/config.c line=1646 column=65
s
fnew : server/config.c line=1674 column=17
f
new-> : enter=0, leave=0
-
>fname : server/config.c line=1535 column=11
f
name,
1737                                                          conftree : server/config.c line=1648 column=70
c
onftree, p : server/config.c line=1649 column=65
p
,
1738                                                          ptemp : server/config.c line=1650 column=65
p
temp, 0);
1739                if : true=0, false=0
i
f (error : server/config.c line=1725 column=25
e
rror) {
1740                    return : pass=0
r
eturn error : server/config.c line=1725 column=25
e
rror;
1741                }
1742            }
1743        }
1744    }
1745
1746    return : pass=0
r
eturn NULL;
1747}
1748
1749AP_DECLARE(int) ap_process_config_tree : call=0
a
p_process_config_tree(server_rec *s,
1750                                       ap_directive_t *conftree,
1751                                       apr_pool_t *p,
1752                                       apr_pool_t *ptemp)
1753{
1754    const char *errmsg;
1755    cmd_parms parms;
1756
1757    parms : server/config.c line=1755 column=15
p
arms = : pass=0
=
 default_parms : server/config.c line=1351 column=18
d
efault_parms;
1758    parms : server/config.c line=1755 column=15
p
arms.pool : include/http_config.h line=291 column=17
p
ool = : pass=0
=
 p : server/config.c line=1751 column=52
p
;
1759    parms : server/config.c line=1755 column=15
p
arms.temp_pool : include/http_config.h line=294 column=17
t
emp_pool = : pass=0
=
 ptemp : server/config.c line=1752 column=52
p
temp;
1760    parms : server/config.c line=1755 column=15
p
arms.server : include/http_config.h line=296 column=17
s
erver = : pass=0
=
 s : server/config.c line=1749 column=52
s
;
1761    parms : server/config.c line=1755 column=15
p
arms.override : include/http_config.h line=277 column=9
o
verride = : pass=0
=
 (RSRC_CONF | : pass=0
|
 OR_ALL) & : pass=0
&
 ~ : pass=0
~
(OR_AUTHCFG | : pass=0
|
 OR_LIMIT);
1762    parms : server/config.c line=1755 column=15
p
arms.override_opts : include/http_config.h line=313 column=9
o
verride_opts = : pass=0
=
 OPT_ALL | : pass=0
|
 OPT_SYM_OWNER | : pass=0
|
 OPT_MULTI;
1763    parms : server/config.c line=1755 column=15
p
arms.limited : include/http_config.h line=279 column=17
l
imited = : pass=0
=
 -1;
1764
1765    errmsg : server/config.c line=1754 column=17
e
rrmsg = : pass=0
=
 ap_walk_config : enter=0, leave=0

ap_walk_config : server/config.c line=1181 column=26
a
p_walk_config(conftree : server/config.c line=1750 column=56
c
onftree, &parms : server/config.c line=1755 column=15
p
arms, s : server/config.c line=1749 column=52
s
-> : enter=0, leave=0
-
>lookup_defaults : include/httpd.h line=1209 column=30
l
ookup_defaults);
1766    if : true=0, false=0
i
f (errmsg : server/config.c line=1754 column=17
e
rrmsg) {
1767        ap_log_perror : enter=0, leave=0

ap_log_perror : include/http_log.h line=195 column=18
a
p_log_perror(APLOG_MARK, APLOG_STARTUP, 0, p : server/config.c line=1751 column=52
p
,
1768                     "Syntax error on line %d of %s:",
1769                     parms : server/config.c line=1755 column=15
p
arms.err_directive : include/http_config.h line=310 column=27
e
rr_directive-> : enter=0, leave=0
-
>line_num : include/util_cfgtree.h line=69 column=9 line_num,
1770                     parms : server/config.c line=1755 column=15
p
arms.err_directive : include/http_config.h line=310 column=27
e
rr_directive-> : enter=0, leave=0
-
>filename : include/util_cfgtree.h line=67 column=17 filename);
1771        ap_log_perror : enter=0, leave=0

ap_log_perror : include/http_log.h line=195 column=18
a
p_log_perror(APLOG_MARK, APLOG_STARTUP, 0, p : server/config.c line=1751 column=52
p
,
1772                     "%s", errmsg : server/config.c line=1754 column=17
e
rrmsg);
1773        return : pass=0
r
eturn HTTP_INTERNAL_SERVER_ERROR;
1774    }
1775
1776    return : pass=0
r
eturn OK;
1777}
1778
1779AP_CORE_DECLARE(int) ap_parse_htaccess : call=0
a
p_parse_htaccess(ap_conf_vector_t **result,
1780                                       request_rec *r, int override,
1781                                       int override_opts,
1782                                       const char *d, const char *access_name)
1783{
1784    ap_configfile_t *f = NULL;
1785    cmd_parms parms;
1786    char *filename = NULL;
1787    const struct htaccess_result *cache;
1788    struct htaccess_result *new;
1789    ap_conf_vector_t *dc = NULL;
1790    apr_status_t status;
1791
1792    /* firstly, search cache */
1793    for : true=0, false=0
f
or (cache : server/config.c line=1787 column=35
c
ache = : pass=0
=
 r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>htaccess : include/httpd.h line=987 column=35
h
taccess; cache : server/config.c line=1787 column=35
c
ache != : true=0, false=0
!
= NULL; cache : server/config.c line=1787 column=35
c
ache = : pass=0
=
 cache : server/config.c line=1787 column=35
c
ache-> : enter=0, leave=0
-
>next : include/httpd.h line=733 column=35
n
ext) {
1794        if : true=0, false=0
i
f (cache : server/config.c line=1787 column=35
c
ache-> : enter=0, leave=0
-
>override : include/httpd.h line=727 column=9
o
verride == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
override : server/config.c line=1780 column=60
o
verride && : true=0, false=0
&
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(cache : server/config.c line=1787 column=35
c
ache-> : enter=0, leave=0
-
>dir : include/httpd.h line=725 column=17
d
ir, d : server/config.c line=1782 column=52
d
== : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= 0) {
1795            *result : server/config.c line=1779 column=59
r
esult = : enter=0, leave=0
=
 cache : server/config.c line=1787 column=35
c
ache-> : enter=0, leave=0
-
>htaccess : include/httpd.h line=731 column=30
h
taccess;
1796            return : pass=0
r
eturn OK;
1797        }
1798    }
1799
1800    parms : server/config.c line=1785 column=15
p
arms = : pass=0
=
 default_parms : server/config.c line=1351 column=18
d
efault_parms;
1801    parms : server/config.c line=1785 column=15
p
arms.override : include/http_config.h line=277 column=9
o
verride = : pass=0
=
 override : server/config.c line=1780 column=60
o
verride;
1802    parms : server/config.c line=1785 column=15
p
arms.override_opts : include/http_config.h line=313 column=9
o
verride_opts = : pass=0
=
 override_opts : server/config.c line=1781 column=44
o
verride_opts;
1803    parms : server/config.c line=1785 column=15
p
arms.pool : include/http_config.h line=291 column=17
p
ool = : pass=0
=
 r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool;
1804    parms : server/config.c line=1785 column=15
p
arms.temp_pool : include/http_config.h line=294 column=17
t
emp_pool = : pass=0
=
 r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool;
1805    parms : server/config.c line=1785 column=15
p
arms.server : include/http_config.h line=296 column=17
s
erver = : pass=0
=
 r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>server : include/httpd.h line=784 column=17
s
erver;
1806    parms : server/config.c line=1785 column=15
p
arms.path : include/http_config.h line=303 column=11
p
ath = : pass=0
=
 apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, d : server/config.c line=1782 column=52
d
);
1807
1808    /* loop through the access names and find the first one */
1809    while : true=0, false=0
w
hile (access_name : server/config.c line=1782 column=67
a
ccess_name[] : enter=0, leave=0
[
0]) {
1810        /* AFAICT; there is no use of the actual 'filename' against
1811         * any canonicalization, so we will simply take the given
1812         * name, ignoring case sensitivity and aliases
1813         */
1814        filename : server/config.c line=1786 column=11
f
ilename = : pass=0
=
 ap_make_full_path : enter=0, leave=0

ap_make_full_path : include/httpd.h line=1600 column=20
a
p_make_full_path(r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, d : server/config.c line=1782 column=52
d
,
1815                                     ap_getword_conf : enter=0, leave=0

ap_getword_conf : include/httpd.h line=1358 column=20
a
p_getword_conf(r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, &access_name : server/config.c line=1782 column=67
a
ccess_name));
1816        status : server/config.c line=1790 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 : server/config.c line=1784 column=22
f
r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, filename : server/config.c line=1786 column=11
f
ilename);
1817
1818        if : true=0, false=0
i
f (status : server/config.c line=1790 column=18
s
tatus == : true=0, false=0
=
= APR_SUCCESS) {
1819            const char *errmsg;
1820            ap_directive_t *temptree = NULL;
1821
1822            dc : server/config.c line=1789 column=23
d
= : pass=0
=
 ap_create_per_dir_config : enter=0, leave=0

ap_create_per_dir_config : server/config.c line=304 column=37
a
p_create_per_dir_config(r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool);
1823
1824            parms : server/config.c line=1785 column=15
p
arms.config_file : include/http_config.h line=286 column=22
c
onfig_file = : pass=0
=
 f : server/config.c line=1784 column=22
f
;
1825            errmsg : server/config.c line=1819 column=25
e
rrmsg = : pass=0
=
 ap_build_config : enter=0, leave=0

ap_build_config : server/config.c line=1208 column=26
a
p_build_config(&parms : server/config.c line=1785 column=15
p
arms, r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, &temptree : server/config.c line=1820 column=29
t
emptree);
1826            if : true=0, false=0
i
f (errmsg : server/config.c line=1819 column=25
e
rrmsg == : true=0, false=0
=
= NULL)
1827                errmsg : server/config.c line=1819 column=25
e
rrmsg = : pass=0
=
 ap_walk_config : enter=0, leave=0

ap_walk_config : server/config.c line=1181 column=26
a
p_walk_config(temptree : server/config.c line=1820 column=29
t
emptree, &parms : server/config.c line=1785 column=15
p
arms, dc : server/config.c line=1789 column=23
d
c);
1828
1829            ap_cfg_closefile : enter=0, leave=0

ap_cfg_closefile : include/http_config.h line=647 column=17
a
p_cfg_closefile(f : server/config.c line=1784 column=22
f
);
1830
1831            if : true=0, false=0
i
f (errmsg : server/config.c line=1819 column=25
e
rrmsg) {
1832                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_ALERT, 0, r : server/config.c line=1780 column=53
r
,
1833                              "%s: %s", filename : server/config.c line=1786 column=11
f
ilename, errmsg : server/config.c line=1819 column=25
e
rrmsg);
1834                return : pass=0
r
eturn HTTP_INTERNAL_SERVER_ERROR;
1835            }
1836
1837            *result : server/config.c line=1779 column=59
r
esult = : enter=0, leave=0
=
 dc : server/config.c line=1789 column=23
d
c;
1838            break : pass=0
b
reak;
1839        }
1840        else {
1841            if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
APR_STATUS_IS_ENOENT(status : server/config.c line=1790 column=18
s
tatus)
1842                && : true=0, false=0
&
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
APR_STATUS_IS_ENOTDIR(status : server/config.c line=1790 column=18
s
tatus)) {
1843                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_CRIT, status : server/config.c line=1790 column=18
s
tatus, r : server/config.c line=1780 column=53
r
,
1844                              "%s pcfg_openfile: unable to check htaccess file, "
1845                              "ensure it is readable",
1846                              filename : server/config.c line=1786 column=11
f
ilename);
1847                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(r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>notes : include/httpd.h line=910 column=18
n
otes, "error-notes",
1848                               "Server unable to read htaccess file, denying "
1849                               "access to be safe");
1850                return : pass=0
r
eturn HTTP_FORBIDDEN;
1851            }
1852        }
1853    }
1854
1855    /* cache it */
1856    new : server/config.c line=1788 column=29
n
ew = : pass=0
=
 apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, sizeof(struct htaccess_result));
1857    new : server/config.c line=1788 column=29
n
ew-> : enter=0, leave=0
-
>dir : include/httpd.h line=725 column=17
d
ir = : enter=0, leave=0
=
 parms : server/config.c line=1785 column=15
p
arms.path : include/http_config.h line=303 column=11
p
ath;
1858    new : server/config.c line=1788 column=29
n
ew-> : enter=0, leave=0
-
>override : include/httpd.h line=727 column=9
o
verride = : enter=0, leave=0
=
 override : server/config.c line=1780 column=60
o
verride;
1859    new : server/config.c line=1788 column=29
n
ew-> : enter=0, leave=0
-
>override_opts : include/httpd.h line=729 column=9
o
verride_opts = : enter=0, leave=0
=
 override_opts : server/config.c line=1781 column=44
o
verride_opts;
1860    new : server/config.c line=1788 column=29
n
ew-> : enter=0, leave=0
-
>htaccess : include/httpd.h line=731 column=30
h
taccess = : enter=0, leave=0
=
 dc : server/config.c line=1789 column=23
d
c;
1861
1862    /* add to head of list */
1863    new : server/config.c line=1788 column=29
n
ew-> : enter=0, leave=0
-
>next : include/httpd.h line=733 column=35
n
ext = : enter=0, leave=0
=
 r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>htaccess : include/httpd.h line=987 column=35
h
taccess;
1864    r : server/config.c line=1780 column=53
r
-> : enter=0, leave=0
-
>htaccess : include/httpd.h line=987 column=35
h
taccess = : enter=0, leave=0
=
 new : server/config.c line=1788 column=29
n
ew;
1865
1866    return : pass=0
r
eturn OK;
1867}
1868
1869AP_CORE_DECLARE(const char *) ap_init_virtual_host : call=0
a
p_init_virtual_host(apr_pool_t *p,
1870                                                   const char *hostname,
1871                                                   server_rec *main_server,
1872                                                   server_rec **ps)
1873{
1874    server_rec *s = (server_rec *) apr_pcalloc(p : server/config.c line=1869 column=64
p
, sizeof(server_rec));
1875
1876    /* TODO: this crap belongs in http_core */
1877    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>process : include/httpd.h line=1174 column=18
p
rocess = : enter=0, leave=0
=
 main_server : server/config.c line=1871 column=64
m
ain_server-> : enter=0, leave=0
-
>process : include/httpd.h line=1174 column=18
p
rocess;
1878    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>server_admin : include/httpd.h line=1186 column=11
s
erver_admin = : enter=0, leave=0
=
 NULL;
1879    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>server_hostname : include/httpd.h line=1188 column=11
s
erver_hostname = : enter=0, leave=0
=
 NULL;
1880    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>server_scheme : include/httpd.h line=1242 column=17
s
erver_scheme = : enter=0, leave=0
=
 NULL;
1881    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>error_fname : include/httpd.h line=1195 column=11
e
rror_fname = : enter=0, leave=0
=
 NULL;
1882    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>timeout : include/httpd.h line=1216 column=25
t
imeout = : enter=0, leave=0
=
 0;
1883    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>keep_alive_timeout : include/httpd.h line=1218 column=25
k
eep_alive_timeout = : enter=0, leave=0
=
 0;
1884    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>keep_alive : include/httpd.h line=1222 column=9
k
eep_alive = : enter=0, leave=0
=
 -1;
1885    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>keep_alive_max : include/httpd.h line=1220 column=9
k
eep_alive_max = : enter=0, leave=0
=
 -1;
1886    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>error_log : include/httpd.h line=1197 column=17
e
rror_log = : enter=0, leave=0
=
 main_server : server/config.c line=1871 column=64
m
ain_server-> : enter=0, leave=0
-
>error_log : include/httpd.h line=1197 column=17
e
rror_log;
1887    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>loglevel : include/httpd.h line=1199 column=9
l
oglevel = : enter=0, leave=0
=
 main_server : server/config.c line=1871 column=64
m
ain_server-> : enter=0, leave=0
-
>loglevel : include/httpd.h line=1199 column=9
l
oglevel;
1888    /* useful default, otherwise we get a port of 0 on redirects */
1889    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>port : include/httpd.h line=1190 column=16
p
ort = : enter=0, leave=0
=
 main_server : server/config.c line=1871 column=64
m
ain_server-> : enter=0, leave=0
-
>port : include/httpd.h line=1190 column=16
p
ort;
1890    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>next : include/httpd.h line=1176 column=17
n
ext = : enter=0, leave=0
=
 NULL;
1891
1892    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>is_virtual : include/httpd.h line=1204 column=9
i
s_virtual = : enter=0, leave=0
=
 1;
1893    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>names : include/httpd.h line=1230 column=25
n
ames = : enter=0, leave=0
=
 apr_array_make : enter=0, leave=0

apr_array_make : /usr/include/apr-1/apr_tables.h line=111 column=35
a
pr_array_make(p : server/config.c line=1869 column=64
p
, 4, sizeof(char **));
1894    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>wild_names : include/httpd.h line=1232 column=25
w
ild_names = : enter=0, leave=0
=
 apr_array_make : enter=0, leave=0

apr_array_make : /usr/include/apr-1/apr_tables.h line=111 column=35
a
pr_array_make(p : server/config.c line=1869 column=64
p
, 4, sizeof(char **));
1895
1896    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config = : enter=0, leave=0
=
 create_empty_config : enter=0, leave=0

create_empty_config : server/config.c line=207 column=26
c
reate_empty_config(p : server/config.c line=1869 column=64
p
);
1897    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>lookup_defaults : include/httpd.h line=1209 column=30
l
ookup_defaults = : enter=0, leave=0
=
 ap_create_per_dir_config : enter=0, leave=0

ap_create_per_dir_config : server/config.c line=304 column=37
a
p_create_per_dir_config(p : server/config.c line=1869 column=64
p
);
1898
1899    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>limit_req_line : include/httpd.h line=1235 column=9
l
imit_req_line = : enter=0, leave=0
=
 main_server : server/config.c line=1871 column=64
m
ain_server-> : enter=0, leave=0
-
>limit_req_line : include/httpd.h line=1235 column=9
l
imit_req_line;
1900    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>limit_req_fieldsize : include/httpd.h line=1237 column=9
l
imit_req_fieldsize = : enter=0, leave=0
=
 main_server : server/config.c line=1871 column=64
m
ain_server-> : enter=0, leave=0
-
>limit_req_fieldsize : include/httpd.h line=1237 column=9
l
imit_req_fieldsize;
1901    s : server/config.c line=1874 column=17
s
-> : enter=0, leave=0
-
>limit_req_fields : include/httpd.h line=1239 column=9
l
imit_req_fields = : enter=0, leave=0
=
 main_server : server/config.c line=1871 column=64
m
ain_server-> : enter=0, leave=0
-
>limit_req_fields : include/httpd.h line=1239 column=9
l
imit_req_fields;
1902
1903    *ps : server/config.c line=1872 column=65
p
= : enter=0, leave=0
=
 s : server/config.c line=1874 column=17
s
;
1904
1905    return : pass=0
r
eturn ap_parse_vhost_addrs : enter=0, leave=0

ap_parse_vhost_addrs : include/http_vhost.h line=53 column=13
a
p_parse_vhost_addrs(p : server/config.c line=1869 column=64
p
hostname : server/config.c line=1870 column=64
h
ostname, s : server/config.c line=1874 column=17
s
);
1906}
1907
1908
1909AP_DECLARE(void) ap_fixup_virtual_hosts : call=0
a
p_fixup_virtual_hosts(apr_pool_t *p, server_rec *main_server)
1910{
1911    server_rec *virt;
1912
1913    for : true=0, false=0
f
or (virt : server/config.c line=1911 column=17
v
irt = : pass=0
=
 main_server : server/config.c line=1909 column=68
m
ain_server-> : enter=0, leave=0
-
>next : include/httpd.h line=1176 column=17
n
ext; virt : server/config.c line=1911 column=17
v
irt; virt : server/config.c line=1911 column=17
v
irt = : pass=0
=
 virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>next : include/httpd.h line=1176 column=17
n
ext) {
1914        merge_server_configs : enter=0, leave=0

merge_server_configs : server/config.c line=272 column=13
m
erge_server_configs(p : server/config.c line=1909 column=53
p
main_server : server/config.c line=1909 column=68
m
ain_server-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config,
1915                             virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config);
1916
1917        virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>lookup_defaults : include/httpd.h line=1209 column=30
l
ookup_defaults = : enter=0, leave=0
=
1918            ap_merge_per_dir_configs : enter=0, leave=0

ap_merge_per_dir_configs : server/config.c line=230 column=37
a
p_merge_per_dir_configs(p : server/config.c line=1909 column=53
p
main_server : server/config.c line=1909 column=68
m
ain_server-> : enter=0, leave=0
-
>lookup_defaults : include/httpd.h line=1209 column=30
l
ookup_defaults,
1919                                     virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>lookup_defaults : include/httpd.h line=1209 column=30
l
ookup_defaults);
1920
1921        if : true=0, false=0
i
f (virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>server_admin : include/httpd.h line=1186 column=11
s
erver_admin == : true=0, false=0
=
= NULL)
1922            virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>server_admin : include/httpd.h line=1186 column=11
s
erver_admin = : enter=0, leave=0
=
 main_server : server/config.c line=1909 column=68
m
ain_server-> : enter=0, leave=0
-
>server_admin : include/httpd.h line=1186 column=11
s
erver_admin;
1923
1924        if : true=0, false=0
i
f (virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>timeout : include/httpd.h line=1216 column=25
t
imeout == : true=0, false=0
=
= 0)
1925            virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>timeout : include/httpd.h line=1216 column=25
t
imeout = : enter=0, leave=0
=
 main_server : server/config.c line=1909 column=68
m
ain_server-> : enter=0, leave=0
-
>timeout : include/httpd.h line=1216 column=25
t
imeout;
1926
1927        if : true=0, false=0
i
f (virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>keep_alive_timeout : include/httpd.h line=1218 column=25
k
eep_alive_timeout == : true=0, false=0
=
= 0)
1928            virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>keep_alive_timeout : include/httpd.h line=1218 column=25
k
eep_alive_timeout = : enter=0, leave=0
=
 main_server : server/config.c line=1909 column=68
m
ain_server-> : enter=0, leave=0
-
>keep_alive_timeout : include/httpd.h line=1218 column=25
k
eep_alive_timeout;
1929
1930        if : true=0, false=0
i
f (virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>keep_alive : include/httpd.h line=1222 column=9
k
eep_alive == : true=0, false=0
=
= -1)
1931            virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>keep_alive : include/httpd.h line=1222 column=9
k
eep_alive = : enter=0, leave=0
=
 main_server : server/config.c line=1909 column=68
m
ain_server-> : enter=0, leave=0
-
>keep_alive : include/httpd.h line=1222 column=9
k
eep_alive;
1932
1933        if : true=0, false=0
i
f (virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>keep_alive_max : include/httpd.h line=1220 column=9
k
eep_alive_max == : true=0, false=0
=
= -1)
1934            virt : server/config.c line=1911 column=17
v
irt-> : enter=0, leave=0
-
>keep_alive_max : include/httpd.h line=1220 column=9
k
eep_alive_max = : enter=0, leave=0
=
 main_server : server/config.c line=1909 column=68
m
ain_server-> : enter=0, leave=0
-
>keep_alive_max : include/httpd.h line=1220 column=9
k
eep_alive_max;
1935
1936        /* XXX: this is really something that should be dealt with by a
1937         * post-config api phase
1938         */
1939        ap_core_reorder_directories : enter=0, leave=0

ap_core_reorder_directories : include/http_core.h line=636 column=6
a
p_core_reorder_directories(p : server/config.c line=1909 column=53
p
virt : server/config.c line=1911 column=17
v
irt);
1940    }
1941
1942    ap_core_reorder_directories : enter=0, leave=0

ap_core_reorder_directories : include/http_core.h line=636 column=6
a
p_core_reorder_directories(p : server/config.c line=1909 column=53
p
main_server : server/config.c line=1909 column=68
m
ain_server);
1943}
1944
1945/*****************************************************************
1946 *
1947 * Getting *everything* configured...
1948 */
1949
1950static void init_config_globals : call=1
i
nit_config_globals(apr_pool_t *p)
1951{
1952    /* Global virtual host hash bucket pointers.  Init to null. */
1953    ap_init_vhost_config : enter=1, leave=1

ap_init_vhost_config : include/http_vhost.h line=37 column=18
a
p_init_vhost_config(p : server/config.c line=1950 column=45
p
);
1954}
1955
1956static server_rec *init_server_config : call=1
i
nit_server_config(process_rec *process, apr_pool_t *p)
1957{
1958    apr_status_t rv;
1959    server_rec *s = (server_rec *) apr_pcalloc(p : server/config.c line=1956 column=73
p
, sizeof(server_rec));
1960
1961    apr_file_open_stderr : enter=1, leave=1

apr_file_open_stderr : /usr/include/apr-1/apr_file_io.h line=322 column=27
a
pr_file_open_stderr(&s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>error_log : include/httpd.h line=1197 column=17
e
rror_log, p : server/config.c line=1956 column=73
p
);
1962    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>process : include/httpd.h line=1174 column=18
p
rocess = : enter=1, leave=1
=
 process : server/config.c line=1956 column=52
p
rocess;
1963    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>port : include/httpd.h line=1190 column=16
p
ort = : enter=1, leave=1
=
 0;
1964    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>server_admin : include/httpd.h line=1186 column=11
s
erver_admin = : enter=1, leave=1
=
 DEFAULT_ADMIN;
1965    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>server_hostname : include/httpd.h line=1188 column=11
s
erver_hostname = : enter=1, leave=1
=
 NULL;
1966    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>server_scheme : include/httpd.h line=1242 column=17
s
erver_scheme = : enter=1, leave=1
=
 NULL;
1967    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>error_fname : include/httpd.h line=1195 column=11
e
rror_fname = : enter=1, leave=1
=
 DEFAULT_ERRORLOG;
1968    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>loglevel : include/httpd.h line=1199 column=9
l
oglevel = : enter=1, leave=1
=
 DEFAULT_LOGLEVEL;
1969    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>limit_req_line : include/httpd.h line=1235 column=9
l
imit_req_line = : enter=1, leave=1
=
 DEFAULT_LIMIT_REQUEST_LINE;
1970    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>limit_req_fieldsize : include/httpd.h line=1237 column=9
l
imit_req_fieldsize = : enter=1, leave=1
=
 DEFAULT_LIMIT_REQUEST_FIELDSIZE;
1971    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>limit_req_fields : include/httpd.h line=1239 column=9
l
imit_req_fields = : enter=1, leave=1
=
 DEFAULT_LIMIT_REQUEST_FIELDS;
1972    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>timeout : include/httpd.h line=1216 column=25
t
imeout = : enter=1, leave=1
=
 apr_time_from_sec(DEFAULT_TIMEOUT);
1973    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>keep_alive_timeout : include/httpd.h line=1218 column=25
k
eep_alive_timeout = : enter=1, leave=1
=
 apr_time_from_sec(DEFAULT_KEEPALIVE_TIMEOUT);
1974    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>keep_alive_max : include/httpd.h line=1220 column=9
k
eep_alive_max = : enter=1, leave=1
=
 DEFAULT_KEEPALIVE;
1975    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>keep_alive : include/httpd.h line=1222 column=9
k
eep_alive = : enter=1, leave=1
=
 1;
1976    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>next : include/httpd.h line=1176 column=17
n
ext = : enter=1, leave=1
=
 NULL;
1977    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>addrs : include/httpd.h line=1214 column=22
a
ddrs = : enter=1, leave=1
=
 apr_pcalloc(p : server/config.c line=1956 column=73
p
, sizeof(server_addr_rec));
1978
1979    /* NOT virtual host; don't match any real network interface */
1980    rv : server/config.c line=1958 column=18
r
= : pass=1
=
 apr_sockaddr_info_get : enter=1, leave=1

apr_sockaddr_info_get : /usr/include/apr-1/apr_network_io.h line=373 column=27
a
pr_sockaddr_info_get(&s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>addrs : include/httpd.h line=1214 column=22
a
ddrs-> : enter=1, leave=1
-
>host_addr : include/httpd.h line=1162 column=21
h
ost_addr,
1981                               NULL, APR_INET, 0, 0, p : server/config.c line=1956 column=73
p
);
1982    ap_assert(rv : server/config.c line=1958 column=18
r
== : true=1, false=0
=
= APR_SUCCESS); /* otherwise: bug or no storage */
1983
1984    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>addrs : include/httpd.h line=1214 column=22
a
ddrs-> : enter=1, leave=1
-
>host_port : include/httpd.h line=1164 column=16
h
ost_port = : enter=1, leave=1
=
 0; /* matches any port */
1985    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>addrs : include/httpd.h line=1214 column=22
a
ddrs-> : enter=1, leave=1
-
>virthost : include/httpd.h line=1166 column=11
v
irthost = : enter=1, leave=1
=
 ""; /* must be non-NULL */
1986    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>names : include/httpd.h line=1230 column=25
n
ames = : enter=1, leave=1
=
 s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>wild_names : include/httpd.h line=1232 column=25
w
ild_names = : enter=1, leave=1
=
 NULL;
1987
1988    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config = : enter=1, leave=1
=
 create_server_config : enter=1, leave=1

create_server_config : server/config.c line=258 column=26
c
reate_server_config(p : server/config.c line=1956 column=73
p
s : server/config.c line=1959 column=17
s
);
1989    s : server/config.c line=1959 column=17
s
-> : enter=1, leave=1
-
>lookup_defaults : include/httpd.h line=1209 column=30
l
ookup_defaults = : enter=1, leave=1
=
 create_default_per_dir_config : enter=1, leave=1

create_default_per_dir_config : server/config.c line=214 column=26
c
reate_default_per_dir_config(p : server/config.c line=1956 column=73
p
);
1990
1991    return : pass=1
r
eturn s : server/config.c line=1959 column=17
s
;
1992}
1993
1994
1995AP_DECLARE(server_rec*) ap_read_config : call=1
a
p_read_config(process_rec *process, apr_pool_t *ptemp,
1996                                       const char *filename,
1997                                       ap_directive_t **conftree)
1998{
1999    const char *confname, *error;
2000    apr_pool_t *p = process : server/config.c line=1995 column=53
p
rocess-> : enter=1, leave=1
-
>pconf : include/httpd.h line=766 column=17
p
conf;
2001    server_rec *s = init_server_config : enter=1, leave=1

init_server_config : server/config.c line=1956 column=20
i
nit_server_config(process : server/config.c line=1995 column=53
p
rocess, p : server/config.c line=2000 column=17
p
);
2002
2003    init_config_globals : enter=1, leave=1

init_config_globals : server/config.c line=1950 column=13
i
nit_config_globals(p : server/config.c line=2000 column=17
p
);
2004
2005    /* All server-wide config files now have the SAME syntax... */
2006    error : server/config.c line=1999 column=28
e
rror = : pass=1
=
 process_command_config : enter=1, leave=1

process_command_config : server/config.c line=1495 column=20
p
rocess_command_config(s : server/config.c line=2001 column=17
s
ap_server_pre_read_config : server/config.c line=61 column=37
a
p_server_pre_read_config, conftree : server/config.c line=1997 column=57
c
onftree,
2007                                   p : server/config.c line=2000 column=17
p
ptemp : server/config.c line=1995 column=74
p
temp);
2008    if : true=0, false=1
i
f (error : server/config.c line=1999 column=28
e
rror) {
2009        ap_log_error : enter=0, leave=0

ap_log_error : include/http_log.h line=171 column=18
a
p_log_error(APLOG_MARK, APLOG_STARTUP| : pass=0
|
APLOG_CRIT, 0, NULL, "%s: %s",
2010                     ap_server_argv0 : server/config.c line=57 column=29
a
p_server_argv0, error : server/config.c line=1999 column=28
e
rror);
2011        return : pass=0
r
eturn NULL;
2012    }
2013
2014    /* process_command_config may change the ServerRoot so
2015     * compute this config file name afterwards.
2016     */
2017    confname : server/config.c line=1999 column=17
c
onfname = : pass=1
=
 ap_server_root_relative : enter=1, leave=1

ap_server_root_relative : server/config.c line=1354 column=20
a
p_server_root_relative(p : server/config.c line=2000 column=17
p
filename : server/config.c line=1996 column=52
f
ilename);
2018
2019    if : true=0, false=1
i
f (! : true=0, false=1
!
confname : server/config.c line=1999 column=17
c
onfname) {
2020        ap_log_error : enter=0, leave=0

ap_log_error : include/http_log.h line=171 column=18
a
p_log_error(APLOG_MARK, APLOG_STARTUP| : pass=0
|
APLOG_CRIT,
2021                     APR_EBADPATH, NULL, "Invalid config file path %s",
2022                     filename : server/config.c line=1996 column=52
f
ilename);
2023        return : pass=0
r
eturn NULL;
2024    }
2025
2026    error : server/config.c line=1999 column=28
e
rror = : pass=1
=
 ap_process_resource_config : enter=1, leave=1

ap_process_resource_config : server/config.c line=1646 column=26
a
p_process_resource_config(s : server/config.c line=2001 column=17
s
confname : server/config.c line=1999 column=17
c
onfname, conftree : server/config.c line=1997 column=57
c
onftree, p : server/config.c line=2000 column=17
p
ptemp : server/config.c line=1995 column=74
p
temp);
2027    if : true=1, false=0
i
f (error : server/config.c line=1999 column=28
e
rror) {
2028        ap_log_error : enter=1, leave=1

ap_log_error : include/http_log.h line=171 column=18
a
p_log_error(APLOG_MARK, APLOG_STARTUP| : pass=1
|
APLOG_CRIT, 0, NULL,
2029                     "%s: %s", ap_server_argv0 : server/config.c line=57 column=29
a
p_server_argv0, error : server/config.c line=1999 column=28
e
rror);
2030        return : pass=1
r
eturn NULL;
2031    }
2032
2033    error : server/config.c line=1999 column=28
e
rror = : pass=0
=
 process_command_config : enter=0, leave=0

process_command_config : server/config.c line=1495 column=20
p
rocess_command_config(s : server/config.c line=2001 column=17
s
ap_server_post_read_config : server/config.c line=62 column=37
a
p_server_post_read_config, conftree : server/config.c line=1997 column=57
c
onftree,
2034                                   p : server/config.c line=2000 column=17
p
ptemp : server/config.c line=1995 column=74
p
temp);
2035
2036    if : true=0, false=0
i
f (error : server/config.c line=1999 column=28
e
rror) {
2037        ap_log_error : enter=0, leave=0

ap_log_error : include/http_log.h line=171 column=18
a
p_log_error(APLOG_MARK, APLOG_STARTUP| : pass=0
|
APLOG_CRIT, 0, NULL, "%s: %s",
2038                     ap_server_argv0 : server/config.c line=57 column=29
a
p_server_argv0, error : server/config.c line=1999 column=28
e
rror);
2039        return : pass=0
r
eturn NULL;
2040    }
2041
2042    return : pass=0
r
eturn s : server/config.c line=2001 column=17
s
;
2043}
2044
2045AP_DECLARE(void) ap_single_module_configure : call=0
a
p_single_module_configure(apr_pool_t *p, server_rec *s,
2046                                            module *m)
2047{
2048    if : true=0, false=0
i
f (m : server/config.c line=2046 column=53
m
-> : enter=0, leave=0
-
>create_server_config : include/http_config.h line=372 column=13
c
reate_server_config)
2049        ap_set_module_config(s : server/config.c line=2045 column=72
s
-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config, m : server/config.c line=2046 column=53
m
,
2050                             create_server_config : enter=0, leave=0

create_server_config : include/http_config.h line=372 column=13
(
*m : server/config.c line=2046 column=53
m
-> : enter=0, leave=0
-
>create_server_config : include/http_config.h line=372 column=13
c
reate_server_config)(p : server/config.c line=2045 column=57
p
s : server/config.c line=2045 column=72
s
));
2051
2052    if : true=0, false=0
i
f (m : server/config.c line=2046 column=53
m
-> : enter=0, leave=0
-
>create_dir_config : include/http_config.h line=357 column=13
c
reate_dir_config)
2053        ap_set_module_config(s : server/config.c line=2045 column=72
s
-> : enter=0, leave=0
-
>lookup_defaults : include/httpd.h line=1209 column=30
l
ookup_defaults, m : server/config.c line=2046 column=53
m
,
2054                             create_dir_config : enter=0, leave=0

create_dir_config : include/http_config.h line=357 column=13
(
*m : server/config.c line=2046 column=53
m
-> : enter=0, leave=0
-
>create_dir_config : include/http_config.h line=357 column=13
c
reate_dir_config)(p : server/config.c line=2045 column=57
p
, NULL));
2055}
2056
2057AP_DECLARE(void) ap_run_rewrite_args : call=1
a
p_run_rewrite_args(process_rec *process)
2058{
2059    module *m;
2060
2061    for : true=27, false=1
f
or (m : server/config.c line=2059 column=13
m
 = : pass=1
=
 ap_top_module : server/config.c line=182 column=25
a
p_top_module; m : server/config.c line=2059 column=13
m
m : server/config.c line=2059 column=13
m
 = : pass=27
=
 m : server/config.c line=2059 column=13
m
-> : enter=27, leave=27
-
>next : include/http_config.h line=340 column=27
n
ext) {
2062        if : true=1, false=26
i
f (m : server/config.c line=2059 column=13
m
-> : enter=27, leave=27
-
>rewrite_args : include/http_config.h line=350 column=12
r
ewrite_args) {
2063            rewrite_args : enter=1, leave=1

rewrite_args : include/http_config.h line=350 column=12
(
*m : server/config.c line=2059 column=13
m
-> : enter=1, leave=1
-
>rewrite_args : include/http_config.h line=350 column=12
r
ewrite_args)(process : server/config.c line=2057 column=51
p
rocess);
2064        }
2065    }
2066}
2067
2068/********************************************************************
2069 * Configuration directives are restricted in terms of where they may
2070 * appear in the main configuration files and/or .htaccess files according
2071 * to the bitmask req_override in the command_rec structure.
2072 * If any of the overrides set in req_override are also allowed in the
2073 * context in which the command is read, then the command is allowed.
2074 * The context is determined as follows:
2075 *
2076 *    inside *.conf --> override = (RSRC_CONF|OR_ALL)&~(OR_AUTHCFG|OR_LIMIT);
2077 *    within <Directory> or <Location> --> override = OR_ALL|ACCESS_CONF;
2078 *    within .htaccess --> override = AllowOverride for current directory;
2079 *
2080 * the result is, well, a rather confusing set of possibilities for when
2081 * a particular directive is allowed to be used.  This procedure prints
2082 * in English where the given (pc) directive can be used.
2083 */
2084static void show_overrides : call=0
s
how_overrides(const command_rec *pc, module *pm)
2085{
2086    int n = 0;
2087
2088    printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("\tAllowed in *.conf ");
2089    if : true=0, false=0
i
f ((pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 (OR_OPTIONS | : pass=0
|
 OR_FILEINFO | : pass=0
|
 OR_INDEXES))
2090        || : true=0, false=0
|
| ((pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 RSRC_CONF)
2091        && : true=0, false=0
&
& ((pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 (ACCESS_CONF | : pass=0
|
 OR_AUTHCFG | : pass=0
|
 OR_LIMIT))))) {
2092        printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("anywhere");
2093    }
2094    else if : true=0, false=0
i
f (pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 RSRC_CONF) {
2095        printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("only outside <Directory>, <Files> or <Location>");
2096    }
2097    else {
2098        printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("only inside <Directory>, <Files> or <Location>");
2099    }
2100
2101    /* Warn if the directive is allowed inside <Directory> or .htaccess
2102     * but module doesn't support per-dir configuration
2103     */
2104    if : true=0, false=0
i
f ((pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 (OR_ALL | : pass=0
|
 ACCESS_CONF)) && : true=0, false=0
&
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
pm : server/config.c line=2084 column=59
p
m-> : enter=0, leave=0
-
>create_dir_config : include/http_config.h line=357 column=13
c
reate_dir_config)
2105        printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" [no per-dir config]");
2106
2107    if : true=0, false=0
i
f (pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 OR_ALL) {
2108        printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" and in .htaccess\n\twhen AllowOverride");
2109
2110        if : true=0, false=0
i
f ((pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 OR_ALL) == : true=0, false=0
=
= OR_ALL) {
2111            printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" isn't None");
2112        }
2113        else {
2114            printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" includes ");
2115
2116            if : true=0, false=0
i
f (pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 OR_AUTHCFG) {
2117                if : true=0, false=0
i
f (n : server/config.c line=2086 column=9
n
++ : pass=0
+
+)
2118                    printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" or ");
2119
2120                printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("AuthConfig");
2121            }
2122
2123            if : true=0, false=0
i
f (pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 OR_LIMIT) {
2124                if : true=0, false=0
i
f (n : server/config.c line=2086 column=9
n
++ : pass=0
+
+)
2125                    printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" or ");
2126
2127                printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("Limit");
2128            }
2129
2130            if : true=0, false=0
i
f (pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 OR_OPTIONS) {
2131                if : true=0, false=0
i
f (n : server/config.c line=2086 column=9
n
++ : pass=0
+
+)
2132                    printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" or ");
2133
2134                printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("Options");
2135            }
2136
2137            if : true=0, false=0
i
f (pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 OR_FILEINFO) {
2138                if : true=0, false=0
i
f (n : server/config.c line=2086 column=9
n
++ : pass=0
+
+)
2139                    printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" or ");
2140
2141                printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("FileInfo");
2142            }
2143
2144            if : true=0, false=0
i
f (pc : server/config.c line=2084 column=47
p
c-> : enter=0, leave=0
-
>req_override : include/http_config.h line=210 column=9
r
eq_override & : pass=0
&
 OR_INDEXES) {
2145                if : true=0, false=0
i
f (n : server/config.c line=2086 column=9
n
++ : pass=0
+
+)
2146                    printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf(" or ");
2147
2148                printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("Indexes");
2149            }
2150        }
2151    }
2152
2153    printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("\n");
2154}
2155
2156/* Show the preloaded configuration directives, the help string explaining
2157 * the directive arguments, in what module they are handled, and in
2158 * what parts of the configuration they are allowed.  Used for httpd -L.
2159 */
2160AP_DECLARE(void) ap_show_directives : call=0
a
p_show_directives(void)
2161{
2162    const command_rec *pc;
2163    int n;
2164
2165    for : true=0, false=0
f
or (n : server/config.c line=2163 column=9
n
 = : pass=0
=
 0; ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules[] : enter=0, leave=0
[
n : server/config.c line=2163 column=9
n
]; ++ : pass=0
+
+n : server/config.c line=2163 column=9
n
) {
2166        for : true=0, false=0
f
or (pc : server/config.c line=2162 column=24
p
= : pass=0
=
 ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules[] : enter=0, leave=0
[
n : server/config.c line=2163 column=9
n
]-> : enter=0, leave=0
-
>cmds : include/http_config.h line=385 column=24
c
mds; MC/DC independently affect : true=0, false=0

pc : server/config.c line=2162 column=24
pTF
&& : true=0, false=0
&
pc : server/config.c line=2162 column=24
p
cMC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>name : include/http_config.h line=204 column=17
n
ame; ++ : pass=0
+
+pc : server/config.c line=2162 column=24
p
c) {
2167            printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("%s (%s)\n", pc : server/config.c line=2162 column=24
p
c-> : enter=0, leave=0
-
>name : include/http_config.h line=204 column=17
n
ame, ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules[] : enter=0, leave=0
[
n : server/config.c line=2163 column=9
n
]-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame);
2168
2169            if : true=0, false=0
i
f (pc : server/config.c line=2162 column=24
p
c-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg)
2170                printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("\t%s\n", pc : server/config.c line=2162 column=24
p
c-> : enter=0, leave=0
-
>errmsg : include/http_config.h line=216 column=17
e
rrmsg);
2171
2172            show_overrides : enter=0, leave=0

show_overrides : server/config.c line=2084 column=13
s
how_overrides(pc : server/config.c line=2162 column=24
p
c, ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules[] : enter=0, leave=0
[
n : server/config.c line=2163 column=9
n
]);
2173        }
2174    }
2175}
2176
2177/* Show the preloaded module names.  Used for httpd -l. */
2178AP_DECLARE(void) ap_show_modules : call=0
a
p_show_modules(void)
2179{
2180    int n;
2181
2182    printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("Compiled in modules:\n");
2183    for : true=0, false=0
f
or (n : server/config.c line=2180 column=9
n
 = : pass=0
=
 0; ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules[] : enter=0, leave=0
[
n : server/config.c line=2180 column=9
n
]; ++ : pass=0
+
+n : server/config.c line=2180 column=9
n
)
2184        printf : enter=0, leave=0

printf : /usr/include/stdio.h line=361 column=12
p
rintf("  %s\n", ap_loaded_modules : server/config.c line=183 column=26
a
p_loaded_modules[] : enter=0, leave=0
[
n : server/config.c line=2180 column=9
n
]-> : enter=0, leave=0
-
>name : include/http_config.h line=334 column=17
n
ame);
2185}
2186
2187AP_DECLARE(const char *) ap_show_mpm : call=0
a
p_show_mpm(void)
2188{
2189    return : pass=0
r
eturn MPM_NAME;
2190}
2191[EOF]


Generated by expcov