diff options
author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-15 12:31:33 +0000 |
---|---|---|
committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-15 12:31:33 +0000 |
commit | 7c3d251e31954debd91d7ba809567f4a06bd8df4 (patch) | |
tree | e3201933f206e27247754de4fbf02df5aa4cf033 /package/network/services/uhttpd/src/uhttpd.h | |
parent | c877d0a92eb74367c1a63a2883a7902c81a00a79 (diff) |
uhttpd: switch to external git repo + cmake build system
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33775 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/network/services/uhttpd/src/uhttpd.h')
-rw-r--r-- | package/network/services/uhttpd/src/uhttpd.h | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/package/network/services/uhttpd/src/uhttpd.h b/package/network/services/uhttpd/src/uhttpd.h deleted file mode 100644 index f6982db32..000000000 --- a/package/network/services/uhttpd/src/uhttpd.h +++ /dev/null @@ -1,214 +0,0 @@ -/* - * uhttpd - Tiny single-threaded httpd - Main header - * - * Copyright (C) 2010 Jo-Philipp Wich <xm@subsignal.org> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef _UHTTPD_ - -#include <stdio.h> -#include <stdlib.h> -#include <stdbool.h> -#include <string.h> -#include <unistd.h> -#include <signal.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <sys/select.h> -#include <sys/wait.h> -#include <netinet/in.h> -#include <netinet/tcp.h> -#include <arpa/inet.h> -#include <linux/limits.h> -#include <netdb.h> -#include <ctype.h> -#include <errno.h> -#include <dlfcn.h> - -#include <libubox/list.h> -#include <libubox/uloop.h> - - -#ifdef HAVE_LUA -#include <lua.h> -#endif - -#ifdef HAVE_TLS -#include <openssl/ssl.h> -#endif - -/* uClibc... */ -#ifndef SOL_TCP -#define SOL_TCP 6 -#endif - -#ifdef DEBUG -#define D(...) fprintf(stderr, __VA_ARGS__) -#else -#define D(...) -#endif - - -#define UH_LIMIT_MSGHEAD 4096 -#define UH_LIMIT_HEADERS 64 -#define UH_LIMIT_CLIENTS 64 - - -struct listener; -struct client; -struct interpreter; -struct http_request; -struct uh_ubus_state; - -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; - int max_requests; -#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 struct config *conf); - void (*lua_close) (lua_State *L); - bool (*lua_request) (struct client *cl, lua_State *L); -#endif -#ifdef HAVE_UBUS - char *ubus_prefix; - char *ubus_socket; - void *ubus_state; - struct uh_ubus_state * (*ubus_init) (const struct config *conf); - void (*ubus_close) (struct uh_ubus_state *state); - bool (*ubus_request) (struct client *cl, struct uh_ubus_state *state); -#endif -#if defined(HAVE_CGI) || defined(HAVE_LUA) || defined(HAVE_UBUS) - int script_timeout; -#endif -#ifdef HAVE_TLS - char *cert; - char *key; - SSL_CTX *tls; - SSL_CTX * (*tls_init) (void); - int (*tls_cert) (SSL_CTX *c, const char *file); - int (*tls_key) (SSL_CTX *c, const char *file); - void (*tls_free) (struct listener *l); - int (*tls_accept) (struct client *c); - void (*tls_close) (struct client *c); - int (*tls_recv) (struct client *c, char *buf, int len); - int (*tls_send) (struct client *c, const char *buf, int len); -#endif -}; - -enum http_method { - UH_HTTP_MSG_GET, - UH_HTTP_MSG_POST, - UH_HTTP_MSG_HEAD, -}; - -extern const char *http_methods[]; - -enum http_version { - UH_HTTP_VER_0_9, - UH_HTTP_VER_1_0, - UH_HTTP_VER_1_1, -}; - -extern const char *http_versions[]; - -struct http_request { - enum http_method method; - enum http_version version; - int redirect_status; - char *url; - char *headers[UH_LIMIT_HEADERS]; - struct auth_realm *realm; -}; - -struct http_response { - int statuscode; - char *statusmsg; - char *headers[UH_LIMIT_HEADERS]; -}; - -struct listener { - struct uloop_fd fd; - int socket; - int n_clients; - struct sockaddr_in6 addr; - struct config *conf; -#ifdef HAVE_TLS - SSL_CTX *tls; -#endif - struct listener *next; -}; - -struct client { -#ifdef HAVE_TLS - SSL *tls; -#endif - struct uloop_fd fd; - struct uloop_fd rpipe; - struct uloop_fd wpipe; - struct uloop_process proc; - struct uloop_timeout timeout; - bool (*cb)(struct client *); - void *priv; - bool dispatched; - struct { - char buf[UH_LIMIT_MSGHEAD]; - char *ptr; - int len; - } httpbuf; - struct listener *server; - struct http_request request; - struct http_response response; - struct sockaddr_in6 servaddr; - struct sockaddr_in6 peeraddr; - struct client *next; -}; - -struct client_light { -#ifdef HAVE_TLS - SSL *tls; -#endif - struct uloop_fd fd; -}; - -struct auth_realm { - char path[PATH_MAX]; - char user[32]; - char pass[128]; - struct auth_realm *next; -}; - -#ifdef HAVE_CGI -struct interpreter { - char path[PATH_MAX]; - char extn[32]; - struct interpreter *next; -}; -#endif - -#endif |