mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-23 00:00:06 +01:00

This adds - simple lws_urlencode() - simple lws_urldecode() - simple lws_sql_purify Those expect the data to all be there and process it up until the first '\0'. There is also a larger opaque apis for handling POST_BODY urldecode. To enable these, you need to give cmake -DLWS_WITH_STATEFUL_URLDECODE=1 (or arrange any larger feature that relies on it sets that in CMakeLists.txt) - stateful urldecode with parameter array These have create / process / destroy semantics on a struct that maintains decode state. Stateful urldecode is capable of dealing with large POST data in multiple POST_BODY callbacks cleanly, eg, file transfer by POST. Stateful urldecode with parameter array wraps the above with a canned callback that stores the urldecoded data and indexes them in a pointer array matching an array of parameter names. You may also pass it an optional callback when creating it, that will recieve uploaded file content. The test html is updated to support both urlencoded and multipart forms, with some javascript to do clientside validation of an arbitrary 100KB file size limit (there is no file size limit in the apis). Signed-off-by: Andy Green <andy@warmcat.com>
110 lines
2.9 KiB
C
110 lines
2.9 KiB
C
/* lws_config.h Generated from lws_config.h.in */
|
|
|
|
#ifndef NDEBUG
|
|
#ifndef _DEBUG
|
|
#define _DEBUG
|
|
#endif
|
|
#endif
|
|
|
|
/* Define to 1 to use wolfSSL/CyaSSL as a replacement for OpenSSL.
|
|
* LWS_OPENSSL_SUPPORT needs to be set also for this to work. */
|
|
#cmakedefine USE_WOLFSSL
|
|
|
|
/* Also define to 1 (in addition to USE_WOLFSSL) when using the
|
|
(older) CyaSSL library */
|
|
#cmakedefine USE_OLD_CYASSL
|
|
|
|
#cmakedefine LWS_USE_MBEDTLS
|
|
#cmakedefine LWS_USE_POLARSSL
|
|
|
|
#cmakedefine LWS_WITH_PLUGINS
|
|
|
|
/* The Libwebsocket version */
|
|
#cmakedefine LWS_LIBRARY_VERSION "${LWS_LIBRARY_VERSION}"
|
|
|
|
#define LWS_LIBRARY_VERSION_MAJOR ${LWS_LIBRARY_VERSION_MAJOR}
|
|
#define LWS_LIBRARY_VERSION_MINOR ${LWS_LIBRARY_VERSION_MINOR}
|
|
#define LWS_LIBRARY_VERSION_PATCH ${LWS_LIBRARY_VERSION_PATCH}
|
|
/* LWS_LIBRARY_VERSION_NUMBER looks like 1005001 for e.g. version 1.5.1 */
|
|
#define LWS_LIBRARY_VERSION_NUMBER (LWS_LIBRARY_VERSION_MAJOR*1000000)+(LWS_LIBRARY_VERSION_MINOR*1000)+LWS_LIBRARY_VERSION_PATCH
|
|
|
|
/* The current git commit hash that we're building from */
|
|
#cmakedefine LWS_BUILD_HASH "${LWS_BUILD_HASH}"
|
|
|
|
/* Build with OpenSSL support */
|
|
#cmakedefine LWS_OPENSSL_SUPPORT
|
|
|
|
/* The client should load and trust CA root certs it finds in the OS */
|
|
#cmakedefine LWS_SSL_CLIENT_USE_OS_CA_CERTS
|
|
|
|
/* Sets the path where the client certs should be installed. */
|
|
#cmakedefine LWS_OPENSSL_CLIENT_CERTS "${LWS_OPENSSL_CLIENT_CERTS}"
|
|
|
|
/* Turn off websocket extensions */
|
|
#cmakedefine LWS_NO_EXTENSIONS
|
|
|
|
/* Enable libev io loop */
|
|
#cmakedefine LWS_USE_LIBEV
|
|
|
|
/* Enable libuv io loop */
|
|
#cmakedefine LWS_USE_LIBUV
|
|
|
|
/* Build with support for ipv6 */
|
|
#cmakedefine LWS_USE_IPV6
|
|
|
|
/* Build with support for UNIX domain socket */
|
|
#cmakedefine LWS_USE_UNIX_SOCK
|
|
|
|
/* Build with support for HTTP2 */
|
|
#cmakedefine LWS_USE_HTTP2
|
|
|
|
/* Turn on latency measuring code */
|
|
#cmakedefine LWS_LATENCY
|
|
|
|
/* Don't build the daemonizeation api */
|
|
#cmakedefine LWS_NO_DAEMONIZE
|
|
|
|
/* Build without server support */
|
|
#cmakedefine LWS_NO_SERVER
|
|
|
|
/* Build without client support */
|
|
#cmakedefine LWS_NO_CLIENT
|
|
|
|
/* If we should compile with MinGW support */
|
|
#cmakedefine LWS_MINGW_SUPPORT
|
|
|
|
/* Use the BSD getifaddrs that comes with libwebsocket, for uclibc support */
|
|
#cmakedefine LWS_BUILTIN_GETIFADDRS
|
|
|
|
/* use SHA1() not internal libwebsockets_SHA1 */
|
|
#cmakedefine LWS_SHA1_USE_OPENSSL_NAME
|
|
|
|
/* SSL server using ECDH certificate */
|
|
#cmakedefine LWS_SSL_SERVER_WITH_ECDH_CERT
|
|
#cmakedefine LWS_HAVE_SSL_CTX_set1_param
|
|
|
|
/* CGI apis */
|
|
#cmakedefine LWS_WITH_CGI
|
|
|
|
/* whether the Openssl is recent enough, and / or built with, ecdh */
|
|
#cmakedefine LWS_HAVE_OPENSSL_ECDH_H
|
|
|
|
/* HTTP Proxy support */
|
|
#cmakedefine LWS_WITH_HTTP_PROXY
|
|
|
|
/* Http access log support */
|
|
#cmakedefine LWS_WITH_ACCESS_LOG
|
|
#cmakedefine LWS_WITH_SERVER_STATUS
|
|
|
|
#cmakedefine LWS_WITH_STATEFUL_URLDECODE
|
|
|
|
/* Maximum supported service threads */
|
|
#define LWS_MAX_SMP ${LWS_MAX_SMP}
|
|
|
|
/* Lightweight JSON Parser */
|
|
#cmakedefine LWS_WITH_LEJP
|
|
|
|
/* SMTP */
|
|
#cmakedefine LWS_WITH_SMTP
|
|
|
|
${LWS_SIZEOFPTR_CODE}
|