Commit 697d4a71 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

ntdll: Allow explicitly specified asm.v2 namespace for "trustInfo".

parent 105b3dc8
...@@ -299,6 +299,18 @@ static const char manifest9[] = ...@@ -299,6 +299,18 @@ static const char manifest9[] =
"</trustInfo>" "</trustInfo>"
"</assembly>"; "</assembly>";
static const char manifest10[] =
"<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" xmlns:asmv2=\"urn:schemas-microsoft-com:asm.v2\" manifestVersion=\"1.0\">"
"<assemblyIdentity version=\"1.0.0.0\" name=\"Wine.Test\" type=\"win32\"></assemblyIdentity>"
"<asmv2:trustInfo>"
" <asmv2:security>"
" <asmv2:requestedPrivileges>"
" <asmv2:requestedExecutionLevel level=\"requireAdministrator\" uiAccess=\"true\"></asmv2:requestedExecutionLevel>"
" </asmv2:requestedPrivileges>"
" </asmv2:security>"
"</asmv2:trustInfo>"
"</assembly>";
static const char testdep_manifest1[] = static const char testdep_manifest1[] =
"<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">" "<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">"
"<assemblyIdentity type=\"win32\" name=\"testdep\" version=\"6.5.4.3\" processorArchitecture=\"" ARCH "\"/>" "<assemblyIdentity type=\"win32\" name=\"testdep\" version=\"6.5.4.3\" processorArchitecture=\"" ARCH "\"/>"
...@@ -2218,6 +2230,20 @@ static void test_actctx(void) ...@@ -2218,6 +2230,20 @@ static void test_actctx(void)
else else
skip("Could not create manifest file 9\n"); skip("Could not create manifest file 9\n");
if(create_manifest_file("test10.manifest", manifest10, -1, NULL, NULL)) {
handle = test_create("test10.manifest");
ok(handle != INVALID_HANDLE_VALUE, "handle == INVALID_HANDLE_VALUE, error %u\n", GetLastError());
DeleteFileA("test10.manifest");
DeleteFileA("testdep.manifest");
if(handle != INVALID_HANDLE_VALUE)
{
test_runlevel_info(handle, &runlevel_info8, __LINE__);
pReleaseActCtx(handle);
}
}
else
skip("Could not create manifest file 10\n");
trace("manifest4\n"); trace("manifest4\n");
if(!create_manifest_file("test4.manifest", manifest4, -1, NULL, NULL)) { if(!create_manifest_file("test4.manifest", manifest4, -1, NULL, NULL)) {
......
...@@ -2385,7 +2385,7 @@ static BOOL parse_requested_execution_level_elem(xmlbuf_t* xmlbuf, struct assemb ...@@ -2385,7 +2385,7 @@ static BOOL parse_requested_execution_level_elem(xmlbuf_t* xmlbuf, struct assemb
while (ret && (ret = next_xml_elem(xmlbuf, &elem))) while (ret && (ret = next_xml_elem(xmlbuf, &elem)))
{ {
if (xmlstr_cmp_end(&elem, requestedExecutionLevelW)) if (xml_elem_cmp_end(&elem, requestedExecutionLevelW, asmv2W))
{ {
ret = parse_end_element(xmlbuf); ret = parse_end_element(xmlbuf);
break; break;
...@@ -2407,12 +2407,12 @@ static BOOL parse_requested_privileges_elem(xmlbuf_t* xmlbuf, struct assembly* a ...@@ -2407,12 +2407,12 @@ static BOOL parse_requested_privileges_elem(xmlbuf_t* xmlbuf, struct assembly* a
while (ret && (ret = next_xml_elem(xmlbuf, &elem))) while (ret && (ret = next_xml_elem(xmlbuf, &elem)))
{ {
if (xmlstr_cmp_end(&elem, requestedPrivilegesW)) if (xml_elem_cmp_end(&elem, requestedPrivilegesW, asmv2W))
{ {
ret = parse_end_element(xmlbuf); ret = parse_end_element(xmlbuf);
break; break;
} }
else if (xmlstr_cmp(&elem, requestedExecutionLevelW)) else if (xml_elem_cmp(&elem, requestedExecutionLevelW, asmv2W))
ret = parse_requested_execution_level_elem(xmlbuf, assembly, acl); ret = parse_requested_execution_level_elem(xmlbuf, assembly, acl);
else else
{ {
...@@ -2431,12 +2431,12 @@ static BOOL parse_security_elem(xmlbuf_t *xmlbuf, struct assembly *assembly, str ...@@ -2431,12 +2431,12 @@ static BOOL parse_security_elem(xmlbuf_t *xmlbuf, struct assembly *assembly, str
while (ret && (ret = next_xml_elem(xmlbuf, &elem))) while (ret && (ret = next_xml_elem(xmlbuf, &elem)))
{ {
if (xmlstr_cmp_end(&elem, securityW)) if (xml_elem_cmp_end(&elem, securityW, asmv2W))
{ {
ret = parse_end_element(xmlbuf); ret = parse_end_element(xmlbuf);
break; break;
} }
else if (xmlstr_cmp(&elem, requestedPrivilegesW)) else if (xml_elem_cmp(&elem, requestedPrivilegesW, asmv2W))
ret = parse_requested_privileges_elem(xmlbuf, assembly, acl); ret = parse_requested_privileges_elem(xmlbuf, assembly, acl);
else else
{ {
...@@ -2455,12 +2455,12 @@ static BOOL parse_trust_info_elem(xmlbuf_t *xmlbuf, struct assembly *assembly, s ...@@ -2455,12 +2455,12 @@ static BOOL parse_trust_info_elem(xmlbuf_t *xmlbuf, struct assembly *assembly, s
while (ret && (ret = next_xml_elem(xmlbuf, &elem))) while (ret && (ret = next_xml_elem(xmlbuf, &elem)))
{ {
if (xmlstr_cmp_end(&elem, trustInfoW)) if (xml_elem_cmp_end(&elem, trustInfoW, asmv2W))
{ {
ret = parse_end_element(xmlbuf); ret = parse_end_element(xmlbuf);
break; break;
} }
else if (xmlstr_cmp(&elem, securityW)) else if (xml_elem_cmp(&elem, securityW, asmv2W))
ret = parse_security_elem(xmlbuf, assembly, acl); ret = parse_security_elem(xmlbuf, assembly, acl);
else else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment