Andy Green
5281560000
ssl pending buffered reads use linked list
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2015-01-29 08:36:18 +08:00
Andy Green
7e37d10e47
gethostbyname removal from lws get peer addresses
...
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>
2015-01-28 21:03:49 +08:00
Alejandro Mery
ead8afe8a1
add container_of() macro
...
to be used to remove cast abuse and finding parent structs later
Signed-off-by: Alejandro Mery <amery@geeks.cl>
2014-12-13 13:58:34 +08:00
Alejandro Mery
ac3ec39bb1
Subject: [PATCH] Introduce lws_free2() helper to free and re-NULL pointers
...
Signed-off-by: Alejandro Mery <amery@geeks.cl>
2014-12-05 07:27:52 +08:00
Alejandro Mery
cdc9717be1
Subject: [PATCH] Add custom allocator support using the realloc() interface
...
Signed-off-by: Alejandro Mery <amery@geeks.cl>
2014-12-05 07:25:24 +08:00
Andy Green
74f93d190b
coverity 83680 kill needless semicolons
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-11-30 12:30:36 +08:00
Andy Green
e5ea1f91d3
android64 make bzero def conditional
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-11-18 18:25:24 +08:00
Andy Green
44c116172d
lws_union_transition
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-11-08 11:18:47 +08:00
Andrew Canaday
377188189a
Adding header table free function to make sure we free cleanly everywhere.
2014-11-07 11:20:59 +08:00
Andy Green
97ee57fa35
http2 window update
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-11-02 06:54:09 +08:00
Andy Green
bbbf07a834
http2 padding and ping to autopong
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-27 16:46:44 +08:00
Andy Green
7df53c5550
http2 alpn npn pollout
...
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>
2014-10-22 15:38:12 +08:00
Andy Green
1cea5816fa
http2 dont use incoming END_STREAM when sending headers
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-19 07:36:20 +08:00
Andy Green
200f385716
http2 track content length add END_STREAM
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-18 12:23:05 +08:00
Andy Green
91b0589795
http2 handle flags
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-17 09:33:16 +08:00
joseph.urciuoli
4d9c8fc01a
ssl allow externally managed SSL_CTX
...
Signed-off-by: joseph.urciuoli <trac90@UNKNOWN.org>
2014-10-16 08:53:19 +08:00
Andy Green
1e49918a4f
trac 89 add flag on fatal send fail to use simple close
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-16 08:23:46 +08:00
Andy Green
917f43ab82
http2 able to send test.html to nghttp2
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-12 14:31:47 +08:00
Andy Green
2add6340d5
http2 hpack basic decode ok including huff
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-12 08:38:16 +08:00
Andy Green
ecc2e72ca1
http2 add hpack decode support
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-10 06:15:02 +08:00
Andy Green
609ec85869
ssl optimize poll when buffered ssl read data
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-09 08:29:22 +08:00
Andy Green
1f5c9f0c31
ssl_capable_read add context param
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-09 08:14:30 +08:00
Andy Green
fe3e3e61ec
ssl fix pending reads stuck in ssl layer
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-08 12:15:29 +08:00
Andy Green
024eb6c80c
http2 can keep upgraded connection up
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-10-08 12:00:53 +08:00
Andy Green
a54f232f07
http2 add h2c upgrade and http2 connmode
...
Connection upgrade handling for h2c
Establish http2 union struct and http2 connmode
No protocol code yet
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-09-30 09:43:14 +08:00
Andy Green
104316eb8f
internal SHA1 users all use libwebsockets_SHA1
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-09-26 05:56:23 +08:00
Dnyanesh Gate
759e50cdc8
android fix syslog path
2014-09-26 05:39:05 +08:00
emironov
a49d084429
fix byte order for qnx
2014-09-16 22:49:10 +08:00
Andy Green
82bac6baec
defer PONG send until no partial send buffer
...
Reported-by: Andrew Canaday
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-08-24 14:39:19 +08:00
Karl Palsson
95a8abb030
cyassl: correct include path for 3.1.x
2014-08-15 01:54:59 +08:00
Andrew Canaday
afe26cf4a6
HTTP Version, Keep-alive support, No-copy POST
...
This is a squashed commit from https://github.com/andrew-canaday/libwebsockets ,
dev/http_keepalive branch (strategies changed a few times, so the commit
history is clutteread). This branch is submitted for clarity, but the other
can be used as a reference or alternative.
* added **enum http_version** to track HTTP/1.0 vs HTTP/1.1 requests
* added **enum http_connection_type** to track keep-alive vs close
* replaced content_length_seen and body_index with **content_remain**
* removed **post_buffer** (see handshake.c modifications)
* removed post_buffer free
* switch state to WSI_TOKEN_SKIPPING after URI is complete to store version
* delete *spill* label (unused)
* add vars to track HTTP version and connection type
* HTTP version defaults to 1.0
* connection type defaults to 'close' for 1.0, keep-alive for 1.1
* additional checks in **cleanup:** label:
* if HTTP version string is present and valid, set enum val appropriately
* override connection default with the "Connection:" header, if present
* set state to WSI_STATE_HTTP_BODY if content_length > 0
* return 0 on HTTP requests, unless LWS_CALLBACK_HTTP indicates otherwise
* add vars to track remaining content_length and body chunk size
* re-arrange switch case order to facilitate creation of jump-table
* added new labels:
* **read_ok**: normal location reach on break from switch; just return 0
* **http_complete**: check for keep-alive + init state, mode, hdr table
* **http_new**: jump location for keep-alive when http_complete sees len>0
* after libwebsocket_parse, jump to one of those labels based on state
* POST body handling:
* don't bother iterating over input byte-by-byte or using memcpy
* just pass the relevant portion of the context->service_buffer to callback
2014-07-14 20:19:43 +08:00
Andy Green
97850857b3
dont free externally allocated user_space when closing connection
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-07-06 09:36:43 +08:00
Andrew Canaday
18fd4f6722
Reducing CPU cycles spent calculating per-header length limit.
2014-07-06 09:33:40 +08:00
Andrew Canaday
74b4a65745
Added optional per-header length limits:
...
- libwebsockets.h:
- * added struct lws_token_limits
* added token limits pointer to lws_context_creation_info
- private-libwebsockets.h: added token limits pointer to lws_context_creation_info
- context.c: copy token limits in create_context
- client.c / server.c: pass context when invoking libwebsocket_parse
- parsers.c:
- * libwebsocket_parse takes context pointer
* issue_char takes context pointer and checks header length against context limits, if defined
* issue_char returns 1 (not -1/0) for header too long, and spill: sets the state to WSI_TOKEN_SKIPPING
2014-07-06 09:33:40 +08:00
vpeter4
7c00fc3d9d
Disable compile error: statement with no effect
2014-04-27 13:35:28 +02:00
Andy Green
1b2fc03f24
libev stub macros need to reflect void when disabled
...
Reported-by: Michael Harberler <mail17@mah.priv.at>
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-21 07:59:44 +09:00
Patrick Gansterer
a6b019aaee
Declare the lws_ssl_capable_*_no_ssl function outside the SSL #ifdef
...
This avoids a compiler warning about a not declared function.
2014-04-15 18:40:31 +02:00
Patrick Gansterer
6bb4b62ede
Fix compilation on Windows CE after cleanup
2014-04-15 18:39:26 +02:00
Patrick Gansterer
1077e1f4d2
Fix include statement of in6addr.h
...
Only include it when CMake can find it. This works with MinGW and WinCE.
2014-04-15 18:38:54 +02:00
Andy Green
0f58db3940
windows ipv6 add necessary header
...
Thanks to Marjan and Joakim
https://github.com/warmcat/libwebsockets/issues/108#issuecomment-40075600
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-12 11:31:40 +08:00
Andy Green
cdb9bf9bdd
refactor move ssl server service to ssl.c
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-12 10:07:02 +08:00
Andy Green
a717df2739
refactor libev eliminate all code ifdefs
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-11 13:14:37 +08:00
Andy Green
a1a24d26a6
close should flush any truncated send before really closing
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-10 14:25:24 +08:00
Andy Green
d7340c141f
clean=various ifdef reduction
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-10 14:08:10 +08:00
Andy Green
1a308e4176
define LWS_SSL_CAPPABLE return codes even when no SSL enabled
...
Reported by fuzzy
https://github.com/warmcat/libwebsockets/issues/107
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-08 07:26:30 +01:00
spayton
5b94c3b449
Update private-libwebsockets.h
...
fixes windows http file serve - macro compatible_file_read() incorrectly used 'amount' instead of '_amount'
2014-04-08 07:22:53 +01:00
Joakim Soderberg
d2f5b199bc
windows Fix build.
2014-04-07 13:13:45 +01:00
Andy Green
e9b61b5ba5
windows clean out redundant inet_ntop prototype
...
Suggested by Joakim Soderberg https://github.com/warmcat/libwebsockets/issues/103#issuecomment-39684559
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-07 06:25:07 +01:00
Andy Green
02138126f2
refactor add ssl read write single implementation
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-06 06:26:35 +01:00
Andy Green
b25b85f606
windows allow syslog log target to mao to stderr
...
Signed-off-by: Andy Green <andy.green@linaro.org>
2014-04-03 23:34:09 +08:00