|
unbound 0.1
|
HTTP1.1/SSL server. More...
#include "config.h"#include <openssl/x509.h>#include <openssl/pem.h>#include <ctype.h>#include <signal.h>Functions | |
| static void | usage (void) |
| Give petal usage, and exit (1). | |
| static void | print_exit (const char *str) |
| fatal exit | |
| static void | log_errno (const char *str) |
| print errno | |
| static int | parse_ip_addr (char *str, int port, struct sockaddr_storage *ret, socklen_t *l) |
| parse a text IP address into a sockaddr | |
| static void | fd_close (int fd) |
| close the fd | |
| static int | read_ssl_line (SSL *ssl, char *buf, size_t len) |
| Read one line from SSL zero terminates. | |
| static int | process_one_header (char *buf, char *file, size_t flen, char *host, size_t hlen, int *vs) |
| process one http header | |
| static int | read_http_headers (SSL *ssl, char *file, size_t flen, char *host, size_t hlen, int *vs) |
| read http headers and process them | |
| static SSL_CTX * | setup_ctx (char *key, char *cert) |
| setup SSL context | |
| static int | setup_fd (char *addr, int port) |
| setup listening TCP | |
| static SSL * | setup_ssl (int s, SSL_CTX *ctx) |
| setup SSL connection to the client | |
| static int | file_name_is_safe (char *s) |
| check a file name for safety | |
| static void | adjust_host (char *host) |
| adjust host | |
| static void | adjust_file (char *file) |
| adjust filename | |
| static int | host_name_is_safe (char *s) |
| check a host name for safety | |
| static void | provide_file_10 (SSL *ssl, char *fname) |
| provide file in whole transfer | |
| static void | provide_file_chunked (SSL *ssl, char *fname) |
| provide file over SSL, chunked encoding | |
| static void | service_ssl (SSL *ssl, struct sockaddr_storage *from, socklen_t falen) |
| provide service to the ssl descriptor | |
| static void | do_service (char *addr, int port, char *key, char *cert) |
| provide ssl service | |
| int | main (int argc, char *argv[]) |
| Main routine for petal. | |
Variables | |
| static int | verb = 0 |
| verbosity for this application | |
| int | optind |
| getopt global, in case header files fail to declare it. | |
| char * | optarg |
| getopt global, in case header files fail to declare it. | |
HTTP1.1/SSL server.
|
static |
Read one line from SSL zero terminates.
skips "\r\n" (but not copied to buf).
| ssl | the SSL connection to read from (blocking). |
| buf | buffer to return line in. |
| len | size of the buffer. |
References verb.
Referenced by read_http_headers().