Fabian Maurer
19c758dc56
winhttp/tests: Avoid "misleading indentation" warnings.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:54 +01:00
Paul Gofman
d44e752fa2
winhttp: Don't allow queueing websocket receive if another is pending.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Paul Gofman
04fcadacca
winhttp: Don't allow socket transfers after receiving close frame.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Paul Gofman
41ea7fb0e1
winhttp: Don't queue socket_close() in WinHttpWebSocketClose() if close frame is already received.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Paul Gofman
1c9ea6cd94
winhttp: Factor out socket_close_complete() function.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Paul Gofman
673a01a442
winhttp: Don't mind socket state in WinHttpWebSocketQueryCloseStatus().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Paul Gofman
63ce184f9a
winhttp/tests: Test shutting down websocket when receive is pending.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Paul Gofman
be921fb386
winhttp: Pass server initiated websocket close request to application.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Alexandre Julliard
f0cd33c69e
include: Add support for defining Win32 types as 'long' where possible.
...
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Paul Gofman
bb36da429f
winhttp: Allow synchronous nonblocking send in socket_send_pong().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Paul Gofman
71ee671b65
winhttp: Allow synchronous nonblocking send in send_socket_shutdown().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Paul Gofman
9861b6796f
winhttp: Attemp sync websocket send even if data doesn't fit frame buffer.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Paul Gofman
a0e5fcdc00
winhttp: Attemp sync websocket send even if data doesn't fit SSL buffer.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Paul Gofman
67252dec22
winhttp: Append mask to output frame even if buffer length is zero.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Paul Gofman
7ea8192bb4
winhttp: Remove an extra pending_sends increment in WinHttpWebSocketSend().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Paul Gofman
68cb8a2965
winhttp: Return error from WinHttpWebSocketQueryCloseStatus() if close frame was not received.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Paul Gofman
1b42ebcfb7
winhttp: Send callback for pending receives right away when closing websocket.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Paul Gofman
2a812a5645
winhttp: Count queued websocket receive operations.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Paul Gofman
52b00214a2
winhttp: Move receive callback call to task_socket_receive().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Paul Gofman
0417d9d015
winhttp: Set socket close state in WinHttpWebSocketClose().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
57b26a83ba
winhttp/tests: Test closing websocket when receive is pending.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
de9a7e6540
winhttp: Process server close frame in handle_control_frame().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
d5fb34ebdb
winhttp: Factor out receive_close_status() function.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
07639a02d3
winhttp: Move close callback call to task_socket_close().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
f6ce4e23fa
winhttp: Use send_socket_shutdown() in WinHttpWebSocketClose().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
45872934aa
winhttp: Factor out send_socket_shutdown() function.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
5ea5db9021
winhttp: Set socket state to shutdown right away in WinHttpWebSocketShutdown().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
01c02f60d4
winhttp: Return ERROR_INVALID_OPERATION when websocket is in the wrong state.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 20:50:49 +01:00
Paul Gofman
9ef1e44914
winhttp: Allow synchronous nonblocking send in WinHttpWebSocketSend() when possible.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Paul Gofman
ad5d011f58
winhttp: Count queued websocket send operations.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Paul Gofman
7dd66e8450
winhttp: Factor out socket_send_complete() function.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Paul Gofman
c892634244
winhttp: Drain frames until close frame in socket_close().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:51 +01:00
Paul Gofman
b5b066f62a
winhttp: Consider short read from netconn_recv() in receive_bytes().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:35 +01:00
Paul Gofman
3a914ff488
winhttp: Allow receive on shutdown web socket.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:33 +01:00
Paul Gofman
70ada6d189
winhttp: Use a buffer for sending frame in send_frame().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:31 +01:00
Paul Gofman
25bd67465d
winhttp: Use separate SSL read and write buffers.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:29 +01:00
Paul Gofman
76ac0f3406
winhttp/tests: Also test async websockets with secure connection.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:26 +01:00
Zebediah Figura
f400f25c25
winhttp: Remove unused ole32 import.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 10:40:13 +01:00
Hans Leidekker
859f9daada
winhttp: Use DNS only for proxy auto-detection.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52133
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-30 22:07:21 +01:00
Paul Gofman
93b07c091b
winhttp: Handle TLS close notify in netconn_is_alive().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 20:45:07 +01:00
Paul Gofman
3a8ccb9242
winhttp: Process end of read data before sending callback in read_data().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 18:33:11 +02:00
Paul Gofman
d349013dde
winhttp: Don't send notifications when connection is closed on read finish.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-15 18:33:06 +02:00
Hans Leidekker
ca5850d920
winhttp/tests: Add redirect tests.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:14:50 +02:00
Hans Leidekker
badc64b42c
winhttp: Don't remove content-type/length headers in handle_redirect().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50272
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:14:46 +02:00
Hans Leidekker
ec46607ee0
winhttp: Fix return value for relative redirects.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:14:43 +02:00
Hans Leidekker
5da1d59241
winhttp: Call drain_content() before clear_response_headers().
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:14:40 +02:00
Hans Leidekker
239964ce86
winhttp: Call read_data() at least once in drain_content().
...
This ensures that response headers are processed even if there's no data to read.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50244
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:14:36 +02:00
Hans Leidekker
9f6e39e8b9
winhttp: Use ws.ifelse.io for websocket tests.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51631
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-22 21:48:39 +02:00
Hans Leidekker
f738af16fb
winhttp: Read any data left in the request buffer for websocket connections.
...
Fixes the case where a websocket server sends an unsolicited frame with the upgrade response.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-22 21:48:34 +02:00
Hans Leidekker
54742a9001
winhttp: Pass a socket pointer to send_bytes() and receive_bytes().
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-22 21:48:30 +02:00