| 261 | } md_load_ctx; |
| 262 | |
| 263 | static const char *pk_filename(const char *keyname, const char *base, apr_pool_t *p) |
| 264 | { |
| 265 | char *s, *t; |
| 266 | /* We also run on various filesystems with difference upper/lower preserve matching |
| 267 | * rules. Normalize the names we use, since private key specifications are basically |
| 268 | * user input. */ |
| 269 | s = (keyname && apr_cstr_casecmp("rsa", keyname))? |
| 270 | apr_pstrcat(p, base, ".", keyname, ".pem", NULL) |
| 271 | : apr_pstrcat(p, base, ".pem", NULL); |
| 272 | for (t = s; *t; t++ ) |
| 273 | *t = (char)apr_tolower(*t); |
| 274 | return s; |
| 275 | } |
| 276 | |
| 277 | const char *md_pkey_filename(md_pkey_spec_t *spec, apr_pool_t *p) |
| 278 | { |
no outgoing calls
no test coverage detected