Paul Gofman
5e3cc88326
winhttp: Force debug info in critical sections.
2024-02-20 10:44:14 +01:00
Paul Gofman
bd2a2c25f5
winhttp: Always return result at once if available in WinHttpReadData().
2024-01-26 11:01:50 +01:00
Paul Gofman
fd2534422b
winhttp: Always return result at once if available in WinHttpQueryDataAvailable().
2024-01-26 11:01:50 +01:00
Paul Gofman
0080205dbd
winhttp: Handle chunked requests.
2023-12-04 22:10:22 +01:00
Hans Leidekker
75b41873e6
winhttp: Use an unsigned integer for number values in query_headers().
2023-11-22 20:03:22 +01:00
Alex Henrie
1f7c84a33a
winhttp: Fix memory leak on error path in request_get_codepage (scan-build).
2023-06-16 10:30:42 +02:00
Alex Henrie
b630718149
winhttp: Fix double free on error path in queue_task (scan-build).
...
queue_task cannot free the struct because it doesn't know whether the
struct contains pointers to other dynamically allocated memory that also
needs to be freed (as is the case with struct send_request).
2023-06-08 12:03:20 +02:00
Paul Gofman
3f51fcf8ac
winhttp: Only read server reply in send_request() if the whole request is sent.
...
Fixes a regression introduced by
aa8f97e829
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54184
2022-12-20 22:37:03 +01:00
Paul Gofman
2677546e0a
winhttp: Handle state in a single switch in receive_response().
2022-12-20 22:37:03 +01:00
Paul Gofman
32141dfa93
winhttp: Execute receive_response() synchronously when possible.
2022-12-09 17:52:25 +01:00
Paul Gofman
8e0812ef9e
winhttp: Wait for WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE in request_send().
2022-12-09 17:52:25 +01:00
Paul Gofman
c43dd486be
winhttp: Call receive_response() recursively instead of looping.
2022-12-09 17:52:25 +01:00
Paul Gofman
5a94affcfd
winhttp: Factor out queue_receive_response().
2022-12-09 17:52:25 +01:00
Paul Gofman
aa8f97e829
winhttp: Receive server reply in send_request().
2022-12-09 17:52:25 +01:00
Paul Gofman
ee2de0b8fe
winhttp: Send notifications from receive_response() directly.
2022-12-09 17:52:25 +01:00
Paul Gofman
0ed844712f
winhttp: Don't refill buffer after receiving server response.
2022-12-09 17:52:25 +01:00
Paul Gofman
9caf603ad6
winhttp: Do not open connection in handle_redirect().
...
Let send_request() do it.
2022-12-09 17:52:25 +01:00
Paul Gofman
289d21a5d2
winhttp: Do not reference request from socket.
2022-11-24 22:20:21 +01:00
Paul Gofman
50bea867d2
winhttp: Move read buffer to websocket.
2022-11-24 22:20:20 +01:00
Paul Gofman
e50df0fa1c
winhttp: Move flags to websocket header.
2022-11-24 22:20:20 +01:00
Paul Gofman
64abcf80b6
winhttp: Store connection in websocket.
2022-11-24 22:20:20 +01:00
Paul Gofman
34b3d212a8
winhttp: Send connection close notifications in finished_reading().
2022-11-24 22:20:20 +01:00
Paul Gofman
645a65cbcf
winhttp: Add reference counting for connection.
2022-11-24 22:20:20 +01:00
Alex Henrie
ebe6e74730
winhttp: Use the wcsdup function instead of reimplementing it.
2022-11-21 12:58:00 +01:00
Paul Gofman
a8c1d5c108
winhttp: Always send Content-length with PUT.
2022-11-14 21:29:58 +01:00
Paul Gofman
f78137a8c2
winhttp: Support WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE.
2022-10-13 10:45:53 +02:00
Paul Gofman
84ec7aec91
winhttp: Support WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL.
2022-10-13 10:45:52 +02:00
Zebediah Figura
7cd30faabe
winhttp: Don't make a copy of the string in add_request_headers().
2022-08-10 14:07:27 +02:00
Zebediah Figura
6a84877cc2
winhttp: Pass a length to parse_header().
2022-08-10 14:07:27 +02:00
Zebediah Figura
57955c735b
winhttp: Allow custom headers to be separated by any sequence of \r and \n.
...
This fixes connecting to multiplayer game servers in Riptide GP: Renegade.
2022-08-10 14:07:25 +02:00
Hans Leidekker
c8a356ca15
winhttp: Release object on allocation failure.
2022-06-17 18:06:53 +02:00
Paul Gofman
dae64e2db5
winhttp: Introduce netconn_wait_overlapped_result() helper.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-06-09 20:55:20 +02:00
Paul Gofman
1b766caa48
winhttp: Support abort in task_socket_close().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-06-08 15:04:38 +02:00
Paul Gofman
55425e85ab
winhttp: Abort websocket IO on handle close.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-06-08 15:04:38 +02:00
Paul Gofman
3eda59afcb
winhttp: Replace pending read cancel in WinHttpWebSocketClose() with a generic cancel_queue().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-06-08 15:04:38 +02:00
Paul Gofman
66ff3594c4
winhttp: Fix dwResult field in websocket receive error result.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-06-08 15:04:38 +02:00
Paul Gofman
3d199dd92e
winhttp: Implement reference counting for tasks.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-06-08 15:04:38 +02:00
Paul Gofman
5d2f2797e3
winhttp: Keep task in queue until completion.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-06-08 15:04:38 +02:00
Paul Gofman
482a8b7de7
winhttp: Use default thread pool.
...
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-03-16 21:16:21 +01:00
Paul Gofman
88334e1c18
winhttp: Manage task cleanup in task_callback() and queue_task().
...
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-03-16 21:16:21 +01:00
Paul Gofman
d8a358033f
winhttp: Use a single thread pool wrapper callback for async tasks.
...
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-03-16 21:16:21 +01:00
Paul Gofman
0fc08a974f
winhttp: Support receiving web socket buffer fragments.
...
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-28 21:31:56 +01:00
Paul Gofman
003391dec8
winhttp: Support sending web socket buffer fragments.
...
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-28 21:31:56 +01:00
Paul Gofman
11c835d471
winhttp: Don't allow websocket send if another non-control send 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-02-28 21:31:56 +01:00
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