libwebsockets/lib
Andy Green a4244f08ad info struct add padding pool
The info struct is too fragile against additions being able to keep soname.

Because if we add something, the library can't count on the user code being
built against latest headers with largest info struct size.  Then the user
code may not have zeroed down enough of the struct and give us junk in the
new members.

Add a pool at the end of the info struct that exists so it will be zeroed
down even though no current use for those future members, then later
library versions can compatibly use them without breaking soname if it is
understood 0 means default.

Because keeping sizeof info straight if you add something is now a thing,
also add an lwsl_info letting you confirm it easily.

It's fine if the size of info differs on different platforms.  But when
we add things to the struct we need to balance the padding using a scheme
like

       short  new_member;
       unsigned char _padding1[sizeof(void *) - sizeof(short)];

which is immune to differences in platform differences in sizeof void *.

Signed-off-by: Andy Green <andy.green@linaro.org>
2015-12-25 09:23:25 +08:00
..
.gitignore Ignoring linux build files 2013-01-09 15:46:11 +08:00
alloc.c Subject: [PATCH] Add custom allocator support using the realloc() interface 2014-12-05 07:25:24 +08:00
base64-decode.c mbed3 warning cleaning 2015-11-14 16:31:01 +08:00
client-handshake.c clean internal refactor 2015-12-17 17:03:59 +08:00
client-parser.c clean internal refactor 2015-12-17 17:03:59 +08:00
client.c client check cb return during establish 2015-12-18 00:50:14 +08:00
context.c info struct add padding pool 2015-12-25 09:23:25 +08:00
daemonize.c clean internal refactor 2015-12-17 17:03:59 +08:00
extension-deflate-frame.c make protocols const require explicit context API BREAK 2015-12-14 06:43:26 +08:00
extension-deflate-frame.h whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
extension-deflate-stream.c whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
extension-deflate-stream.h whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
extension.c lws_get_context not _ctx 2015-12-17 18:25:25 +08:00
getifaddrs.c whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
getifaddrs.h Use LWS_HAVE_ instead of just HAVE_ 2015-10-12 09:53:17 +08:00
handshake.c clean internal refactor 2015-12-17 17:03:59 +08:00
header.c lws_get_context not _ctx 2015-12-17 18:25:25 +08:00
hpack.c public api remove superfluous context params API BREAK 2015-12-16 18:19:08 +08:00
http2.c clean internal refactor 2015-12-17 17:03:59 +08:00
huftable.h http2 hpack basic decode ok including huff 2014-10-12 08:38:16 +08:00
lextable-strings.h whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
lextable.h Add PATCH, PUT, DELETE methods 2015-01-26 11:25:13 +08:00
libev.c lws_get_context not _ctx 2015-12-17 18:25:25 +08:00
libwebsockets.c lws_get_context not _ctx 2015-12-17 18:25:25 +08:00
libwebsockets.h info struct add padding pool 2015-12-25 09:23:25 +08:00
lws-plat-mbed3.c clean internal refactor 2015-12-17 17:03:59 +08:00
lws-plat-mbed3.cpp lws_get_context not _ctx 2015-12-17 18:25:25 +08:00
lws-plat-unix.c detect service tid once and use wsi with valid context to do it 2015-12-24 13:00:54 +08:00
lws-plat-win.c detect service tid once and use wsi with valid context to do it 2015-12-24 13:00:54 +08:00
minihuf.c whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
minilex.c whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
output.c lws_get_context not _ctx 2015-12-17 18:25:25 +08:00
parsers.c uridecoding lws_hdr_fragment_length 2015-12-19 07:35:23 +08:00
pollfd.c detect service tid once and use wsi with valid context to do it 2015-12-24 13:00:54 +08:00
private-libwebsockets.h detect service tid once and use wsi with valid context to do it 2015-12-24 13:00:54 +08:00
server-handshake.c server check cb return during establish 2015-12-18 00:56:31 +08:00
server.c lws_get_context not _ctx 2015-12-17 18:25:25 +08:00
service.c lws_get_context not _ctx 2015-12-17 18:25:25 +08:00
sha-1.c clean reduce windows build warnings 2015-12-06 08:00:03 +08:00
ssl-http2.c clean internal refactor 2015-12-17 17:03:59 +08:00
ssl.c lws_get_context not _ctx 2015-12-17 18:25:25 +08:00