Hans Leidekker
120244aefe
winhttp: Build without -DWINE_NO_LONG_TYPES.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 11:26:48 +01:00
Eric Pouech
843a0a3811
winhttp: Use correct integral type.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-04 11:20:34 +01:00
Paul Gofman
6d7d92269a
winhttp: Use lock when attempting to send frame synchronously().
...
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-02-03 10:48:38 +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
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
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
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
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
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
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
Paul Gofman
34fea20cd3
winhttp: Limit recursion for synchronous callback calls.
...
Fixes a regression in Hitman 2, Death Stranding introduced
by commit be5acd1c07
.
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-09-21 11:43:54 +02:00
Hans Leidekker
5731c38ae1
winhttp: Don't fail the request if authorization fails.
...
Fixes a regression from 080dfbee31
.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-16 22:22:44 +02:00
Paul Gofman
be5acd1c07
winhttp: Execute WinHttpReadData() synchronously if the data is available.
...
Fixes eFootball PES 2021 in game contents download.
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-08-26 21:49:09 +02:00
Paul Gofman
1c659954df
winhttp: Execute WinHttpQueryDataAvailable() synchronously if the data is available.
...
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-08-26 21:49:09 +02:00
Paul Gofman
bc5305e599
winhttp: Factor out query_data_ready() 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>
2021-08-26 21:49:08 +02:00
Haoyang Chen
8147ccde13
winhttp: Handle headers with '\r' line breaks.
...
Signed-off-by: Haoyang Chen <chenhaoyang@uniontech.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 15:40:43 +02:00
Hans Leidekker
4f961d9e7a
winhttp: Use CRT memory allocators.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-08 22:28:44 +02:00
Hans Leidekker
83afd177b3
winhttp: Avoid a crash when the connection is closed while handling a redirect.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48870
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 21:44:18 +01:00