Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
6a609c21
Commit
6a609c21
authored
Mar 06, 2013
by
Hans Leidekker
Committed by
Alexandre Julliard
Mar 06, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wininet: Port resolution doesn't depend on the secure flag.
parent
b3c96b61
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
8 deletions
+40
-8
http.c
dlls/wininet/http.c
+11
-8
http.c
dlls/wininet/tests/http.c
+29
-0
No files found.
dlls/wininet/http.c
View file @
6a609c21
...
...
@@ -283,7 +283,7 @@ server_t *get_server(const WCHAR *name, INTERNET_PORT port, BOOL is_https, BOOL
server_t
*
iter
,
*
server
=
NULL
;
if
(
port
==
INTERNET_INVALID_PORT_NUMBER
)
port
=
is_https
?
INTERNET_DEFAULT_HTTPS_PORT
:
INTERNET_DEFAULT_HTTP_PORT
;
port
=
INTERNET_DEFAULT_HTTP_PORT
;
EnterCriticalSection
(
&
connection_pool_cs
);
...
...
@@ -1706,6 +1706,9 @@ static WCHAR *build_proxy_path_url(http_request_t *req)
*/
static
BOOL
HTTP_DealWithProxy
(
appinfo_t
*
hIC
,
http_session_t
*
session
,
http_request_t
*
request
)
{
static
const
WCHAR
protoHttp
[]
=
{
'h'
,
't'
,
't'
,
'p'
,
0
};
static
const
WCHAR
szHttp
[]
=
{
'h'
,
't'
,
't'
,
'p'
,
':'
,
'/'
,
'/'
,
0
};
static
const
WCHAR
szFormat
[]
=
{
'h'
,
't'
,
't'
,
'p'
,
':'
,
'/'
,
'/'
,
'%'
,
's'
,
0
};
WCHAR
buf
[
INTERNET_MAX_HOST_NAME_LENGTH
];
WCHAR
protoProxy
[
INTERNET_MAX_URL_LENGTH
];
DWORD
protoProxyLen
=
INTERNET_MAX_URL_LENGTH
;
...
...
@@ -1713,9 +1716,7 @@ static BOOL HTTP_DealWithProxy(appinfo_t *hIC, http_session_t *session, http_req
static
WCHAR
szNul
[]
=
{
0
};
URL_COMPONENTSW
UrlComponents
;
server_t
*
new_server
;
static
const
WCHAR
protoHttp
[]
=
{
'h'
,
't'
,
't'
,
'p'
,
0
};
static
const
WCHAR
szHttp
[]
=
{
'h'
,
't'
,
't'
,
'p'
,
':'
,
'/'
,
'/'
,
0
};
static
const
WCHAR
szFormat
[]
=
{
'h'
,
't'
,
't'
,
'p'
,
':'
,
'/'
,
'/'
,
'%'
,
's'
,
0
};
BOOL
is_https
;
memset
(
&
UrlComponents
,
0
,
sizeof
UrlComponents
);
UrlComponents
.
dwStructSize
=
sizeof
UrlComponents
;
...
...
@@ -1737,7 +1738,11 @@ static BOOL HTTP_DealWithProxy(appinfo_t *hIC, http_session_t *session, http_req
if
(
!
request
->
path
)
request
->
path
=
szNul
;
new_server
=
get_server
(
UrlComponents
.
lpszHostName
,
UrlComponents
.
nPort
,
UrlComponents
.
nScheme
==
INTERNET_SCHEME_HTTPS
,
TRUE
);
is_https
=
(
UrlComponents
.
nScheme
==
INTERNET_SCHEME_HTTPS
);
if
(
is_https
&&
UrlComponents
.
nPort
==
INTERNET_INVALID_PORT_NUMBER
)
UrlComponents
.
nPort
=
INTERNET_DEFAULT_HTTPS_PORT
;
new_server
=
get_server
(
UrlComponents
.
lpszHostName
,
UrlComponents
.
nPort
,
is_https
,
TRUE
);
if
(
!
new_server
)
return
FALSE
;
...
...
@@ -3160,9 +3165,7 @@ static DWORD HTTP_HttpOpenRequestW(http_session_t *session,
HTTP_ProcessHeader
(
request
,
hostW
,
request
->
server
->
canon_host_port
,
HTTP_ADDREQ_FLAG_ADD
|
HTTP_ADDHDR_FLAG_REQ
);
if
(
session
->
hostPort
==
INTERNET_INVALID_PORT_NUMBER
)
session
->
hostPort
=
(
dwFlags
&
INTERNET_FLAG_SECURE
?
INTERNET_DEFAULT_HTTPS_PORT
:
INTERNET_DEFAULT_HTTP_PORT
);
session
->
hostPort
=
INTERNET_DEFAULT_HTTP_PORT
;
if
(
hIC
->
proxy
&&
hIC
->
proxy
[
0
])
HTTP_DealWithProxy
(
hIC
,
session
,
request
);
...
...
dlls/wininet/tests/http.c
View file @
6a609c21
...
...
@@ -4013,6 +4013,34 @@ static void test_connection_failure(void)
InternetCloseHandle
(
session
);
}
static
void
test_default_service_port
(
void
)
{
HINTERNET
session
,
connect
,
request
;
DWORD
error
;
BOOL
ret
;
session
=
InternetOpen
(
"winetest"
,
INTERNET_OPEN_TYPE_DIRECT
,
NULL
,
NULL
,
0
);
ok
(
session
!=
NULL
,
"InternetOpen failed
\n
"
);
connect
=
InternetConnect
(
session
,
"test.winehq.org"
,
INTERNET_INVALID_PORT_NUMBER
,
NULL
,
NULL
,
INTERNET_SERVICE_HTTP
,
0
,
0
);
ok
(
connect
!=
NULL
,
"InternetConnect failed
\n
"
);
request
=
HttpOpenRequest
(
connect
,
NULL
,
"/"
,
NULL
,
NULL
,
NULL
,
INTERNET_FLAG_SECURE
,
0
);
ok
(
request
!=
NULL
,
"HttpOpenRequest failed
\n
"
);
SetLastError
(
0xdeadbeef
);
ret
=
HttpSendRequest
(
request
,
NULL
,
0
,
NULL
,
0
);
error
=
GetLastError
();
ok
(
!
ret
,
"HttpSendRequest succeeded
\n
"
);
ok
(
error
==
ERROR_INTERNET_SECURITY_CHANNEL_ERROR
||
error
==
ERROR_INTERNET_CANNOT_CONNECT
,
"got %u
\n
"
,
error
);
InternetCloseHandle
(
request
);
InternetCloseHandle
(
connect
);
InternetCloseHandle
(
session
);
}
static
void
init_status_tests
(
void
)
{
memset
(
expect
,
0
,
sizeof
(
expect
));
...
...
@@ -4091,4 +4119,5 @@ START_TEST(http)
HttpSendRequestEx_test
();
InternetReadFile_test
(
INTERNET_FLAG_ASYNC
,
&
test_data
[
3
]);
test_connection_failure
();
test_default_service_port
();
}
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