1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00
Commit graph

357 commits

Author SHA1 Message Date
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