Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ssl_ct_log_config.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef SSL_CT_LOG_CONFIG_H
18 #define SSL_CT_LOG_CONFIG_H
19 
20 #include "httpd.h"
21 #include "mod_ssl_openssl.h" /* cheap way to get OpenSSL headers */
22 
23 typedef struct ct_log_config {
24  const char *log_id; /* binary form */
25  const char *public_key_pem;
26  EVP_PKEY *public_key;
27 #define DISTRUSTED_UNSET -1
28 #define TRUSTED 0
29 #define DISTRUSTED 1
32  const char *url;
33  const char *uri_str;
36 
37 int log_config_readable(apr_pool_t *p, const char *logconfig,
38  const char **msg);
39 
41  const char *log_config_fname,
42  apr_array_header_t *log_config);
43 
45  apr_pool_t *p,
46  const char *log_id,
47  const char *pubkey_fname,
48  const char *distrusted,
49  const char *min_time,
50  const char *max_time,
51  const char *url);
52 
54 
56 
58 
59 #endif /* SSL_CT_LOG_CONFIG_H */
const char * public_key_pem
Definition: ssl_ct_log_config.h:25
Interface to OpenSSL-specific APIs provided by mod_ssl.
Definition: apr_tables.h:62
apr_status_t read_config_db(apr_pool_t *p, server_rec *s_main, const char *log_config_fname, apr_array_header_t *log_config)
const char * url
Definition: ssl_ct_log_config.h:32
const char * log_id
Definition: ssl_ct_log_config.h:24
Definition: ssl_ct_log_config.h:23
int distrusted
Definition: ssl_ct_log_config.h:30
int log_valid_for_received_sct(const ct_log_config *l, apr_time_t to_check)
apr_int64_t apr_time_t
Definition: apr_time.h:45
HTTP Daemon routines.
A structure to store information for each virtual server.
Definition: httpd.h:1310
const char * uri_str
Definition: ssl_ct_log_config.h:33
proxy_worker proxy_server_conf char * url
Definition: mod_proxy.h:611
apr_time_t max_valid_time
Definition: ssl_ct_log_config.h:31
apr_uri_t uri
Definition: ssl_ct_log_config.h:34
Definition: apr_uri.h:85
struct ct_log_config ct_log_config
apr_pool_t * p
apr_time_t min_valid_time
Definition: ssl_ct_log_config.h:31
int log_valid_for_sent_sct(const ct_log_config *l)
EVP_PKEY * public_key
Definition: ssl_ct_log_config.h:26
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
int apr_status_t
Definition: apr_errno.h:44
apr_status_t save_log_config_entry(apr_array_header_t *log_config, apr_pool_t *p, const char *log_id, const char *pubkey_fname, const char *distrusted, const char *min_time, const char *max_time, const char *url)
int log_configured_for_fetching_sct(const ct_log_config *l)
int log_config_readable(apr_pool_t *p, const char *logconfig, const char **msg)