Mercurial > hg > nginx-quic
view src/os/win32/ngx_shmem.h @ 6548:8a34e92d8ab5
SSL: made it possible to iterate though all certificates.
A pointer to a previously configured certificate now stored in a certificate.
This makes it possible to iterate though all certificates configured in
the SSL context. This is now used to configure OCSP stapling for all
certificates, and in ngx_ssl_session_id_context().
As SSL_CTX_use_certificate() frees previously loaded certificate of the same
type, and we have no way to find out if it's the case, X509_free() calls
are now posponed till ngx_ssl_cleanup_ctx().
Note that in OpenSSL 1.0.2+ this can be done without storing things in exdata
using the SSL_CTX_set_current_cert() and SSL_CTX_get0_certificate() functions.
These are not yet available in all supported versions though, so it's easier
to continue to use exdata for now.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 19 May 2016 14:46:32 +0300 |
parents | af7eba90645d |
children |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_SHMEM_H_INCLUDED_ #define _NGX_SHMEM_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> typedef struct { u_char *addr; size_t size; ngx_str_t name; HANDLE handle; ngx_log_t *log; ngx_uint_t exists; /* unsigned exists:1; */ } ngx_shm_t; ngx_int_t ngx_shm_alloc(ngx_shm_t *shm); ngx_int_t ngx_shm_remap(ngx_shm_t *shm, u_char *addr); void ngx_shm_free(ngx_shm_t *shm); extern ngx_uint_t ngx_allocation_granularity; #endif /* _NGX_SHMEM_H_INCLUDED_ */