cosmopolitan/net/https/sslcache.h

33 lines
858 B
C
Raw Normal View History

#ifndef COSMOPOLITAN_NET_HTTPS_SSLCACHE_H_
#define COSMOPOLITAN_NET_HTTPS_SSLCACHE_H_
#include "third_party/mbedtls/ssl.h"
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
struct SslCache {
size_t size;
int lifetime;
uint32_t mask;
struct SslCacheEntry {
int64_t time;
volatile uint64_t tick;
volatile int pid;
uint32_t hash;
unsigned certlen;
unsigned ticketlen;
mbedtls_ssl_session session;
uint8_t cert[1500];
uint8_t ticket[500];
} p[];
};
struct SslCache *CreateSslCache(const char *, size_t, int);
void FreeSslCache(struct SslCache *);
int UncacheSslSession(void *, mbedtls_ssl_session *);
int CacheSslSession(void *, const mbedtls_ssl_session *);
char *GetSslCacheFile(void);
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_NET_HTTPS_SSLCACHE_H_ */