Pass | Half | Fail | Excluded | Total | |||
---|---|---|---|---|---|---|---|
|
0.00% |
100.00% |
0.00% |
100% |
|||
|
0.00% |
100.00% |
0.00% |
100% |
|||
|
0.00% |
0.00% |
100.00% |
0.00% |
100% |
||
|
0.00% |
100.00% |
0.00% |
100% |
|||
|
0.00% |
0.00% |
100.00% |
0.00% |
100% |
||
|
0.00% |
0.00% |
0.00% |
0.00% |
100% |
||
|
0.00% |
0.00% |
100.00% |
0.00% |
100% |
||
|
0.00% |
0.00% |
0.00% |
0.00% |
100% |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | etag_uint64_to_hex(char *next, apr_uint64_t u) |
36 | |
37 | |
38 | * 8 - : pass=0 - 4; |
39 | |
40 | |
41 | u >> : pass=0 >> shift : modules/http/http_etag.c line=38 column=9 shift) & : pass=0 & (apr_uint64_t)0xf); |
42 | if (next_digit : modules/http/http_etag.c line=40 column=24 next_digit) { |
43 | next++ : pass=0 ++ = : enter=0, leave=0 = HEX_DIGITS[] : enter=0, leave=0 [next_digit : modules/http/http_etag.c line=40 column=24 next_digit]; |
44 | printing = : pass=0 = 1; |
45 | |
46 | if (printing : modules/http/http_etag.c line=37 column=9 printing) { |
47 | next++ : pass=0 ++ = : enter=0, leave=0 = HEX_DIGITS[] : enter=0, leave=0 [next_digit : modules/http/http_etag.c line=40 column=24 next_digit]; |
48 | |
49 | shift -= : pass=0 -= 4; |
50 | while (shift : modules/http/http_etag.c line=38 column=9 shift); |
51 | next++ : pass=0 ++ = : enter=0, leave=0 = HEX_DIGITS[] : enter=0, leave=0 [u : modules/http/http_etag.c line=35 column=58 u & : pass=0 & (apr_uint64_t)0xf]; |
52 | return next : modules/http/http_etag.c line=35 column=39 next; |
53 | |
54 | |
55 | |
56 | * 2) |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | ap_make_etag(request_rec *r, int force_weak) |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | cfg = : pass=0 = (core_dir_config *)ap_get_module_config(r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->per_dir_config : include/httpd.h line=977 column=30 per_dir_config, |
75 | core_module); |
76 | etag_bits = : pass=0 = (cfg : modules/http/http_etag.c line=70 column=22 cfg-> : enter=0, leave=0 ->etag_bits : include/http_core.h line=556 column=23 etag_bits & : pass=0 & (~ : pass=0 ~ cfg : modules/http/http_etag.c line=70 column=22 cfg-> : enter=0, leave=0 ->etag_remove : include/http_core.h line=558 column=23 etag_remove)) | : pass=0 | cfg : modules/http/http_etag.c line=70 column=22 cfg-> : enter=0, leave=0 ->etag_add : include/http_core.h line=557 column=23 etag_add; |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | if (etag_bits : modules/http/http_etag.c line=71 column=23 etag_bits & : pass=0 & ETAG_NONE) { |
84 | apr_table_setn : /usr/include/apr-1/apr_tables.h line=282 column=19 apr_table_setn(r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->notes : include/httpd.h line=910 column=18 notes, "no-etag", "omit"); |
85 | return ""; |
86 | |
87 | |
88 | if (etag_bits : modules/http/http_etag.c line=71 column=23 etag_bits == : true=0, false=0 == ETAG_UNSET) { |
89 | etag_bits = : pass=0 = ETAG_BACKWARD; |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | if ((r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->request_time : include/httpd.h line=817 column=16 request_time - : pass=0 - r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->mtime : include/httpd.h line=864 column=16 mtime > : true=0, false=0 MC/DC independently affect : true=0, false=0 > (1 * : pass=0 * APR_USEC_PER_SEC)) && : true=0, false=0 && |
104 | MC/DC independently affect : true=0, false=0 !force_weak : modules/http/http_etag.c line=64 column=53 force_weak) { |
105 | weak = : pass=0 = NULL; |
106 | weak_len = : pass=0 = 0; |
107 | |
108 | |
109 | weak = : pass=0 = ETAG_WEAK; |
110 | weak_len = : pass=0 = sizeof(ETAG_WEAK); |
111 | |
112 | |
113 | if (r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->finfo : include/httpd.h line=957 column=17 finfo.filetype : /usr/include/apr-1/apr_file_info.h line=186 column=20 filetype != : true=0, false=0 != 0) { |
114 | |
115 | |
116 | |
117 | |
118 | etag = : pass=0 = apr_palloc : enter=0, leave=0 apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21 apr_palloc(r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->pool : include/httpd.h line=780 column=17 pool, weak_len : modules/http/http_etag.c line=67 column=16 weak_len + : pass=0 + sizeof("\"--\"") + : pass=0 + |
119 | * CHARS_PER_UINT64 + : pass=0 + 1); |
120 | next = : pass=0 = etag : modules/http/http_etag.c line=68 column=11 etag; |
121 | if (weak : modules/http/http_etag.c line=66 column=11 weak) { |
122 | while (* dereference : enter=0, leave=0 *weak : modules/http/http_etag.c line=66 column=11 weak) { |
123 | next++ : pass=0 ++ = : enter=0, leave=0 = * dereference : enter=0, leave=0 *weak : modules/http/http_etag.c line=66 column=11 weak++ : pass=0 ++; |
124 | |
125 | |
126 | next++ : pass=0 ++ = : enter=0, leave=0 = '"'; |
127 | bits_added = : pass=0 = 0; |
128 | if (etag_bits : modules/http/http_etag.c line=71 column=23 etag_bits & : pass=0 & ETAG_INODE) { |
129 | next = : pass=0 = etag_uint64_to_hex : enter=0, leave=0 etag_uint64_to_hex : modules/http/http_etag.c line=35 column=14 etag_uint64_to_hex(next : modules/http/http_etag.c line=69 column=11 next, r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->finfo : include/httpd.h line=957 column=17 finfo.inode : /usr/include/apr-1/apr_file_info.h line=192 column=15 inode); |
130 | bits_added |= : pass=0 |= ETAG_INODE; |
131 | |
132 | if (etag_bits : modules/http/http_etag.c line=71 column=23 etag_bits & : pass=0 & ETAG_SIZE) { |
133 | if (bits_added : modules/http/http_etag.c line=72 column=23 bits_added != : true=0, false=0 != 0) { |
134 | next++ : pass=0 ++ = : enter=0, leave=0 = '-'; |
135 | |
136 | next = : pass=0 = etag_uint64_to_hex : enter=0, leave=0 etag_uint64_to_hex : modules/http/http_etag.c line=35 column=14 etag_uint64_to_hex(next : modules/http/http_etag.c line=69 column=11 next, r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->finfo : include/httpd.h line=957 column=17 finfo.size : /usr/include/apr-1/apr_file_info.h line=198 column=15 size); |
137 | bits_added |= : pass=0 |= ETAG_SIZE; |
138 | |
139 | if (etag_bits : modules/http/http_etag.c line=71 column=23 etag_bits & : pass=0 & ETAG_MTIME) { |
140 | if (bits_added : modules/http/http_etag.c line=72 column=23 bits_added != : true=0, false=0 != 0) { |
141 | next++ : pass=0 ++ = : enter=0, leave=0 = '-'; |
142 | |
143 | next = : pass=0 = etag_uint64_to_hex : enter=0, leave=0 etag_uint64_to_hex : modules/http/http_etag.c line=35 column=14 etag_uint64_to_hex(next : modules/http/http_etag.c line=69 column=11 next, r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->mtime : include/httpd.h line=864 column=16 mtime); |
144 | |
145 | next++ : pass=0 ++ = : enter=0, leave=0 = '"'; |
146 | next = : enter=0, leave=0 = '\0'; |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | etag = : pass=0 = apr_palloc : enter=0, leave=0 apr_palloc : /usr/include/apr-1/apr_pools.h line=419 column=21 apr_palloc(r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->pool : include/httpd.h line=780 column=17 pool, weak_len : modules/http/http_etag.c line=67 column=16 weak_len + : pass=0 + sizeof("\"\"") + : pass=0 + |
153 | + 1); |
154 | next = : pass=0 = etag : modules/http/http_etag.c line=68 column=11 etag; |
155 | if (weak : modules/http/http_etag.c line=66 column=11 weak) { |
156 | while (* dereference : enter=0, leave=0 *weak : modules/http/http_etag.c line=66 column=11 weak) { |
157 | next++ : pass=0 ++ = : enter=0, leave=0 = * dereference : enter=0, leave=0 *weak : modules/http/http_etag.c line=66 column=11 weak++ : pass=0 ++; |
158 | |
159 | |
160 | next++ : pass=0 ++ = : enter=0, leave=0 = '"'; |
161 | next = : pass=0 = etag_uint64_to_hex : enter=0, leave=0 etag_uint64_to_hex : modules/http/http_etag.c line=35 column=14 etag_uint64_to_hex(next : modules/http/http_etag.c line=69 column=11 next, r : modules/http/http_etag.c line=64 column=46 r-> : enter=0, leave=0 ->mtime : include/httpd.h line=864 column=16 mtime); |
162 | next++ : pass=0 ++ = : enter=0, leave=0 = '"'; |
163 | next = : enter=0, leave=0 = '\0'; |
164 | |
165 | |
166 | return etag : modules/http/http_etag.c line=68 column=11 etag; |
167 | |
168 | |
169 | ap_set_etag(request_rec *r) |
170 | |
171 | |
172 | |
173 | |
174 | |
175 | if (! : true=0, false=0 !r : modules/http/http_etag.c line=169 column=43 r-> : enter=0, leave=0 ->vlist_validator : include/httpd.h line=927 column=11 vlist_validator) { |
176 | etag = : pass=0 = ap_make_etag : enter=0, leave=0 ap_make_etag : modules/http/http_etag.c line=64 column=20 ap_make_etag(r : modules/http/http_etag.c line=169 column=43 r, 0); |
177 | |
178 | |
179 | if (! : true=0, false=0 !etag : modules/http/http_etag.c line=171 column=11 etag[] : enter=0, leave=0 [0]) { |
180 | return; |
181 | |
182 | |
183 | |
184 | |
185 | |
186 | |
187 | |
188 | |
189 | |
190 | |
191 | |
192 | |
193 | |
194 | |
195 | |
196 | |
197 | |
198 | |
199 | |
200 | vlv = : pass=0 = r : modules/http/http_etag.c line=169 column=43 r-> : enter=0, leave=0 ->vlist_validator : include/httpd.h line=927 column=11 vlist_validator; |
201 | vlv_weak = : pass=0 = (vlv : modules/http/http_etag.c line=172 column=26 vlv[] : enter=0, leave=0 [0] == : true=0, false=0 == 'W'); |
202 | |
203 | variant_etag = : pass=0 = ap_make_etag : enter=0, leave=0 ap_make_etag : modules/http/http_etag.c line=64 column=20 ap_make_etag(r : modules/http/http_etag.c line=169 column=43 r, vlv_weak : modules/http/http_etag.c line=173 column=9 vlv_weak); |
204 | |
205 | |
206 | if (! : true=0, false=0 !variant_etag : modules/http/http_etag.c line=172 column=11 variant_etag[] : enter=0, leave=0 [0]) { |
207 | return; |
208 | |
209 | |
210 | |
211 | variant_etag[strlen : enter=0, leave=0 strlen : /usr/include/string.h line=399 column=15 strlen(variant_etag : modules/http/http_etag.c line=172 column=11 variant_etag) - : pass=0 - 1] = : enter=0, leave=0 = '\0'; |
212 | if (vlv_weak : modules/http/http_etag.c line=173 column=9 vlv_weak) { |
213 | vlv += : pass=0 += 3; |
214 | |
215 | |
216 | vlv++ : pass=0 ++; |
217 | |
218 | etag = : pass=0 = apr_pstrcat : enter=0, leave=0 apr_pstrcat : /usr/include/apr-1/apr_strings.h line=139 column=28 apr_pstrcat(r : modules/http/http_etag.c line=169 column=43 r-> : enter=0, leave=0 ->pool : include/httpd.h line=780 column=17 pool, variant_etag : modules/http/http_etag.c line=172 column=11 variant_etag, ";", vlv : modules/http/http_etag.c line=172 column=26 vlv, NULL); |
219 | |
220 | |
221 | apr_table_setn : /usr/include/apr-1/apr_tables.h line=282 column=19 apr_table_setn(r : modules/http/http_etag.c line=169 column=43 r-> : enter=0, leave=0 ->headers_out : include/httpd.h line=903 column=18 headers_out, "ETag", etag : modules/http/http_etag.c line=171 column=11 etag); |
222 | |
223 |