| 2095 | |
| 2096 | #ifdef HAVE_SSL_CONF_CMD |
| 2097 | const char *ssl_cmd_SSLOpenSSLConfCmd(cmd_parms *cmd, void *dcfg, |
| 2098 | const char *arg1, const char *arg2) |
| 2099 | { |
| 2100 | SSLSrvConfigRec *sc = mySrvConfig(cmd->server); |
| 2101 | SSL_CONF_CTX *cctx = sc->server->ssl_ctx_config; |
| 2102 | int value_type = SSL_CONF_cmd_value_type(cctx, arg1); |
| 2103 | const char *err; |
| 2104 | ssl_ctx_param_t *param; |
| 2105 | |
| 2106 | if (value_type == SSL_CONF_TYPE_UNKNOWN) { |
| 2107 | return apr_psprintf(cmd->pool, |
| 2108 | "'%s': invalid OpenSSL configuration command", |
| 2109 | arg1); |
| 2110 | } |
| 2111 | |
| 2112 | if (value_type == SSL_CONF_TYPE_FILE) { |
| 2113 | if ((err = ssl_cmd_check_file(cmd, &arg2))) |
| 2114 | return err; |
| 2115 | } |
| 2116 | else if (value_type == SSL_CONF_TYPE_DIR) { |
| 2117 | if ((err = ssl_cmd_check_dir(cmd, &arg2))) |
| 2118 | return err; |
| 2119 | } |
| 2120 | |
| 2121 | if (strcEQ(arg1, "CipherString")) { |
| 2122 | /* always disable null and export ciphers */ |
| 2123 | arg2 = apr_pstrcat(cmd->pool, arg2, ":!aNULL:!eNULL:!EXP", NULL); |
| 2124 | } |
| 2125 | |
| 2126 | param = apr_array_push(sc->server->ssl_ctx_param); |
| 2127 | param->name = arg1; |
| 2128 | param->value = arg2; |
| 2129 | return NULL; |
| 2130 | } |
| 2131 | #endif |
| 2132 | |
| 2133 | #ifdef HAVE_SRP |
nothing calls this directly
no test coverage detected