Eric Pouech : ntdll: Added parsing of hash attributes in manifests.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jul 20 06:02:08 CDT 2007
Module: wine
Branch: master
Commit: b6d7b855dff2e8074b8c257995559795e5ab7eef
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b6d7b855dff2e8074b8c257995559795e5ab7eef
Author: Eric Pouech <eric.pouech at wanadoo.fr>
Date: Thu Jul 19 17:57:13 2007 +0200
ntdll: Added parsing of hash attributes in manifests.
---
dlls/ntdll/actctx.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
index 18a4001..0e2ab50 100644
--- a/dlls/ntdll/actctx.c
+++ b/dlls/ntdll/actctx.c
@@ -124,6 +124,7 @@ struct entity
struct dll_redirect
{
WCHAR *name;
+ WCHAR *hash;
struct entity *entities;
unsigned int num_entities;
unsigned int allocated_entities;
@@ -177,6 +178,8 @@ struct actctx_loader
#define ELEM_END(elem) "/" elem
#define CLSID_ATTR "clsid"
+#define HASH_ATTR "hash"
+#define HASHALG_ATTR "hashalg"
#define HELPDIR_ATTR "helpdir"
#define IID_ATTR "iid"
#define MANIFESTVERSION_ATTR "manifestVersion"
@@ -414,6 +417,7 @@ static void actctx_release( ACTIVATION_CONTEXT *actctx )
for (k = 0; k < dll->num_entities; k++) free_entity(&dll->entities[k]);
RtlFreeHeap( GetProcessHeap(), 0, dll->entities );
RtlFreeHeap( GetProcessHeap(), 0, dll->name );
+ RtlFreeHeap( GetProcessHeap(), 0, dll->hash );
}
RtlFreeHeap( GetProcessHeap(), 0, assembly->dlls );
RtlFreeHeap( GetProcessHeap(), 0, assembly->manifest.info );
@@ -848,6 +852,15 @@ static BOOL parse_file_elem(xmlbuf_t* xmlbuf, struct assembly* assembly)
if (!(dll->name = xmlstrdupW(&attr_value))) return FALSE;
TRACE("name=%s\n", debugstr_xmlstr(&attr_value));
}
+ else if (xmlstr_cmp(&attr_name, HASH_ATTR))
+ {
+ if (!(dll->hash = xmlstrdupW(&attr_value))) return FALSE;
+ }
+ else if (xmlstr_cmp(&attr_name, HASHALG_ATTR))
+ {
+ if (!xmlstr_cmp(&attr_value, "SHA1"))
+ FIXME("hashalg should be SHA1, got %s\n", debugstr_xmlstr(&attr_value));
+ }
else
{
WARN("wrong attr %s=%s\n", debugstr_xmlstr(&attr_name),
More information about the wine-cvs
mailing list