| 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 |