X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/56d71638dbf48b8e4885e1e5ed5d0f1859674541..040047ef04833541ea55ddf0285f940bf268d9b8:/package/uhttpd/src/uhttpd.h diff --git a/package/uhttpd/src/uhttpd.h b/package/uhttpd/src/uhttpd.h index bb08afa1a..993bf93af 100644 --- a/package/uhttpd/src/uhttpd.h +++ b/package/uhttpd/src/uhttpd.h @@ -26,12 +26,14 @@ #include #include #include +#include #include +#include #include #include #include #include - +#include #include @@ -43,13 +45,16 @@ #include #endif +/* uClibc... */ +#ifndef SOL_TCP +#define SOL_TCP 6 +#endif + #define UH_LIMIT_MSGHEAD 4096 #define UH_LIMIT_HEADERS 64 -#define UH_LIMIT_LISTENERS 16 #define UH_LIMIT_CLIENTS 64 -#define UH_LIMIT_AUTHREALMS 8 #define UH_HTTP_MSG_GET 0 #define UH_HTTP_MSG_HEAD 1 @@ -57,22 +62,34 @@ struct listener; struct client; +struct interpreter; struct http_request; struct config { char docroot[PATH_MAX]; char *realm; char *file; + char *index_file; + char *error_handler; + int no_symlinks; + int no_dirlists; + int network_timeout; + int rfc1918_filter; + int tcp_keepalive; #ifdef HAVE_CGI char *cgi_prefix; #endif #ifdef HAVE_LUA char *lua_prefix; char *lua_handler; + lua_State *lua_state; lua_State * (*lua_init) (const char *handler); void (*lua_close) (lua_State *L); void (*lua_request) (struct client *cl, struct http_request *req, lua_State *L); #endif +#if defined(HAVE_CGI) || defined(HAVE_LUA) + int script_timeout; +#endif #ifdef HAVE_TLS char *cert; char *key; @@ -81,7 +98,7 @@ struct config { int (*tls_cert) (SSL_CTX *c, const char *file); int (*tls_key) (SSL_CTX *c, const char *file); void (*tls_free) (struct listener *l); - void (*tls_accept) (struct client *c); + int (*tls_accept) (struct client *c); void (*tls_close) (struct client *c); int (*tls_recv) (struct client *c, void *buf, int len); int (*tls_send) (struct client *c, void *buf, int len); @@ -95,6 +112,7 @@ struct listener { #ifdef HAVE_TLS SSL_CTX *tls; #endif + struct listener *next; }; struct client { @@ -107,17 +125,20 @@ struct client { #ifdef HAVE_TLS SSL *tls; #endif + struct client *next; }; struct auth_realm { char path[PATH_MAX]; char user[32]; char pass[128]; + struct auth_realm *next; }; struct http_request { int method; float version; + int redirect_status; char *url; char *headers[UH_LIMIT_HEADERS]; struct auth_realm *realm; @@ -129,5 +150,12 @@ struct http_response { char *headers[UH_LIMIT_HEADERS]; }; +#ifdef HAVE_CGI +struct interpreter { + char path[PATH_MAX]; + char extn[32]; + struct interpreter *next; +}; #endif +#endif