Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
d63ef4d8
Commit
d63ef4d8
authored
Apr 30, 2013
by
Hans Leidekker
Committed by
Alexandre Julliard
Apr 30, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winhttp: Resend any request data when handling an authentication or redirect response.
parent
7a69d4db
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
5 deletions
+15
-5
request.c
dlls/winhttp/request.c
+13
-5
winhttp_private.h
dlls/winhttp/winhttp_private.h
+2
-0
No files found.
dlls/winhttp/request.c
View file @
d63ef4d8
...
...
@@ -1124,9 +1124,13 @@ static BOOL send_request( request_t *request, LPCWSTR headers, DWORD headers_len
heap_free
(
req_ascii
);
if
(
!
ret
)
goto
end
;
if
(
optional_len
&&
!
netconn_send
(
&
request
->
netconn
,
optional
,
optional_len
,
0
,
&
bytes_sent
))
goto
end
;
len
+=
optional_len
;
if
(
optional_len
)
{
if
(
!
netconn_send
(
&
request
->
netconn
,
optional
,
optional_len
,
0
,
&
bytes_sent
))
goto
end
;
request
->
optional
=
optional
;
request
->
optional_len
=
optional_len
;
len
+=
optional_len
;
}
send_callback
(
&
request
->
hdr
,
WINHTTP_CALLBACK_STATUS_REQUEST_SENT
,
&
len
,
sizeof
(
DWORD
)
);
end:
...
...
@@ -1951,6 +1955,8 @@ static BOOL handle_redirect( request_t *request, DWORD status )
{
heap_free
(
request
->
verb
);
request
->
verb
=
strdupW
(
getW
);
request
->
optional
=
NULL
;
request
->
optional_len
=
0
;
}
ret
=
TRUE
;
...
...
@@ -1987,7 +1993,8 @@ static BOOL receive_response( request_t *request, BOOL async )
if
(
!
(
ret
=
handle_redirect
(
request
,
status
)))
break
;
send_request
(
request
,
NULL
,
0
,
NULL
,
0
,
0
,
0
,
FALSE
);
/* recurse synchronously */
/* recurse synchronously */
send_request
(
request
,
NULL
,
0
,
request
->
optional
,
request
->
optional_len
,
0
,
0
,
FALSE
);
continue
;
}
else
if
(
status
==
HTTP_STATUS_DENIED
||
status
==
HTTP_STATUS_PROXY_AUTH_REQ
)
...
...
@@ -2000,7 +2007,8 @@ static BOOL receive_response( request_t *request, BOOL async )
ret
=
TRUE
;
break
;
}
send_request
(
request
,
NULL
,
0
,
NULL
,
0
,
0
,
0
,
FALSE
);
/* recurse synchronously */
send_request
(
request
,
NULL
,
0
,
request
->
optional
,
request
->
optional_len
,
0
,
0
,
FALSE
);
continue
;
}
break
;
...
...
dlls/winhttp/winhttp_private.h
View file @
d63ef4d8
...
...
@@ -156,6 +156,8 @@ typedef struct
LPWSTR
path
;
LPWSTR
version
;
LPWSTR
raw_headers
;
void
*
optional
;
DWORD
optional_len
;
netconn_t
netconn
;
int
resolve_timeout
;
int
connect_timeout
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment