uhttpd: only enable Lua runtime if a handler was specified
[project/luci.git] / contrib / package / uhttpd / src / uhttpd-tls.c
1 #include "uhttpd.h"
2 #include "uhttpd-tls.h"
3 #include "uhttpd-utils.h"
4
5
6 SSL_CTX * uh_tls_ctx_init()
7 {
8         SSL_CTX *c = NULL;
9         SSL_load_error_strings();
10         SSL_library_init();
11
12         if( (c = SSL_CTX_new(TLSv1_server_method())) != NULL )
13                 SSL_CTX_set_verify(c, SSL_VERIFY_NONE, NULL);
14
15         return c;
16 }
17
18 void uh_tls_ctx_free(struct listener *l)
19 {
20         SSL_CTX_free(l->tls);
21 }
22
23
24 void uh_tls_client_accept(struct client *c)
25 {
26         if( c->server && c->server->tls )
27         {
28                 c->tls = SSL_new(c->server->tls);
29                 SSL_set_fd(c->tls, c->socket);
30         }
31 }
32
33 void uh_tls_client_close(struct client *c)
34 {
35         if( c->tls )
36         {
37                 SSL_shutdown(c->tls);
38                 SSL_free(c->tls);
39
40                 c->tls = NULL;
41         }
42 }