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

 Index  Statistics  Last 
Directory./modules/loggers
Filenamemod_log_config.c
ModifiedSat May 23 18:23:13 2015

Pass Half Fail Excluded Total
Function
2
3.08%
63
96.92%
0
0.00%
65
100%
Expressions
17
1.90%
880
98.10%
0
0.00%
897
100%
Conditions
0
0.00%
0
0.00%
150
100.00%
0
0.00%
150
100%
MC/DC
0
0.00%
47
100.00%
0
0.00%
47
100%
Branches

if
0
0.00%
0
0.00%
107
100.00%
0
0.00%
107
100%
for
0
0.00%
0
0.00%
14
100.00%
0
0.00%
14
100%
while
0
0.00%
0
0.00%
12
100.00%
0
0.00%
12
100%
case
0
0.00%
0
0.00%
27
100.00%
0
0.00%
27
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 * Modified by djm@va.pubnix.com:
19 * If no TransferLog is given explicitly, decline to log.
20 *
21 * This is module implements the TransferLog directive (same as the
22 * common log module), and additional directives, LogFormat and CustomLog.
23 *
24 *
25 * Syntax:
26 *
27 *    TransferLog fn      Logs transfers to fn in standard log format, unless
28 *                        a custom format is set with LogFormat
29 *    LogFormat format    Set a log format from TransferLog files
30 *    CustomLog fn format
31 *                        Log to file fn with format given by the format
32 *                        argument
33 *
34 *    CookieLog fn        For backwards compatability with old Cookie
35 *                        logging module - now deprecated.
36 *
37 * There can be any number of TransferLog and CustomLog
38 * commands. Each request will be logged to _ALL_ the
39 * named files, in the appropriate format.
40 *
41 * If no TransferLog or CustomLog directive appears in a VirtualHost,
42 * the request will be logged to the log file(s) defined outside
43 * the virtual host section. If a TransferLog or CustomLog directive
44 * appears in the VirtualHost section, the log files defined outside
45 * the VirtualHost will _not_ be used. This makes this module compatable
46 * with the CLF and config log modules, where the use of TransferLog
47 * inside the VirtualHost section overrides its use outside.
48 *
49 * Examples:
50 *
51 *    TransferLog    logs/access_log
52 *    <VirtualHost>
53 *    LogFormat      "... custom format ..."
54 *    TransferLog    log/virtual_only
55 *    CustomLog      log/virtual_useragents "%t %{user-agent}i"
56 *    </VirtualHost>
57 *
58 * This will log using CLF to access_log any requests handled by the
59 * main server, while any requests to the virtual host will be logged
60 * with the "... custom format..." to virtual_only _AND_ using
61 * the custom user-agent log to virtual_useragents.
62 *
63 * Note that the NCSA referer and user-agent logs are easily added with
64 * CustomLog:
65 *   CustomLog   logs/referer  "%{referer}i -> %U"
66 *   CustomLog   logs/agent    "%{user-agent}i"
67 *
68 * RefererIgnore functionality can be obtained with conditional
69 * logging (SetEnvIf and CustomLog ... env=!VAR).
70 *
71 * But using this method allows much easier modification of the
72 * log format, e.g. to log hosts along with UA:
73 *   CustomLog   logs/referer "%{referer}i %U %h"
74 *
75 * The argument to LogFormat and CustomLog is a string, which can include
76 * literal characters copied into the log files, and '%' directives as
77 * follows:
78 *
79 * %...B:  bytes sent, excluding HTTP headers.
80 * %...b:  bytes sent, excluding HTTP headers in CLF format, i.e. a '-'
81 *         when no bytes where sent (rather than a '0'.
82 * %...{FOOBAR}C:  The contents of the HTTP cookie FOOBAR
83 * %...{FOOBAR}e:  The contents of the environment variable FOOBAR
84 * %...f:  filename
85 * %...h:  remote host
86 * %...a:  remote IP-address
87 * %...A:  local IP-address
88 * %...{Foobar}i:  The contents of Foobar: header line(s) in the request
89 *                 sent to the client.
90 * %...k:  number of keepalive requests served over this connection
91 * %...l:  remote logname (from identd, if supplied)
92 * %...{Foobar}n:  The contents of note "Foobar" from another module.
93 * %...{Foobar}o:  The contents of Foobar: header line(s) in the reply.
94 * %...p:  the canonical port for the server
95 * %...{format}p: the canonical port for the server, or the actual local
96 *                or remote port
97 * %...P:  the process ID of the child that serviced the request.
98 * %...{format}P: the process ID or thread ID of the child/thread that
99 *                serviced the request
100 * %...r:  first line of request
101 * %...s:  status.  For requests that got internally redirected, this
102 *         is status of the *original* request --- %...>s for the last.
103 * %...t:  time, in common log format time format
104 * %...{format}t:  The time, in the form given by format, which should
105 *                 be in strftime(3) format.
106 * %...T:  the time taken to serve the request, in seconds.
107 * %...{s}T:  the time taken to serve the request, in seconds, same as %T.
108 * %...{us}T:  the time taken to serve the request, in micro seconds, same as %D.
109 * %...{ms}T:  the time taken to serve the request, in milliseconds.
110 * %...D:  the time taken to serve the request, in micro seconds.
111 * %...u:  remote user (from auth; may be bogus if return status (%s) is 401)
112 * %...U:  the URL path requested.
113 * %...v:  the configured name of the server (i.e. which virtual host?)
114 * %...V:  the server name according to the UseCanonicalName setting
115 * %...m:  the request method
116 * %...H:  the request protocol
117 * %...q:  the query string prepended by "?", or empty if no query string
118 * %...X:  Status of the connection.
119 *         'X' = connection aborted before the response completed.
120 *         '+' = connection may be kept alive after the response is sent.
121 *         '-' = connection will be closed after the response is sent.
122           (This directive was %...c in late versions of Apache 1.3, but
123            this conflicted with the historical ssl %...{var}c syntax.)
124*
125 * The '...' can be nothing at all (e.g. "%h %u %r %s %b"), or it can
126 * indicate conditions for inclusion of the item (which will cause it
127 * to be replaced with '-' if the condition is not met).  Note that
128 * there is no escaping performed on the strings from %r, %...i and
129 * %...o; some with long memories may remember that I thought this was
130 * a bad idea, once upon a time, and I'm still not comfortable with
131 * it, but it is difficult to see how to "do the right thing" with all
132 * of '%..i', unless we URL-escape everything and break with CLF.
133 *
134 * The forms of condition are a list of HTTP status codes, which may
135 * or may not be preceded by '!'.  Thus, '%400,501{User-agent}i' logs
136 * User-agent: on 400 errors and 501 errors (Bad Request, Not
137 * Implemented) only; '%!200,304,302{Referer}i' logs Referer: on all
138 * requests which did *not* return some sort of normal status.
139 *
140 * The default LogFormat reproduces CLF; see below.
141 *
142 * The way this is supposed to work with virtual hosts is as follows:
143 * a virtual host can have its own LogFormat, or its own TransferLog.
144 * If it doesn't have its own LogFormat, it inherits from the main
145 * server.  If it doesn't have its own TransferLog, it writes to the
146 * same descriptor (meaning the same process for "| ...").
147 *
148 * --- rst */
149
150#include "apr_strings.h"
151#include "apr_lib.h"
152#include "apr_hash.h"
153#include "apr_optional.h"
154#include "apr_anylock.h"
155
156#define APR_WANT_STRFUNC
157#include "apr_want.h"
158
159#include "ap_config.h"
160#include "mod_log_config.h"
161#include "httpd.h"
162#include "http_config.h"
163#include "http_core.h"          /* For REMOTE_NAME */
164#include "http_log.h"
165#include "http_protocol.h"
166#include "util_time.h"
167#include "ap_mpm.h"
168
169#if APR_HAVE_UNISTD_H
170#include <unistd.h>
171#endif
172#ifdef HAVE_LIMITS_H
173#include <limits.h>
174#endif
175
176#define DEFAULT_LOG_FORMAT "%h %l %u %t \"%r\" %>s %b"
177
178module AP_MODULE_DECLARE_DATA log_config_module;
179
180
181static int xfer_flags = (APR_WRITE | : pass=0
|
 APR_APPEND | : pass=0
|
 APR_CREATE | : pass=0
|
 APR_LARGEFILE);
182static apr_fileperms_t xfer_perms = APR_OS_DEFAULT;
183static apr_hash_t *log_hash;
184static apr_status_t ap_default_log_writer(request_rec *r,
185                           void *handle,
186                           const char **strs,
187                           int *strl,
188                           int nelts,
189                           apr_size_t len);
190static apr_status_t ap_buffered_log_writer(request_rec *r,
191                           void *handle,
192                           const char **strs,
193                           int *strl,
194                           int nelts,
195                           apr_size_t len);
196static void *ap_default_log_writer_init(apr_pool_t *p, server_rec *s,
197                                        const char* name);
198static void *ap_buffered_log_writer_init(apr_pool_t *p, server_rec *s,
199                                        const char* name);
200
201static ap_log_writer_init* ap_log_set_writer_init(ap_log_writer_init *handle);
202static ap_log_writer* ap_log_set_writer(ap_log_writer *handle);
203static ap_log_writer *log_writer = ap_default_log_writer : modules/loggers/mod_log_config.c line=184 column=21
a
p_default_log_writer;
204static ap_log_writer_init *log_writer_init = ap_default_log_writer_init : modules/loggers/mod_log_config.c line=196 column=14
a
p_default_log_writer_init;
205static int buffered_logs = 0; /* default unbuffered */
206static apr_array_header_t *all_buffered_logs = NULL;
207
208/* POSIX.1 defines PIPE_BUF as the maximum number of bytes that is
209 * guaranteed to be atomic when writing a pipe.  And PIPE_BUF >= 512
210 * is guaranteed.  So we'll just guess 512 in the event the system
211 * doesn't have this.  Now, for file writes there is actually no limit,
212 * the entire write is atomic.  Whether all systems implement this
213 * correctly is another question entirely ... so we'll just use PIPE_BUF
214 * because it's probably a good guess as to what is implemented correctly
215 * everywhere.
216 */
217#ifdef PIPE_BUF
218#define LOG_BUFSIZE     PIPE_BUF
219#else
220#define LOG_BUFSIZE     (512)
221#endif
222
223/*
224 * multi_log_state is our per-(virtual)-server configuration. We store
225 * an array of the logs we are going to use, each of type config_log_state.
226 * If a default log format is given by LogFormat, store in default_format
227 * (backward compat. with mod_log_config).  We also store for each virtual
228 * server a pointer to the logs specified for the main server, so that if this
229 * vhost has no logs defined, we can use the main server's logs instead.
230 *
231 * So, for the main server, config_logs contains a list of the log files
232 * and server_config_logs is empty. For a vhost, server_config_logs
233 * points to the same array as config_logs in the main server, and
234 * config_logs points to the array of logs defined inside this vhost,
235 * which might be empty.
236 */
237
238typedef struct {
239    const char *default_format_string;
240    apr_array_header_t *default_format;
241    apr_array_header_t *config_logs;
242    apr_array_header_t *server_config_logs;
243    apr_table_t *formats;
244} multi_log_state;
245
246/*
247 * config_log_state holds the status of a single log file. fname might
248 * be NULL, which means this module does no logging for this
249 * request. format might be NULL, in which case the default_format
250 * from the multi_log_state should be used, or if that is NULL as
251 * well, use the CLF.
252 * log_writer is NULL before the log file is opened and is
253 * set to a opaque structure (usually a fd) after it is opened.
254
255 */
256typedef struct {
257    apr_file_t *handle;
258    apr_size_t outcnt;
259    char outbuf[LOG_BUFSIZE];
260    apr_anylock_t mutex;
261} buffered_log;
262
263typedef struct {
264    const char *fname;
265    const char *format_string;
266    apr_array_header_t *format;
267    void *log_writer;
268    char *condition_var;
269} config_log_state;
270
271/*
272 * log_request_state holds request specific log data that is not
273 * part of the request_rec.
274 */
275typedef struct {
276    apr_time_t request_end_time;
277} log_request_state;
278
279/*
280 * Format items...
281 * Note that many of these could have ap_sprintfs replaced with static buffers.
282 */
283
284typedef struct {
285    ap_log_handler_fn_t *func;
286    char *arg;
287    int condition_sense;
288    int want_orig;
289    apr_array_header_t *conditions;
290} log_format_item;
291
292static char *format_integer : call=0
f
ormat_integer(apr_pool_t *p, int i)
293{
294    return : pass=0
r
eturn apr_itoa : enter=0, leave=0

apr_itoa : /usr/include/apr-1/apr_strings.h line=283 column=21
a
pr_itoa(p : modules/loggers/mod_log_config.c line=292 column=41
p
i : modules/loggers/mod_log_config.c line=292 column=48
i
);
295}
296
297static char *pfmt : call=0
p
fmt(apr_pool_t *p, int i)
298{
299    if : true=0, false=0
i
f (i : modules/loggers/mod_log_config.c line=297 column=38
i
 <= : true=0, false=0
<
= 0) {
300        return : pass=0
r
eturn "-";
301    }
302    else {
303        return : pass=0
r
eturn format_integer : enter=0, leave=0

format_integer : modules/loggers/mod_log_config.c line=292 column=14
f
ormat_integer(p : modules/loggers/mod_log_config.c line=297 column=31
p
i : modules/loggers/mod_log_config.c line=297 column=38
i
);
304    }
305}
306
307static const char *constant_item : call=0
c
onstant_item(request_rec *dummy, char *stuff)
308{
309    return : pass=0
r
eturn stuff : modules/loggers/mod_log_config.c line=307 column=60
s
tuff;
310}
311
312static const char *log_remote_host : call=0
l
og_remote_host(request_rec *r, char *a)
313{
314    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=312 column=49
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, ap_get_remote_host : enter=0, leave=0

ap_get_remote_host : include/http_core.h line=201 column=26
a
p_get_remote_host(r : modules/loggers/mod_log_config.c line=312 column=49
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection,
315                                                         r : modules/loggers/mod_log_config.c line=312 column=49
r
-> : enter=0, leave=0
-
>per_dir_config : include/httpd.h line=977 column=30
p
er_dir_config,
316                                                         REMOTE_NAME, NULL));
317}
318
319static const char *log_remote_address : call=0
l
og_remote_address(request_rec *r, char *a)
320{
321    return : pass=0
r
eturn r : modules/loggers/mod_log_config.c line=319 column=52
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>remote_ip : include/httpd.h line=1060 column=11
r
emote_ip;
322}
323
324static const char *log_local_address : call=0
l
og_local_address(request_rec *r, char *a)
325{
326    return : pass=0
r
eturn r : modules/loggers/mod_log_config.c line=324 column=51
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>local_ip : include/httpd.h line=1083 column=11
l
ocal_ip;
327}
328
329static const char *log_remote_logname : call=0
l
og_remote_logname(request_rec *r, char *a)
330{
331    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=329 column=52
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, ap_get_remote_logname : enter=0, leave=0

ap_get_remote_logname : include/http_core.h line=209 column=26
a
p_get_remote_logname(r : modules/loggers/mod_log_config.c line=329 column=52
r
));
332}
333
334static const char *log_remote_user : call=0
l
og_remote_user(request_rec *r, char *a)
335{
336    char *rvalue = r : modules/loggers/mod_log_config.c line=334 column=49
r
-> : enter=0, leave=0
-
>user : include/httpd.h line=930 column=11
u
ser;
337
338    if : true=0, false=0
i
f (rvalue : modules/loggers/mod_log_config.c line=336 column=11
r
value == : true=0, false=0
=
= NULL) {
339        rvalue : modules/loggers/mod_log_config.c line=336 column=11
r
value = : pass=0
=
 "-";
340    }
341    else if : true=0, false=0
i
f (strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(rvalue : modules/loggers/mod_log_config.c line=336 column=11
r
value) == : true=0, false=0
=
= 0) {
342        rvalue : modules/loggers/mod_log_config.c line=336 column=11
r
value = : pass=0
=
 "\"\"";
343    }
344    else {
345        rvalue : modules/loggers/mod_log_config.c line=336 column=11
r
value = : pass=0
=
 ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=334 column=49
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, rvalue : modules/loggers/mod_log_config.c line=336 column=11
r
value);
346    }
347
348    return : pass=0
r
eturn rvalue : modules/loggers/mod_log_config.c line=336 column=11
r
value;
349}
350
351static const char *log_request_line : call=0
l
og_request_line(request_rec *r, char *a)
352{
353    /* NOTE: If the original request contained a password, we
354     * re-write the request line here to contain XXXXXX instead:
355     * (note the truncation before the protocol string for HTTP/0.9 requests)
356     * (note also that r->the_request contains the unmodified request)
357     */
358    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool,
359                             (r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>parsed_uri : include/httpd.h line=959 column=15
p
arsed_uri.password : /usr/include/apr-1/apr_uri.h line=93 column=11 password)
360                               conditional operator : true=0, false=0
?
 apr_pstrcat : enter=0, leave=0

apr_pstrcat : /usr/include/apr-1/apr_strings.h line=139 column=28
a
pr_pstrcat(r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>method : include/httpd.h line=829 column=17
m
ethod, " ",
361                                             apr_uri_unparse : enter=0, leave=0

apr_uri_unparse : /usr/include/apr-1/apr_uri.h line=146 column=21
a
pr_uri_unparse(r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool,
362                                                             &r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>parsed_uri : include/httpd.h line=959 column=15
p
arsed_uri, 0),
363                                             r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>assbackwards : include/httpd.h line=801 column=9
a
ssbackwards conditional operator : true=0, false=0
?
 NULL : " ",
364                                             r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>protocol : include/httpd.h line=810 column=11
p
rotocol, NULL)
365                               : r : modules/loggers/mod_log_config.c line=351 column=50
r
-> : enter=0, leave=0
-
>the_request : include/httpd.h line=799 column=11
t
he_request);
366}
367
368static const char *log_request_file : call=0
l
og_request_file(request_rec *r, char *a)
369{
370    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=368 column=50
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=368 column=50
r
-> : enter=0, leave=0
-
>filename : include/httpd.h line=948 column=11
f
ilename);
371}
372static const char *log_request_uri : call=0
l
og_request_uri(request_rec *r, char *a)
373{
374    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=372 column=49
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=372 column=49
r
-> : enter=0, leave=0
-
>uri : include/httpd.h line=946 column=11
u
ri);
375}
376static const char *log_request_method : call=0
l
og_request_method(request_rec *r, char *a)
377{
378    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=376 column=52
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=376 column=52
r
-> : enter=0, leave=0
-
>method : include/httpd.h line=829 column=17
m
ethod);
379}
380static const char *log_request_protocol : call=0
l
og_request_protocol(request_rec *r, char *a)
381{
382    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=380 column=54
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=380 column=54
r
-> : enter=0, leave=0
-
>protocol : include/httpd.h line=810 column=11
p
rotocol);
383}
384static const char *log_request_query : call=0
l
og_request_query(request_rec *r, char *a)
385{
386    return : pass=0
r
eturn (r : modules/loggers/mod_log_config.c line=384 column=51
r
-> : enter=0, leave=0
-
>args : include/httpd.h line=955 column=11
a
rgs) conditional operator : true=0, false=0
?
 apr_pstrcat : enter=0, leave=0

apr_pstrcat : /usr/include/apr-1/apr_strings.h line=139 column=28
a
pr_pstrcat(r : modules/loggers/mod_log_config.c line=384 column=51
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, "?",
387                                   ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=384 column=51
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=384 column=51
r
-> : enter=0, leave=0
-
>args : include/httpd.h line=955 column=11
a
rgs), NULL)
388                     : "";
389}
390static const char *log_status : call=0
l
og_status(request_rec *r, char *a)
391{
392    return : pass=0
r
eturn pfmt : enter=0, leave=0

pfmt : modules/loggers/mod_log_config.c line=297 column=14
p
fmt(r : modules/loggers/mod_log_config.c line=390 column=44
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=390 column=44
r
-> : enter=0, leave=0
-
>status : include/httpd.h line=822 column=9
s
tatus);
393}
394
395static const char *log_handler : call=0
l
og_handler(request_rec *r, char *a)
396{
397    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=395 column=45
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=395 column=45
r
-> : enter=0, leave=0
-
>handler : include/httpd.h line=919 column=17
h
andler);
398}
399
400static const char *clf_log_bytes_sent : call=0
c
lf_log_bytes_sent(request_rec *r, char *a)
401{
402    if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
r : modules/loggers/mod_log_config.c line=400 column=52
r
-> : enter=0, leave=0
-
>sent_bodyct : include/httpd.h line=860 column=15
s
ent_bodyct || : true=0, false=0
|
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
r : modules/loggers/mod_log_config.c line=400 column=52
r
-> : enter=0, leave=0
-
>bytes_sent : include/httpd.h line=862 column=15
b
ytes_sent) {
403        return : pass=0
r
eturn "-";
404    }
405    else {
406        return : pass=0
r
eturn apr_off_t_toa : enter=0, leave=0

apr_off_t_toa : /usr/include/apr-1/apr_strings.h line=299 column=21
a
pr_off_t_toa(r : modules/loggers/mod_log_config.c line=400 column=52
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=400 column=52
r
-> : enter=0, leave=0
-
>bytes_sent : include/httpd.h line=862 column=15
b
ytes_sent);
407    }
408}
409
410static const char *log_bytes_sent : call=0
l
og_bytes_sent(request_rec *r, char *a)
411{
412    if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
r : modules/loggers/mod_log_config.c line=410 column=48
r
-> : enter=0, leave=0
-
>sent_bodyct : include/httpd.h line=860 column=15
s
ent_bodyct || : true=0, false=0
|
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
r : modules/loggers/mod_log_config.c line=410 column=48
r
-> : enter=0, leave=0
-
>bytes_sent : include/httpd.h line=862 column=15
b
ytes_sent) {
413        return : pass=0
r
eturn "0";
414    }
415    else {
416        return : pass=0
r
eturn apr_off_t_toa : enter=0, leave=0

apr_off_t_toa : /usr/include/apr-1/apr_strings.h line=299 column=21
a
pr_off_t_toa(r : modules/loggers/mod_log_config.c line=410 column=48
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=410 column=48
r
-> : enter=0, leave=0
-
>bytes_sent : include/httpd.h line=862 column=15
b
ytes_sent);
417    }
418}
419
420
421static const char *log_header_in : call=0
l
og_header_in(request_rec *r, char *a)
422{
423    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=421 column=47
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=421 column=47
r
-> : enter=0, leave=0
-
>headers_in : include/httpd.h line=901 column=18
h
eaders_in, a : modules/loggers/mod_log_config.c line=421 column=56
a
));
424}
425
426static const char *log_trailer_in : call=0
l
og_trailer_in(request_rec *r, char *a)
427{
428    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=426 column=48
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=426 column=48
r
-> : enter=0, leave=0
-
>trailers_in : include/httpd.h line=1011 column=18
t
railers_in, a : modules/loggers/mod_log_config.c line=426 column=57
a
));
429}
430
431
432static APR_INLINE char *find_multiple_headers : call=0
f
ind_multiple_headers(apr_pool_t *pool,
433                                              const apr_table_t *table,
434                                              const char *key)
435{
436    const apr_array_header_t *elts;
437    const apr_table_entry_t *t_elt;
438    const apr_table_entry_t *t_end;
439    apr_size_t len;
440    struct sle {
441        struct sle *next;
442        const char *value;
443        apr_size_t len;
444    } *result_list, *rp;
445
446    elts : modules/loggers/mod_log_config.c line=436 column=31
e
lts = : pass=0
=
 apr_table_elts : enter=0, leave=0

apr_table_elts : /usr/include/apr-1/apr_tables.h line=88 column=41
a
pr_table_elts(table : modules/loggers/mod_log_config.c line=433 column=66
t
able);
447
448    if : true=0, false=0
i
f (! : true=0, false=0
!
elts : modules/loggers/mod_log_config.c line=436 column=31
e
lts-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts) {
449        return : pass=0
r
eturn NULL;
450    }
451
452    t_elt : modules/loggers/mod_log_config.c line=437 column=30
t
_elt = : pass=0
=
 (const apr_table_entry_t *)elts : modules/loggers/mod_log_config.c line=436 column=31
e
lts-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
453    t_end : modules/loggers/mod_log_config.c line=438 column=30
t
_end = : pass=0
=
 t_elt : modules/loggers/mod_log_config.c line=437 column=30
t
_elt + : pass=0
+
 elts : modules/loggers/mod_log_config.c line=436 column=31
e
lts-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts;
454    len : modules/loggers/mod_log_config.c line=439 column=16
l
en = : pass=0
=
 1; /* \0 */
455    result_list : modules/loggers/mod_log_config.c line=444 column=8
r
esult_list = : pass=0
=
 rp : modules/loggers/mod_log_config.c line=444 column=22
r
= : pass=0
=
 NULL;
456
457    do {
458        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(t_elt : modules/loggers/mod_log_config.c line=437 column=30
t
_elt-> : enter=0, leave=0
-
>key : /usr/include/apr-1/apr_tables.h line=73 column=11 key, key : modules/loggers/mod_log_config.c line=434 column=59
k
ey)) {
459            if : true=0, false=0
i
f (! : true=0, false=0
!
result_list : modules/loggers/mod_log_config.c line=444 column=8
r
esult_list) {
460                result_list : modules/loggers/mod_log_config.c line=444 column=8
r
esult_list = : pass=0
=
 rp : modules/loggers/mod_log_config.c line=444 column=22
r
= : pass=0
=
 apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(pool : modules/loggers/mod_log_config.c line=432 column=59
p
ool, sizeof(*rp));
461            }
462            else {
463                rp : modules/loggers/mod_log_config.c line=444 column=22
r
= : pass=0
=
 rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>next : modules/loggers/mod_log_config.c line=441 column=21
n
ext = : enter=0, leave=0
=
 apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(pool : modules/loggers/mod_log_config.c line=432 column=59
p
ool, sizeof(*rp));
464                len : modules/loggers/mod_log_config.c line=439 column=16
l
en += : pass=0
+
= 2; /* ", " */
465            }
466
467            rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>next : modules/loggers/mod_log_config.c line=441 column=21
n
ext = : enter=0, leave=0
=
 NULL;
468            rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>value : modules/loggers/mod_log_config.c line=442 column=21
v
alue = : enter=0, leave=0
=
 t_elt : modules/loggers/mod_log_config.c line=437 column=30
t
_elt-> : enter=0, leave=0
-
>val : /usr/include/apr-1/apr_tables.h line=77 column=11 val;
469            rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>len : modules/loggers/mod_log_config.c line=443 column=20
l
en = : enter=0, leave=0
=
 strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>value : modules/loggers/mod_log_config.c line=442 column=21
v
alue);
470
471            len : modules/loggers/mod_log_config.c line=439 column=16
l
en += : pass=0
+
rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>len : modules/loggers/mod_log_config.c line=443 column=20
l
en;
472        }
473        ++ : pass=0
+
+t_elt : modules/loggers/mod_log_config.c line=437 column=30
t
_elt;
474    } while : true=0, false=0
w
hile (t_elt : modules/loggers/mod_log_config.c line=437 column=30
t
_elt < : true=0, false=0
<
 t_end : modules/loggers/mod_log_config.c line=438 column=30
t
_end);
475
476    if : true=0, false=0
i
f (result_list : modules/loggers/mod_log_config.c line=444 column=8
r
esult_list) {
477        char *result = apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(pool : modules/loggers/mod_log_config.c line=432 column=59
p
ool, len : modules/loggers/mod_log_config.c line=439 column=16
l
en);
478        char *cp = result : modules/loggers/mod_log_config.c line=477 column=15
r
esult;
479
480        rp : modules/loggers/mod_log_config.c line=444 column=22
r
= : pass=0
=
 result_list : modules/loggers/mod_log_config.c line=444 column=8
r
esult_list;
481        while : true=0, false=0
w
hile (rp : modules/loggers/mod_log_config.c line=444 column=22
r
p) {
482            if : true=0, false=0
i
f (rp : modules/loggers/mod_log_config.c line=444 column=22
r
!= : true=0, false=0
!
result_list : modules/loggers/mod_log_config.c line=444 column=8
r
esult_list) {
483                *cp : modules/loggers/mod_log_config.c line=478 column=15
c
p++ : pass=0
+
= : enter=0, leave=0
=
 ',';
484                *cp : modules/loggers/mod_log_config.c line=478 column=15
c
p++ : pass=0
+
= : enter=0, leave=0
=
 ' ';
485            }
486            memcpy : enter=0, leave=0

memcpy : /usr/include/string.h line=44 column=14
m
emcpy(cp : modules/loggers/mod_log_config.c line=478 column=15
c
p, rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>value : modules/loggers/mod_log_config.c line=442 column=21
v
alue, rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>len : modules/loggers/mod_log_config.c line=443 column=20
l
en);
487            cp : modules/loggers/mod_log_config.c line=478 column=15
c
+= : pass=0
+
rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>len : modules/loggers/mod_log_config.c line=443 column=20
l
en;
488            rp : modules/loggers/mod_log_config.c line=444 column=22
r
= : pass=0
=
 rp : modules/loggers/mod_log_config.c line=444 column=22
r
p-> : enter=0, leave=0
-
>next : modules/loggers/mod_log_config.c line=441 column=21
n
ext;
489        }
490        *cp : modules/loggers/mod_log_config.c line=478 column=15
c
= : enter=0, leave=0
=
 '\0';
491
492        return : pass=0
r
eturn result : modules/loggers/mod_log_config.c line=477 column=15
r
esult;
493    }
494
495    return : pass=0
r
eturn NULL;
496}
497
498static const char *log_header_out : call=0
l
og_header_out(request_rec *r, char *a)
499{
500    const char *cp = NULL;
501
502    if : true=0, false=0
i
f (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(a : modules/loggers/mod_log_config.c line=498 column=57
a
, "Content-type") && : true=0, false=0
&
r : modules/loggers/mod_log_config.c line=498 column=48
r
MC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>content_type : include/httpd.h line=917 column=17
c
ontent_type) {
503        cp : modules/loggers/mod_log_config.c line=500 column=17
c
= : pass=0
=
 ap_field_noparam : enter=0, leave=0

ap_field_noparam : include/httpd.h line=1276 column=20
a
p_field_noparam(r : modules/loggers/mod_log_config.c line=498 column=48
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=498 column=48
r
-> : enter=0, leave=0
-
>content_type : include/httpd.h line=917 column=17
c
ontent_type);
504    }
505    else 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(a : modules/loggers/mod_log_config.c line=498 column=57
a
, "Set-Cookie")) {
506        cp : modules/loggers/mod_log_config.c line=500 column=17
c
= : pass=0
=
 find_multiple_headers : enter=0, leave=0

find_multiple_headers : modules/loggers/mod_log_config.c line=432 column=25
f
ind_multiple_headers(r : modules/loggers/mod_log_config.c line=498 column=48
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=498 column=48
r
-> : enter=0, leave=0
-
>headers_out : include/httpd.h line=903 column=18
h
eaders_out, a : modules/loggers/mod_log_config.c line=498 column=57
a
);
507    }
508    else {
509        cp : modules/loggers/mod_log_config.c line=500 column=17
c
= : pass=0
=
 apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=498 column=48
r
-> : enter=0, leave=0
-
>headers_out : include/httpd.h line=903 column=18
h
eaders_out, a : modules/loggers/mod_log_config.c line=498 column=57
a
);
510    }
511
512    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=498 column=48
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, cp : modules/loggers/mod_log_config.c line=500 column=17
c
p);
513}
514
515static const char *log_trailer_out : call=0
l
og_trailer_out(request_rec *r, char *a)
516{
517    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=515 column=49
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=515 column=49
r
-> : enter=0, leave=0
-
>trailers_out : include/httpd.h line=1013 column=18
t
railers_out, a : modules/loggers/mod_log_config.c line=515 column=58
a
));
518}
519
520static const char *log_note : call=0
l
og_note(request_rec *r, char *a)
521{
522    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=520 column=42
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=520 column=42
r
-> : enter=0, leave=0
-
>notes : include/httpd.h line=910 column=18
n
otes, a : modules/loggers/mod_log_config.c line=520 column=51
a
));
523}
524static const char *log_env_var : call=0
l
og_env_var(request_rec *r, char *a)
525{
526    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=524 column=45
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=524 column=45
r
-> : enter=0, leave=0
-
>subprocess_env : include/httpd.h line=908 column=18
s
ubprocess_env, a : modules/loggers/mod_log_config.c line=524 column=54
a
));
527}
528
529static const char *log_cookie : call=0
l
og_cookie(request_rec *r, char *a)
530{
531    const char *cookies_entry;
532
533    /*
534     * This supports Netscape version 0 cookies while being tolerant to
535     * some properties of RFC2109/2965 version 1 cookies:
536     * - case-insensitive match of cookie names
537     * - white space between the tokens
538     * It does not support the following version 1 features:
539     * - quoted strings as cookie values
540     * - commas to separate cookies
541     */
542
543    if : true=0, false=0
i
f ((cookies_entry : modules/loggers/mod_log_config.c line=531 column=17
c
ookies_entry = : pass=0
=
 apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=529 column=44
r
-> : enter=0, leave=0
-
>headers_in : include/httpd.h line=901 column=18
h
eaders_in, "Cookie"))) {
544        char *cookie, *last1, *last2;
545        char *cookies = apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(r : modules/loggers/mod_log_config.c line=529 column=44
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, cookies_entry : modules/loggers/mod_log_config.c line=531 column=17
c
ookies_entry);
546
547        while : true=0, false=0
w
hile ((cookie : modules/loggers/mod_log_config.c line=544 column=15
c
ookie = : pass=0
=
 apr_strtok : enter=0, leave=0

apr_strtok : /usr/include/apr-1/apr_strings.h line=229 column=21
a
pr_strtok(cookies : modules/loggers/mod_log_config.c line=545 column=15
c
ookies, ";", &last1 : modules/loggers/mod_log_config.c line=544 column=24
l
ast1))) {
548            char *name = apr_strtok : enter=0, leave=0

apr_strtok : /usr/include/apr-1/apr_strings.h line=229 column=21
a
pr_strtok(cookie : modules/loggers/mod_log_config.c line=544 column=15
c
ookie, "=", &last2 : modules/loggers/mod_log_config.c line=544 column=32
l
ast2);
549            /* last2 points to the next char following an '=' delim,
550               or the trailing NUL char of the string */
551            char *value = last2 : modules/loggers/mod_log_config.c line=544 column=32
l
ast2;
552            if : true=0, false=0
i
f (MC/DC independently affect : true=0, false=0

name : modules/loggers/mod_log_config.c line=548 column=19
nTF
ame && : true=0, false=0
&
MC/DC independently affect : true=0, false=0
* dereference : enter=0, leave=0
*TF
name : modules/loggers/mod_log_config.c line=548 column=19
n
ame && : true=0, false=0
&
&  MC/DC independently affect : true=0, false=0

value : modules/loggers/mod_log_config.c line=551 column=19
vTF
alue && : true=0, false=0
&
MC/DC independently affect : true=0, false=0
* dereference : enter=0, leave=0
*TF
value : modules/loggers/mod_log_config.c line=551 column=19
v
alue) {
553                char *last = value : modules/loggers/mod_log_config.c line=551 column=19
v
alue - : pass=0
-
 2;
554                /* Move past leading WS */
555                name : modules/loggers/mod_log_config.c line=548 column=19
n
ame += : pass=0
+
strspn : enter=0, leave=0

strspn : /usr/include/string.h line=288 column=15
s
trspn(name : modules/loggers/mod_log_config.c line=548 column=19
n
ame, " \t");
556                while : true=0, false=0
w
hile (last : modules/loggers/mod_log_config.c line=553 column=23
l
ast >= : true=0, false=0
MC/DC independently affect : true=0, false=0
>TF
name : modules/loggers/mod_log_config.c line=548 column=19
n
ame && : true=0, false=0
&
& apr_isspace(* dereference : enter=0, leave=0
*
last : modules/loggers/mod_log_config.c line=553 column=23
l
ast)) {
557                    *last : modules/loggers/mod_log_config.c line=553 column=23
l
ast = : enter=0, leave=0
=
 '\0';
558                    -- : pass=0
-
-last : modules/loggers/mod_log_config.c line=553 column=23
l
ast;
559                }
560
561                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 : modules/loggers/mod_log_config.c line=548 column=19
n
ame, a : modules/loggers/mod_log_config.c line=529 column=53
a
)) {
562                    /* last1 points to the next char following the ';' delim,
563                       or the trailing NUL char of the string */
564                    last : modules/loggers/mod_log_config.c line=553 column=23
l
ast = : pass=0
=
 last1 : modules/loggers/mod_log_config.c line=544 column=24
l
ast1 - : pass=0
-
 (* dereference : enter=0, leave=0
*
last1 : modules/loggers/mod_log_config.c line=544 column=24
l
ast1 conditional operator : true=0, false=0
?
 2 : 1);
565                    /* Move past leading WS */
566                    value : modules/loggers/mod_log_config.c line=551 column=19
v
alue += : pass=0
+
strspn : enter=0, leave=0

strspn : /usr/include/string.h line=288 column=15
s
trspn(value : modules/loggers/mod_log_config.c line=551 column=19
v
alue, " \t");
567                    while : true=0, false=0
w
hile (last : modules/loggers/mod_log_config.c line=553 column=23
l
ast >= : true=0, false=0
MC/DC independently affect : true=0, false=0
>TF
value : modules/loggers/mod_log_config.c line=551 column=19
v
alue && : true=0, false=0
&
& apr_isspace(* dereference : enter=0, leave=0
*
last : modules/loggers/mod_log_config.c line=553 column=23
l
ast)) {
568                       *last : modules/loggers/mod_log_config.c line=553 column=23
l
ast = : enter=0, leave=0
=
 '\0';
569                       -- : pass=0
-
-last : modules/loggers/mod_log_config.c line=553 column=23
l
ast;
570                    }
571
572                    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=529 column=44
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, value : modules/loggers/mod_log_config.c line=551 column=19
v
alue);
573                }
574            }
575            /* Iterate the remaining tokens using apr_strtok(NULL, ...) */
576            cookies : modules/loggers/mod_log_config.c line=545 column=15
c
ookies = : pass=0
=
 NULL;
577        }
578    }
579    return : pass=0
r
eturn NULL;
580}
581
582static const char *log_request_time_custom : call=0
l
og_request_time_custom(request_rec *r, char *a,
583                                           apr_time_exp_t *xt)
584{
585    apr_size_t retcode;
586    char tstr[MAX_STRING_LEN];
587    apr_strftime : enter=0, leave=0

apr_strftime : /usr/include/apr-1/apr_time.h line=214 column=27
a
pr_strftime(tstr : modules/loggers/mod_log_config.c line=586 column=10
t
str, &retcode : modules/loggers/mod_log_config.c line=585 column=16
r
etcode, sizeof(tstr), a : modules/loggers/mod_log_config.c line=582 column=66
a
xt : modules/loggers/mod_log_config.c line=583 column=60
x
t);
588    return : pass=0
r
eturn apr_pstrdup : enter=0, leave=0

apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21
a
pr_pstrdup(r : modules/loggers/mod_log_config.c line=582 column=57
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, tstr : modules/loggers/mod_log_config.c line=586 column=10
t
str);
589}
590
591#define DEFAULT_REQUEST_TIME_SIZE 32
592typedef struct {
593    unsigned t;
594    char timestr[DEFAULT_REQUEST_TIME_SIZE];
595    unsigned t_validate;
596} cached_request_time;
597
598#define TIME_FMT_CUSTOM          0
599#define TIME_FMT_CLF             1
600#define TIME_FMT_ABS_SEC         2
601#define TIME_FMT_ABS_MSEC        3
602#define TIME_FMT_ABS_USEC        4
603#define TIME_FMT_ABS_MSEC_FRAC   5
604#define TIME_FMT_ABS_USEC_FRAC   6
605
606#define TIME_CACHE_SIZE 4
607#define TIME_CACHE_MASK 3
608static cached_request_time request_time_cache[TIME_CACHE_SIZE];
609
610static apr_time_t get_request_end_time : call=0
g
et_request_end_time(request_rec *r)
611{
612    log_request_state *state = (log_request_state *)ap_get_module_config(r : modules/loggers/mod_log_config.c line=610 column=53
r
-> : enter=0, leave=0
-
>request_config : include/httpd.h line=979 column=30
r
equest_config,
613                                                                         &log_config_module : modules/loggers/mod_log_config.c line=178 column=31
l
og_config_module);
614    if : true=0, false=0
i
f (! : true=0, false=0
!
state : modules/loggers/mod_log_config.c line=612 column=24
s
tate) {
615        state : modules/loggers/mod_log_config.c line=612 column=24
s
tate = : pass=0
=
 apr_pcalloc(r : modules/loggers/mod_log_config.c line=610 column=53
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, sizeof(log_request_state));
616        ap_set_module_config(r : modules/loggers/mod_log_config.c line=610 column=53
r
-> : enter=0, leave=0
-
>request_config : include/httpd.h line=979 column=30
r
equest_config, &log_config_module : modules/loggers/mod_log_config.c line=178 column=31
l
og_config_module, state : modules/loggers/mod_log_config.c line=612 column=24
s
tate);
617    }
618    if : true=0, false=0
i
f (state : modules/loggers/mod_log_config.c line=612 column=24
s
tate-> : enter=0, leave=0
-
>request_end_time : modules/loggers/mod_log_config.c line=276 column=16
r
equest_end_time == : true=0, false=0
=
= 0) {
619        state : modules/loggers/mod_log_config.c line=612 column=24
s
tate-> : enter=0, leave=0
-
>request_end_time : modules/loggers/mod_log_config.c line=276 column=16
r
equest_end_time = : enter=0, leave=0
=
 apr_time_now : enter=0, leave=0

apr_time_now : /usr/include/apr-1/apr_time.h line=85 column=25
a
pr_time_now();
620    }
621    return : pass=0
r
eturn state : modules/loggers/mod_log_config.c line=612 column=24
s
tate-> : enter=0, leave=0
-
>request_end_time : modules/loggers/mod_log_config.c line=276 column=16
r
equest_end_time;
622}
623
624
625static const char *log_request_time : call=0
l
og_request_time(request_rec *r, char *a)
626{
627    apr_time_exp_t xt;
628    apr_time_t request_time = r : modules/loggers/mod_log_config.c line=625 column=50
r
-> : enter=0, leave=0
-
>request_time : include/httpd.h line=817 column=16
r
equest_time;
629    int fmt_type = TIME_FMT_CUSTOM;
630    char *fmt = a : modules/loggers/mod_log_config.c line=625 column=59
a
;
631
632    if : true=0, false=0
i
f (MC/DC independently affect : true=0, false=0

fmt : modules/loggers/mod_log_config.c line=630 column=11
fTF
mt && : true=0, false=0
&
MC/DC independently affect : true=0, false=0
* dereference : enter=0, leave=0
*TF
fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt) {
633        if : true=0, false=0
i
f (! : true=0, false=0
!
strncmp : enter=0, leave=0

strncmp : /usr/include/string.h line=146 column=12
s
trncmp(fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt, "begin", 5)) {
634            fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt += : pass=0
+
= 5;
635            if : true=0, false=0
i
f (! : true=0, false=0
!
* dereference : enter=0, leave=0
*
fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt) {
636                fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_CLF;
637            }
638            else if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt == : true=0, false=0
=
= ':') {
639                fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt++ : pass=0
+
+;
640                a : modules/loggers/mod_log_config.c line=625 column=59
a
 = : pass=0
=
 fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt;
641            }
642        }
643        else if : true=0, false=0
i
f (! : true=0, false=0
!
strncmp : enter=0, leave=0

strncmp : /usr/include/string.h line=146 column=12
s
trncmp(fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt, "end", 3)) {
644            fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt += : pass=0
+
= 3;
645            if : true=0, false=0
i
f (! : true=0, false=0
!
* dereference : enter=0, leave=0
*
fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt) {
646                request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time = : pass=0
=
 get_request_end_time : enter=0, leave=0

get_request_end_time : modules/loggers/mod_log_config.c line=610 column=19
g
et_request_end_time(r : modules/loggers/mod_log_config.c line=625 column=50
r
);
647                fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_CLF;
648            }
649            else if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt == : true=0, false=0
=
= ':') {
650                fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt++ : pass=0
+
+;
651                a : modules/loggers/mod_log_config.c line=625 column=59
a
 = : pass=0
=
 fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt;
652                request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time = : pass=0
=
 get_request_end_time : enter=0, leave=0

get_request_end_time : modules/loggers/mod_log_config.c line=610 column=19
g
et_request_end_time(r : modules/loggers/mod_log_config.c line=625 column=50
r
);
653            }
654        }
655        if : true=0, false=0
i
f (! : true=0, false=0
!
strncmp : enter=0, leave=0

strncmp : /usr/include/string.h line=146 column=12
s
trncmp(fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt, "msec", 4)) {
656            fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt += : pass=0
+
= 4;
657            if : true=0, false=0
i
f (! : true=0, false=0
!
* dereference : enter=0, leave=0
*
fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt) {
658                fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_ABS_MSEC;
659            }
660            else if : true=0, false=0
i
f (! : true=0, false=0
!
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt, "_frac")) {
661                fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_ABS_MSEC_FRAC;
662            }
663        }
664        else if : true=0, false=0
i
f (! : true=0, false=0
!
strncmp : enter=0, leave=0

strncmp : /usr/include/string.h line=146 column=12
s
trncmp(fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt, "usec", 4)) {
665            fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt += : pass=0
+
= 4;
666            if : true=0, false=0
i
f (! : true=0, false=0
!
* dereference : enter=0, leave=0
*
fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt) {
667                fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_ABS_USEC;
668            }
669            else if : true=0, false=0
i
f (! : true=0, false=0
!
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt, "_frac")) {
670                fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_ABS_USEC_FRAC;
671            }
672        }
673        else if : true=0, false=0
i
f (! : true=0, false=0
!
strcmp : enter=0, leave=0

strcmp : /usr/include/string.h line=143 column=12
s
trcmp(fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt, "sec")) {
674            fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_ABS_SEC;
675        }
676        else if : true=0, false=0
i
f (! : true=0, false=0
!
* dereference : enter=0, leave=0
*
fmt : modules/loggers/mod_log_config.c line=630 column=11
f
mt) {
677            fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_CLF;
678        }
679    }
680    else {
681        fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type = : pass=0
=
 TIME_FMT_CLF;
682    }
683
684    if : true=0, false=0
i
f (fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type >= : true=0, false=0
>
= TIME_FMT_ABS_SEC) {      /* Absolute (micro-/milli-)second time
685                                              * or msec/usec fraction
686                                              */
687        char* buf = apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(r : modules/loggers/mod_log_config.c line=625 column=50
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, 20);
688        switch : pass=0
s
witch (fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type) {
689        case : true=0, false=0
c
ase TIME_FMT_ABS_SEC:
690            apr_snprintf : enter=0, leave=0

apr_snprintf : /usr/include/apr-1/apr_strings.h line=261 column=25
a
pr_snprintf(buf : modules/loggers/mod_log_config.c line=687 column=15
b
uf, 20, "%" APR_TIME_T_FMT, apr_time_sec(request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time));
691            break : pass=0
b
reak;
692        case : true=0, false=0
c
ase TIME_FMT_ABS_MSEC:
693            apr_snprintf : enter=0, leave=0

apr_snprintf : /usr/include/apr-1/apr_strings.h line=261 column=25
a
pr_snprintf(buf : modules/loggers/mod_log_config.c line=687 column=15
b
uf, 20, "%" APR_TIME_T_FMT, apr_time_as_msec(request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time));
694            break : pass=0
b
reak;
695        case : true=0, false=0
c
ase TIME_FMT_ABS_USEC:
696            apr_snprintf : enter=0, leave=0

apr_snprintf : /usr/include/apr-1/apr_strings.h line=261 column=25
a
pr_snprintf(buf : modules/loggers/mod_log_config.c line=687 column=15
b
uf, 20, "%" APR_TIME_T_FMT, request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time);
697            break : pass=0
b
reak;
698        case : true=0, false=0
c
ase TIME_FMT_ABS_MSEC_FRAC:
699            apr_snprintf : enter=0, leave=0

apr_snprintf : /usr/include/apr-1/apr_strings.h line=261 column=25
a
pr_snprintf(buf : modules/loggers/mod_log_config.c line=687 column=15
b
uf, 20, "%03" APR_TIME_T_FMT, apr_time_msec(request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time));
700            break : pass=0
b
reak;
701        case : true=0, false=0
c
ase TIME_FMT_ABS_USEC_FRAC:
702            apr_snprintf : enter=0, leave=0

apr_snprintf : /usr/include/apr-1/apr_strings.h line=261 column=25
a
pr_snprintf(buf : modules/loggers/mod_log_config.c line=687 column=15
b
uf, 20, "%06" APR_TIME_T_FMT, apr_time_usec(request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time));
703            break : pass=0
b
reak;
704        default : true=0, false=0
d
efault:
705            return : pass=0
r
eturn "-";
706        }
707        return : pass=0
r
eturn buf : modules/loggers/mod_log_config.c line=687 column=15
b
uf;
708    }
709    else if : true=0, false=0
i
f (fmt_type : modules/loggers/mod_log_config.c line=629 column=9
f
mt_type == : true=0, false=0
=
= TIME_FMT_CUSTOM) {  /* Custom format */
710        /* The custom time formatting uses a very large temp buffer
711         * on the stack.  To avoid using so much stack space in the
712         * common case where we're not using a custom format, the code
713         * for the custom format in a separate function.  (That's why
714         * log_request_time_custom is not inlined right here.)
715         */
716        ap_explode_recent_localtime : enter=0, leave=0

ap_explode_recent_localtime : include/util_time.h line=54 column=26
a
p_explode_recent_localtime(&xt : modules/loggers/mod_log_config.c line=627 column=20
x
t, request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time);
717        return : pass=0
r
eturn log_request_time_custom : enter=0, leave=0

log_request_time_custom : modules/loggers/mod_log_config.c line=582 column=20
l
og_request_time_custom(r : modules/loggers/mod_log_config.c line=625 column=50
r
a : modules/loggers/mod_log_config.c line=625 column=59
a
, &xt : modules/loggers/mod_log_config.c line=627 column=20
x
t);
718    }
719    else {                                   /* CLF format */
720        /* This code uses the same technique as ap_explode_recent_localtime():
721         * optimistic caching with logic to detect and correct race conditions.
722         * See the comments in server/util_time.c for more information.
723         */
724        cached_request_time* cached_time = apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(r : modules/loggers/mod_log_config.c line=625 column=50
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool,
725                                                      sizeof(*cached_time));
726        unsigned t_seconds = (unsigned)apr_time_sec(request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time);
727        unsigned i = t_seconds : modules/loggers/mod_log_config.c line=726 column=18
t
_seconds & : pass=0
&
 TIME_CACHE_MASK;
728        *cached_time : modules/loggers/mod_log_config.c line=724 column=30
c
ached_time = : enter=0, leave=0
=
 request_time_cache : modules/loggers/mod_log_config.c line=608 column=28
r
equest_time_cache[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=727 column=18
i
];
729        if : true=0, false=0
i
f ((t_seconds : modules/loggers/mod_log_config.c line=726 column=18
t
_seconds != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
cached_time : modules/loggers/mod_log_config.c line=724 column=30
c
ached_time-> : enter=0, leave=0
-
>t : modules/loggers/mod_log_config.c line=593 column=14
t
|| : true=0, false=0
|
|
730            (t_seconds : modules/loggers/mod_log_config.c line=726 column=18
t
_seconds != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
cached_time : modules/loggers/mod_log_config.c line=724 column=30
c
ached_time-> : enter=0, leave=0
-
>t_validate : modules/loggers/mod_log_config.c line=595 column=14
t
_validate)) {
731
732            /* Invalid or old snapshot, so compute the proper time string
733             * and store it in the cache
734             */
735            char sign;
736            int timz;
737
738            ap_explode_recent_localtime : enter=0, leave=0

ap_explode_recent_localtime : include/util_time.h line=54 column=26
a
p_explode_recent_localtime(&xt : modules/loggers/mod_log_config.c line=627 column=20
x
t, request_time : modules/loggers/mod_log_config.c line=628 column=16
r
equest_time);
739            timz : modules/loggers/mod_log_config.c line=736 column=17
t
imz = : pass=0
=
 xt : modules/loggers/mod_log_config.c line=627 column=20
x
t.tm_gmtoff : /usr/include/apr-1/apr_time.h line=117 column=17 tm_gmtoff;
740            if : true=0, false=0
i
f (timz : modules/loggers/mod_log_config.c line=736 column=17
t
imz < : true=0, false=0
<
 0) {
741                timz : modules/loggers/mod_log_config.c line=736 column=17
t
imz = : pass=0
=
 -timz : modules/loggers/mod_log_config.c line=736 column=17
t
imz;
742                sign : modules/loggers/mod_log_config.c line=735 column=18
s
ign = : pass=0
=
 '-';
743            }
744            else {
745                sign : modules/loggers/mod_log_config.c line=735 column=18
s
ign = : pass=0
=
 '+';
746            }
747            cached_time : modules/loggers/mod_log_config.c line=724 column=30
c
ached_time-> : enter=0, leave=0
-
>t : modules/loggers/mod_log_config.c line=593 column=14
t
 = : enter=0, leave=0
=
 t_seconds : modules/loggers/mod_log_config.c line=726 column=18
t
_seconds;
748            apr_snprintf : enter=0, leave=0

apr_snprintf : /usr/include/apr-1/apr_strings.h line=261 column=25
a
pr_snprintf(cached_time : modules/loggers/mod_log_config.c line=724 column=30
c
ached_time-> : enter=0, leave=0
-
>timestr : modules/loggers/mod_log_config.c line=594 column=10
t
imestr, DEFAULT_REQUEST_TIME_SIZE,
749                         "[%02d/%s/%d:%02d:%02d:%02d %c%.2d%.2d]",
750                         xt : modules/loggers/mod_log_config.c line=627 column=20
x
t.tm_mday : /usr/include/apr-1/apr_time.h line=105 column=17 tm_mday, apr_month_snames : /usr/include/apr-1/apr_time.h line=40 column=36 apr_month_snames[] : enter=0, leave=0
[
xt : modules/loggers/mod_log_config.c line=627 column=20
x
t.tm_mon : /usr/include/apr-1/apr_time.h line=107 column=17 tm_mon],
751                         xt : modules/loggers/mod_log_config.c line=627 column=20
x
t.tm_year : /usr/include/apr-1/apr_time.h line=109 column=17 tm_year+ : pass=0
+
1900, xt : modules/loggers/mod_log_config.c line=627 column=20
x
t.tm_hour : /usr/include/apr-1/apr_time.h line=103 column=17 tm_hour, xt : modules/loggers/mod_log_config.c line=627 column=20
x
t.tm_min : /usr/include/apr-1/apr_time.h line=101 column=17 tm_min, xt : modules/loggers/mod_log_config.c line=627 column=20
x
t.tm_sec : /usr/include/apr-1/apr_time.h line=99 column=17 tm_sec,
752                         sign : modules/loggers/mod_log_config.c line=735 column=18
s
ign, timz : modules/loggers/mod_log_config.c line=736 column=17
t
imz / : pass=0
/
 (60* : pass=0
*
60), (timz : modules/loggers/mod_log_config.c line=736 column=17
t
imz % : pass=0
%
 (60* : pass=0
*
60)) / : pass=0
/
 60);
753            cached_time : modules/loggers/mod_log_config.c line=724 column=30
c
ached_time-> : enter=0, leave=0
-
>t_validate : modules/loggers/mod_log_config.c line=595 column=14
t
_validate = : enter=0, leave=0
=
 t_seconds : modules/loggers/mod_log_config.c line=726 column=18
t
_seconds;
754            request_time_cache : modules/loggers/mod_log_config.c line=608 column=28
r
equest_time_cache[i : modules/loggers/mod_log_config.c line=727 column=18
i
= : enter=0, leave=0
=
 * dereference : enter=0, leave=0
*
cached_time : modules/loggers/mod_log_config.c line=724 column=30
c
ached_time;
755        }
756        return : pass=0
r
eturn cached_time : modules/loggers/mod_log_config.c line=724 column=30
c
ached_time-> : enter=0, leave=0
-
>timestr : modules/loggers/mod_log_config.c line=594 column=10
t
imestr;
757    }
758}
759
760static const char *log_request_duration_microseconds : call=0
l
og_request_duration_microseconds(request_rec *r, char *a)
761{
762    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(r : modules/loggers/mod_log_config.c line=760 column=67
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, "%" APR_TIME_T_FMT,
763                        (get_request_end_time : enter=0, leave=0

get_request_end_time : modules/loggers/mod_log_config.c line=610 column=19
g
et_request_end_time(r : modules/loggers/mod_log_config.c line=760 column=67
r
- : pass=0
-
 r : modules/loggers/mod_log_config.c line=760 column=67
r
-> : enter=0, leave=0
-
>request_time : include/httpd.h line=817 column=16
r
equest_time));
764}
765
766static const char *log_request_duration_scaled : call=0
l
og_request_duration_scaled(request_rec *r, char *a)
767{
768    apr_time_t duration = get_request_end_time : enter=0, leave=0

get_request_end_time : modules/loggers/mod_log_config.c line=610 column=19
g
et_request_end_time(r : modules/loggers/mod_log_config.c line=766 column=61
r
- : pass=0
-
 r : modules/loggers/mod_log_config.c line=766 column=61
r
-> : enter=0, leave=0
-
>request_time : include/httpd.h line=817 column=16
r
equest_time;
769    if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
a : modules/loggers/mod_log_config.c line=766 column=70
a
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(a : modules/loggers/mod_log_config.c line=766 column=70
a
, "s")) {
770        duration : modules/loggers/mod_log_config.c line=768 column=16
d
uration = : pass=0
=
 apr_time_sec(duration : modules/loggers/mod_log_config.c line=768 column=16
d
uration);
771    }
772    else 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(a : modules/loggers/mod_log_config.c line=766 column=70
a
, "ms")) {
773        duration : modules/loggers/mod_log_config.c line=768 column=16
d
uration = : pass=0
=
 apr_time_as_msec(duration : modules/loggers/mod_log_config.c line=768 column=16
d
uration);
774    }
775    else 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(a : modules/loggers/mod_log_config.c line=766 column=70
a
, "us")) {
776    }
777    else {
778        /* bogus format */
779        return : pass=0
r
eturn a : modules/loggers/mod_log_config.c line=766 column=70
a
;
780    }
781    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(r : modules/loggers/mod_log_config.c line=766 column=61
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, "%" APR_TIME_T_FMT, duration : modules/loggers/mod_log_config.c line=768 column=16
d
uration);
782}
783
784/* These next two routines use the canonical name:port so that log
785 * parsers don't need to duplicate all the vhost parsing crud.
786 */
787static const char *log_virtual_host : call=0
l
og_virtual_host(request_rec *r, char *a)
788{
789    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=787 column=50
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, r : modules/loggers/mod_log_config.c line=787 column=50
r
-> : enter=0, leave=0
-
>server : include/httpd.h line=784 column=17
s
erver-> : enter=0, leave=0
-
>server_hostname : include/httpd.h line=1188 column=11
s
erver_hostname);
790}
791
792static const char *log_server_port : call=0
l
og_server_port(request_rec *r, char *a)
793{
794    apr_port_t port;
795
796    if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
a : modules/loggers/mod_log_config.c line=792 column=58
a
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
strcasecmp : enter=0, leave=0

strcasecmp : /usr/include/string.h line=536 column=12
s
trcasecmp(a : modules/loggers/mod_log_config.c line=792 column=58
a
, "canonical")) {
797        port : modules/loggers/mod_log_config.c line=794 column=16
p
ort = : pass=0
=
 r : modules/loggers/mod_log_config.c line=792 column=49
r
-> : enter=0, leave=0
-
>server : include/httpd.h line=784 column=17
s
erver-> : enter=0, leave=0
-
>port : include/httpd.h line=1190 column=16
p
ort conditional operator : true=0, false=0
?
 r : modules/loggers/mod_log_config.c line=792 column=49
r
-> : enter=0, leave=0
-
>server : include/httpd.h line=784 column=17
s
erver-> : enter=0, leave=0
-
>port : include/httpd.h line=1190 column=16
p
ort : ap_default_port(r : modules/loggers/mod_log_config.c line=792 column=49
r
);
798    }
799    else 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(a : modules/loggers/mod_log_config.c line=792 column=58
a
, "remote")) {
800        port : modules/loggers/mod_log_config.c line=794 column=16
p
ort = : pass=0
=
 r : modules/loggers/mod_log_config.c line=792 column=49
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>remote_addr : include/httpd.h line=1057 column=21
r
emote_addr-> : enter=0, leave=0
-
>port : /usr/include/apr-1/apr_network_io.h line=219 column=16 port;
801    }
802    else 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(a : modules/loggers/mod_log_config.c line=792 column=58
a
, "local")) {
803        port : modules/loggers/mod_log_config.c line=794 column=16
p
ort = : pass=0
=
 r : modules/loggers/mod_log_config.c line=792 column=49
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>local_addr : include/httpd.h line=1055 column=21
l
ocal_addr-> : enter=0, leave=0
-
>port : /usr/include/apr-1/apr_network_io.h line=219 column=16 port;
804    }
805    else {
806        /* bogus format */
807        return : pass=0
r
eturn a : modules/loggers/mod_log_config.c line=792 column=58
a
;
808    }
809    return : pass=0
r
eturn apr_itoa : enter=0, leave=0

apr_itoa : /usr/include/apr-1/apr_strings.h line=283 column=21
a
pr_itoa(r : modules/loggers/mod_log_config.c line=792 column=49
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, (int)port : modules/loggers/mod_log_config.c line=794 column=16
p
ort);
810}
811
812/* This respects the setting of UseCanonicalName so that
813 * the dynamic mass virtual hosting trick works better.
814 */
815static const char *log_server_name : call=0
l
og_server_name(request_rec *r, char *a)
816{
817    return : pass=0
r
eturn ap_escape_logitem : enter=0, leave=0

ap_escape_logitem : include/httpd.h line=1528 column=20
a
p_escape_logitem(r : modules/loggers/mod_log_config.c line=815 column=49
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, ap_get_server_name : enter=0, leave=0

ap_get_server_name : include/http_core.h line=228 column=26
a
p_get_server_name(r : modules/loggers/mod_log_config.c line=815 column=49
r
));
818}
819
820static const char *log_pid_tid : call=0
l
og_pid_tid(request_rec *r, char *a)
821{
822    if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
a : modules/loggers/mod_log_config.c line=820 column=54
a
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0' || : true=0, false=0
|
! : 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(a : modules/loggers/mod_log_config.c line=820 column=54
a
, "pid")) {
823        return : pass=0
r
eturn ap_append_pid : enter=0, leave=0

ap_append_pid : include/httpd.h line=1777 column=20
a
p_append_pid(r : modules/loggers/mod_log_config.c line=820 column=45
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, "", "");
824    }
825    else if : true=0, false=0
i
f (! : 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(a : modules/loggers/mod_log_config.c line=820 column=54
a
, "tid") || : true=0, false=0
|
! : 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(a : modules/loggers/mod_log_config.c line=820 column=54
a
, "hextid")) {
826#if APR_HAS_THREADS
827        apr_os_thread_t tid = apr_os_thread_current : enter=0, leave=0

apr_os_thread_current : /usr/include/apr-1/apr_portable.h line=318 column=30
a
pr_os_thread_current();
828#else
829        int tid = 0; /* APR will format "0" anyway but an arg is needed */
830#endif
831        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(r : modules/loggers/mod_log_config.c line=820 column=45
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool,
832#if APR_MAJOR_VERSION > 1 || (APR_MAJOR_VERSION == 1 && APR_MINOR_VERSION >= 2)
833                            /* APR can format a thread id in hex */
834                            *a == 'h' ? "%pt" : "%pT",
835#else
836                            /* APR is missing the feature, so always use decimal */
837                            "%pT",
838#endif
839                            &tid : modules/loggers/mod_log_config.c line=827 column=25
t
id);
840    }
841    /* bogus format */
842    return : pass=0
r
eturn a : modules/loggers/mod_log_config.c line=820 column=54
a
;
843}
844
845static const char *log_connection_status : call=0
l
og_connection_status(request_rec *r, char *a)
846{
847    if : true=0, false=0
i
f (r : modules/loggers/mod_log_config.c line=845 column=55
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>aborted : include/httpd.h line=1070 column=14
a
borted)
848        return : pass=0
r
eturn "X";
849
850    if : true=0, false=0
i
f (r : modules/loggers/mod_log_config.c line=845 column=55
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>keepalive : include/httpd.h line=1074 column=25
k
eepalive == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
AP_CONN_KEEPALIVE : include/httpd.h line=1039 column=5
A
P_CONN_KEEPALIVE && : true=0, false=0
&
&
851        (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
r : modules/loggers/mod_log_config.c line=845 column=55
r
-> : enter=0, leave=0
-
>server : include/httpd.h line=784 column=17
s
erver-> : enter=0, leave=0
-
>keep_alive_max : include/httpd.h line=1220 column=9
k
eep_alive_max || : true=0, false=0
|
|
852         (r : modules/loggers/mod_log_config.c line=845 column=55
r
-> : enter=0, leave=0
-
>server : include/httpd.h line=784 column=17
s
erver-> : enter=0, leave=0
-
>keep_alive_max : include/httpd.h line=1220 column=9
k
eep_alive_max - : pass=0
-
 r : modules/loggers/mod_log_config.c line=845 column=55
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>keepalives : include/httpd.h line=1081 column=9
k
eepalives) > : true=0, false=0
MC/DC independently affect : true=0, false=0
>TF
 0)) {
853        return : pass=0
r
eturn "+";
854    }
855    return : pass=0
r
eturn "-";
856}
857
858static const char *log_requests_on_connection : call=0
l
og_requests_on_connection(request_rec *r, char *a)
859{
860    int num = r : modules/loggers/mod_log_config.c line=858 column=60
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>keepalives : include/httpd.h line=1081 column=9
k
eepalives conditional operator : true=0, false=0
?
 r : modules/loggers/mod_log_config.c line=858 column=60
r
-> : enter=0, leave=0
-
>connection : include/httpd.h line=782 column=15
c
onnection-> : enter=0, leave=0
-
>keepalives : include/httpd.h line=1081 column=9
k
eepalives - : pass=0
-
 1 : 0;
861    return : pass=0
r
eturn apr_itoa : enter=0, leave=0

apr_itoa : /usr/include/apr-1/apr_strings.h line=283 column=21
a
pr_itoa(r : modules/loggers/mod_log_config.c line=858 column=60
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, num : modules/loggers/mod_log_config.c line=860 column=9
n
um);
862}
863
864/*****************************************************************
865 *
866 * Parsing the log format string
867 */
868
869static char *parse_log_misc_string : call=0
p
arse_log_misc_string(apr_pool_t *p, log_format_item *it,
870                                   const char **sa)
871{
872    const char *s;
873    char *d;
874
875    it : modules/loggers/mod_log_config.c line=869 column=68
i
t-> : enter=0, leave=0
-
>func : modules/loggers/mod_log_config.c line=285 column=26
f
unc = : enter=0, leave=0
=
 constant_item : modules/loggers/mod_log_config.c line=307 column=20
c
onstant_item;
876    it : modules/loggers/mod_log_config.c line=869 column=68
i
t-> : enter=0, leave=0
-
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions = : enter=0, leave=0
=
 NULL;
877
878    s : modules/loggers/mod_log_config.c line=872 column=17
s
 = : pass=0
=
 * dereference : enter=0, leave=0
*
sa : modules/loggers/mod_log_config.c line=870 column=49
s
a;
879    while : true=0, false=0
w
hile (MC/DC independently affect : true=0, false=0
* dereference : enter=0, leave=0
*TF
s : modules/loggers/mod_log_config.c line=872 column=17
s
 && : true=0, false=0
&
* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=872 column=17
s
 != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= '%') {
880        s : modules/loggers/mod_log_config.c line=872 column=17
s
++ : pass=0
+
+;
881    }
882    /*
883     * This might allocate a few chars extra if there's a backslash
884     * escape in the format string.
885     */
886    it : modules/loggers/mod_log_config.c line=869 column=68
i
t-> : enter=0, leave=0
-
>arg : modules/loggers/mod_log_config.c line=286 column=11
a
rg = : enter=0, leave=0
=
 apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(p : modules/loggers/mod_log_config.c line=869 column=48
p
s : modules/loggers/mod_log_config.c line=872 column=17
s
 - : pass=0
-
 * dereference : enter=0, leave=0
*
sa : modules/loggers/mod_log_config.c line=870 column=49
s
+ : pass=0
+
 1);
887
888    d : modules/loggers/mod_log_config.c line=873 column=11
d
 = : pass=0
=
 it : modules/loggers/mod_log_config.c line=869 column=68
i
t-> : enter=0, leave=0
-
>arg : modules/loggers/mod_log_config.c line=286 column=11
a
rg;
889    s : modules/loggers/mod_log_config.c line=872 column=17
s
 = : pass=0
=
 * dereference : enter=0, leave=0
*
sa : modules/loggers/mod_log_config.c line=870 column=49
s
a;
890    while : true=0, false=0
w
hile (MC/DC independently affect : true=0, false=0
* dereference : enter=0, leave=0
*TF
s : modules/loggers/mod_log_config.c line=872 column=17
s
 && : true=0, false=0
&
* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=872 column=17
s
 != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= '%') {
891        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=872 column=17
s
 != : true=0, false=0
!
= '\\') {
892            *d : modules/loggers/mod_log_config.c line=873 column=11
d
++ : pass=0
+
= : enter=0, leave=0
=
 * dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=872 column=17
s
++ : pass=0
+
+;
893        }
894        else {
895            s : modules/loggers/mod_log_config.c line=872 column=17
s
++ : pass=0
+
+;
896            switch : pass=0
s
witch (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=872 column=17
s
) {
897            case : true=0, false=0
c
ase '\\':
898                *d : modules/loggers/mod_log_config.c line=873 column=11
d
++ : pass=0
+
= : enter=0, leave=0
=
 '\\';
899                s : modules/loggers/mod_log_config.c line=872 column=17
s
++ : pass=0
+
+;
900                break : pass=0
b
reak;
901            case : true=0, false=0
c
ase 'r':
902                *d : modules/loggers/mod_log_config.c line=873 column=11
d
++ : pass=0
+
= : enter=0, leave=0
=
 '\r';
903                s : modules/loggers/mod_log_config.c line=872 column=17
s
++ : pass=0
+
+;
904                break : pass=0
b
reak;
905            case : true=0, false=0
c
ase 'n':
906                *d : modules/loggers/mod_log_config.c line=873 column=11
d
++ : pass=0
+
= : enter=0, leave=0
=
 '\n';
907                s : modules/loggers/mod_log_config.c line=872 column=17
s
++ : pass=0
+
+;
908                break : pass=0
b
reak;
909            case : true=0, false=0
c
ase 't':
910                *d : modules/loggers/mod_log_config.c line=873 column=11
d
++ : pass=0
+
= : enter=0, leave=0
=
 '\t';
911                s : modules/loggers/mod_log_config.c line=872 column=17
s
++ : pass=0
+
+;
912                break : pass=0
b
reak;
913            default : true=0, false=0
d
efault:
914                /* copy verbatim */
915                *d : modules/loggers/mod_log_config.c line=873 column=11
d
++ : pass=0
+
= : enter=0, leave=0
=
 '\\';
916                /*
917                 * Allow the loop to deal with this *s in the normal
918                 * fashion so that it handles end of string etc.
919                 * properly.
920                 */
921                break : pass=0
b
reak;
922            }
923        }
924    }
925    *d : modules/loggers/mod_log_config.c line=873 column=11
d
 = : enter=0, leave=0
=
 '\0';
926
927    *sa : modules/loggers/mod_log_config.c line=870 column=49
s
= : enter=0, leave=0
=
 s : modules/loggers/mod_log_config.c line=872 column=17
s
;
928    return : pass=0
r
eturn NULL;
929}
930
931static char *parse_log_item : call=0
p
arse_log_item(apr_pool_t *p, log_format_item *it, const char **sa)
932{
933    const char *s = * dereference : enter=0, leave=0
*
sa : modules/loggers/mod_log_config.c line=931 column=78
s
a;
934    ap_log_handler *handler = NULL;
935
936    if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=933 column=17
s
 != : true=0, false=0
!
= '%') {
937        return : pass=0
r
eturn parse_log_misc_string : enter=0, leave=0

parse_log_misc_string : modules/loggers/mod_log_config.c line=869 column=14
p
arse_log_misc_string(p : modules/loggers/mod_log_config.c line=931 column=41
p
it : modules/loggers/mod_log_config.c line=931 column=61
i
t, sa : modules/loggers/mod_log_config.c line=931 column=78
s
a);
938    }
939
940    ++ : pass=0
+
+s : modules/loggers/mod_log_config.c line=933 column=17
s
;
941    it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>condition_sense : modules/loggers/mod_log_config.c line=287 column=9
c
ondition_sense = : enter=0, leave=0
=
 0;
942    it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions = : enter=0, leave=0
=
 NULL;
943
944    if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=933 column=17
s
 == : true=0, false=0
=
= '%') {
945        it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>arg : modules/loggers/mod_log_config.c line=286 column=11
a
rg = : enter=0, leave=0
=
 "%";
946        it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>func : modules/loggers/mod_log_config.c line=285 column=26
f
unc = : enter=0, leave=0
=
 constant_item : modules/loggers/mod_log_config.c line=307 column=20
c
onstant_item;
947        *sa : modules/loggers/mod_log_config.c line=931 column=78
s
= : enter=0, leave=0
=
 ++ : pass=0
+
+s : modules/loggers/mod_log_config.c line=933 column=17
s
;
948
949        return : pass=0
r
eturn NULL;
950    }
951
952    it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>want_orig : modules/loggers/mod_log_config.c line=288 column=9
w
ant_orig = : enter=0, leave=0
=
 -1;
953    it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>arg : modules/loggers/mod_log_config.c line=286 column=11
a
rg = : enter=0, leave=0
=
 "";               /* For safety's sake... */
954
955    while : true=0, false=0
w
hile (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=933 column=17
s
) {
956        int i;
957
958        switch : pass=0
s
witch (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=933 column=17
s
) {
959        case : true=0, false=0
c
ase '!':
960            ++ : pass=0
+
+s : modules/loggers/mod_log_config.c line=933 column=17
s
;
961            it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>condition_sense : modules/loggers/mod_log_config.c line=287 column=9
c
ondition_sense = : enter=0, leave=0
=
 ! : true=0, false=0
!
it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>condition_sense : modules/loggers/mod_log_config.c line=287 column=9
c
ondition_sense;
962            break : pass=0
b
reak;
963
964        case : true=0, false=0
c
ase '<':
965            ++ : pass=0
+
+s : modules/loggers/mod_log_config.c line=933 column=17
s
;
966            it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>want_orig : modules/loggers/mod_log_config.c line=288 column=9
w
ant_orig = : enter=0, leave=0
=
 1;
967            break : pass=0
b
reak;
968
969        case : true=0, false=0
c
ase '>':
970            ++ : pass=0
+
+s : modules/loggers/mod_log_config.c line=933 column=17
s
;
971            it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>want_orig : modules/loggers/mod_log_config.c line=288 column=9
w
ant_orig = : enter=0, leave=0
=
 0;
972            break : pass=0
b
reak;
973
974        case : true=0, false=0
c
ase ',':
975            ++ : pass=0
+
+s : modules/loggers/mod_log_config.c line=933 column=17
s
;
976            break : pass=0
b
reak;
977
978        case : true=0, false=0
c
ase '{':
979            ++ : pass=0
+
+s : modules/loggers/mod_log_config.c line=933 column=17
s
;
980            it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>arg : modules/loggers/mod_log_config.c line=286 column=11
a
rg = : enter=0, leave=0
=
 ap_getword : enter=0, leave=0

ap_getword : include/httpd.h line=1299 column=20
a
p_getword(p : modules/loggers/mod_log_config.c line=931 column=41
p
, &s : modules/loggers/mod_log_config.c line=933 column=17
s
, '}');
981            break : pass=0
b
reak;
982
983        case : true=0, false=0
c
ase '0':
984        case : true=0, false=0
c
ase '1':
985        case : true=0, false=0
c
ase '2':
986        case : true=0, false=0
c
ase '3':
987        case : true=0, false=0
c
ase '4':
988        case : true=0, false=0
c
ase '5':
989        case : true=0, false=0
c
ase '6':
990        case : true=0, false=0
c
ase '7':
991        case : true=0, false=0
c
ase '8':
992        case : true=0, false=0
c
ase '9':
993            i : modules/loggers/mod_log_config.c line=956 column=13
i
 = : pass=0
=
 * dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=933 column=17
s
 - : pass=0
-
 '0';
994            while : true=0, false=0
w
hile (apr_isdigit(* dereference : enter=0, leave=0
*
++ : pass=0
+
+s : modules/loggers/mod_log_config.c line=933 column=17
s
)) {
995                i : modules/loggers/mod_log_config.c line=956 column=13
i
 = : pass=0
=
 i : modules/loggers/mod_log_config.c line=956 column=13
i
 * : pass=0
*
 10 + : pass=0
+
 (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=933 column=17
s
- : pass=0
-
 '0';
996            }
997            if : true=0, false=0
i
f (! : true=0, false=0
!
it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions) {
998                it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions = : 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 : modules/loggers/mod_log_config.c line=931 column=41
p
, 4, sizeof(int));
999            }
1000            *(int *) 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(it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions) = : enter=0, leave=0
=
 i : modules/loggers/mod_log_config.c line=956 column=13
i
;
1001            break : pass=0
b
reak;
1002
1003        default : true=0, false=0
d
efault:
1004            /* check for '^' + two character format first */
1005            if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=933 column=17
s
 == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '^' && : true=0, false=0
&
MC/DC independently affect : true=0, false=0
* dereference : enter=0, leave=0
*TF
(s : modules/loggers/mod_log_config.c line=933 column=17
s
+ : pass=0
+
1) && : true=0, false=0
&
MC/DC independently affect : true=0, false=0
* dereference : enter=0, leave=0
*TF
(s : modules/loggers/mod_log_config.c line=933 column=17
s
+ : pass=0
+
2)) { 
1006                handler : modules/loggers/mod_log_config.c line=934 column=21
h
andler = : pass=0
=
 (ap_log_handler *)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(log_hash : modules/loggers/mod_log_config.c line=183 column=20
l
og_hash, s : modules/loggers/mod_log_config.c line=933 column=17
s
, 3); 
1007                if : true=0, false=0
i
f (handler : modules/loggers/mod_log_config.c line=934 column=21
h
andler) { 
1008                   s : modules/loggers/mod_log_config.c line=933 column=17
s
 += : pass=0
+
= 3;
1009                }
1010            }
1011            if : true=0, false=0
i
f (! : true=0, false=0
!
handler : modules/loggers/mod_log_config.c line=934 column=21
h
andler) {  
1012                handler : modules/loggers/mod_log_config.c line=934 column=21
h
andler = : pass=0
=
 (ap_log_handler *)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(log_hash : modules/loggers/mod_log_config.c line=183 column=20
l
og_hash, s : modules/loggers/mod_log_config.c line=933 column=17
s
++ : pass=0
+
+, 1);  
1013            }
1014            if : true=0, false=0
i
f (! : true=0, false=0
!
handler : modules/loggers/mod_log_config.c line=934 column=21
h
andler) {
1015                char dummy[2];
1016
1017                dummy : modules/loggers/mod_log_config.c line=1015 column=22
d
ummy[0] = : enter=0, leave=0
=
 s : modules/loggers/mod_log_config.c line=933 column=17
s
[] : enter=0, leave=0
[
-1];
1018                dummy : modules/loggers/mod_log_config.c line=1015 column=22
d
ummy[1] = : enter=0, leave=0
=
 '\0';
1019                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 : modules/loggers/mod_log_config.c line=931 column=41
p
, "Unrecognized LogFormat directive %",
1020                               dummy : modules/loggers/mod_log_config.c line=1015 column=22
d
ummy, NULL);
1021            }
1022            it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>func : modules/loggers/mod_log_config.c line=285 column=26
f
unc = : enter=0, leave=0
=
 handler : modules/loggers/mod_log_config.c line=934 column=21
h
andler-> : enter=0, leave=0
-
>func : modules/loggers/mod_log_config.h line=55 column=26 func;
1023            if : true=0, false=0
i
f (it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>want_orig : modules/loggers/mod_log_config.c line=288 column=9
w
ant_orig == : true=0, false=0
=
= -1) {
1024                it : modules/loggers/mod_log_config.c line=931 column=61
i
t-> : enter=0, leave=0
-
>want_orig : modules/loggers/mod_log_config.c line=288 column=9
w
ant_orig = : enter=0, leave=0
=
 handler : modules/loggers/mod_log_config.c line=934 column=21
h
andler-> : enter=0, leave=0
-
>want_orig_default : modules/loggers/mod_log_config.h line=56 column=9 want_orig_default;
1025            }
1026            *sa : modules/loggers/mod_log_config.c line=931 column=78
s
= : enter=0, leave=0
=
 s : modules/loggers/mod_log_config.c line=933 column=17
s
;
1027            return : pass=0
r
eturn NULL;
1028        }
1029    }
1030
1031    return : pass=0
r
eturn "Ran off end of LogFormat parsing args to some directive";
1032}
1033
1034static apr_array_header_t *parse_log_string : call=0
p
arse_log_string(apr_pool_t *p, const char *s, const char **err)
1035{
1036    apr_array_header_t *a = 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 : modules/loggers/mod_log_config.c line=1034 column=57
p
, 30, sizeof(log_format_item));
1037    char *res;
1038
1039    while : true=0, false=0
w
hile (* dereference : enter=0, leave=0
*
s : modules/loggers/mod_log_config.c line=1034 column=72
s
) {
1040        if : true=0, false=0
i
f ((res : modules/loggers/mod_log_config.c line=1037 column=11
r
es = : pass=0
=
 parse_log_item : enter=0, leave=0

parse_log_item : modules/loggers/mod_log_config.c line=931 column=14
p
arse_log_item(p : modules/loggers/mod_log_config.c line=1034 column=57
p
, (log_format_item *) 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(a : modules/loggers/mod_log_config.c line=1036 column=25
a
), &s : modules/loggers/mod_log_config.c line=1034 column=72
s
))) {
1041            *err : modules/loggers/mod_log_config.c line=1034 column=88
e
rr = : enter=0, leave=0
=
 res : modules/loggers/mod_log_config.c line=1037 column=11
r
es;
1042            return : pass=0
r
eturn NULL;
1043        }
1044    }
1045
1046    s : modules/loggers/mod_log_config.c line=1034 column=72
s
 = : pass=0
=
 APR_EOL_STR;
1047    parse_log_item : enter=0, leave=0

parse_log_item : modules/loggers/mod_log_config.c line=931 column=14
p
arse_log_item(p : modules/loggers/mod_log_config.c line=1034 column=57
p
, (log_format_item *) 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(a : modules/loggers/mod_log_config.c line=1036 column=25
a
), &s : modules/loggers/mod_log_config.c line=1034 column=72
s
);
1048    return : pass=0
r
eturn a : modules/loggers/mod_log_config.c line=1036 column=25
a
;
1049}
1050
1051/*****************************************************************
1052 *
1053 * Actually logging.
1054 */
1055
1056static const char *process_item : call=0
p
rocess_item(request_rec *r, request_rec *orig,
1057                          log_format_item *item)
1058{
1059    const char *cp;
1060
1061    /* First, see if we need to process this thing at all... */
1062
1063    if : true=0, false=0
i
f (item : modules/loggers/mod_log_config.c line=1057 column=44
i
temMC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions && : true=0, false=0
&
item : modules/loggers/mod_log_config.c line=1057 column=44
i
tem-> : enter=0, leave=0
-
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= 0) {
1064        int i;
1065        int *conds = (int *) item : modules/loggers/mod_log_config.c line=1057 column=44
i
tem-> : enter=0, leave=0
-
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
1066        int in_list = 0;
1067
1068        for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1064 column=13
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1064 column=13
i
 < : true=0, false=0
<
 item : modules/loggers/mod_log_config.c line=1057 column=44
i
tem-> : enter=0, leave=0
-
>conditions : modules/loggers/mod_log_config.c line=289 column=25
c
onditions-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1064 column=13
i
) {
1069            if : true=0, false=0
i
f (r : modules/loggers/mod_log_config.c line=1056 column=46
r
-> : enter=0, leave=0
-
>status : include/httpd.h line=822 column=9
s
tatus == : true=0, false=0
=
conds : modules/loggers/mod_log_config.c line=1065 column=14
c
onds[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1064 column=13
i
]) {
1070                in_list : modules/loggers/mod_log_config.c line=1066 column=13
i
n_list = : pass=0
=
 1;
1071                break : pass=0
b
reak;
1072            }
1073        }
1074
1075        if : true=0, false=0
i
f ((item : modules/loggers/mod_log_config.c line=1057 column=44
i
temMC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>condition_sense : modules/loggers/mod_log_config.c line=287 column=9
c
ondition_sense && : true=0, false=0
&
MC/DC independently affect : true=0, false=0

in_list : modules/loggers/mod_log_config.c line=1066 column=13
iTF
n_list)
1076            || : true=0, false=0
|
| (! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
item : modules/loggers/mod_log_config.c line=1057 column=44
i
tem-> : enter=0, leave=0
-
>condition_sense : modules/loggers/mod_log_config.c line=287 column=9
c
ondition_sense && : true=0, false=0
&
! : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
in_list : modules/loggers/mod_log_config.c line=1066 column=13
i
n_list)) {
1077            return : pass=0
r
eturn "-";
1078        }
1079    }
1080
1081    /* We do.  Do it... */
1082
1083    cp : modules/loggers/mod_log_config.c line=1059 column=17
c
= : pass=0
=
 func : enter=0, leave=0

func : modules/loggers/mod_log_config.c line=285 column=26
(
*item : modules/loggers/mod_log_config.c line=1057 column=44
i
tem-> : enter=0, leave=0
-
>func : modules/loggers/mod_log_config.c line=285 column=26
f
unc) (item : modules/loggers/mod_log_config.c line=1057 column=44
i
tem-> : enter=0, leave=0
-
>want_orig : modules/loggers/mod_log_config.c line=288 column=9
w
ant_orig conditional operator : true=0, false=0
?
 orig : modules/loggers/mod_log_config.c line=1056 column=62
o
rig : r : modules/loggers/mod_log_config.c line=1056 column=46
r
item : modules/loggers/mod_log_config.c line=1057 column=44
i
tem-> : enter=0, leave=0
-
>arg : modules/loggers/mod_log_config.c line=286 column=11
a
rg);
1084    return : pass=0
r
eturn cp : modules/loggers/mod_log_config.c line=1059 column=17
c
conditional operator : true=0, false=0
?
 cp : modules/loggers/mod_log_config.c line=1059 column=17
c
p : "-";
1085}
1086
1087static void flush_log : call=0
f
lush_log(buffered_log *buf)
1088{
1089    if : true=0, false=0
i
f (buf : modules/loggers/mod_log_config.c line=1087 column=37
b
ufMC/DC independently affect : true=0, false=0
-> : enter=0, leave=0
-TF
>outcnt : modules/loggers/mod_log_config.c line=258 column=16
o
utcnt && : true=0, false=0
&
buf : modules/loggers/mod_log_config.c line=1087 column=37
b
uf-> : enter=0, leave=0
-
>handle : modules/loggers/mod_log_config.c line=257 column=17
h
andle != : true=0, false=0
MC/DC independently affect : true=0, false=0
!TF
= NULL) {
1090        apr_file_write : enter=0, leave=0

apr_file_write : /usr/include/apr-1/apr_file_io.h line=425 column=27
a
pr_file_write(buf : modules/loggers/mod_log_config.c line=1087 column=37
b
uf-> : enter=0, leave=0
-
>handle : modules/loggers/mod_log_config.c line=257 column=17
h
andle, buf : modules/loggers/mod_log_config.c line=1087 column=37
b
uf-> : enter=0, leave=0
-
>outbuf : modules/loggers/mod_log_config.c line=259 column=10
o
utbuf, &buf : modules/loggers/mod_log_config.c line=1087 column=37
b
uf-> : enter=0, leave=0
-
>outcnt : modules/loggers/mod_log_config.c line=258 column=16
o
utcnt);
1091        buf : modules/loggers/mod_log_config.c line=1087 column=37
b
uf-> : enter=0, leave=0
-
>outcnt : modules/loggers/mod_log_config.c line=258 column=16
o
utcnt = : enter=0, leave=0
=
 0;
1092    }
1093}
1094
1095
1096static int config_log_transaction : call=0
c
onfig_log_transaction(request_rec *r, config_log_state *cls,
1097                                  apr_array_header_t *default_format)
1098{
1099    log_format_item *items;
1100    const char **strs;
1101    int *strl;
1102    request_rec *orig;
1103    int i;
1104    apr_size_t len = 0;
1105    apr_array_header_t *format;
1106    char *envar;
1107    apr_status_t rv;
1108
1109    if : true=0, false=0
i
f (cls : modules/loggers/mod_log_config.c line=1096 column=69
c
ls-> : enter=0, leave=0
-
>fname : modules/loggers/mod_log_config.c line=264 column=17
f
name == : true=0, false=0
=
= NULL) {
1110        return : pass=0
r
eturn DECLINED;
1111    }
1112
1113    /*
1114     * See if we've got any conditional envariable-controlled logging decisions
1115     * to make.
1116     */
1117    if : true=0, false=0
i
f (cls : modules/loggers/mod_log_config.c line=1096 column=69
c
ls-> : enter=0, leave=0
-
>condition_var : modules/loggers/mod_log_config.c line=268 column=11
c
ondition_var != : true=0, false=0
!
= NULL) {
1118        envar : modules/loggers/mod_log_config.c line=1106 column=11
e
nvar = : pass=0
=
 cls : modules/loggers/mod_log_config.c line=1096 column=69
c
ls-> : enter=0, leave=0
-
>condition_var : modules/loggers/mod_log_config.c line=268 column=11
c
ondition_var;
1119        if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
envar : modules/loggers/mod_log_config.c line=1106 column=11
e
nvar != : true=0, false=0
!
= '!') {
1120            if : true=0, false=0
i
f (apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=1096 column=48
r
-> : enter=0, leave=0
-
>subprocess_env : include/httpd.h line=908 column=18
s
ubprocess_env, envar : modules/loggers/mod_log_config.c line=1106 column=11
e
nvar) == : true=0, false=0
=
= NULL) {
1121                return : pass=0
r
eturn DECLINED;
1122            }
1123        }
1124        else {
1125            if : true=0, false=0
i
f (apr_table_get : enter=0, leave=0

apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27
a
pr_table_get(r : modules/loggers/mod_log_config.c line=1096 column=48
r
-> : enter=0, leave=0
-
>subprocess_env : include/httpd.h line=908 column=18
s
ubprocess_env, &envar : modules/loggers/mod_log_config.c line=1106 column=11
e
nvar[] : enter=0, leave=0
[
1]) != : true=0, false=0
!
= NULL) {
1126                return : pass=0
r
eturn DECLINED;
1127            }
1128        }
1129    }
1130
1131    format : modules/loggers/mod_log_config.c line=1105 column=25
f
ormat = : pass=0
=
 cls : modules/loggers/mod_log_config.c line=1096 column=69
c
ls-> : enter=0, leave=0
-
>format : modules/loggers/mod_log_config.c line=266 column=25
f
ormat conditional operator : true=0, false=0
?
 cls : modules/loggers/mod_log_config.c line=1096 column=69
c
ls-> : enter=0, leave=0
-
>format : modules/loggers/mod_log_config.c line=266 column=25
f
ormat : default_format : modules/loggers/mod_log_config.c line=1097 column=55
d
efault_format;
1132
1133    strs : modules/loggers/mod_log_config.c line=1100 column=18
s
trs = : 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 : modules/loggers/mod_log_config.c line=1096 column=48
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, sizeof(char *) * : pass=0
*
 (format : modules/loggers/mod_log_config.c line=1105 column=25
f
ormat-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts));
1134    strl : modules/loggers/mod_log_config.c line=1101 column=10
s
trl = : 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 : modules/loggers/mod_log_config.c line=1096 column=48
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, sizeof(int) * : pass=0
*
 (format : modules/loggers/mod_log_config.c line=1105 column=25
f
ormat-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts));
1135    items : modules/loggers/mod_log_config.c line=1099 column=22
i
tems = : pass=0
=
 (log_format_item *) format : modules/loggers/mod_log_config.c line=1105 column=25
f
ormat-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
1136
1137    orig : modules/loggers/mod_log_config.c line=1102 column=18
o
rig = : pass=0
=
 r : modules/loggers/mod_log_config.c line=1096 column=48
r
;
1138    while : true=0, false=0
w
hile (orig : modules/loggers/mod_log_config.c line=1102 column=18
o
rig-> : enter=0, leave=0
-
>prev : include/httpd.h line=789 column=18
p
rev) {
1139        orig : modules/loggers/mod_log_config.c line=1102 column=18
o
rig = : pass=0
=
 orig : modules/loggers/mod_log_config.c line=1102 column=18
o
rig-> : enter=0, leave=0
-
>prev : include/httpd.h line=789 column=18
p
rev;
1140    }
1141    while : true=0, false=0
w
hile (r : modules/loggers/mod_log_config.c line=1096 column=48
r
-> : enter=0, leave=0
-
>next : include/httpd.h line=787 column=18
n
ext) {
1142        r : modules/loggers/mod_log_config.c line=1096 column=48
r
 = : pass=0
=
 r : modules/loggers/mod_log_config.c line=1096 column=48
r
-> : enter=0, leave=0
-
>next : include/httpd.h line=787 column=18
n
ext;
1143    }
1144
1145    for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1103 column=9
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1103 column=9
i
 < : true=0, false=0
<
 format : modules/loggers/mod_log_config.c line=1105 column=25
f
ormat-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1103 column=9
i
) {
1146        strs : modules/loggers/mod_log_config.c line=1100 column=18
s
trs[i : modules/loggers/mod_log_config.c line=1103 column=9
i
= : enter=0, leave=0
=
 process_item : enter=0, leave=0

process_item : modules/loggers/mod_log_config.c line=1056 column=20
p
rocess_item(r : modules/loggers/mod_log_config.c line=1096 column=48
r
orig : modules/loggers/mod_log_config.c line=1102 column=18
o
rig, &items : modules/loggers/mod_log_config.c line=1099 column=22
i
tems[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1103 column=9
i
]);
1147    }
1148
1149    for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1103 column=9
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1103 column=9
i
 < : true=0, false=0
<
 format : modules/loggers/mod_log_config.c line=1105 column=25
f
ormat-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1103 column=9
i
) {
1150        len : modules/loggers/mod_log_config.c line=1104 column=16
l
en += : pass=0
+
strl : modules/loggers/mod_log_config.c line=1101 column=10
s
trl[i : modules/loggers/mod_log_config.c line=1103 column=9
i
= : enter=0, leave=0
=
 strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(strs : modules/loggers/mod_log_config.c line=1100 column=18
s
trs[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1103 column=9
i
]);
1151    }
1152    if : true=0, false=0
i
f (! : true=0, false=0
!
log_writer : modules/loggers/mod_log_config.c line=203 column=23
l
og_writer) {
1153        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, APR_EGENERAL, r : modules/loggers/mod_log_config.c line=1096 column=48
r
,
1154                "log writer isn't correctly setup");
1155         return : pass=0
r
eturn HTTP_INTERNAL_SERVER_ERROR;
1156    }
1157    rv : modules/loggers/mod_log_config.c line=1107 column=18
r
= : pass=0
=
 log_writer : enter=0, leave=0

log_writer : modules/loggers/mod_log_config.c line=203 column=23
l
og_writer(r : modules/loggers/mod_log_config.c line=1096 column=48
r
cls : modules/loggers/mod_log_config.c line=1096 column=69
c
ls-> : enter=0, leave=0
-
>log_writer : modules/loggers/mod_log_config.c line=267 column=11
l
og_writer, strs : modules/loggers/mod_log_config.c line=1100 column=18
s
trs, strl : modules/loggers/mod_log_config.c line=1101 column=10
s
trl, format : modules/loggers/mod_log_config.c line=1105 column=25
f
ormat-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts, len : modules/loggers/mod_log_config.c line=1104 column=16
l
en);
1158    /* xxx: do we return an error on log_writer? */
1159    return : pass=0
r
eturn OK;
1160}
1161
1162static int multi_log_transaction : call=0
m
ulti_log_transaction(request_rec *r)
1163{
1164    multi_log_state *mls = ap_get_module_config(r : modules/loggers/mod_log_config.c line=1162 column=47
r
-> : enter=0, leave=0
-
>server : include/httpd.h line=784 column=17
s
erver-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config,
1165                                                &log_config_module : modules/loggers/mod_log_config.c line=178 column=31
l
og_config_module);
1166    config_log_state *clsarray;
1167    int i;
1168
1169    /*
1170     * Initialize per request state
1171     */
1172    log_request_state *state = apr_pcalloc(r : modules/loggers/mod_log_config.c line=1162 column=47
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, sizeof(log_request_state));
1173    ap_set_module_config(r : modules/loggers/mod_log_config.c line=1162 column=47
r
-> : enter=0, leave=0
-
>request_config : include/httpd.h line=979 column=30
r
equest_config, &log_config_module : modules/loggers/mod_log_config.c line=178 column=31
l
og_config_module, state : modules/loggers/mod_log_config.c line=1172 column=24
s
tate);
1174
1175    /*
1176     * Log this transaction..
1177     */
1178    if : true=0, false=0
i
f (mls : modules/loggers/mod_log_config.c line=1164 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts) {
1179        clsarray : modules/loggers/mod_log_config.c line=1166 column=23
c
lsarray = : pass=0
=
 (config_log_state *) mls : modules/loggers/mod_log_config.c line=1164 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
1180        for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1167 column=9
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1167 column=9
i
 < : true=0, false=0
<
 mls : modules/loggers/mod_log_config.c line=1164 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1167 column=9
i
) {
1181            config_log_state *cls = &clsarray : modules/loggers/mod_log_config.c line=1166 column=23
c
lsarray[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1167 column=9
i
];
1182
1183            config_log_transaction : enter=0, leave=0

config_log_transaction : modules/loggers/mod_log_config.c line=1096 column=12
c
onfig_log_transaction(r : modules/loggers/mod_log_config.c line=1162 column=47
r
cls : modules/loggers/mod_log_config.c line=1181 column=31
c
ls, mls : modules/loggers/mod_log_config.c line=1164 column=22
m
ls-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format);
1184        }
1185    }
1186    else if : true=0, false=0
i
f (mls : modules/loggers/mod_log_config.c line=1164 column=22
m
ls-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs) {
1187        clsarray : modules/loggers/mod_log_config.c line=1166 column=23
c
lsarray = : pass=0
=
 (config_log_state *) mls : modules/loggers/mod_log_config.c line=1164 column=22
m
ls-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
1188        for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1167 column=9
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1167 column=9
i
 < : true=0, false=0
<
 mls : modules/loggers/mod_log_config.c line=1164 column=22
m
ls-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1167 column=9
i
) {
1189            config_log_state *cls = &clsarray : modules/loggers/mod_log_config.c line=1166 column=23
c
lsarray[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1167 column=9
i
];
1190
1191            config_log_transaction : enter=0, leave=0

config_log_transaction : modules/loggers/mod_log_config.c line=1096 column=12
c
onfig_log_transaction(r : modules/loggers/mod_log_config.c line=1162 column=47
r
cls : modules/loggers/mod_log_config.c line=1189 column=31
c
ls, mls : modules/loggers/mod_log_config.c line=1164 column=22
m
ls-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format);
1192        }
1193    }
1194
1195    return : pass=0
r
eturn OK;
1196}
1197
1198/*****************************************************************
1199 *
1200 * Module glue...
1201 */
1202
1203static void *make_config_log_state : call=1
m
ake_config_log_state(apr_pool_t *p, server_rec *s)
1204{
1205    multi_log_state *mls;
1206
1207    mls : modules/loggers/mod_log_config.c line=1205 column=22
m
ls = : pass=1
=
 (multi_log_state *) apr_palloc : enter=1, leave=1

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(p : modules/loggers/mod_log_config.c line=1203 column=48
p
, sizeof(multi_log_state));
1208    mls : modules/loggers/mod_log_config.c line=1205 column=22
m
ls-> : enter=1, leave=1
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs = : enter=1, leave=1
=
 apr_array_make : enter=1, leave=1

apr_array_make : /usr/include/apr-1/apr_tables.h line=111 column=35
a
pr_array_make(p : modules/loggers/mod_log_config.c line=1203 column=48
p
, 1, sizeof(config_log_state));
1209    mls : modules/loggers/mod_log_config.c line=1205 column=22
m
ls-> : enter=1, leave=1
-
>default_format_string : modules/loggers/mod_log_config.c line=239 column=17
d
efault_format_string = : enter=1, leave=1
=
 NULL;
1210    mls : modules/loggers/mod_log_config.c line=1205 column=22
m
ls-> : enter=1, leave=1
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format = : enter=1, leave=1
=
 NULL;
1211    mls : modules/loggers/mod_log_config.c line=1205 column=22
m
ls-> : enter=1, leave=1
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs = : enter=1, leave=1
=
 NULL;
1212    mls : modules/loggers/mod_log_config.c line=1205 column=22
m
ls-> : enter=1, leave=1
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats = : enter=1, leave=1
=
 apr_table_make : enter=1, leave=1

apr_table_make : /usr/include/apr-1/apr_tables.h line=222 column=28
a
pr_table_make(p : modules/loggers/mod_log_config.c line=1203 column=48
p
, 4);
1213    apr_table_setn : enter=1, leave=1

apr_table_setn : /usr/include/apr-1/apr_tables.h line=282 column=19
a
pr_table_setn(mls : modules/loggers/mod_log_config.c line=1205 column=22
m
ls-> : enter=1, leave=1
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats, "CLF", DEFAULT_LOG_FORMAT);
1214
1215    return : pass=1
r
eturn mls : modules/loggers/mod_log_config.c line=1205 column=22
m
ls;
1216}
1217
1218/*
1219 * Use the merger to simply add a pointer from the vhost log state
1220 * to the log of logs specified for the non-vhost configuration.  Make sure
1221 * vhosts inherit any globally-defined format names.
1222 */
1223
1224static void *merge_config_log_state : call=0
m
erge_config_log_state(apr_pool_t *p, void *basev, void *addv)
1225{
1226    multi_log_state *base = (multi_log_state *) basev : modules/loggers/mod_log_config.c line=1224 column=58
b
asev;
1227    multi_log_state *add = (multi_log_state *) addv : modules/loggers/mod_log_config.c line=1224 column=71
a
ddv;
1228
1229    add : modules/loggers/mod_log_config.c line=1227 column=22
a
dd-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs = : enter=0, leave=0
=
 base : modules/loggers/mod_log_config.c line=1226 column=22
b
ase-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs;
1230    if : true=0, false=0
i
f (! : true=0, false=0
!
add : modules/loggers/mod_log_config.c line=1227 column=22
a
dd-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format) {
1231        add : modules/loggers/mod_log_config.c line=1227 column=22
a
dd-> : enter=0, leave=0
-
>default_format_string : modules/loggers/mod_log_config.c line=239 column=17
d
efault_format_string = : enter=0, leave=0
=
 base : modules/loggers/mod_log_config.c line=1226 column=22
b
ase-> : enter=0, leave=0
-
>default_format_string : modules/loggers/mod_log_config.c line=239 column=17
d
efault_format_string;
1232        add : modules/loggers/mod_log_config.c line=1227 column=22
a
dd-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format = : enter=0, leave=0
=
 base : modules/loggers/mod_log_config.c line=1226 column=22
b
ase-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format;
1233    }
1234    add : modules/loggers/mod_log_config.c line=1227 column=22
a
dd-> : enter=0, leave=0
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats = : enter=0, leave=0
=
 apr_table_overlay : enter=0, leave=0

apr_table_overlay : /usr/include/apr-1/apr_tables.h line=346 column=28
a
pr_table_overlay(p : modules/loggers/mod_log_config.c line=1224 column=49
p
base : modules/loggers/mod_log_config.c line=1226 column=22
b
ase-> : enter=0, leave=0
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats, add : modules/loggers/mod_log_config.c line=1227 column=22
a
dd-> : enter=0, leave=0
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats);
1235
1236    return : pass=0
r
eturn add : modules/loggers/mod_log_config.c line=1227 column=22
a
dd;
1237}
1238
1239/*
1240 * Set the default logfile format, or define a nickname for a format string.
1241 */
1242static const char *log_format : call=0
l
og_format(cmd_parms *cmd, void *dummy, const char *fmt,
1243                              const char *name)
1244{
1245    const char *err_string = NULL;
1246    multi_log_state *mls = ap_get_module_config(cmd : modules/loggers/mod_log_config.c line=1242 column=42
c
md-> : enter=0, leave=0
-
>server : include/http_config.h line=296 column=17
s
erver-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config,
1247                                                &log_config_module : modules/loggers/mod_log_config.c line=178 column=31
l
og_config_module);
1248
1249    /*
1250     * If we were given two arguments, the second is a name to be given to the
1251     * format.  This syntax just defines the nickname - it doesn't actually
1252     * make the format the default.
1253     */
1254    if : true=0, false=0
i
f (name : modules/loggers/mod_log_config.c line=1243 column=43
n
ame != : true=0, false=0
!
= NULL) {
1255        parse_log_string : enter=0, leave=0

parse_log_string : modules/loggers/mod_log_config.c line=1034 column=28
p
arse_log_string(cmd : modules/loggers/mod_log_config.c line=1242 column=42
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, fmt : modules/loggers/mod_log_config.c line=1242 column=72
f
mt, &err_string : modules/loggers/mod_log_config.c line=1245 column=17
e
rr_string);
1256        if : true=0, false=0
i
f (err_string : modules/loggers/mod_log_config.c line=1245 column=17
e
rr_string == : true=0, false=0
=
= NULL) {
1257            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(mls : modules/loggers/mod_log_config.c line=1246 column=22
m
ls-> : enter=0, leave=0
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats, name : modules/loggers/mod_log_config.c line=1243 column=43
n
ame, fmt : modules/loggers/mod_log_config.c line=1242 column=72
f
mt);
1258        }
1259    }
1260    else {
1261        mls : modules/loggers/mod_log_config.c line=1246 column=22
m
ls-> : enter=0, leave=0
-
>default_format_string : modules/loggers/mod_log_config.c line=239 column=17
d
efault_format_string = : enter=0, leave=0
=
 fmt : modules/loggers/mod_log_config.c line=1242 column=72
f
mt;
1262        mls : modules/loggers/mod_log_config.c line=1246 column=22
m
ls-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format = : enter=0, leave=0
=
 parse_log_string : enter=0, leave=0

parse_log_string : modules/loggers/mod_log_config.c line=1034 column=28
p
arse_log_string(cmd : modules/loggers/mod_log_config.c line=1242 column=42
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, fmt : modules/loggers/mod_log_config.c line=1242 column=72
f
mt, &err_string : modules/loggers/mod_log_config.c line=1245 column=17
e
rr_string);
1263    }
1264    return : pass=0
r
eturn err_string : modules/loggers/mod_log_config.c line=1245 column=17
e
rr_string;
1265}
1266
1267
1268static const char *add_custom_log : call=0
a
dd_custom_log(cmd_parms *cmd, void *dummy, const char *fn,
1269                                  const char *fmt, const char *envclause)
1270{
1271    const char *err_string = NULL;
1272    multi_log_state *mls = ap_get_module_config(cmd : modules/loggers/mod_log_config.c line=1268 column=46
c
md-> : enter=0, leave=0
-
>server : include/http_config.h line=296 column=17
s
erver-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config,
1273                                                &log_config_module : modules/loggers/mod_log_config.c line=178 column=31
l
og_config_module);
1274    config_log_state *cls;
1275
1276    cls : modules/loggers/mod_log_config.c line=1274 column=23
c
ls = : pass=0
=
 (config_log_state *) 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(mls : modules/loggers/mod_log_config.c line=1272 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs);
1277    cls : modules/loggers/mod_log_config.c line=1274 column=23
c
ls-> : enter=0, leave=0
-
>condition_var : modules/loggers/mod_log_config.c line=268 column=11
c
ondition_var = : enter=0, leave=0
=
 NULL;
1278    if : true=0, false=0
i
f (envclause : modules/loggers/mod_log_config.c line=1269 column=64
e
nvclause != : true=0, false=0
!
= NULL) {
1279        if : true=0, false=0
i
f (strncasecmp : enter=0, leave=0

strncasecmp : /usr/include/string.h line=540 column=12
s
trncasecmp(envclause : modules/loggers/mod_log_config.c line=1269 column=64
e
nvclause, "env=", 4) != : true=0, false=0
!
= 0) {
1280            return : pass=0
r
eturn "error in condition clause";
1281        }
1282        if : true=0, false=0
i
f ((envclause : modules/loggers/mod_log_config.c line=1269 column=64
e
nvclause[] : enter=0, leave=0
[
4] == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0')
1283            || : true=0, false=0
|
| ((envclause : modules/loggers/mod_log_config.c line=1269 column=64
e
nvclause[] : enter=0, leave=0
[
4] == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '!') && : true=0, false=0
&
& (envclause : modules/loggers/mod_log_config.c line=1269 column=64
e
nvclause[] : enter=0, leave=0
[
5] == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= '\0'))) {
1284            return : pass=0
r
eturn "missing environment variable name";
1285        }
1286        cls : modules/loggers/mod_log_config.c line=1274 column=23
c
ls-> : enter=0, leave=0
-
>condition_var : modules/loggers/mod_log_config.c line=268 column=11
c
ondition_var = : 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(cmd : modules/loggers/mod_log_config.c line=1268 column=46
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, &envclause : modules/loggers/mod_log_config.c line=1269 column=64
e
nvclause[] : enter=0, leave=0
[
4]);
1287    }
1288
1289    cls : modules/loggers/mod_log_config.c line=1274 column=23
c
ls-> : enter=0, leave=0
-
>fname : modules/loggers/mod_log_config.c line=264 column=17
f
name = : enter=0, leave=0
=
 fn : modules/loggers/mod_log_config.c line=1268 column=76
f
n;
1290    cls : modules/loggers/mod_log_config.c line=1274 column=23
c
ls-> : enter=0, leave=0
-
>format_string : modules/loggers/mod_log_config.c line=265 column=17
f
ormat_string = : enter=0, leave=0
=
 fmt : modules/loggers/mod_log_config.c line=1269 column=47
f
mt;
1291    if : true=0, false=0
i
f (fmt : modules/loggers/mod_log_config.c line=1269 column=47
f
mt == : true=0, false=0
=
= NULL) {
1292        cls : modules/loggers/mod_log_config.c line=1274 column=23
c
ls-> : enter=0, leave=0
-
>format : modules/loggers/mod_log_config.c line=266 column=25
f
ormat = : enter=0, leave=0
=
 NULL;
1293    }
1294    else {
1295        cls : modules/loggers/mod_log_config.c line=1274 column=23
c
ls-> : enter=0, leave=0
-
>format : modules/loggers/mod_log_config.c line=266 column=25
f
ormat = : enter=0, leave=0
=
 parse_log_string : enter=0, leave=0

parse_log_string : modules/loggers/mod_log_config.c line=1034 column=28
p
arse_log_string(cmd : modules/loggers/mod_log_config.c line=1268 column=46
c
md-> : enter=0, leave=0
-
>pool : include/http_config.h line=291 column=17
p
ool, fmt : modules/loggers/mod_log_config.c line=1269 column=47
f
mt, &err_string : modules/loggers/mod_log_config.c line=1271 column=17
e
rr_string);
1296    }
1297    cls : modules/loggers/mod_log_config.c line=1274 column=23
c
ls-> : enter=0, leave=0
-
>log_writer : modules/loggers/mod_log_config.c line=267 column=11
l
og_writer = : enter=0, leave=0
=
 NULL;
1298
1299    return : pass=0
r
eturn err_string : modules/loggers/mod_log_config.c line=1271 column=17
e
rr_string;
1300}
1301
1302static const char *set_transfer_log : call=0
s
et_transfer_log(cmd_parms *cmd, void *dummy,
1303                                    const char *fn)
1304{
1305    return : pass=0
r
eturn add_custom_log : enter=0, leave=0

add_custom_log : modules/loggers/mod_log_config.c line=1268 column=20
a
dd_custom_log(cmd : modules/loggers/mod_log_config.c line=1302 column=48
c
md, dummy : modules/loggers/mod_log_config.c line=1302 column=59
d
ummy, fn : modules/loggers/mod_log_config.c line=1303 column=49
f
n, NULL, NULL);
1306}
1307
1308static const char *set_cookie_log : call=0
s
et_cookie_log(cmd_parms *cmd, void *dummy, const char *fn)
1309{
1310    return : pass=0
r
eturn add_custom_log : enter=0, leave=0

add_custom_log : modules/loggers/mod_log_config.c line=1268 column=20
a
dd_custom_log(cmd : modules/loggers/mod_log_config.c line=1308 column=46
c
md, dummy : modules/loggers/mod_log_config.c line=1308 column=57
d
ummy, fn : modules/loggers/mod_log_config.c line=1308 column=76
f
n, "%{Cookie}n \"%r\" %t", NULL);
1311}
1312
1313static const char *set_buffered_logs_on : call=0
s
et_buffered_logs_on(cmd_parms *parms, void *dummy, int flag)
1314{
1315    buffered_logs : modules/loggers/mod_log_config.c line=205 column=12
b
uffered_logs = : pass=0
=
 flag : modules/loggers/mod_log_config.c line=1313 column=76
f
lag;
1316    if : true=0, false=0
i
f (buffered_logs : modules/loggers/mod_log_config.c line=205 column=12
b
uffered_logs) {
1317        ap_log_set_writer_init : enter=0, leave=0

ap_log_set_writer_init : modules/loggers/mod_log_config.c line=201 column=28
a
p_log_set_writer_init(ap_buffered_log_writer_init : modules/loggers/mod_log_config.c line=198 column=14
a
p_buffered_log_writer_init);
1318        ap_log_set_writer : enter=0, leave=0

ap_log_set_writer : modules/loggers/mod_log_config.c line=202 column=23
a
p_log_set_writer(ap_buffered_log_writer : modules/loggers/mod_log_config.c line=190 column=21
a
p_buffered_log_writer);
1319    }
1320    else {
1321        ap_log_set_writer_init : enter=0, leave=0

ap_log_set_writer_init : modules/loggers/mod_log_config.c line=201 column=28
a
p_log_set_writer_init(ap_default_log_writer_init : modules/loggers/mod_log_config.c line=196 column=14
a
p_default_log_writer_init);
1322        ap_log_set_writer : enter=0, leave=0

ap_log_set_writer : modules/loggers/mod_log_config.c line=202 column=23
a
p_log_set_writer(ap_default_log_writer : modules/loggers/mod_log_config.c line=184 column=21
a
p_default_log_writer);
1323    }
1324    return : pass=0
r
eturn NULL;
1325}
1326static const command_rec config_log_cmds[] =
1327{
1328AP_INIT_TAKE23("CustomLog", add_custom_log : modules/loggers/mod_log_config.c line=1268 column=20
a
dd_custom_log, NULL, RSRC_CONF,
1329     "a file name, a custom log format string or format name, "
1330     "and an optional \"env=\" clause (see docs)"),
1331AP_INIT_TAKE1("TransferLog", set_transfer_log : modules/loggers/mod_log_config.c line=1302 column=20
s
et_transfer_log, NULL, RSRC_CONF,
1332     "the filename of the access log"),
1333AP_INIT_TAKE12("LogFormat", log_format : modules/loggers/mod_log_config.c line=1242 column=20
l
og_format, NULL, RSRC_CONF,
1334     "a log format string (see docs) and an optional format name"),
1335AP_INIT_TAKE1("CookieLog", set_cookie_log : modules/loggers/mod_log_config.c line=1308 column=20
s
et_cookie_log, NULL, RSRC_CONF,
1336     "the filename of the cookie log"),
1337AP_INIT_FLAG("BufferedLogs", set_buffered_logs_on : modules/loggers/mod_log_config.c line=1313 column=20
s
et_buffered_logs_on, NULL, RSRC_CONF,
1338                 "Enable Buffered Logging (experimental)"),
1339    {NULL}
1340};
1341
1342static config_log_state *open_config_log : call=0
o
pen_config_log(server_rec *s, apr_pool_t *p,
1343                                         config_log_state *cls,
1344                                         apr_array_header_t *default_format)
1345{
1346    if : true=0, false=0
i
f (cls : modules/loggers/mod_log_config.c line=1343 column=60
c
ls-> : enter=0, leave=0
-
>log_writer : modules/loggers/mod_log_config.c line=267 column=11
l
og_writer != : true=0, false=0
!
= NULL) {
1347        return : pass=0
r
eturn cls : modules/loggers/mod_log_config.c line=1343 column=60
c
ls;             /* virtual config shared w/main server */
1348    }
1349
1350    if : true=0, false=0
i
f (cls : modules/loggers/mod_log_config.c line=1343 column=60
c
ls-> : enter=0, leave=0
-
>fname : modules/loggers/mod_log_config.c line=264 column=17
f
name == : true=0, false=0
=
= NULL) {
1351        return : pass=0
r
eturn cls : modules/loggers/mod_log_config.c line=1343 column=60
c
ls;             /* Leave it NULL to decline.  */
1352    }
1353
1354    cls : modules/loggers/mod_log_config.c line=1343 column=60
c
ls-> : enter=0, leave=0
-
>log_writer : modules/loggers/mod_log_config.c line=267 column=11
l
og_writer = : enter=0, leave=0
=
 log_writer_init : enter=0, leave=0

log_writer_init : modules/loggers/mod_log_config.c line=204 column=28
l
og_writer_init(p : modules/loggers/mod_log_config.c line=1342 column=69
p
s : modules/loggers/mod_log_config.c line=1342 column=54
s
cls : modules/loggers/mod_log_config.c line=1343 column=60
c
ls-> : enter=0, leave=0
-
>fname : modules/loggers/mod_log_config.c line=264 column=17
f
name);
1355    if : true=0, false=0
i
f (cls : modules/loggers/mod_log_config.c line=1343 column=60
c
ls-> : enter=0, leave=0
-
>log_writer : modules/loggers/mod_log_config.c line=267 column=11
l
og_writer == : true=0, false=0
=
= NULL)
1356        return : pass=0
r
eturn NULL;
1357
1358    return : pass=0
r
eturn cls : modules/loggers/mod_log_config.c line=1343 column=60
c
ls;
1359}
1360
1361static int open_multi_logs : call=0
o
pen_multi_logs(server_rec *s, apr_pool_t *p)
1362{
1363    int i;
1364    multi_log_state *mls = ap_get_module_config(s : modules/loggers/mod_log_config.c line=1361 column=40
s
-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config,
1365                                             &log_config_module : modules/loggers/mod_log_config.c line=178 column=31
l
og_config_module);
1366    config_log_state *clsarray;
1367    const char *dummy;
1368    const char *format;
1369
1370    if : true=0, false=0
i
f (mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>default_format_string : modules/loggers/mod_log_config.c line=239 column=17
d
efault_format_string) {
1371        format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat = : 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(mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats, mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>default_format_string : modules/loggers/mod_log_config.c line=239 column=17
d
efault_format_string);
1372        if : true=0, false=0
i
f (format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat) {
1373            mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format = : enter=0, leave=0
=
 parse_log_string : enter=0, leave=0

parse_log_string : modules/loggers/mod_log_config.c line=1034 column=28
p
arse_log_string(p : modules/loggers/mod_log_config.c line=1361 column=55
p
format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat, &dummy : modules/loggers/mod_log_config.c line=1367 column=17
d
ummy);
1374        }
1375    }
1376
1377    if : true=0, false=0
i
f (! : true=0, false=0
!
mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format) {
1378        mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format = : enter=0, leave=0
=
 parse_log_string : enter=0, leave=0

parse_log_string : modules/loggers/mod_log_config.c line=1034 column=28
p
arse_log_string(p : modules/loggers/mod_log_config.c line=1361 column=55
p
, DEFAULT_LOG_FORMAT, &dummy : modules/loggers/mod_log_config.c line=1367 column=17
d
ummy);
1379    }
1380
1381    if : true=0, false=0
i
f (mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts) {
1382        clsarray : modules/loggers/mod_log_config.c line=1366 column=23
c
lsarray = : pass=0
=
 (config_log_state *) mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
1383        for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1363 column=9
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1363 column=9
i
 < : true=0, false=0
<
 mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1363 column=9
i
) {
1384            config_log_state *cls = &clsarray : modules/loggers/mod_log_config.c line=1366 column=23
c
lsarray[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1363 column=9
i
];
1385
1386            if : true=0, false=0
i
f (cls : modules/loggers/mod_log_config.c line=1384 column=31
c
ls-> : enter=0, leave=0
-
>format_string : modules/loggers/mod_log_config.c line=265 column=17
f
ormat_string) {
1387                format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat = : 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(mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats, cls : modules/loggers/mod_log_config.c line=1384 column=31
c
ls-> : enter=0, leave=0
-
>format_string : modules/loggers/mod_log_config.c line=265 column=17
f
ormat_string);
1388                if : true=0, false=0
i
f (format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat) {
1389                    cls : modules/loggers/mod_log_config.c line=1384 column=31
c
ls-> : enter=0, leave=0
-
>format : modules/loggers/mod_log_config.c line=266 column=25
f
ormat = : enter=0, leave=0
=
 parse_log_string : enter=0, leave=0

parse_log_string : modules/loggers/mod_log_config.c line=1034 column=28
p
arse_log_string(p : modules/loggers/mod_log_config.c line=1361 column=55
p
format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat, &dummy : modules/loggers/mod_log_config.c line=1367 column=17
d
ummy);
1390                }
1391            }
1392
1393            if : true=0, false=0
i
f (! : true=0, false=0
!
open_config_log : enter=0, leave=0

open_config_log : modules/loggers/mod_log_config.c line=1342 column=26
o
pen_config_log(s : modules/loggers/mod_log_config.c line=1361 column=40
s
p : modules/loggers/mod_log_config.c line=1361 column=55
p
cls : modules/loggers/mod_log_config.c line=1384 column=31
c
ls, mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format)) {
1394                /* Failure already logged by open_config_log */
1395                return : pass=0
r
eturn DONE;
1396            }
1397        }
1398    }
1399    else if : true=0, false=0
i
f (mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs) {
1400        clsarray : modules/loggers/mod_log_config.c line=1366 column=23
c
lsarray = : pass=0
=
 (config_log_state *) mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
1401        for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1363 column=9
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1363 column=9
i
 < : true=0, false=0
<
 mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1363 column=9
i
) {
1402            config_log_state *cls = &clsarray : modules/loggers/mod_log_config.c line=1366 column=23
c
lsarray[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1363 column=9
i
];
1403
1404            if : true=0, false=0
i
f (cls : modules/loggers/mod_log_config.c line=1402 column=31
c
ls-> : enter=0, leave=0
-
>format_string : modules/loggers/mod_log_config.c line=265 column=17
f
ormat_string) {
1405                format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat = : 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(mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>formats : modules/loggers/mod_log_config.c line=243 column=18
f
ormats, cls : modules/loggers/mod_log_config.c line=1402 column=31
c
ls-> : enter=0, leave=0
-
>format_string : modules/loggers/mod_log_config.c line=265 column=17
f
ormat_string);
1406                if : true=0, false=0
i
f (format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat) {
1407                    cls : modules/loggers/mod_log_config.c line=1402 column=31
c
ls-> : enter=0, leave=0
-
>format : modules/loggers/mod_log_config.c line=266 column=25
f
ormat = : enter=0, leave=0
=
 parse_log_string : enter=0, leave=0

parse_log_string : modules/loggers/mod_log_config.c line=1034 column=28
p
arse_log_string(p : modules/loggers/mod_log_config.c line=1361 column=55
p
format : modules/loggers/mod_log_config.c line=1368 column=17
f
ormat, &dummy : modules/loggers/mod_log_config.c line=1367 column=17
d
ummy);
1408                }
1409            }
1410
1411            if : true=0, false=0
i
f (! : true=0, false=0
!
open_config_log : enter=0, leave=0

open_config_log : modules/loggers/mod_log_config.c line=1342 column=26
o
pen_config_log(s : modules/loggers/mod_log_config.c line=1361 column=40
s
p : modules/loggers/mod_log_config.c line=1361 column=55
p
cls : modules/loggers/mod_log_config.c line=1402 column=31
c
ls, mls : modules/loggers/mod_log_config.c line=1364 column=22
m
ls-> : enter=0, leave=0
-
>default_format : modules/loggers/mod_log_config.c line=240 column=25
d
efault_format)) {
1412                /* Failure already logged by open_config_log */
1413                return : pass=0
r
eturn DONE;
1414            }
1415        }
1416    }
1417
1418    return : pass=0
r
eturn OK;
1419}
1420
1421
1422static apr_status_t flush_all_logs : call=0
f
lush_all_logs(void *data)
1423{
1424    server_rec *s = data : modules/loggers/mod_log_config.c line=1422 column=42
d
ata;
1425    multi_log_state *mls;
1426    apr_array_header_t *log_list;
1427    config_log_state *clsarray;
1428    buffered_log *buf;
1429    int i;
1430
1431    if : true=0, false=0
i
f (! : true=0, false=0
!
buffered_logs : modules/loggers/mod_log_config.c line=205 column=12
b
uffered_logs)
1432        return : pass=0
r
eturn APR_SUCCESS;
1433
1434    for : true=0, false=0
f
or (; s : modules/loggers/mod_log_config.c line=1424 column=17
s
s : modules/loggers/mod_log_config.c line=1424 column=17
s
 = : pass=0
=
 s : modules/loggers/mod_log_config.c line=1424 column=17
s
-> : enter=0, leave=0
-
>next : include/httpd.h line=1176 column=17
n
ext) {
1435        mls : modules/loggers/mod_log_config.c line=1425 column=22
m
ls = : pass=0
=
 ap_get_module_config(s : modules/loggers/mod_log_config.c line=1424 column=17
s
-> : enter=0, leave=0
-
>module_config : include/httpd.h line=1207 column=30
m
odule_config, &log_config_module : modules/loggers/mod_log_config.c line=178 column=31
l
og_config_module);
1436        log_list : modules/loggers/mod_log_config.c line=1426 column=25
l
og_list = : pass=0
=
 NULL;
1437        if : true=0, false=0
i
f (mls : modules/loggers/mod_log_config.c line=1425 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts) {
1438            log_list : modules/loggers/mod_log_config.c line=1426 column=25
l
og_list = : pass=0
=
 mls : modules/loggers/mod_log_config.c line=1425 column=22
m
ls-> : enter=0, leave=0
-
>config_logs : modules/loggers/mod_log_config.c line=241 column=25
c
onfig_logs;
1439        }
1440        else if : true=0, false=0
i
f (mls : modules/loggers/mod_log_config.c line=1425 column=22
m
ls-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs) {
1441            log_list : modules/loggers/mod_log_config.c line=1426 column=25
l
og_list = : pass=0
=
 mls : modules/loggers/mod_log_config.c line=1425 column=22
m
ls-> : enter=0, leave=0
-
>server_config_logs : modules/loggers/mod_log_config.c line=242 column=25
s
erver_config_logs;
1442        }
1443        if : true=0, false=0
i
f (log_list : modules/loggers/mod_log_config.c line=1426 column=25
l
og_list) {
1444            clsarray : modules/loggers/mod_log_config.c line=1427 column=23
c
lsarray = : pass=0
=
 (config_log_state *) log_list : modules/loggers/mod_log_config.c line=1426 column=25
l
og_list-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
1445            for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1429 column=9
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1429 column=9
i
 < : true=0, false=0
<
 log_list : modules/loggers/mod_log_config.c line=1426 column=25
l
og_list-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1429 column=9
i
) {
1446                buf : modules/loggers/mod_log_config.c line=1428 column=19
b
uf = : pass=0
=
 clsarray : modules/loggers/mod_log_config.c line=1427 column=23
c
lsarray[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1429 column=9
i
].log_writer : modules/loggers/mod_log_config.c line=267 column=11
l
og_writer;
1447                flush_log : enter=0, leave=0

flush_log : modules/loggers/mod_log_config.c line=1087 column=13
f
lush_log(buf : modules/loggers/mod_log_config.c line=1428 column=19
b
uf);
1448            }
1449        }
1450    }
1451    return : pass=0
r
eturn APR_SUCCESS;
1452}
1453
1454
1455static int init_config_log : call=0
i
nit_config_log(apr_pool_t *pc, apr_pool_t *p, apr_pool_t *pt, server_rec *s)
1456{
1457    int res;
1458
1459    /* First init the buffered logs array, which is needed when opening the logs. */
1460    if : true=0, false=0
i
f (buffered_logs : modules/loggers/mod_log_config.c line=205 column=12
b
uffered_logs) {
1461        all_buffered_logs : modules/loggers/mod_log_config.c line=206 column=28
a
ll_buffered_logs = : 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 : modules/loggers/mod_log_config.c line=1455 column=56
p
, 5, sizeof(buffered_log *));
1462    }
1463
1464    /* Next, do "physical" server, which gets default log fd and format
1465     * for the virtual servers, if they don't override...
1466     */
1467    res : modules/loggers/mod_log_config.c line=1457 column=9
r
es = : pass=0
=
 open_multi_logs : enter=0, leave=0

open_multi_logs : modules/loggers/mod_log_config.c line=1361 column=12
o
pen_multi_logs(s : modules/loggers/mod_log_config.c line=1455 column=87
s
p : modules/loggers/mod_log_config.c line=1455 column=56
p
);
1468
1469    /* Then, virtual servers */
1470
1471    for : true=0, false=0
f
or (s : modules/loggers/mod_log_config.c line=1455 column=87
s
 = : pass=0
=
 s : modules/loggers/mod_log_config.c line=1455 column=87
s
-> : enter=0, leave=0
-
>next : include/httpd.h line=1176 column=17
n
ext; (res : modules/loggers/mod_log_config.c line=1457 column=9
r
es == : true=0, false=0
MC/DC independently affect : true=0, false=0
=TF
= OK) && : true=0, false=0
&
MC/DC independently affect : true=0, false=0

s : modules/loggers/mod_log_config.c line=1455 column=87
sTF
s : modules/loggers/mod_log_config.c line=1455 column=87
s
 = : pass=0
=
 s : modules/loggers/mod_log_config.c line=1455 column=87
s
-> : enter=0, leave=0
-
>next : include/httpd.h line=1176 column=17
n
ext) {
1472        res : modules/loggers/mod_log_config.c line=1457 column=9
r
es = : pass=0
=
 open_multi_logs : enter=0, leave=0

open_multi_logs : modules/loggers/mod_log_config.c line=1361 column=12
o
pen_multi_logs(s : modules/loggers/mod_log_config.c line=1455 column=87
s
p : modules/loggers/mod_log_config.c line=1455 column=56
p
);
1473    }
1474
1475    return : pass=0
r
eturn res : modules/loggers/mod_log_config.c line=1457 column=9
r
es;
1476}
1477
1478static void init_child : call=0
i
nit_child(apr_pool_t *p, server_rec *s)
1479{
1480    int mpm_threads;
1481
1482    ap_mpm_query : enter=0, leave=0

ap_mpm_query : include/ap_mpm.h line=161 column=26
a
p_mpm_query(AP_MPMQ_MAX_THREADS, &mpm_threads : modules/loggers/mod_log_config.c line=1480 column=9
m
pm_threads);
1483
1484    /* Now register the last buffer flush with the cleanup engine */
1485    if : true=0, false=0
i
f (buffered_logs : modules/loggers/mod_log_config.c line=205 column=12
b
uffered_logs) {
1486        int i;
1487        buffered_log **array = (buffered_log **)all_buffered_logs : modules/loggers/mod_log_config.c line=206 column=28
a
ll_buffered_logs-> : enter=0, leave=0
-
>elts : /usr/include/apr-1/apr_tables.h line=62 column=11 elts;
1488
1489        apr_pool_cleanup_register : enter=0, leave=0

apr_pool_cleanup_register : /usr/include/apr-1/apr_pools.h line=603 column=19
a
pr_pool_cleanup_register(p : modules/loggers/mod_log_config.c line=1478 column=36
p
s : modules/loggers/mod_log_config.c line=1478 column=51
s
flush_all_logs : modules/loggers/mod_log_config.c line=1422 column=21
f
lush_all_logs, flush_all_logs : modules/loggers/mod_log_config.c line=1422 column=21
f
lush_all_logs);
1490
1491        for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1486 column=13
i
 = : pass=0
=
 0; i : modules/loggers/mod_log_config.c line=1486 column=13
i
 < : true=0, false=0
<
 all_buffered_logs : modules/loggers/mod_log_config.c line=206 column=28
a
ll_buffered_logs-> : enter=0, leave=0
-
>nelts : /usr/include/apr-1/apr_tables.h line=58 column=9 nelts; i : modules/loggers/mod_log_config.c line=1486 column=13
i
++ : pass=0
+
+) {
1492            buffered_log *this = array : modules/loggers/mod_log_config.c line=1487 column=24
a
rray[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1486 column=13
i
];
1493
1494#if APR_HAS_THREADS
1495            if : true=0, false=0
i
f (mpm_threads : modules/loggers/mod_log_config.c line=1480 column=9
m
pm_threads > : true=0, false=0
>
 1) {
1496                apr_status_t rv;
1497
1498                this : modules/loggers/mod_log_config.c line=1492 column=27
t
his-> : enter=0, leave=0
-
>mutex : modules/loggers/mod_log_config.c line=260 column=19
m
utex.type : /usr/include/apr-1/apr_anylock.h line=37 column=7 type = : pass=0
=
 apr_anylock_threadmutex : /usr/include/apr-1/apr_anylock.h line=34 column=9 apr_anylock_threadmutex;
1499                rv : modules/loggers/mod_log_config.c line=1496 column=30
r
= : pass=0
=
 apr_thread_mutex_create : enter=0, leave=0

apr_thread_mutex_create : /usr/include/apr-1/apr_thread_mutex.h line=65 column=27
a
pr_thread_mutex_create(&this : modules/loggers/mod_log_config.c line=1492 column=27
t
his-> : enter=0, leave=0
-
>mutex : modules/loggers/mod_log_config.c line=260 column=19
m
utex.lock : /usr/include/apr-1/apr_anylock.h line=45 column=7 lock.tm : /usr/include/apr-1/apr_anylock.h line=42 column=29 tm,
1500                                             APR_THREAD_MUTEX_DEFAULT,
1501                                             p : modules/loggers/mod_log_config.c line=1478 column=36
p
);
1502                if : true=0, false=0
i
f (rv : modules/loggers/mod_log_config.c line=1496 column=30
r
!= : true=0, false=0
!
= APR_SUCCESS) {
1503                    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_CRIT, rv : modules/loggers/mod_log_config.c line=1496 column=30
r
v, s : modules/loggers/mod_log_config.c line=1478 column=51
s
,
1504                                 "could not initialize buffered log mutex, "
1505                                 "transfer log may become corrupted");
1506                    this : modules/loggers/mod_log_config.c line=1492 column=27
t
his-> : enter=0, leave=0
-
>mutex : modules/loggers/mod_log_config.c line=260 column=19
m
utex.type : /usr/include/apr-1/apr_anylock.h line=37 column=7 type = : pass=0
=
 apr_anylock_none : /usr/include/apr-1/apr_anylock.h line=32 column=9 apr_anylock_none;
1507                }
1508            }
1509            else
1510#endif
1511            {
1512                this : modules/loggers/mod_log_config.c line=1492 column=27
t
his-> : enter=0, leave=0
-
>mutex : modules/loggers/mod_log_config.c line=260 column=19
m
utex.type : /usr/include/apr-1/apr_anylock.h line=37 column=7 type = : pass=0
=
 apr_anylock_none : /usr/include/apr-1/apr_anylock.h line=32 column=9 apr_anylock_none;
1513            }
1514        }
1515    }
1516}
1517
1518static void ap_register_log_handler : call=0
a
p_register_log_handler(apr_pool_t *p, char *tag,
1519                                    ap_log_handler_fn_t *handler, int def)
1520{
1521    ap_log_handler *log_struct = apr_palloc : enter=0, leave=0

apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21
a
pr_palloc(p : modules/loggers/mod_log_config.c line=1518 column=49
p
, sizeof(*log_struct));
1522    log_struct : modules/loggers/mod_log_config.c line=1521 column=21
l
og_struct-> : enter=0, leave=0
-
>func : modules/loggers/mod_log_config.h line=55 column=26 func = : enter=0, leave=0
=
 handler : modules/loggers/mod_log_config.c line=1519 column=58
h
andler;
1523    log_struct : modules/loggers/mod_log_config.c line=1521 column=21
l
og_struct-> : enter=0, leave=0
-
>want_orig_default : modules/loggers/mod_log_config.h line=56 column=9 want_orig_default = : enter=0, leave=0
=
 def : modules/loggers/mod_log_config.c line=1519 column=71
d
ef;
1524
1525    apr_hash_set : enter=0, leave=0

apr_hash_set : /usr/include/apr-1/apr_hash.h line=107 column=19
a
pr_hash_set(log_hash : modules/loggers/mod_log_config.c line=183 column=20
l
og_hash, tag : modules/loggers/mod_log_config.c line=1518 column=58
t
ag, strlen : enter=0, leave=0

strlen : /usr/include/string.h line=399 column=15
s
trlen(tag : modules/loggers/mod_log_config.c line=1518 column=58
t
ag), (const void *)log_struct : modules/loggers/mod_log_config.c line=1521 column=21
l
og_struct);
1526}
1527static ap_log_writer_init* ap_log_set_writer_init : call=0
a
p_log_set_writer_init(ap_log_writer_init *handle)
1528{
1529    ap_log_writer_init *old = log_writer_init : modules/loggers/mod_log_config.c line=204 column=28
l
og_writer_init;
1530    log_writer_init : modules/loggers/mod_log_config.c line=204 column=28
l
og_writer_init = : pass=0
=
 handle : modules/loggers/mod_log_config.c line=1527 column=71
h
andle;
1531
1532    return : pass=0
r
eturn old : modules/loggers/mod_log_config.c line=1529 column=25
o
ld;
1533
1534}
1535static ap_log_writer *ap_log_set_writer : call=0
a
p_log_set_writer(ap_log_writer *handle)
1536{
1537    ap_log_writer *old = log_writer : modules/loggers/mod_log_config.c line=203 column=23
l
og_writer;
1538    log_writer : modules/loggers/mod_log_config.c line=203 column=23
l
og_writer = : pass=0
=
 handle : modules/loggers/mod_log_config.c line=1535 column=56
h
andle;
1539
1540    return : pass=0
r
eturn old : modules/loggers/mod_log_config.c line=1537 column=20
o
ld;
1541}
1542
1543static apr_status_t ap_default_log_writer : call=0
a
p_default_log_writer( request_rec *r,
1544                           void *handle,
1545                           const char **strs,
1546                           int *strl,
1547                           int nelts,
1548                           apr_size_t len)
1549
1550{
1551    char *str;
1552    char *s;
1553    int i;
1554    apr_status_t rv;
1555
1556    str : modules/loggers/mod_log_config.c line=1551 column=11
s
tr = : 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 : modules/loggers/mod_log_config.c line=1543 column=57
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, len : modules/loggers/mod_log_config.c line=1548 column=39
l
en + : pass=0
+
 1);
1557
1558    for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1553 column=9
i
 = : pass=0
=
 0, s : modules/loggers/mod_log_config.c line=1552 column=11
s
 = : pass=0
=
 str : modules/loggers/mod_log_config.c line=1551 column=11
s
tr; i : modules/loggers/mod_log_config.c line=1553 column=9
i
 < : true=0, false=0
<
 nelts : modules/loggers/mod_log_config.c line=1547 column=32
n
elts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1553 column=9
i
) {
1559        memcpy : enter=0, leave=0

memcpy : /usr/include/string.h line=44 column=14
m
emcpy(s : modules/loggers/mod_log_config.c line=1552 column=11
s
strs : modules/loggers/mod_log_config.c line=1545 column=41
s
trs[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1553 column=9
i
], strl : modules/loggers/mod_log_config.c line=1546 column=33
s
trl[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1553 column=9
i
]);
1560        s : modules/loggers/mod_log_config.c line=1552 column=11
s
 += : pass=0
+
strl : modules/loggers/mod_log_config.c line=1546 column=33
s
trl[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1553 column=9
i
];
1561    }
1562
1563    rv : modules/loggers/mod_log_config.c line=1554 column=18
r
= : pass=0
=
 apr_file_write : enter=0, leave=0

apr_file_write : /usr/include/apr-1/apr_file_io.h line=425 column=27
a
pr_file_write((apr_file_t*)handle : modules/loggers/mod_log_config.c line=1544 column=34
h
andle, str : modules/loggers/mod_log_config.c line=1551 column=11
s
tr, &len : modules/loggers/mod_log_config.c line=1548 column=39
l
en);
1564
1565    return : pass=0
r
eturn rv : modules/loggers/mod_log_config.c line=1554 column=18
r
v;
1566}
1567static void *ap_default_log_writer_init : call=0
a
p_default_log_writer_init(apr_pool_t *p, server_rec *s,
1568                                        const char* name)
1569{
1570    if : true=0, false=0
i
f (* dereference : enter=0, leave=0
*
name : modules/loggers/mod_log_config.c line=1568 column=53
n
ame == : true=0, false=0
=
= '|') {
1571        piped_log *pl;
1572
1573        pl : modules/loggers/mod_log_config.c line=1571 column=20
p
= : pass=0
=
 ap_open_piped_log : enter=0, leave=0

ap_open_piped_log : include/http_log.h line=305 column=25
a
p_open_piped_log(p : modules/loggers/mod_log_config.c line=1567 column=53
p
name : modules/loggers/mod_log_config.c line=1568 column=53
n
ame + : pass=0
+
 1);
1574        if : true=0, false=0
i
f (pl : modules/loggers/mod_log_config.c line=1571 column=20
p
== : true=0, false=0
=
= NULL) {
1575           return : pass=0
r
eturn NULL;;
1576        }
1577        return : pass=0
r
eturn ap_piped_log_write_fd(pl : modules/loggers/mod_log_config.c line=1571 column=20
p
l);
1578    }
1579    else {
1580        const char *fname = 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(p : modules/loggers/mod_log_config.c line=1567 column=53
p
name : modules/loggers/mod_log_config.c line=1568 column=53
n
ame);
1581        apr_file_t *fd;
1582        apr_status_t rv;
1583
1584        if : true=0, false=0
i
f (! : true=0, false=0
!
fname : modules/loggers/mod_log_config.c line=1580 column=21
f
name) {
1585            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, APR_EBADPATH, s : modules/loggers/mod_log_config.c line=1567 column=68
s
,
1586                            "invalid transfer log path %s.", name : modules/loggers/mod_log_config.c line=1568 column=53
n
ame);
1587            return : pass=0
r
eturn NULL;
1588        }
1589        rv : modules/loggers/mod_log_config.c line=1582 column=22
r
= : pass=0
=
 apr_file_open : enter=0, leave=0

apr_file_open : /usr/include/apr-1/apr_file_io.h line=235 column=27
a
pr_file_open(&fd : modules/loggers/mod_log_config.c line=1581 column=21
f
d, fname : modules/loggers/mod_log_config.c line=1580 column=21
f
name, xfer_flags : modules/loggers/mod_log_config.c line=181 column=12
x
fer_flags, xfer_perms : modules/loggers/mod_log_config.c line=182 column=24
x
fer_perms, p : modules/loggers/mod_log_config.c line=1567 column=53
p
);
1590        if : true=0, false=0
i
f (rv : modules/loggers/mod_log_config.c line=1582 column=22
r
!= : true=0, false=0
!
= APR_SUCCESS) {
1591            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, rv : modules/loggers/mod_log_config.c line=1582 column=22
r
v, s : modules/loggers/mod_log_config.c line=1567 column=68
s
,
1592                            "could not open transfer log file %s.", fname : modules/loggers/mod_log_config.c line=1580 column=21
f
name);
1593            return : pass=0
r
eturn NULL;
1594        }
1595        return : pass=0
r
eturn fd : modules/loggers/mod_log_config.c line=1581 column=21
f
d;
1596    }
1597}
1598static void *ap_buffered_log_writer_init : call=0
a
p_buffered_log_writer_init(apr_pool_t *p, server_rec *s,
1599                                        const char* name)
1600{
1601    buffered_log *b;
1602    b : modules/loggers/mod_log_config.c line=1601 column=19
b
 = : pass=0
=
 apr_pcalloc(p : modules/loggers/mod_log_config.c line=1598 column=54
p
, sizeof(buffered_log));
1603    b : modules/loggers/mod_log_config.c line=1601 column=19
b
-> : enter=0, leave=0
-
>handle : modules/loggers/mod_log_config.c line=257 column=17
h
andle = : enter=0, leave=0
=
 ap_default_log_writer_init : enter=0, leave=0

ap_default_log_writer_init : modules/loggers/mod_log_config.c line=1567 column=14
a
p_default_log_writer_init(p : modules/loggers/mod_log_config.c line=1598 column=54
p
s : modules/loggers/mod_log_config.c line=1598 column=69
s
name : modules/loggers/mod_log_config.c line=1599 column=53
n
ame);
1604
1605    if : true=0, false=0
i
f (b : modules/loggers/mod_log_config.c line=1601 column=19
b
-> : enter=0, leave=0
-
>handle : modules/loggers/mod_log_config.c line=257 column=17
h
andle) {
1606        *(buffered_log **)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(all_buffered_logs : modules/loggers/mod_log_config.c line=206 column=28
a
ll_buffered_logs) = : enter=0, leave=0
=
 b : modules/loggers/mod_log_config.c line=1601 column=19
b
;
1607        return : pass=0
r
eturn b : modules/loggers/mod_log_config.c line=1601 column=19
b
;
1608    }
1609    else
1610        return : pass=0
r
eturn NULL;
1611}
1612static apr_status_t ap_buffered_log_writer : call=0
a
p_buffered_log_writer(request_rec *r,
1613                                           void *handle,
1614                                           const char **strs,
1615                                           int *strl,
1616                                           int nelts,
1617                                           apr_size_t len)
1618
1619{
1620    char *str;
1621    char *s;
1622    int i;
1623    apr_status_t rv;
1624    buffered_log *buf = (buffered_log*)handle : modules/loggers/mod_log_config.c line=1613 column=50
h
andle;
1625
1626    if : true=0, false=0
i
f ((rv : modules/loggers/mod_log_config.c line=1623 column=18
r
= : pass=0
=
 APR_ANYLOCK_LOCK(&buf : modules/loggers/mod_log_config.c line=1624 column=19
b
uf-> : enter=0, leave=0
-
>mutex : modules/loggers/mod_log_config.c line=260 column=19
m
utex)) != : true=0, false=0
!
= APR_SUCCESS) {
1627        return : pass=0
r
eturn rv : modules/loggers/mod_log_config.c line=1623 column=18
r
v;
1628    }
1629
1630    if : true=0, false=0
i
f (len : modules/loggers/mod_log_config.c line=1617 column=55
l
en + : pass=0
+
 buf : modules/loggers/mod_log_config.c line=1624 column=19
b
uf-> : enter=0, leave=0
-
>outcnt : modules/loggers/mod_log_config.c line=258 column=16
o
utcnt > : true=0, false=0
>
 LOG_BUFSIZE) {
1631        flush_log : enter=0, leave=0

flush_log : modules/loggers/mod_log_config.c line=1087 column=13
f
lush_log(buf : modules/loggers/mod_log_config.c line=1624 column=19
b
uf);
1632    }
1633    if : true=0, false=0
i
f (len : modules/loggers/mod_log_config.c line=1617 column=55
l
en >= : true=0, false=0
>
= LOG_BUFSIZE) {
1634        apr_size_t w;
1635
1636        str : modules/loggers/mod_log_config.c line=1620 column=11
s
tr = : 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 : modules/loggers/mod_log_config.c line=1612 column=57
r
-> : enter=0, leave=0
-
>pool : include/httpd.h line=780 column=17
p
ool, len : modules/loggers/mod_log_config.c line=1617 column=55
l
en + : pass=0
+
 1);
1637        for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1622 column=9
i
 = : pass=0
=
 0, s : modules/loggers/mod_log_config.c line=1621 column=11
s
 = : pass=0
=
 str : modules/loggers/mod_log_config.c line=1620 column=11
s
tr; i : modules/loggers/mod_log_config.c line=1622 column=9
i
 < : true=0, false=0
<
 nelts : modules/loggers/mod_log_config.c line=1616 column=48
n
elts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1622 column=9
i
) {
1638            memcpy : enter=0, leave=0

memcpy : /usr/include/string.h line=44 column=14
m
emcpy(s : modules/loggers/mod_log_config.c line=1621 column=11
s
strs : modules/loggers/mod_log_config.c line=1614 column=57
s
trs[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1622 column=9
i
], strl : modules/loggers/mod_log_config.c line=1615 column=49
s
trl[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1622 column=9
i
]);
1639            s : modules/loggers/mod_log_config.c line=1621 column=11
s
 += : pass=0
+
strl : modules/loggers/mod_log_config.c line=1615 column=49
s
trl[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1622 column=9
i
];
1640        }
1641        w : modules/loggers/mod_log_config.c line=1634 column=20
w
 = : pass=0
=
 len : modules/loggers/mod_log_config.c line=1617 column=55
l
en;
1642        rv : modules/loggers/mod_log_config.c line=1623 column=18
r
= : pass=0
=
 apr_file_write : enter=0, leave=0

apr_file_write : /usr/include/apr-1/apr_file_io.h line=425 column=27
a
pr_file_write(buf : modules/loggers/mod_log_config.c line=1624 column=19
b
uf-> : enter=0, leave=0
-
>handle : modules/loggers/mod_log_config.c line=257 column=17
h
andle, str : modules/loggers/mod_log_config.c line=1620 column=11
s
tr, &w : modules/loggers/mod_log_config.c line=1634 column=20
w
);
1643
1644    }
1645    else {
1646        for : true=0, false=0
f
or (i : modules/loggers/mod_log_config.c line=1622 column=9
i
 = : pass=0
=
 0, s : modules/loggers/mod_log_config.c line=1621 column=11
s
 = : pass=0
=
 &buf : modules/loggers/mod_log_config.c line=1624 column=19
b
uf-> : enter=0, leave=0
-
>outbuf : modules/loggers/mod_log_config.c line=259 column=10
o
utbuf[] : enter=0, leave=0
[
buf : modules/loggers/mod_log_config.c line=1624 column=19
b
uf-> : enter=0, leave=0
-
>outcnt : modules/loggers/mod_log_config.c line=258 column=16
o
utcnt]; i : modules/loggers/mod_log_config.c line=1622 column=9
i
 < : true=0, false=0
<
 nelts : modules/loggers/mod_log_config.c line=1616 column=48
n
elts; ++ : pass=0
+
+i : modules/loggers/mod_log_config.c line=1622 column=9
i
) {
1647            memcpy : enter=0, leave=0

memcpy : /usr/include/string.h line=44 column=14
m
emcpy(s : modules/loggers/mod_log_config.c line=1621 column=11
s
strs : modules/loggers/mod_log_config.c line=1614 column=57
s
trs[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1622 column=9
i
], strl : modules/loggers/mod_log_config.c line=1615 column=49
s
trl[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1622 column=9
i
]);
1648            s : modules/loggers/mod_log_config.c line=1621 column=11
s
 += : pass=0
+
strl : modules/loggers/mod_log_config.c line=1615 column=49
s
trl[] : enter=0, leave=0
[
i : modules/loggers/mod_log_config.c line=1622 column=9
i
];
1649        }
1650        buf : modules/loggers/mod_log_config.c line=1624 column=19
b
uf-> : enter=0, leave=0
-
>outcnt : modules/loggers/mod_log_config.c line=258 column=16
o
utcnt += : enter=0, leave=0
+
len : modules/loggers/mod_log_config.c line=1617 column=55
l
en;
1651        rv : modules/loggers/mod_log_config.c line=1623 column=18
r
= : pass=0
=
 APR_SUCCESS;
1652    }
1653
1654    APR_ANYLOCK_UNLOCK(&buf : modules/loggers/mod_log_config.c line=1624 column=19
b
uf-> : enter=0, leave=0
-
>mutex : modules/loggers/mod_log_config.c line=260 column=19
m
utex);
1655    return : pass=0
r
eturn rv : modules/loggers/mod_log_config.c line=1623 column=18
r
v;
1656}
1657
1658static int log_pre_config : call=0
l
og_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
1659{
1660    static APR_OPTIONAL_FN_TYPE(ap_register_log_handler) *log_pfn_register;
1661
1662    log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register = : pass=0
=
 APR_RETRIEVE_OPTIONAL_FN(ap_register_log_handler);
1663
1664    if : true=0, false=0
i
f (log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register) {
1665        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "h", log_remote_host : modules/loggers/mod_log_config.c line=312 column=20
l
og_remote_host, 0);
1666        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "a", log_remote_address : modules/loggers/mod_log_config.c line=319 column=20
l
og_remote_address, 0 );
1667        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "A", log_local_address : modules/loggers/mod_log_config.c line=324 column=20
l
og_local_address, 0 );
1668        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "l", log_remote_logname : modules/loggers/mod_log_config.c line=329 column=20
l
og_remote_logname, 0);
1669        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "u", log_remote_user : modules/loggers/mod_log_config.c line=334 column=20
l
og_remote_user, 0);
1670        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "t", log_request_time : modules/loggers/mod_log_config.c line=625 column=20
l
og_request_time, 0);
1671        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "f", log_request_file : modules/loggers/mod_log_config.c line=368 column=20
l
og_request_file, 0);
1672        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "b", clf_log_bytes_sent : modules/loggers/mod_log_config.c line=400 column=20
c
lf_log_bytes_sent, 0);
1673        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "B", log_bytes_sent : modules/loggers/mod_log_config.c line=410 column=20
l
og_bytes_sent, 0);
1674        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "i", log_header_in : modules/loggers/mod_log_config.c line=421 column=20
l
og_header_in, 0);
1675        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "o", log_header_out : modules/loggers/mod_log_config.c line=498 column=20
l
og_header_out, 0);
1676        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "n", log_note : modules/loggers/mod_log_config.c line=520 column=20
l
og_note, 0);
1677        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "e", log_env_var : modules/loggers/mod_log_config.c line=524 column=20
l
og_env_var, 0);
1678        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "V", log_server_name : modules/loggers/mod_log_config.c line=815 column=20
l
og_server_name, 0);
1679        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "v", log_virtual_host : modules/loggers/mod_log_config.c line=787 column=20
l
og_virtual_host, 0);
1680        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "p", log_server_port : modules/loggers/mod_log_config.c line=792 column=20
l
og_server_port, 0);
1681        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "P", log_pid_tid : modules/loggers/mod_log_config.c line=820 column=20
l
og_pid_tid, 0);
1682        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "H", log_request_protocol : modules/loggers/mod_log_config.c line=380 column=20
l
og_request_protocol, 0);
1683        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "m", log_request_method : modules/loggers/mod_log_config.c line=376 column=20
l
og_request_method, 0);
1684        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "q", log_request_query : modules/loggers/mod_log_config.c line=384 column=20
l
og_request_query, 0);
1685        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "X", log_connection_status : modules/loggers/mod_log_config.c line=845 column=20
l
og_connection_status, 0);
1686        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "C", log_cookie : modules/loggers/mod_log_config.c line=529 column=20
l
og_cookie, 0);
1687        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "k", log_requests_on_connection : modules/loggers/mod_log_config.c line=858 column=20
l
og_requests_on_connection, 0);
1688        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "r", log_request_line : modules/loggers/mod_log_config.c line=351 column=20
l
og_request_line, 1);
1689        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "D", log_request_duration_microseconds : modules/loggers/mod_log_config.c line=760 column=20
l
og_request_duration_microseconds, 1);
1690        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "T", log_request_duration_scaled : modules/loggers/mod_log_config.c line=766 column=20
l
og_request_duration_scaled, 1);
1691        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "U", log_request_uri : modules/loggers/mod_log_config.c line=372 column=20
l
og_request_uri, 1);
1692        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "s", log_status : modules/loggers/mod_log_config.c line=390 column=20
l
og_status, 1);
1693        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "R", log_handler : modules/loggers/mod_log_config.c line=395 column=20
l
og_handler, 1);
1694
1695        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "^ti", log_trailer_in : modules/loggers/mod_log_config.c line=426 column=20
l
og_trailer_in, 0);
1696        log_pfn_register : enter=0, leave=0

log_pfn_register : modules/loggers/mod_log_config.c line=1660 column=59
l
og_pfn_register(p : modules/loggers/mod_log_config.c line=1658 column=39
p
, "^to", log_trailer_out : modules/loggers/mod_log_config.c line=515 column=20
l
og_trailer_out, 0);
1697    }
1698
1699    /* reset to default conditions */
1700    ap_log_set_writer_init : enter=0, leave=0

ap_log_set_writer_init : modules/loggers/mod_log_config.c line=1527 column=28
a
p_log_set_writer_init(ap_default_log_writer_init : modules/loggers/mod_log_config.c line=1567 column=14
a
p_default_log_writer_init);
1701    ap_log_set_writer : enter=0, leave=0

ap_log_set_writer : modules/loggers/mod_log_config.c line=1535 column=23
a
p_log_set_writer(ap_default_log_writer : modules/loggers/mod_log_config.c line=1543 column=21
a
p_default_log_writer);
1702    buffered_logs : modules/loggers/mod_log_config.c line=205 column=12
b
uffered_logs = : pass=0
=
 0;
1703
1704    return : pass=0
r
eturn OK;
1705}
1706
1707static void register_hooks : call=1
r
egister_hooks(apr_pool_t *p)
1708{
1709    ap_hook_pre_config : enter=1, leave=1

ap_hook_pre_config : modules/loggers/ line=217 column=1
a
p_hook_pre_config(log_pre_config : modules/loggers/mod_log_config.c line=1658 column=12
l
og_pre_config,NULL,NULL,APR_HOOK_REALLY_FIRST);
1710    ap_hook_child_init : enter=1, leave=1

ap_hook_child_init : modules/loggers/ line=47 column=1
a
p_hook_child_init(init_child : modules/loggers/mod_log_config.c line=1478 column=13
i
nit_child,NULL,NULL,APR_HOOK_MIDDLE);
1711    ap_hook_open_logs : enter=1, leave=1

ap_hook_open_logs : modules/loggers/ line=23 column=1
a
p_hook_open_logs(init_config_log : modules/loggers/mod_log_config.c line=1455 column=12
i
nit_config_log,NULL,NULL,APR_HOOK_MIDDLE);
1712    ap_hook_log_transaction : enter=1, leave=1

ap_hook_log_transaction : modules/loggers/ line=22 column=1
a
p_hook_log_transaction(multi_log_transaction : modules/loggers/mod_log_config.c line=1162 column=12
m
ulti_log_transaction,NULL,NULL,APR_HOOK_MIDDLE);
1713
1714    /* Init log_hash before we register the optional function. It is
1715     * possible for the optional function, ap_register_log_handler,
1716     * to be called before any other mod_log_config hooks are called.
1717     * As a policy, we should init everything required by an optional function
1718     * before calling APR_REGISTER_OPTIONAL_FN.
1719     */
1720    log_hash : modules/loggers/mod_log_config.c line=183 column=20
l
og_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 : modules/loggers/mod_log_config.c line=1707 column=40
p
);
1721    APR_REGISTER_OPTIONAL_FN(ap_register_log_handler : modules/loggers/mod_log_config.c line=1518 column=13
a
p_register_log_handler);
1722    APR_REGISTER_OPTIONAL_FN(ap_log_set_writer_init : modules/loggers/mod_log_config.c line=1527 column=28
a
p_log_set_writer_init);
1723    APR_REGISTER_OPTIONAL_FN(ap_log_set_writer : modules/loggers/mod_log_config.c line=1535 column=23
a
p_log_set_writer);
1724}
1725
1726module AP_MODULE_DECLARE_DATA log_config_module =
1727{
1728    STANDARD20_MODULE_STUFF,
1729    NULL,                       /* create per-dir config */
1730    NULL,                       /* merge per-dir config */
1731    make_config_log_state : modules/loggers/mod_log_config.c line=1203 column=14
m
ake_config_log_state,      /* server config */
1732    merge_config_log_state : modules/loggers/mod_log_config.c line=1224 column=14
m
erge_config_log_state,     /* merge server config */
1733    config_log_cmds : modules/loggers/mod_log_config.c line=1326 column=26
c
onfig_log_cmds,            /* command apr_table_t */
1734    register_hooks : modules/loggers/mod_log_config.c line=1707 column=13
r
egister_hooks              /* register hooks */
1735};
1736
1737[EOF]


Generated by expcov