This nukes all the oldstyle prefixes except in the compatibility code.
struct libwebsockets becomes struct lws too.
The api docs are updated accordingly as are the READMEs that mention
those apis.
Signed-off-by: Andy Green <andy.green@linaro.org>
This is off by default, use
-D LWS_WITH_OLD_API_WRAPPERS=1
on cmake to get the old api names exported from the library as wrappers
around the new api names.
This allows the library to continue to be compatible with apps that are
not rebuilt with the new libwebsockets.h api compatibility defines.
Signed-off-by: Andy Green <andy.green@linaro.org>
Between changing to lws_ a few years ago and the previous two
patches migrating the public apis, there are only a few
internal functions left using libwebsocket_*.
Change those to also use lws_ without regard to compatibility
since they were never visible outside the library.
Signed-off-by: Andy Green <andy.green@linaro.org>
Change all internal uses of rationalized public apis to reflect the
new names.
Theer are a few things that got changed as side effect of search/replace
matches, but these are almost all internal. I added a compatibility define
for the public enum that got renamed.
Theoretically existing code should not notice the difference from these
two patches. And new code will find the new names.
https://github.com/warmcat/libwebsockets/issues/357
Signed-off-by: Andy Green <andy.green@linaro.org>
Simplifies proxy code to use the existing libwebsocket_set_proxy.
Enables libwebsocket_set_proxy() to parse username:password@ at front of
servername in both http_proxy and info->http_proxy_address.
If given the base64 version of the credentials are sent in the CONNECT
header to the proxy.
Port is now taken from info->http_proxy_address server:port syntax, but if
a port is given in the now deprecated info->http_proxy_port (ie, is nonzero)
then it is allowed to be missed out and the info port used instead for
backwards compatibility.
Signed-off-by: Andy Green <andy.green@linaro.org>
- Got rid of ifdef _WIN32 stuff adn moved to plat_ files instead.
- Also, check all calls to lws_zalloc, was potential failure on WIN32
- Made context destory enable to destroy a half inited context as well. This way I got get rid of some of the error handling complexity in libwebsocket_create_context
- Added TODOs for some potential problems I see where things might be leaking and such
At least some win32 uses an opaque pointer for fd that is not
an ordinal like it is in unix.
Resurrect the old hashtable management for that platform to use
instead, and introduce a helper to get the wsi from the fd "somehow".
Signed-off-by: Bud Davis <bdavis9659@gmail.com>
This replaces gethostbyname in libwebsockets_get_peer_addresses and
in the client handshake path.
There's one left in lws-plat-win but that can be done another time.
Let's see how much damage that did to the cross-platform and option
builds...
Signed-off-by: Andy Green <andy.green@linaro.org>
If the remote HTTP client closes the connection before serving commences, the
only notification client code receives is LWS_CALLBACK_WSI_DESTROY. This commit
gives LWS_CALLBACK_CLOSED_HTTP as well, as would happen if HTTP serving had
already commenced.
This adds npn / alpn support if your openssl can handle it.
Then, browsers that understand alpn will by default
negotiate http/1.1 and work as normal.
Clients that understand http2.0 can negotiate h2-14 and
use the basic but working http2.0 support automatically
Signed-off-by: Andy Green <andy.green@linaro.org>