ssl_engine_config.c revision 39c7699ec0799d394d3f67145d4a12ed82f587b8
fdbad18e66c0e293f94694458d47df305f050c71Christian Maeder/* Licensed to the Apache Software Foundation (ASF) under one or more
fdbad18e66c0e293f94694458d47df305f050c71Christian Maeder * contributor license agreements. See the NOTICE file distributed with
fdbad18e66c0e293f94694458d47df305f050c71Christian Maeder * this work for additional information regarding copyright ownership.
fdbad18e66c0e293f94694458d47df305f050c71Christian Maeder * The ASF licenses this file to You under the Apache License, Version 2.0
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder * (the "License"); you may not use this file except in compliance with
e973af819c2fb17f426944c8c4cfa00de5cd81a1Christian Maeder * the License. You may obtain a copy of the License at
b96b500ba4430269d97a08f07de87838278e9c5dChristian Maeder * http://www.apache.org/licenses/LICENSE-2.0
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder * Unless required by applicable law or agreed to in writing, software
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder * distributed under the License is distributed on an "AS IS" BASIS,
5214cf3742dc626a7efc5ec851db09bf0ff1f579Christian Maeder * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#include "ssl_private.h"
#include "util_mutex.h"
void *vmc;
if (vmc) {
sizeof(ssl_randseed_t));
pool);
return mc;
apr_pool_t *p)
apr_pool_t *p)
return sc;
return sc;
for (i = 0; i < SSL_AIDX_MAX; i++) {
return mrg;
return dc;
return mrg;
void *dcfg,
const char *arg_)
const char *err;
return err;
return NULL;
return NULL;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
ENGINE *e;
return err;
ENGINE_free(e);
e = ENGINE_get_first();
ENGINE_free(e);
e = en;
return err;
return NULL;
void *dcfg,
const char *arg1,
const char *arg2,
const char *arg3)
const char *err;
return err;
return NULL;
NULL);
#ifdef HAVE_SSL_RAND_EGD
if (!arg3) {
return NULL;
return NULL;
return NULL;
return NULL;
void *dcfg,
const char *arg)
return NULL;
#define SSL_FLAGS_CHECK_FILE \
#define SSL_FLAGS_CHECK_DIR \
const char **file)
if (!filepath) {
return NULL;
return NULL;
const char **dir)
if (!dirpath) {
return NULL;
const char *arg,
int idx)
return err;
switch (idx) {
case SSL_AIDX_CERTS:
case SSL_AIDX_KEYS:
for (i = 0; i < SSL_AIDX_MAX; i++) {
if (!files[i]) {
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
#define NO_PER_DIR_SSL_CA \
#ifdef HAVE_SSL_SET_CERT_STORE
# define MODSSL_HAVE_SSL_SET_CERT_STORE 0
#define MODSSL_SET_CA(f) \
return NO_PER_DIR_SSL_CA; \
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
const char *arg)
const char *err;
return err;
return NULL;
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
const char *arg,
NULL);
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
const char *arg,
int *depth)
return NULL;
NULL);
void *dcfg,
const char *arg)
int depth;
const char *err;
return err;
return NULL;
#define MODSSL_NO_SHARED_MEMORY_ERROR \
void *dcfg,
const char *arg)
return err;
return NULL;
return MODSSL_NO_SHARED_MEMORY_ERROR;
#ifdef HAVE_DISTCACHE
#ifdef HAVE_SSL_CACHE_MEMCACHE
return NULL;
void *dcfg,
const char *arg)
return NULL;
void *dcfg,
const char *arg)
NULL);
return NULL;
void *dcfg,
const char *arg)
char action, *w;
while (*arg) {
action = *(w++);
else if (first) {
NULL);
return NULL;
return NULL;
void *dcfg,
const char *arg)
return NULL;
const char *arg,
while (*arg) {
action = *(w++);
return NULL;
void *dcfg,
const char *arg)
return NULL;
void *dcfg,
const char *arg)
void *dcfg,
const char *arg)
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
int depth;
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
void *dcfg,
const char *arg)
const char *err;
return err;
return NULL;
const char *arg)
return NULL;
#ifndef HAVE_OCSP
if (flag) {
return NULL;
return NULL;
return NULL;
s = s->next;