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
d452c757
Commit
d452c757
authored
Nov 28, 2020
by
Michael Stefaniuc
Committed by
Alexandre Julliard
Nov 30, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rpcrt4: Use wide-char string literals.
Signed-off-by:
Michael Stefaniuc
<
mstefani@winehq.org
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
875f506b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
44 additions
and
82 deletions
+44
-82
cpsf.c
dlls/rpcrt4/cpsf.c
+12
-26
rpc_binding.c
dlls/rpcrt4/rpc_binding.c
+1
-2
rpc_epmap.c
dlls/rpcrt4/rpc_epmap.c
+1
-2
rpc_transport.c
dlls/rpcrt4/rpc_transport.c
+21
-38
rpc.c
dlls/rpcrt4/tests/rpc.c
+1
-2
server.c
dlls/rpcrt4/tests/server.c
+8
-12
No files found.
dlls/rpcrt4/cpsf.c
View file @
d452c757
...
@@ -41,11 +41,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(ole);
...
@@ -41,11 +41,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(ole);
static
void
format_clsid
(
WCHAR
*
buffer
,
const
CLSID
*
clsid
)
static
void
format_clsid
(
WCHAR
*
buffer
,
const
CLSID
*
clsid
)
{
{
static
const
WCHAR
clsid_formatW
[]
=
{
'{'
,
'%'
,
'0'
,
'8'
,
'X'
,
'-'
,
'%'
,
'0'
,
'4'
,
'X'
,
'-'
,
'%'
,
'0'
,
'4'
,
'X'
,
'-'
,
swprintf
(
buffer
,
39
,
L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}"
,
'%'
,
'0'
,
'2'
,
'X'
,
'%'
,
'0'
,
'2'
,
'X'
,
'-'
,
'%'
,
'0'
,
'2'
,
'X'
,
'%'
,
'0'
,
'2'
,
'X'
,
clsid
->
Data1
,
clsid
->
Data2
,
clsid
->
Data3
,
'%'
,
'0'
,
'2'
,
'X'
,
'%'
,
'0'
,
'2'
,
'X'
,
'%'
,
'0'
,
'2'
,
'X'
,
'%'
,
'0'
,
'2'
,
'X'
,
'}'
,
0
};
swprintf
(
buffer
,
39
,
clsid_formatW
,
clsid
->
Data1
,
clsid
->
Data2
,
clsid
->
Data3
,
clsid
->
Data4
[
0
],
clsid
->
Data4
[
1
],
clsid
->
Data4
[
2
],
clsid
->
Data4
[
3
],
clsid
->
Data4
[
0
],
clsid
->
Data4
[
1
],
clsid
->
Data4
[
2
],
clsid
->
Data4
[
3
],
clsid
->
Data4
[
4
],
clsid
->
Data4
[
5
],
clsid
->
Data4
[
6
],
clsid
->
Data4
[
7
]
);
clsid
->
Data4
[
4
],
clsid
->
Data4
[
5
],
clsid
->
Data4
[
6
],
clsid
->
Data4
[
7
]
);
...
@@ -222,15 +219,6 @@ HRESULT WINAPI NdrDllRegisterProxy(HMODULE hDll,
...
@@ -222,15 +219,6 @@ HRESULT WINAPI NdrDllRegisterProxy(HMODULE hDll,
const
ProxyFileInfo
**
pProxyFileList
,
const
ProxyFileInfo
**
pProxyFileList
,
const
CLSID
*
pclsid
)
const
CLSID
*
pclsid
)
{
{
static
const
WCHAR
bothW
[]
=
{
'B'
,
'o'
,
't'
,
'h'
,
0
};
static
const
WCHAR
clsidW
[]
=
{
'C'
,
'L'
,
'S'
,
'I'
,
'D'
,
'\\'
,
0
};
static
const
WCHAR
clsid32W
[]
=
{
'P'
,
'r'
,
'o'
,
'x'
,
'y'
,
'S'
,
't'
,
'u'
,
'b'
,
'C'
,
'l'
,
's'
,
'i'
,
'd'
,
'3'
,
'2'
,
0
};
static
const
WCHAR
interfaceW
[]
=
{
'I'
,
'n'
,
't'
,
'e'
,
'r'
,
'f'
,
'a'
,
'c'
,
'e'
,
'\\'
,
0
};
static
const
WCHAR
psfactoryW
[]
=
{
'P'
,
'S'
,
'F'
,
'a'
,
'c'
,
't'
,
'o'
,
'r'
,
'y'
,
'B'
,
'u'
,
'f'
,
'f'
,
'e'
,
'r'
,
0
};
static
const
WCHAR
numformatW
[]
=
{
'%'
,
'u'
,
0
};
static
const
WCHAR
nummethodsW
[]
=
{
'N'
,
'u'
,
'm'
,
'M'
,
'e'
,
't'
,
'h'
,
'o'
,
'd'
,
's'
,
0
};
static
const
WCHAR
inprocserverW
[]
=
{
'I'
,
'n'
,
'P'
,
'r'
,
'o'
,
'c'
,
'S'
,
'e'
,
'r'
,
'v'
,
'e'
,
'r'
,
'3'
,
'2'
,
0
};
static
const
WCHAR
threadingmodelW
[]
=
{
'T'
,
'h'
,
'r'
,
'e'
,
'a'
,
'd'
,
'i'
,
'n'
,
'g'
,
'M'
,
'o'
,
'd'
,
'e'
,
'l'
,
0
};
WCHAR
clsid
[
39
],
keyname
[
50
],
module
[
MAX_PATH
];
WCHAR
clsid
[
39
],
keyname
[
50
],
module
[
MAX_PATH
];
HKEY
key
,
subkey
;
HKEY
key
,
subkey
;
DWORD
len
;
DWORD
len
;
...
@@ -257,15 +245,15 @@ HRESULT WINAPI NdrDllRegisterProxy(HMODULE hDll,
...
@@ -257,15 +245,15 @@ HRESULT WINAPI NdrDllRegisterProxy(HMODULE hDll,
TRACE
(
"registering %s %s => %s
\n
"
,
TRACE
(
"registering %s %s => %s
\n
"
,
debugstr_a
(
name
),
debugstr_guid
(
proxy
->
header
.
piid
),
debugstr_w
(
clsid
));
debugstr_a
(
name
),
debugstr_guid
(
proxy
->
header
.
piid
),
debugstr_w
(
clsid
));
lstrcpyW
(
keyname
,
interfaceW
);
lstrcpyW
(
keyname
,
L"Interface
\\
"
);
format_clsid
(
keyname
+
lstrlenW
(
keyname
),
proxy
->
header
.
piid
);
format_clsid
(
keyname
+
lstrlenW
(
keyname
),
proxy
->
header
.
piid
);
if
(
RegCreateKeyW
(
HKEY_CLASSES_ROOT
,
keyname
,
&
key
)
==
ERROR_SUCCESS
)
{
if
(
RegCreateKeyW
(
HKEY_CLASSES_ROOT
,
keyname
,
&
key
)
==
ERROR_SUCCESS
)
{
WCHAR
num
[
10
];
WCHAR
num
[
10
];
if
(
name
)
if
(
name
)
RegSetValueExA
(
key
,
NULL
,
0
,
REG_SZ
,
(
const
BYTE
*
)
name
,
strlen
(
name
)
+
1
);
RegSetValueExA
(
key
,
NULL
,
0
,
REG_SZ
,
(
const
BYTE
*
)
name
,
strlen
(
name
)
+
1
);
RegSetValueW
(
key
,
clsid32W
,
REG_SZ
,
clsid
,
0
);
RegSetValueW
(
key
,
L"ProxyStubClsid32"
,
REG_SZ
,
clsid
,
0
);
swprintf
(
num
,
ARRAY_SIZE
(
num
),
numformatW
,
proxy
->
header
.
DispatchTableCount
);
swprintf
(
num
,
ARRAY_SIZE
(
num
),
L"%u"
,
proxy
->
header
.
DispatchTableCount
);
RegSetValueW
(
key
,
nummethodsW
,
REG_SZ
,
num
,
0
);
RegSetValueW
(
key
,
L"NumMethods"
,
REG_SZ
,
num
,
0
);
RegCloseKey
(
key
);
RegCloseKey
(
key
);
}
}
}
}
...
@@ -273,16 +261,16 @@ HRESULT WINAPI NdrDllRegisterProxy(HMODULE hDll,
...
@@ -273,16 +261,16 @@ HRESULT WINAPI NdrDllRegisterProxy(HMODULE hDll,
}
}
/* register clsid to point to module */
/* register clsid to point to module */
lstrcpyW
(
keyname
,
clsidW
);
lstrcpyW
(
keyname
,
L"CLSID
\\
"
);
lstrcatW
(
keyname
,
clsid
);
lstrcatW
(
keyname
,
clsid
);
len
=
GetModuleFileNameW
(
hDll
,
module
,
ARRAY_SIZE
(
module
));
len
=
GetModuleFileNameW
(
hDll
,
module
,
ARRAY_SIZE
(
module
));
if
(
len
&&
len
<
sizeof
(
module
))
{
if
(
len
&&
len
<
sizeof
(
module
))
{
TRACE
(
"registering CLSID %s => %s
\n
"
,
debugstr_w
(
clsid
),
debugstr_w
(
module
));
TRACE
(
"registering CLSID %s => %s
\n
"
,
debugstr_w
(
clsid
),
debugstr_w
(
module
));
if
(
RegCreateKeyW
(
HKEY_CLASSES_ROOT
,
keyname
,
&
key
)
==
ERROR_SUCCESS
)
{
if
(
RegCreateKeyW
(
HKEY_CLASSES_ROOT
,
keyname
,
&
key
)
==
ERROR_SUCCESS
)
{
RegSetValueExW
(
key
,
NULL
,
0
,
REG_SZ
,
(
const
BYTE
*
)
psfactoryW
,
sizeof
(
psfactoryW
));
RegSetValueExW
(
key
,
NULL
,
0
,
REG_SZ
,
(
const
BYTE
*
)
L"PSFactoryBuffer"
,
sizeof
(
L"PSFactoryBuffer"
));
if
(
RegCreateKeyW
(
key
,
inprocserverW
,
&
subkey
)
==
ERROR_SUCCESS
)
{
if
(
RegCreateKeyW
(
key
,
L"InProcServer32"
,
&
subkey
)
==
ERROR_SUCCESS
)
{
RegSetValueExW
(
subkey
,
NULL
,
0
,
REG_SZ
,
(
LPBYTE
)
module
,
(
lstrlenW
(
module
)
+
1
)
*
sizeof
(
WCHAR
));
RegSetValueExW
(
subkey
,
NULL
,
0
,
REG_SZ
,
(
LPBYTE
)
module
,
(
lstrlenW
(
module
)
+
1
)
*
sizeof
(
WCHAR
));
RegSetValueExW
(
subkey
,
threadingmodelW
,
0
,
REG_SZ
,
(
const
BYTE
*
)
bothW
,
sizeof
(
bothW
));
RegSetValueExW
(
subkey
,
L"ThreadingModel"
,
0
,
REG_SZ
,
(
const
BYTE
*
)
L"Both"
,
sizeof
(
L"Both"
));
RegCloseKey
(
subkey
);
RegCloseKey
(
subkey
);
}
}
RegCloseKey
(
key
);
RegCloseKey
(
key
);
...
@@ -299,8 +287,6 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll,
...
@@ -299,8 +287,6 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll,
const
ProxyFileInfo
**
pProxyFileList
,
const
ProxyFileInfo
**
pProxyFileList
,
const
CLSID
*
pclsid
)
const
CLSID
*
pclsid
)
{
{
static
const
WCHAR
clsidW
[]
=
{
'C'
,
'L'
,
'S'
,
'I'
,
'D'
,
'\\'
,
0
};
static
const
WCHAR
interfaceW
[]
=
{
'I'
,
'n'
,
't'
,
'e'
,
'r'
,
'f'
,
'a'
,
'c'
,
'e'
,
'\\'
,
0
};
WCHAR
keyname
[
50
];
WCHAR
keyname
[
50
];
WCHAR
clsid
[
39
];
WCHAR
clsid
[
39
];
...
@@ -321,7 +307,7 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll,
...
@@ -321,7 +307,7 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll,
TRACE
(
"unregistering %s %s
\n
"
,
debugstr_a
(
name
),
debugstr_guid
(
proxy
->
header
.
piid
));
TRACE
(
"unregistering %s %s
\n
"
,
debugstr_a
(
name
),
debugstr_guid
(
proxy
->
header
.
piid
));
lstrcpyW
(
keyname
,
interfaceW
);
lstrcpyW
(
keyname
,
L"Interface
\\
"
);
format_clsid
(
keyname
+
lstrlenW
(
keyname
),
proxy
->
header
.
piid
);
format_clsid
(
keyname
+
lstrlenW
(
keyname
),
proxy
->
header
.
piid
);
RegDeleteTreeW
(
HKEY_CLASSES_ROOT
,
keyname
);
RegDeleteTreeW
(
HKEY_CLASSES_ROOT
,
keyname
);
}
}
...
@@ -329,7 +315,7 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll,
...
@@ -329,7 +315,7 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll,
}
}
/* unregister clsid */
/* unregister clsid */
lstrcpyW
(
keyname
,
clsidW
);
lstrcpyW
(
keyname
,
L"CLSID
\\
"
);
lstrcatW
(
keyname
,
clsid
);
lstrcatW
(
keyname
,
clsid
);
RegDeleteTreeW
(
HKEY_CLASSES_ROOT
,
keyname
);
RegDeleteTreeW
(
HKEY_CLASSES_ROOT
,
keyname
);
...
...
dlls/rpcrt4/rpc_binding.c
View file @
d452c757
...
@@ -676,7 +676,6 @@ RPC_STATUS WINAPI RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjU
...
@@ -676,7 +676,6 @@ RPC_STATUS WINAPI RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjU
RPC_WSTR
*
Endpoint
,
RPC_WSTR
*
Options
)
RPC_WSTR
*
Endpoint
,
RPC_WSTR
*
Options
)
{
{
const
WCHAR
*
data
,
*
next
;
const
WCHAR
*
data
,
*
next
;
static
const
WCHAR
ep_opt
[]
=
{
'e'
,
'n'
,
'd'
,
'p'
,
'o'
,
'i'
,
'n'
,
't'
,
'='
,
0
};
BOOL
endpoint_already_found
=
FALSE
;
BOOL
endpoint_already_found
=
FALSE
;
TRACE
(
"(%s,%p,%p,%p,%p,%p)
\n
"
,
debugstr_w
(
StringBinding
),
TRACE
(
"(%s,%p,%p,%p,%p,%p)
\n
"
,
debugstr_w
(
StringBinding
),
...
@@ -740,7 +739,7 @@ RPC_STATUS WINAPI RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjU
...
@@ -740,7 +739,7 @@ RPC_STATUS WINAPI RpcStringBindingParseW( RPC_WSTR StringBinding, RPC_WSTR *ObjU
else
HeapFree
(
GetProcessHeap
(),
0
,
opt
);
else
HeapFree
(
GetProcessHeap
(),
0
,
opt
);
endpoint_already_found
=
TRUE
;
endpoint_already_found
=
TRUE
;
}
else
{
}
else
{
if
(
wcsncmp
(
opt
,
ep_opt
,
lstrlenW
(
ep_opt
))
==
0
)
{
if
(
wcsncmp
(
opt
,
L"endpoint="
,
lstrlenW
(
L"endpoint="
))
==
0
)
{
/* endpoint option */
/* endpoint option */
if
(
endpoint_already_found
)
goto
fail
;
if
(
endpoint_already_found
)
goto
fail
;
if
(
Endpoint
)
*
Endpoint
=
unescape_string_binding_componentW
(
next
+
1
,
-
1
);
if
(
Endpoint
)
*
Endpoint
=
unescape_string_binding_componentW
(
next
+
1
,
-
1
);
...
...
dlls/rpcrt4/rpc_epmap.c
View file @
d452c757
...
@@ -78,7 +78,6 @@ static const struct epm_endpoints
...
@@ -78,7 +78,6 @@ static const struct epm_endpoints
static
BOOL
start_rpcss
(
void
)
static
BOOL
start_rpcss
(
void
)
{
{
static
const
WCHAR
rpcssW
[]
=
{
'R'
,
'p'
,
'c'
,
'S'
,
's'
,
0
};
SC_HANDLE
scm
,
service
;
SC_HANDLE
scm
,
service
;
SERVICE_STATUS_PROCESS
status
;
SERVICE_STATUS_PROCESS
status
;
BOOL
ret
=
FALSE
;
BOOL
ret
=
FALSE
;
...
@@ -90,7 +89,7 @@ static BOOL start_rpcss(void)
...
@@ -90,7 +89,7 @@ static BOOL start_rpcss(void)
ERR
(
"failed to open service manager
\n
"
);
ERR
(
"failed to open service manager
\n
"
);
return
FALSE
;
return
FALSE
;
}
}
if
(
!
(
service
=
OpenServiceW
(
scm
,
rpcssW
,
SERVICE_START
|
SERVICE_QUERY_STATUS
)))
if
(
!
(
service
=
OpenServiceW
(
scm
,
L"RpcSs"
,
SERVICE_START
|
SERVICE_QUERY_STATUS
)))
{
{
ERR
(
"failed to open RpcSs service
\n
"
);
ERR
(
"failed to open RpcSs service
\n
"
);
CloseServiceHandle
(
scm
);
CloseServiceHandle
(
scm
);
...
...
dlls/rpcrt4/rpc_transport.c
View file @
d452c757
...
@@ -1874,7 +1874,6 @@ static RPC_STATUS rpcrt4_http_check_response(HINTERNET hor)
...
@@ -1874,7 +1874,6 @@ static RPC_STATUS rpcrt4_http_check_response(HINTERNET hor)
static
RPC_STATUS
rpcrt4_http_internet_connect
(
RpcConnection_http
*
httpc
)
static
RPC_STATUS
rpcrt4_http_internet_connect
(
RpcConnection_http
*
httpc
)
{
{
static
const
WCHAR
wszUserAgent
[]
=
{
'M'
,
'S'
,
'R'
,
'P'
,
'C'
,
0
};
LPWSTR
proxy
=
NULL
;
LPWSTR
proxy
=
NULL
;
LPWSTR
user
=
NULL
;
LPWSTR
user
=
NULL
;
LPWSTR
password
=
NULL
;
LPWSTR
password
=
NULL
;
...
@@ -1912,12 +1911,9 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
...
@@ -1912,12 +1911,9 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
for
(
option
=
httpc
->
common
.
NetworkOptions
;
option
;
for
(
option
=
httpc
->
common
.
NetworkOptions
;
option
;
option
=
(
wcschr
(
option
,
','
)
?
wcschr
(
option
,
','
)
+
1
:
NULL
))
option
=
(
wcschr
(
option
,
','
)
?
wcschr
(
option
,
','
)
+
1
:
NULL
))
{
{
static
const
WCHAR
wszRpcProxy
[]
=
{
'R'
,
'p'
,
'c'
,
'P'
,
'r'
,
'o'
,
'x'
,
'y'
,
'='
,
0
};
if
(
!
wcsnicmp
(
option
,
L"RpcProxy="
,
ARRAY_SIZE
(
L"RpcProxy="
)
-
1
))
static
const
WCHAR
wszHttpProxy
[]
=
{
'H'
,
't'
,
't'
,
'p'
,
'P'
,
'r'
,
'o'
,
'x'
,
'y'
,
'='
,
0
};
if
(
!
wcsnicmp
(
option
,
wszRpcProxy
,
ARRAY_SIZE
(
wszRpcProxy
)
-
1
))
{
{
const
WCHAR
*
value_start
=
option
+
ARRAY_SIZE
(
wszRpcProxy
)
-
1
;
const
WCHAR
*
value_start
=
option
+
ARRAY_SIZE
(
L"RpcProxy="
)
-
1
;
const
WCHAR
*
value_end
;
const
WCHAR
*
value_end
;
const
WCHAR
*
p
;
const
WCHAR
*
p
;
...
@@ -1934,9 +1930,9 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
...
@@ -1934,9 +1930,9 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
TRACE
(
"RpcProxy value is %s
\n
"
,
debugstr_wn
(
value_start
,
value_end
-
value_start
));
TRACE
(
"RpcProxy value is %s
\n
"
,
debugstr_wn
(
value_start
,
value_end
-
value_start
));
servername
=
RPCRT4_strndupW
(
value_start
,
value_end
-
value_start
);
servername
=
RPCRT4_strndupW
(
value_start
,
value_end
-
value_start
);
}
}
else
if
(
!
wcsnicmp
(
option
,
wszHttpProxy
,
ARRAY_SIZE
(
wszHttpProxy
)
-
1
))
else
if
(
!
wcsnicmp
(
option
,
L"HttpProxy="
,
ARRAY_SIZE
(
L"HttpProxy="
)
-
1
))
{
{
const
WCHAR
*
value_start
=
option
+
ARRAY_SIZE
(
wszHttpProxy
)
-
1
;
const
WCHAR
*
value_start
=
option
+
ARRAY_SIZE
(
L"HttpProxy="
)
-
1
;
const
WCHAR
*
value_end
;
const
WCHAR
*
value_end
;
value_end
=
wcschr
(
option
,
','
);
value_end
=
wcschr
(
option
,
','
);
...
@@ -1949,7 +1945,7 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
...
@@ -1949,7 +1945,7 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
FIXME
(
"unhandled option %s
\n
"
,
debugstr_w
(
option
));
FIXME
(
"unhandled option %s
\n
"
,
debugstr_w
(
option
));
}
}
httpc
->
app_info
=
InternetOpenW
(
wszUserAgent
,
proxy
?
INTERNET_OPEN_TYPE_PROXY
:
INTERNET_OPEN_TYPE_PRECONFIG
,
httpc
->
app_info
=
InternetOpenW
(
L"MSRPC"
,
proxy
?
INTERNET_OPEN_TYPE_PROXY
:
INTERNET_OPEN_TYPE_PRECONFIG
,
NULL
,
NULL
,
INTERNET_FLAG_ASYNC
);
NULL
,
NULL
,
INTERNET_FLAG_ASYNC
);
if
(
!
httpc
->
app_info
)
if
(
!
httpc
->
app_info
)
{
{
...
@@ -2062,11 +2058,9 @@ static RPC_STATUS send_echo_request(HINTERNET req, RpcHttpAsyncData *async_data,
...
@@ -2062,11 +2058,9 @@ static RPC_STATUS send_echo_request(HINTERNET req, RpcHttpAsyncData *async_data,
static
RPC_STATUS
insert_content_length_header
(
HINTERNET
request
,
DWORD
len
)
static
RPC_STATUS
insert_content_length_header
(
HINTERNET
request
,
DWORD
len
)
{
{
static
const
WCHAR
fmtW
[]
=
WCHAR
header
[
ARRAY_SIZE
(
L"Content-Length: %u
\r\n
"
)
+
10
];
{
'C'
,
'o'
,
'n'
,
't'
,
'e'
,
'n'
,
't'
,
'-'
,
'L'
,
'e'
,
'n'
,
'g'
,
't'
,
'h'
,
':'
,
' '
,
'%'
,
'u'
,
'\r'
,
'\n'
,
0
};
WCHAR
header
[
ARRAY_SIZE
(
fmtW
)
+
10
];
swprintf
(
header
,
ARRAY_SIZE
(
header
),
fmtW
,
len
);
swprintf
(
header
,
ARRAY_SIZE
(
header
),
L"Content-Length: %u
\r\n
"
,
len
);
if
((
HttpAddRequestHeadersW
(
request
,
header
,
-
1
,
HTTP_ADDREQ_FLAG_REPLACE
|
HTTP_ADDREQ_FLAG_ADD
)))
return
RPC_S_OK
;
if
((
HttpAddRequestHeadersW
(
request
,
header
,
-
1
,
HTTP_ADDREQ_FLAG_REPLACE
|
HTTP_ADDREQ_FLAG_ADD
)))
return
RPC_S_OK
;
return
RPC_S_SERVER_UNAVAILABLE
;
return
RPC_S_SERVER_UNAVAILABLE
;
}
}
...
@@ -2379,12 +2373,6 @@ static void destroy_authinfo(struct authinfo *info)
...
@@ -2379,12 +2373,6 @@ static void destroy_authinfo(struct authinfo *info)
HeapFree
(
GetProcessHeap
(),
0
,
info
);
HeapFree
(
GetProcessHeap
(),
0
,
info
);
}
}
static
const
WCHAR
basicW
[]
=
{
'B'
,
'a'
,
's'
,
'i'
,
'c'
,
0
};
static
const
WCHAR
ntlmW
[]
=
{
'N'
,
'T'
,
'L'
,
'M'
,
0
};
static
const
WCHAR
passportW
[]
=
{
'P'
,
'a'
,
's'
,
's'
,
'p'
,
'o'
,
'r'
,
't'
,
0
};
static
const
WCHAR
digestW
[]
=
{
'D'
,
'i'
,
'g'
,
'e'
,
's'
,
't'
,
0
};
static
const
WCHAR
negotiateW
[]
=
{
'N'
,
'e'
,
'g'
,
'o'
,
't'
,
'i'
,
'a'
,
't'
,
'e'
,
0
};
static
const
struct
static
const
struct
{
{
const
WCHAR
*
str
;
const
WCHAR
*
str
;
...
@@ -2393,11 +2381,11 @@ static const struct
...
@@ -2393,11 +2381,11 @@ static const struct
}
}
auth_schemes
[]
=
auth_schemes
[]
=
{
{
{
basicW
,
ARRAY_SIZE
(
basicW
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_BASIC
},
{
L"Basic"
,
ARRAY_SIZE
(
L"Basic"
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_BASIC
},
{
ntlmW
,
ARRAY_SIZE
(
ntlmW
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_NTLM
},
{
L"NTLM"
,
ARRAY_SIZE
(
L"NTLM"
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_NTLM
},
{
passportW
,
ARRAY_SIZE
(
passportW
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_PASSPORT
},
{
L"Passport"
,
ARRAY_SIZE
(
L"Passport"
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_PASSPORT
},
{
digestW
,
ARRAY_SIZE
(
digestW
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_DIGEST
},
{
L"Digest"
,
ARRAY_SIZE
(
L"Digest"
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_DIGEST
},
{
negotiateW
,
ARRAY_SIZE
(
negotiateW
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE
}
{
L"Negotiate"
,
ARRAY_SIZE
(
L"Negotiate"
)
-
1
,
RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE
}
};
};
static
DWORD
auth_scheme_from_header
(
const
WCHAR
*
header
)
static
DWORD
auth_scheme_from_header
(
const
WCHAR
*
header
)
...
@@ -2458,7 +2446,7 @@ static RPC_STATUS do_authorization(HINTERNET request, SEC_WCHAR *servername,
...
@@ -2458,7 +2446,7 @@ static RPC_STATUS do_authorization(HINTERNET request, SEC_WCHAR *servername,
case
RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE
:
case
RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE
:
{
{
static
SEC_WCHAR
ntlmW
[]
=
{
'N'
,
'T'
,
'L'
,
'M'
,
0
},
negotiateW
[]
=
{
'N'
,
'e'
,
'g'
,
'o'
,
't'
,
'i'
,
'a'
,
't'
,
'e'
,
0
}
;
static
SEC_WCHAR
ntlmW
[]
=
L"NTLM"
,
negotiateW
[]
=
L"Negotiate"
;
SECURITY_STATUS
ret
;
SECURITY_STATUS
ret
;
SecBufferDesc
out_desc
,
in_desc
;
SecBufferDesc
out_desc
,
in_desc
;
SecBuffer
out
,
in
;
SecBuffer
out
,
in
;
...
@@ -2634,7 +2622,6 @@ static void drain_content(HINTERNET request, RpcHttpAsyncData *async_data, HANDL
...
@@ -2634,7 +2622,6 @@ static void drain_content(HINTERNET request, RpcHttpAsyncData *async_data, HANDL
static
RPC_STATUS
authorize_request
(
RpcConnection_http
*
httpc
,
HINTERNET
request
)
static
RPC_STATUS
authorize_request
(
RpcConnection_http
*
httpc
,
HINTERNET
request
)
{
{
static
const
WCHAR
authW
[]
=
{
'A'
,
'u'
,
't'
,
'h'
,
'o'
,
'r'
,
'i'
,
'z'
,
'a'
,
't'
,
'i'
,
'o'
,
'n'
,
':'
,
'\r'
,
'\n'
,
0
};
struct
authinfo
*
info
=
NULL
;
struct
authinfo
*
info
=
NULL
;
RPC_STATUS
status
;
RPC_STATUS
status
;
BOOL
ret
;
BOOL
ret
;
...
@@ -2658,7 +2645,7 @@ static RPC_STATUS authorize_request(RpcConnection_http *httpc, HINTERNET request
...
@@ -2658,7 +2645,7 @@ static RPC_STATUS authorize_request(RpcConnection_http *httpc, HINTERNET request
}
}
if
(
info
->
scheme
!=
RPC_C_HTTP_AUTHN_SCHEME_BASIC
)
if
(
info
->
scheme
!=
RPC_C_HTTP_AUTHN_SCHEME_BASIC
)
HttpAddRequestHeadersW
(
request
,
authW
,
-
1
,
HTTP_ADDREQ_FLAG_REPLACE
|
HTTP_ADDREQ_FLAG_ADD
);
HttpAddRequestHeadersW
(
request
,
L"Authorization:
\r\n
"
,
-
1
,
HTTP_ADDREQ_FLAG_REPLACE
|
HTTP_ADDREQ_FLAG_ADD
);
destroy_authinfo
(
info
);
destroy_authinfo
(
info
);
return
status
;
return
status
;
...
@@ -2691,8 +2678,8 @@ static BOOL is_secure(RpcConnection_http *httpc)
...
@@ -2691,8 +2678,8 @@ static BOOL is_secure(RpcConnection_http *httpc)
static
RPC_STATUS
set_auth_cookie
(
RpcConnection_http
*
httpc
,
const
WCHAR
*
value
)
static
RPC_STATUS
set_auth_cookie
(
RpcConnection_http
*
httpc
,
const
WCHAR
*
value
)
{
{
static
WCHAR
httpW
[]
=
{
'h'
,
't'
,
't'
,
'p'
,
0
}
;
static
WCHAR
httpW
[]
=
L"http"
;
static
WCHAR
httpsW
[]
=
{
'h'
,
't'
,
't'
,
'p'
,
's'
,
0
}
;
static
WCHAR
httpsW
[]
=
L"https"
;
URL_COMPONENTSW
uc
;
URL_COMPONENTSW
uc
;
DWORD
len
;
DWORD
len
;
WCHAR
*
url
;
WCHAR
*
url
;
...
@@ -2737,12 +2724,8 @@ static RPC_STATUS set_auth_cookie(RpcConnection_http *httpc, const WCHAR *value)
...
@@ -2737,12 +2724,8 @@ static RPC_STATUS set_auth_cookie(RpcConnection_http *httpc, const WCHAR *value)
static
RPC_STATUS
rpcrt4_ncacn_http_open
(
RpcConnection
*
Connection
)
static
RPC_STATUS
rpcrt4_ncacn_http_open
(
RpcConnection
*
Connection
)
{
{
RpcConnection_http
*
httpc
=
(
RpcConnection_http
*
)
Connection
;
RpcConnection_http
*
httpc
=
(
RpcConnection_http
*
)
Connection
;
static
const
WCHAR
wszVerbIn
[]
=
{
'R'
,
'P'
,
'C'
,
'_'
,
'I'
,
'N'
,
'_'
,
'D'
,
'A'
,
'T'
,
'A'
,
0
};
static
const
WCHAR
wszRpcProxyPrefix
[]
=
L"/rpc/rpcproxy.dll?"
;
static
const
WCHAR
wszVerbOut
[]
=
{
'R'
,
'P'
,
'C'
,
'_'
,
'O'
,
'U'
,
'T'
,
'_'
,
'D'
,
'A'
,
'T'
,
'A'
,
0
};
LPCWSTR
wszAcceptTypes
[]
=
{
L"application/rpc"
,
NULL
};
static
const
WCHAR
wszRpcProxyPrefix
[]
=
{
'/'
,
'r'
,
'p'
,
'c'
,
'/'
,
'r'
,
'p'
,
'c'
,
'p'
,
'r'
,
'o'
,
'x'
,
'y'
,
'.'
,
'd'
,
'l'
,
'l'
,
'?'
,
0
};
static
const
WCHAR
wszColon
[]
=
{
':'
,
0
};
static
const
WCHAR
wszAcceptType
[]
=
{
'a'
,
'p'
,
'p'
,
'l'
,
'i'
,
'c'
,
'a'
,
't'
,
'i'
,
'o'
,
'n'
,
'/'
,
'r'
,
'p'
,
'c'
,
0
};
LPCWSTR
wszAcceptTypes
[]
=
{
wszAcceptType
,
NULL
};
DWORD
flags
;
DWORD
flags
;
WCHAR
*
url
;
WCHAR
*
url
;
RPC_STATUS
status
;
RPC_STATUS
status
;
...
@@ -2777,7 +2760,7 @@ static RPC_STATUS rpcrt4_ncacn_http_open(RpcConnection* Connection)
...
@@ -2777,7 +2760,7 @@ static RPC_STATUS rpcrt4_ncacn_http_open(RpcConnection* Connection)
memcpy
(
url
,
wszRpcProxyPrefix
,
sizeof
(
wszRpcProxyPrefix
));
memcpy
(
url
,
wszRpcProxyPrefix
,
sizeof
(
wszRpcProxyPrefix
));
MultiByteToWideChar
(
CP_ACP
,
0
,
Connection
->
NetworkAddr
,
-
1
,
url
+
ARRAY_SIZE
(
wszRpcProxyPrefix
)
-
1
,
MultiByteToWideChar
(
CP_ACP
,
0
,
Connection
->
NetworkAddr
,
-
1
,
url
+
ARRAY_SIZE
(
wszRpcProxyPrefix
)
-
1
,
strlen
(
Connection
->
NetworkAddr
)
+
1
);
strlen
(
Connection
->
NetworkAddr
)
+
1
);
lstrcatW
(
url
,
wszColon
);
lstrcatW
(
url
,
L":"
);
MultiByteToWideChar
(
CP_ACP
,
0
,
Connection
->
Endpoint
,
-
1
,
url
+
lstrlenW
(
url
),
strlen
(
Connection
->
Endpoint
)
+
1
);
MultiByteToWideChar
(
CP_ACP
,
0
,
Connection
->
Endpoint
,
-
1
,
url
+
lstrlenW
(
url
),
strlen
(
Connection
->
Endpoint
)
+
1
);
secure
=
is_secure
(
httpc
);
secure
=
is_secure
(
httpc
);
...
@@ -2794,7 +2777,7 @@ static RPC_STATUS rpcrt4_ncacn_http_open(RpcConnection* Connection)
...
@@ -2794,7 +2777,7 @@ static RPC_STATUS rpcrt4_ncacn_http_open(RpcConnection* Connection)
HeapFree
(
GetProcessHeap
(),
0
,
url
);
HeapFree
(
GetProcessHeap
(),
0
,
url
);
return
status
;
return
status
;
}
}
httpc
->
in_request
=
HttpOpenRequestW
(
httpc
->
session
,
wszVerbIn
,
url
,
NULL
,
NULL
,
wszAcceptTypes
,
httpc
->
in_request
=
HttpOpenRequestW
(
httpc
->
session
,
L"RPC_IN_DATA"
,
url
,
NULL
,
NULL
,
wszAcceptTypes
,
flags
,
(
DWORD_PTR
)
httpc
->
async_data
);
flags
,
(
DWORD_PTR
)
httpc
->
async_data
);
if
(
!
httpc
->
in_request
)
if
(
!
httpc
->
in_request
)
{
{
...
@@ -2820,7 +2803,7 @@ static RPC_STATUS rpcrt4_ncacn_http_open(RpcConnection* Connection)
...
@@ -2820,7 +2803,7 @@ static RPC_STATUS rpcrt4_ncacn_http_open(RpcConnection* Connection)
drain_content
(
httpc
->
in_request
,
httpc
->
async_data
,
httpc
->
cancel_event
);
drain_content
(
httpc
->
in_request
,
httpc
->
async_data
,
httpc
->
cancel_event
);
}
}
httpc
->
out_request
=
HttpOpenRequestW
(
httpc
->
session
,
wszVerbOut
,
url
,
NULL
,
NULL
,
wszAcceptTypes
,
httpc
->
out_request
=
HttpOpenRequestW
(
httpc
->
session
,
L"RPC_OUT_DATA"
,
url
,
NULL
,
NULL
,
wszAcceptTypes
,
flags
,
(
DWORD_PTR
)
httpc
->
async_data
);
flags
,
(
DWORD_PTR
)
httpc
->
async_data
);
HeapFree
(
GetProcessHeap
(),
0
,
url
);
HeapFree
(
GetProcessHeap
(),
0
,
url
);
if
(
!
httpc
->
out_request
)
if
(
!
httpc
->
out_request
)
...
...
dlls/rpcrt4/tests/rpc.c
View file @
d452c757
...
@@ -1165,7 +1165,6 @@ enum firewall_op
...
@@ -1165,7 +1165,6 @@ enum firewall_op
static
HRESULT
set_firewall
(
enum
firewall_op
op
)
static
HRESULT
set_firewall
(
enum
firewall_op
op
)
{
{
static
const
WCHAR
testW
[]
=
{
'r'
,
'p'
,
'c'
,
'r'
,
't'
,
'4'
,
'_'
,
't'
,
'e'
,
's'
,
't'
,
0
};
HRESULT
hr
,
init
;
HRESULT
hr
,
init
;
INetFwMgr
*
mgr
=
NULL
;
INetFwMgr
*
mgr
=
NULL
;
INetFwPolicy
*
policy
=
NULL
;
INetFwPolicy
*
policy
=
NULL
;
...
@@ -1205,7 +1204,7 @@ static HRESULT set_firewall( enum firewall_op op )
...
@@ -1205,7 +1204,7 @@ static HRESULT set_firewall( enum firewall_op op )
hr
=
INetFwAuthorizedApplication_put_ProcessImageFileName
(
app
,
image
);
hr
=
INetFwAuthorizedApplication_put_ProcessImageFileName
(
app
,
image
);
if
(
hr
!=
S_OK
)
goto
done
;
if
(
hr
!=
S_OK
)
goto
done
;
name
=
SysAllocString
(
testW
);
name
=
SysAllocString
(
L"rpcrt4_test"
);
hr
=
INetFwAuthorizedApplication_put_Name
(
app
,
name
);
hr
=
INetFwAuthorizedApplication_put_Name
(
app
,
name
);
SysFreeString
(
name
);
SysFreeString
(
name
);
ok
(
hr
==
S_OK
,
"got %08x
\n
"
,
hr
);
ok
(
hr
==
S_OK
,
"got %08x
\n
"
,
hr
);
...
...
dlls/rpcrt4/tests/server.c
View file @
d452c757
...
@@ -245,9 +245,6 @@ static void (__cdecl *test_handle)(ctx_handle_t ctx_handle);
...
@@ -245,9 +245,6 @@ static void (__cdecl *test_handle)(ctx_handle_t ctx_handle);
/* type check statements generated in header file */
/* type check statements generated in header file */
fnprintf
*
p_printf
=
printf
;
fnprintf
*
p_printf
=
printf
;
static
const
WCHAR
helloW
[]
=
{
'H'
,
'e'
,
'l'
,
'l'
,
'o'
,
0
};
static
const
WCHAR
worldW
[]
=
{
'W'
,
'o'
,
'r'
,
'l'
,
'd'
,
'!'
,
0
};
static
BOOL
is_interp
;
static
BOOL
is_interp
;
static
void
set_interp_interface
(
void
)
static
void
set_interp_interface
(
void
)
...
@@ -833,10 +830,10 @@ void __cdecl s_get_namesw(int *n, wstr_array_t *names)
...
@@ -833,10 +830,10 @@ void __cdecl s_get_namesw(int *n, wstr_array_t *names)
wstr_array_t
list
;
wstr_array_t
list
;
list
=
MIDL_user_allocate
(
2
*
sizeof
(
list
[
0
]));
list
=
MIDL_user_allocate
(
2
*
sizeof
(
list
[
0
]));
list
[
0
]
=
MIDL_user_allocate
(
sizeof
(
helloW
));
list
[
0
]
=
MIDL_user_allocate
(
sizeof
(
L"Hello"
));
lstrcpyW
(
list
[
0
],
helloW
);
lstrcpyW
(
list
[
0
],
L"Hello"
);
list
[
1
]
=
MIDL_user_allocate
(
sizeof
(
worldW
));
list
[
1
]
=
MIDL_user_allocate
(
sizeof
(
L"World!"
));
lstrcpyW
(
list
[
1
],
worldW
);
lstrcpyW
(
list
[
1
],
L"World!"
);
*
names
=
list
;
*
names
=
list
;
*
n
=
2
;
*
n
=
2
;
...
@@ -1157,7 +1154,7 @@ static void
...
@@ -1157,7 +1154,7 @@ static void
basic_tests
(
void
)
basic_tests
(
void
)
{
{
char
string
[]
=
"I am a string"
;
char
string
[]
=
"I am a string"
;
WCHAR
wstring
[]
=
{
'I'
,
' '
,
'a'
,
'm'
,
' '
,
'a'
,
' '
,
'w'
,
's'
,
't'
,
'r'
,
'i'
,
'n'
,
'g'
,
0
}
;
WCHAR
wstring
[]
=
L"I am a wstring"
;
int
f
[
5
]
=
{
1
,
3
,
0
,
-
2
,
-
4
};
int
f
[
5
]
=
{
1
,
3
,
0
,
-
2
,
-
4
};
vector_t
a
=
{
1
,
3
,
7
};
vector_t
a
=
{
1
,
3
,
7
};
vector_t
vec1
=
{
4
,
-
2
,
1
},
vec2
=
{
-
5
,
2
,
3
},
*
pvec2
=
&
vec2
;
vector_t
vec1
=
{
4
,
-
2
,
1
},
vec2
=
{
-
5
,
2
,
3
},
*
pvec2
=
&
vec2
;
...
@@ -1599,8 +1596,8 @@ pointer_tests(void)
...
@@ -1599,8 +1596,8 @@ pointer_tests(void)
namesw
=
NULL
;
namesw
=
NULL
;
get_namesw
(
&
n
,
&
namesw
);
get_namesw
(
&
n
,
&
namesw
);
ok
(
n
==
2
,
"expected 2, got %d
\n
"
,
n
);
ok
(
n
==
2
,
"expected 2, got %d
\n
"
,
n
);
ok
(
!
lstrcmpW
(
namesw
[
0
],
helloW
),
"expected Hello, got %s
\n
"
,
wine_dbgstr_w
(
namesw
[
0
]));
ok
(
!
lstrcmpW
(
namesw
[
0
],
L"Hello"
),
"expected Hello, got %s
\n
"
,
wine_dbgstr_w
(
namesw
[
0
]));
ok
(
!
lstrcmpW
(
namesw
[
1
],
worldW
),
"expected World!, got %s
\n
"
,
wine_dbgstr_w
(
namesw
[
1
]));
ok
(
!
lstrcmpW
(
namesw
[
1
],
L"World!"
),
"expected World!, got %s
\n
"
,
wine_dbgstr_w
(
namesw
[
1
]));
MIDL_user_free
(
namesw
[
0
]);
MIDL_user_free
(
namesw
[
0
]);
MIDL_user_free
(
namesw
[
1
]);
MIDL_user_free
(
namesw
[
1
]);
MIDL_user_free
(
namesw
);
MIDL_user_free
(
namesw
);
...
@@ -2464,7 +2461,6 @@ enum firewall_op
...
@@ -2464,7 +2461,6 @@ enum firewall_op
static
HRESULT
set_firewall
(
enum
firewall_op
op
)
static
HRESULT
set_firewall
(
enum
firewall_op
op
)
{
{
static
const
WCHAR
testW
[]
=
{
'r'
,
'p'
,
'c'
,
'r'
,
't'
,
'4'
,
'_'
,
't'
,
'e'
,
's'
,
't'
,
0
};
HRESULT
hr
,
init
;
HRESULT
hr
,
init
;
INetFwMgr
*
mgr
=
NULL
;
INetFwMgr
*
mgr
=
NULL
;
INetFwPolicy
*
policy
=
NULL
;
INetFwPolicy
*
policy
=
NULL
;
...
@@ -2504,7 +2500,7 @@ static HRESULT set_firewall( enum firewall_op op )
...
@@ -2504,7 +2500,7 @@ static HRESULT set_firewall( enum firewall_op op )
hr
=
INetFwAuthorizedApplication_put_ProcessImageFileName
(
app
,
image
);
hr
=
INetFwAuthorizedApplication_put_ProcessImageFileName
(
app
,
image
);
if
(
hr
!=
S_OK
)
goto
done
;
if
(
hr
!=
S_OK
)
goto
done
;
name
=
SysAllocString
(
testW
);
name
=
SysAllocString
(
L"rpcrt4_test"
);
hr
=
INetFwAuthorizedApplication_put_Name
(
app
,
name
);
hr
=
INetFwAuthorizedApplication_put_Name
(
app
,
name
);
SysFreeString
(
name
);
SysFreeString
(
name
);
ok
(
hr
==
S_OK
,
"got %08x
\n
"
,
hr
);
ok
(
hr
==
S_OK
,
"got %08x
\n
"
,
hr
);
...
...
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