| Pass | Half | Fail | Excluded | Total | ||||
|---|---|---|---|---|---|---|---|---|
|
|
33.33% |
66.67% |
0.00% |
100% |
||||
|
|
3.31% |
96.69% |
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% |
100.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 | |
| 36 | |
| 37 | |
| 38 | |
| 39 | |
| 40 | |
| 41 | create_auth_basic_dir_config(apr_pool_t *p, char *d) |
| 42 | |
| 43 | p, sizeof(*conf)); |
| 44 | |
| 45 | conf-> : enter=1, leave=1 ->dir : modules/aaa/mod_auth_basic.c line=37 column=11 dir = : enter=1, leave=1 = d : modules/aaa/mod_auth_basic.c line=41 column=64 d; |
| 46 | |
| 47 | conf-> : enter=1, leave=1 ->authoritative : modules/aaa/mod_auth_basic.c line=38 column=9 authoritative = : enter=1, leave=1 = 1; |
| 48 | |
| 49 | return conf : modules/aaa/mod_auth_basic.c line=43 column=28 conf; |
| 50 | |
| 51 | |
| 52 | add_authn_provider(cmd_parms *cmd, void *config, |
| 53 | |
| 54 | |
| 55 | config; |
| 56 | |
| 57 | |
| 58 | newp = : pass=0 = apr_pcalloc(cmd : modules/aaa/mod_auth_basic.c line=52 column=50 cmd-> : enter=0, leave=0 ->pool : include/http_config.h line=291 column=17 pool, sizeof(authn_provider_list)); |
| 59 | newp-> : enter=0, leave=0 ->provider_name : modules/aaa/mod_auth.h line=71 column=17 provider_name = : enter=0, leave=0 = apr_pstrdup : enter=0, leave=0 apr_pstrdup : /usr/include/apr-1/apr_strings.h line=95 column=21 apr_pstrdup(cmd : modules/aaa/mod_auth_basic.c line=52 column=50 cmd-> : enter=0, leave=0 ->pool : include/http_config.h line=291 column=17 pool, arg : modules/aaa/mod_auth_basic.c line=53 column=51 arg); |
| 60 | |
| 61 | |
| 62 | newp-> : enter=0, leave=0 ->provider : modules/aaa/mod_auth.h line=72 column=27 provider = : enter=0, leave=0 = ap_lookup_provider : enter=0, leave=0 ap_lookup_provider : include/ap_provider.h line=64 column=20 ap_lookup_provider(AUTHN_PROVIDER_GROUP, |
| 63 | newp-> : enter=0, leave=0 ->provider_name : modules/aaa/mod_auth.h line=71 column=17 provider_name, "0"); |
| 64 | |
| 65 | if (newp : modules/aaa/mod_auth_basic.c line=56 column=26 newp-> : enter=0, leave=0 ->provider : modules/aaa/mod_auth.h line=72 column=27 provider == : true=0, false=0 == NULL) { |
| 66 | |
| 67 | |
| 68 | return apr_psprintf : enter=0, leave=0 apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28 apr_psprintf(cmd : modules/aaa/mod_auth_basic.c line=52 column=50 cmd-> : enter=0, leave=0 ->pool : include/http_config.h line=291 column=17 pool, |
| 69 | |
| 70 | newp-> : enter=0, leave=0 ->provider_name : modules/aaa/mod_auth.h line=71 column=17 provider_name); |
| 71 | |
| 72 | |
| 73 | if (! : true=0, false=0 !newp : modules/aaa/mod_auth_basic.c line=56 column=26 newp-> : enter=0, leave=0 ->provider : modules/aaa/mod_auth.h line=72 column=27 provider-> : enter=0, leave=0 ->check_password : modules/aaa/mod_auth.h line=57 column=20 check_password) { |
| 74 | |
| 75 | return apr_psprintf : enter=0, leave=0 apr_psprintf : /usr/include/apr-1/apr_strings.h line=170 column=28 apr_psprintf(cmd : modules/aaa/mod_auth_basic.c line=52 column=50 cmd-> : enter=0, leave=0 ->pool : include/http_config.h line=291 column=17 pool, |
| 76 | |
| 77 | newp-> : enter=0, leave=0 ->provider_name : modules/aaa/mod_auth.h line=71 column=17 provider_name); |
| 78 | |
| 79 | |
| 80 | |
| 81 | if (! : true=0, false=0 !conf : modules/aaa/mod_auth_basic.c line=55 column=28 conf-> : enter=0, leave=0 ->providers : modules/aaa/mod_auth_basic.c line=36 column=26 providers) { |
| 82 | conf-> : enter=0, leave=0 ->providers : modules/aaa/mod_auth_basic.c line=36 column=26 providers = : enter=0, leave=0 = newp : modules/aaa/mod_auth_basic.c line=56 column=26 newp; |
| 83 | |
| 84 | |
| 85 | conf-> : enter=0, leave=0 ->providers : modules/aaa/mod_auth_basic.c line=36 column=26 providers; |
| 86 | |
| 87 | while (last : modules/aaa/mod_auth_basic.c line=85 column=30 last-> : enter=0, leave=0 ->next : modules/aaa/mod_auth.h line=73 column=26 next) { |
| 88 | last = : pass=0 = last : modules/aaa/mod_auth_basic.c line=85 column=30 last-> : enter=0, leave=0 ->next : modules/aaa/mod_auth.h line=73 column=26 next; |
| 89 | |
| 90 | last-> : enter=0, leave=0 ->next : modules/aaa/mod_auth.h line=73 column=26 next = : enter=0, leave=0 = newp : modules/aaa/mod_auth_basic.c line=56 column=26 newp; |
| 91 | |
| 92 | |
| 93 | return NULL; |
| 94 | |
| 95 | |
| 96 | |
| 97 | |
| 98 | add_authn_provider, NULL, OR_AUTHCFG, |
| 99 | |
| 100 | ap_set_flag_slot, |
| 101 | authoritative), |
| 102 | |
| 103 | |
| 104 | |
| 105 | |
| 106 | |
| 107 | |
| 108 | |
| 109 | |
| 110 | |
| 111 | |
| 112 | |
| 113 | |
| 114 | |
| 115 | |
| 116 | |
| 117 | |
| 118 | |
| 119 | |
| 120 | note_basic_auth_failure(request_rec *r) |
| 121 | |
| 122 | apr_table_setn : /usr/include/apr-1/apr_tables.h line=282 column=19 apr_table_setn(r : modules/aaa/mod_auth_basic.c line=120 column=50 r-> : enter=0, leave=0 ->err_headers_out : include/httpd.h line=906 column=18 err_headers_out, |
| 123 | == r : modules/aaa/mod_auth_basic.c line=120 column=50 r-> : enter=0, leave=0 ->proxyreq : include/httpd.h line=806 column=9 proxyreq) conditional operator : true=0, false=0 ? "Proxy-Authenticate" |
| 124 | |
| 125 | apr_pstrcat : /usr/include/apr-1/apr_strings.h line=139 column=28 apr_pstrcat(r : modules/aaa/mod_auth_basic.c line=120 column=50 r-> : enter=0, leave=0 ->pool : include/httpd.h line=780 column=17 pool, "Basic realm=\"", ap_auth_name : enter=0, leave=0 ap_auth_name : include/http_core.h line=317 column=26 ap_auth_name(r : modules/aaa/mod_auth_basic.c line=120 column=50 r), |
| 126 | |
| 127 | |
| 128 | |
| 129 | get_basic_auth(request_rec *r, const char **user, |
| 130 | |
| 131 | |
| 132 | |
| 133 | |
| 134 | |
| 135 | |
| 136 | |
| 137 | auth_line = : pass=0 = apr_table_get : enter=0, leave=0 apr_table_get : /usr/include/apr-1/apr_tables.h line=258 column=27 apr_table_get(r : modules/aaa/mod_auth_basic.c line=129 column=40 r-> : enter=0, leave=0 ->headers_in : include/httpd.h line=901 column=18 headers_in, (PROXYREQ_PROXY == : true=0, false=0 == r : modules/aaa/mod_auth_basic.c line=129 column=40 r-> : enter=0, leave=0 ->proxyreq : include/httpd.h line=806 column=9 proxyreq) |
| 138 | ? "Proxy-Authorization" |
| 139 | |
| 140 | |
| 141 | if (! : true=0, false=0 !auth_line : modules/aaa/mod_auth_basic.c line=132 column=17 auth_line) { |
| 142 | note_basic_auth_failure : modules/aaa/mod_auth_basic.c line=120 column=13 note_basic_auth_failure(r : modules/aaa/mod_auth_basic.c line=129 column=40 r); |
| 143 | return HTTP_UNAUTHORIZED; |
| 144 | |
| 145 | |
| 146 | if (strcasecmp : enter=0, leave=0 strcasecmp : /usr/include/string.h line=536 column=12 strcasecmp(ap_getword : enter=0, leave=0 ap_getword : include/httpd.h line=1299 column=20 ap_getword(r : modules/aaa/mod_auth_basic.c line=129 column=40 r-> : enter=0, leave=0 ->pool : include/httpd.h line=780 column=17 pool, &auth_line : modules/aaa/mod_auth_basic.c line=132 column=17 auth_line, ' '), "Basic")) { |
| 147 | |
| 148 | ap_log_rerror : include/http_log.h line=219 column=18 ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r : modules/aaa/mod_auth_basic.c line=129 column=40 r, |
| 149 | r-> : enter=0, leave=0 ->uri : include/httpd.h line=946 column=11 uri); |
| 150 | note_basic_auth_failure : modules/aaa/mod_auth_basic.c line=120 column=13 note_basic_auth_failure(r : modules/aaa/mod_auth_basic.c line=129 column=40 r); |
| 151 | return HTTP_UNAUTHORIZED; |
| 152 | |
| 153 | |
| 154 | |
| 155 | while (apr_isspace(* dereference : enter=0, leave=0 *auth_line : modules/aaa/mod_auth_basic.c line=132 column=17 auth_line)) { |
| 156 | auth_line++ : pass=0 ++; |
| 157 | |
| 158 | |
| 159 | decoded_line = : 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/aaa/mod_auth_basic.c line=129 column=40 r-> : enter=0, leave=0 ->pool : include/httpd.h line=780 column=17 pool, apr_base64_decode_len : enter=0, leave=0 apr_base64_decode_len : /usr/include/apr-1/apr_base64.h line=88 column=18 apr_base64_decode_len(auth_line : modules/aaa/mod_auth_basic.c line=132 column=17 auth_line) + : pass=0 + 1); |
| 160 | length = : pass=0 = apr_base64_decode : enter=0, leave=0 apr_base64_decode : /usr/include/apr-1/apr_base64.h line=96 column=18 apr_base64_decode(decoded_line : modules/aaa/mod_auth_basic.c line=133 column=11 decoded_line, auth_line : modules/aaa/mod_auth_basic.c line=132 column=17 auth_line); |
| 161 | |
| 162 | decoded_line[length : modules/aaa/mod_auth_basic.c line=134 column=9 length] = : enter=0, leave=0 = '\0'; |
| 163 | |
| 164 | user = : enter=0, leave=0 = ap_getword_nulls : enter=0, leave=0 ap_getword_nulls : include/httpd.h line=1338 column=20 ap_getword_nulls(r : modules/aaa/mod_auth_basic.c line=129 column=40 r-> : enter=0, leave=0 ->pool : include/httpd.h line=780 column=17 pool, (const char**)&decoded_line : modules/aaa/mod_auth_basic.c line=133 column=11 decoded_line, ':'); |
| 165 | pw = : enter=0, leave=0 = decoded_line : modules/aaa/mod_auth_basic.c line=133 column=11 decoded_line; |
| 166 | |
| 167 | |
| 168 | r-> : enter=0, leave=0 ->user : include/httpd.h line=930 column=11 user = : enter=0, leave=0 = (char *) * dereference : enter=0, leave=0 *user : modules/aaa/mod_auth_basic.c line=129 column=56 user; |
| 169 | |
| 170 | return OK; |
| 171 | |
| 172 | |
| 173 | |
| 174 | |
| 175 | |
| 176 | authenticate_basic_user(request_rec *r) |
| 177 | |
| 178 | r-> : enter=0, leave=0 ->per_dir_config : include/httpd.h line=977 column=30 per_dir_config, |
| 179 | auth_basic_module); |
| 180 | |
| 181 | |
| 182 | |
| 183 | |
| 184 | |
| 185 | |
| 186 | current_auth = : pass=0 = ap_auth_type : enter=0, leave=0 ap_auth_type : include/http_core.h line=310 column=26 ap_auth_type(r : modules/aaa/mod_auth_basic.c line=176 column=49 r); |
| 187 | if (! : true=0, false=0 MC/DC independently affect : true=0, false=0 !current_auth : modules/aaa/mod_auth_basic.c line=180 column=39 current_auth || : true=0, false=0 || MC/DC independently affect : true=0, false=0 strcasecmp : enter=0, leave=0 strcasecmp : /usr/include/string.h line=536 column=12 strcasecmp(current_auth : modules/aaa/mod_auth_basic.c line=180 column=39 current_auth, "Basic")) { |
| 188 | return DECLINED; |
| 189 | |
| 190 | |
| 191 | |
| 192 | if (! : true=0, false=0 !ap_auth_name : enter=0, leave=0 ap_auth_name : include/http_core.h line=317 column=26 ap_auth_name(r : modules/aaa/mod_auth_basic.c line=176 column=49 r)) { |
| 193 | ap_log_rerror : include/http_log.h line=219 column=18 ap_log_rerror(APLOG_MARK, APLOG_ERR, |
| 194 | r, "need AuthName: %s", r : modules/aaa/mod_auth_basic.c line=176 column=49 r-> : enter=0, leave=0 ->uri : include/httpd.h line=946 column=11 uri); |
| 195 | return HTTP_INTERNAL_SERVER_ERROR; |
| 196 | |
| 197 | |
| 198 | r-> : enter=0, leave=0 ->ap_auth_type : include/httpd.h line=932 column=11 ap_auth_type = : enter=0, leave=0 = "Basic"; |
| 199 | |
| 200 | res = : pass=0 = get_basic_auth : enter=0, leave=0 get_basic_auth : modules/aaa/mod_auth_basic.c line=129 column=12 get_basic_auth(r : modules/aaa/mod_auth_basic.c line=176 column=49 r, &sent_user : modules/aaa/mod_auth_basic.c line=180 column=17 sent_user, &sent_pw : modules/aaa/mod_auth_basic.c line=180 column=29 sent_pw); |
| 201 | if (res : modules/aaa/mod_auth_basic.c line=181 column=9 res) { |
| 202 | return res : modules/aaa/mod_auth_basic.c line=181 column=9 res; |
| 203 | |
| 204 | |
| 205 | current_provider = : pass=0 = conf : modules/aaa/mod_auth_basic.c line=178 column=28 conf-> : enter=0, leave=0 ->providers : modules/aaa/mod_auth_basic.c line=36 column=26 providers; |
| 206 | |
| 207 | |
| 208 | |
| 209 | |
| 210 | |
| 211 | |
| 212 | if (! : true=0, false=0 !current_provider : modules/aaa/mod_auth_basic.c line=183 column=26 current_provider) { |
| 213 | provider = : pass=0 = ap_lookup_provider : enter=0, leave=0 ap_lookup_provider : include/ap_provider.h line=64 column=20 ap_lookup_provider(AUTHN_PROVIDER_GROUP, |
| 214 | |
| 215 | |
| 216 | if (! : true=0, false=0 MC/DC independently affect : true=0, false=0 !provider : modules/aaa/mod_auth_basic.c line=207 column=31 provider || : true=0, false=0 || ! : true=0, false=0 MC/DC independently affect : true=0, false=0 !provider : modules/aaa/mod_auth_basic.c line=207 column=31 provider-> : enter=0, leave=0 ->check_password : modules/aaa/mod_auth.h line=57 column=20 check_password) { |
| 217 | ap_log_rerror : include/http_log.h line=219 column=18 ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r : modules/aaa/mod_auth_basic.c line=176 column=49 r, |
| 218 | |
| 219 | auth_result = : pass=0 = AUTH_GENERAL_ERROR : modules/aaa/mod_auth.h line=50 column=5 AUTH_GENERAL_ERROR; |
| 220 | break; |
| 221 | |
| 222 | apr_table_setn : /usr/include/apr-1/apr_tables.h line=282 column=19 apr_table_setn(r : modules/aaa/mod_auth_basic.c line=176 column=49 r-> : enter=0, leave=0 ->notes : include/httpd.h line=910 column=18 notes, AUTHN_PROVIDER_NAME_NOTE, AUTHN_DEFAULT_PROVIDER); |
| 223 | |
| 224 | |
| 225 | provider = : pass=0 = current_provider : modules/aaa/mod_auth_basic.c line=183 column=26 current_provider-> : enter=0, leave=0 ->provider : modules/aaa/mod_auth.h line=72 column=27 provider; |
| 226 | apr_table_setn : /usr/include/apr-1/apr_tables.h line=282 column=19 apr_table_setn(r : modules/aaa/mod_auth_basic.c line=176 column=49 r-> : enter=0, leave=0 ->notes : include/httpd.h line=910 column=18 notes, AUTHN_PROVIDER_NAME_NOTE, current_provider : modules/aaa/mod_auth_basic.c line=183 column=26 current_provider-> : enter=0, leave=0 ->provider_name : modules/aaa/mod_auth.h line=71 column=17 provider_name); |
| 227 | |
| 228 | |
| 229 | |
| 230 | auth_result = : pass=0 = check_password : enter=0, leave=0 provider : modules/aaa/mod_auth_basic.c line=207 column=31 check_password : modules/aaa/mod_auth.h line=57 column=20 provider-> : enter=0, leave=0 ->check_password : modules/aaa/mod_auth.h line=57 column=20 check_password(r : modules/aaa/mod_auth_basic.c line=176 column=49 r, sent_user : modules/aaa/mod_auth_basic.c line=180 column=17 sent_user, sent_pw : modules/aaa/mod_auth_basic.c line=180 column=29 sent_pw); |
| 231 | |
| 232 | apr_table_unset : /usr/include/apr-1/apr_tables.h line=290 column=19 apr_table_unset(r : modules/aaa/mod_auth_basic.c line=176 column=49 r-> : enter=0, leave=0 ->notes : include/httpd.h line=910 column=18 notes, AUTHN_PROVIDER_NAME_NOTE); |
| 233 | |
| 234 | |
| 235 | if (auth_result : modules/aaa/mod_auth_basic.c line=182 column=18 auth_result != : true=0, false=0 != AUTH_USER_NOT_FOUND : modules/aaa/mod_auth.h line=49 column=5 AUTH_USER_NOT_FOUND) { |
| 236 | break; |
| 237 | |
| 238 | |
| 239 | |
| 240 | if (! : true=0, false=0 !conf : modules/aaa/mod_auth_basic.c line=178 column=28 conf-> : enter=0, leave=0 ->providers : modules/aaa/mod_auth_basic.c line=36 column=26 providers) { |
| 241 | break; |
| 242 | |
| 243 | |
| 244 | current_provider = : pass=0 = current_provider : modules/aaa/mod_auth_basic.c line=183 column=26 current_provider-> : enter=0, leave=0 ->next : modules/aaa/mod_auth.h line=73 column=26 next; |
| 245 | while (current_provider : modules/aaa/mod_auth_basic.c line=183 column=26 current_provider); |
| 246 | |
| 247 | if (auth_result : modules/aaa/mod_auth_basic.c line=182 column=18 auth_result != : true=0, false=0 != AUTH_GRANTED : modules/aaa/mod_auth.h line=47 column=5 AUTH_GRANTED) { |
| 248 | |
| 249 | |
| 250 | |
| 251 | if (! : true=0, false=0 MC/DC independently affect : true=0, false=0 !(conf : modules/aaa/mod_auth_basic.c line=178 column=28 conf-> : enter=0, leave=0 ->authoritative : modules/aaa/mod_auth_basic.c line=38 column=9 authoritative) && : true=0, false=0 && auth_result : modules/aaa/mod_auth_basic.c line=182 column=18 auth_result != : true=0, false=0 MC/DC independently affect : true=0, false=0 != AUTH_DENIED : modules/aaa/mod_auth.h line=46 column=5 AUTH_DENIED) { |
| 252 | return DECLINED; |
| 253 | |
| 254 | |
| 255 | switch (auth_result : modules/aaa/mod_auth_basic.c line=182 column=18 auth_result) { |
| 256 | case AUTH_DENIED: |
| 257 | ap_log_rerror : include/http_log.h line=219 column=18 ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r : modules/aaa/mod_auth_basic.c line=176 column=49 r, |
| 258 | |
| 259 | |
| 260 | sent_user, r : modules/aaa/mod_auth_basic.c line=176 column=49 r-> : enter=0, leave=0 ->uri : include/httpd.h line=946 column=11 uri); |
| 261 | return_code = : pass=0 = HTTP_UNAUTHORIZED; |
| 262 | break; |
| 263 | case AUTH_USER_NOT_FOUND: |
| 264 | ap_log_rerror : include/http_log.h line=219 column=18 ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r : modules/aaa/mod_auth_basic.c line=176 column=49 r, |
| 265 | sent_user, r : modules/aaa/mod_auth_basic.c line=176 column=49 r-> : enter=0, leave=0 ->uri : include/httpd.h line=946 column=11 uri); |
| 266 | return_code = : pass=0 = HTTP_UNAUTHORIZED; |
| 267 | break; |
| 268 | case AUTH_GENERAL_ERROR: |
| 269 | default: |
| 270 | |
| 271 | |
| 272 | |
| 273 | return_code = : pass=0 = HTTP_INTERNAL_SERVER_ERROR; |
| 274 | break; |
| 275 | |
| 276 | |
| 277 | |
| 278 | if (return_code : modules/aaa/mod_auth_basic.c line=248 column=13 return_code == : true=0, false=0 == HTTP_UNAUTHORIZED) { |
| 279 | note_basic_auth_failure : modules/aaa/mod_auth_basic.c line=120 column=13 note_basic_auth_failure(r : modules/aaa/mod_auth_basic.c line=176 column=49 r); |
| 280 | |
| 281 | return return_code : modules/aaa/mod_auth_basic.c line=248 column=13 return_code; |
| 282 | |
| 283 | |
| 284 | return OK; |
| 285 | |
| 286 | |
| 287 | register_hooks(apr_pool_t *p) |
| 288 | |
| 289 | ap_hook_check_user_id : modules/aaa/ authenticate_basic_user,NULL,NULL,APR_HOOK_MIDDLE); |
| 290 | |
| 291 | |
| 292 | |
| 293 | |
| 294 | |
| 295 | create_auth_basic_dir_config, /* dir config creater */ |
| 296 | |
| 297 | |
| 298 | |
| 299 | auth_basic_cmds, /* command apr_table_t */ |
| 300 | register_hooks /* register hooks */ |
| 301 | |
| 302 |