You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
130 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d184fa7831 | ||
|
ffccd4f5dd | ||
|
08fc972c37 | ||
|
dc7f74f24f | ||
|
b372d532ca | ||
|
8db21bfce6 | ||
|
84b08ebde9 | ||
|
e05b5bf8d5 | ||
|
b95d6468de | ||
|
533032bd79 | ||
|
8f67fbfbc3 | ||
|
846b6ab6b9 | ||
|
760b632ad6 | ||
|
76b0d7c498 | ||
|
a6476a7726 | ||
|
2039446ec5 | ||
|
19e7aeae51 | ||
|
1740d793d8 | ||
|
e4679ff7ce | ||
|
4a70aa313d | ||
|
72d96cb61f | ||
|
1117c77d17 | ||
|
4c4573beff | ||
|
0006045c66 | ||
|
56ed08d2e1 | ||
|
206ef39564 | ||
|
aeb8488db7 | ||
|
a0e9a41f77 | ||
|
7b0d1a2905 | ||
|
6f120f6a56 | ||
|
0d616d719e | ||
|
5403b21e6a | ||
|
c6801a1585 | ||
|
5b403d94e2 | ||
|
dcc28e042c | ||
|
93ef3b46c8 | ||
|
2d0f81b3f6 | ||
|
7234a34ea2 | ||
|
a3fc9d953a | ||
|
a43657f683 | ||
|
ce0c9566c9 | ||
|
fb62a188f4 | ||
|
39bf451aea | ||
|
f6177b7d07 | ||
|
4b12b109c4 | ||
|
30ac478614 | ||
|
e3182b014c | ||
|
8682bdd67a | ||
|
d165f2f23b | ||
|
5216147032 | ||
|
1f8b19cb25 | ||
|
8f707d32ac | ||
|
84b8f98616 | ||
|
21c1c793b7 | ||
|
13f7819881 | ||
|
5c0d70c70e | ||
|
6997fa0121 | ||
|
4f64c0e0fb | ||
|
292017c466 | ||
|
a78a108cbd | ||
|
99e7c1d29a | ||
|
97e7c4ffaa | ||
|
36d0a71019 | ||
|
15a0c7553d | ||
|
54cc9a694c | ||
|
8521ab33ad | ||
|
dd324a1b34 | ||
|
f176092a54 | ||
|
f8de4c44e7 | ||
|
9f39422b15 | ||
|
07c920f32d | ||
|
dd53426bfd | ||
|
70bc9a4e63 | ||
|
0f6b6615d9 | ||
|
f7c96c2f6f | ||
|
6dd07ec3e7 | ||
|
3fe8a52e3c | ||
|
84612d7ffd | ||
|
92510a34ed | ||
|
2b8aff1781 | ||
|
2c7ec3747f | ||
|
8bfc3ca97f | ||
|
2d5e42b68c | ||
|
d33a3327ea | ||
|
7397ac1394 | ||
|
6b626b3f42 | ||
|
ec7eae9400 | ||
|
1a199958e7 | ||
|
2bf9187a19 | ||
|
b3eb9ef535 | ||
|
78c9cb74ff | ||
|
b52328c75a | ||
|
00fbf6afc8 | ||
|
1281216a26 | ||
|
dd166155b5 | ||
|
8112d76673 | ||
|
ee44570fb0 | ||
|
3b127e5f51 | ||
|
1e2b0d3e0c | ||
|
a358f0984b | ||
|
c08a9ab0d6 | ||
|
4483c9737e | ||
|
522961364f | ||
|
f8b5d1530a | ||
|
75760561c3 | ||
|
79af70fad1 | ||
|
3bb2024464 | ||
|
2ad4a084dd | ||
|
4465c82831 | ||
|
141b05e4ff | ||
|
50a0e530a8 | ||
|
b3a71a8918 | ||
|
82a0709ef2 | ||
|
bf90df4eed | ||
|
e2e200361f | ||
|
ad962f7d64 | ||
|
d28e0d12bb | ||
|
938ffad317 | ||
|
6b3228a788 | ||
|
6b709dc505 | ||
|
8ca9f08b92 | ||
|
39c7e02819 | ||
|
398d920e3a | ||
|
5a40e8f8b3 | ||
|
d4fa026231 | ||
|
43a640f8fd | ||
|
deb73bfa7c | ||
|
f2fd04974f | ||
|
9961dd76da | ||
|
d86ab36369 |
@@ -1,25 +0,0 @@
|
||||
From 1d2744df97beb00c40ae4c9d307334f4fe0c253d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 31 Jul 2016 00:01:52 +0200
|
||||
Subject: include: Avoid shift overflow warning.
|
||||
|
||||
---
|
||||
include/d3dtypes.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/d3dtypes.h b/include/d3dtypes.h
|
||||
index 75aee55..8a884a8 100644
|
||||
--- a/include/d3dtypes.h
|
||||
+++ b/include/d3dtypes.h
|
||||
@@ -53,7 +53,7 @@ typedef LONG D3DFIXED;
|
||||
#define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff)
|
||||
#define RGBA_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
|
||||
#define RGBA_GETBLUE(rgb) ((rgb) & 0xff)
|
||||
-#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
|
||||
+#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((DWORD)(a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
|
||||
|
||||
#define D3DRGB(r, g, b) \
|
||||
(0xff000000 | ( ((LONG)((r) * 255)) << 16) | (((LONG)((g) * 255)) << 8) | (LONG)((b) * 255))
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,85 +0,0 @@
|
||||
From c3170561ea6c0de42ae71925e31e08941e1b96dc Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 31 Jul 2016 00:03:02 +0200
|
||||
Subject: server: Workaround duplicate condition warning of GCC 6.
|
||||
|
||||
---
|
||||
server/request.c | 13 ++++++++++---
|
||||
server/sock.c | 9 ++++++++-
|
||||
2 files changed, 18 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/server/request.c b/server/request.c
|
||||
index 597bf88..483884b 100644
|
||||
--- a/server/request.c
|
||||
+++ b/server/request.c
|
||||
@@ -220,6 +220,13 @@ const void *get_req_data_after_objattr( const struct object_attributes *attr, da
|
||||
return ptr;
|
||||
}
|
||||
|
||||
+static inline int should_retry( int err )
|
||||
+{
|
||||
+ if (err == EWOULDBLOCK) return 1;
|
||||
+ if (err == EAGAIN) return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
/* write the remaining part of the reply */
|
||||
void write_reply( struct thread *thread )
|
||||
{
|
||||
@@ -241,7 +248,7 @@ void write_reply( struct thread *thread )
|
||||
}
|
||||
if (errno == EPIPE)
|
||||
kill_thread( thread, 0 ); /* normal death */
|
||||
- else if (errno != EWOULDBLOCK && errno != EAGAIN)
|
||||
+ else if (!should_retry( errno ))
|
||||
fatal_protocol_error( thread, "reply write: %s\n", strerror( errno ));
|
||||
}
|
||||
|
||||
@@ -368,7 +375,7 @@ error:
|
||||
kill_thread( thread, 0 );
|
||||
else if (ret > 0)
|
||||
fatal_protocol_error( thread, "partial read %d\n", ret );
|
||||
- else if (errno != EWOULDBLOCK && errno != EAGAIN)
|
||||
+ else if (!should_retry( errno ))
|
||||
fatal_protocol_error( thread, "read: %s\n", strerror( errno ));
|
||||
}
|
||||
|
||||
@@ -449,7 +456,7 @@ int receive_fd( struct process *process )
|
||||
}
|
||||
else
|
||||
{
|
||||
- if (errno != EWOULDBLOCK && errno != EAGAIN)
|
||||
+ if (!should_retry( errno ))
|
||||
{
|
||||
fprintf( stderr, "Protocol error: process %04x: ", process->id );
|
||||
perror( "recvmsg" );
|
||||
diff --git a/server/sock.c b/server/sock.c
|
||||
index dc10d2a..4f76163 100644
|
||||
--- a/server/sock.c
|
||||
+++ b/server/sock.c
|
||||
@@ -1065,6 +1065,13 @@ static void ifchange_wake_up( struct object *obj, unsigned int status )
|
||||
}
|
||||
}
|
||||
|
||||
+static inline int should_retry( int err )
|
||||
+{
|
||||
+ if (err == EWOULDBLOCK) return 1;
|
||||
+ if (err == EAGAIN) return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static void ifchange_poll_event( struct fd *fd, int event )
|
||||
{
|
||||
struct object *ifchange = get_fd_user( fd );
|
||||
@@ -1075,7 +1082,7 @@ static void ifchange_poll_event( struct fd *fd, int event )
|
||||
r = recv( get_unix_fd(fd), buffer, sizeof(buffer), MSG_DONTWAIT );
|
||||
if (r < 0)
|
||||
{
|
||||
- if (errno == EWOULDBLOCK || errno == EAGAIN)
|
||||
+ if (should_retry( errno ))
|
||||
return; /* retry when poll() says the socket is ready */
|
||||
status = sock_get_ntstatus( errno );
|
||||
}
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -1,17 +1,40 @@
|
||||
From 869fbc7190eb77e027be4bcd98d938198189c3dd Mon Sep 17 00:00:00 2001
|
||||
From 744549e1ecc76c3764079d337c09445d01a3527e Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Tue, 22 Mar 2016 21:58:40 +0100
|
||||
Subject: dwrite: Avoid implicit cast of interface pointer.
|
||||
|
||||
---
|
||||
dlls/dwrite/font.c | 4 ++--
|
||||
dlls/dwrite/layout.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
|
||||
index d9ddce0..0a90c20 100644
|
||||
--- a/dlls/dwrite/font.c
|
||||
+++ b/dlls/dwrite/font.c
|
||||
@@ -1684,7 +1684,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
|
||||
- return CONTAINING_RECORD(iface, struct dwrite_font, IDWriteFont3_iface);
|
||||
+ return CONTAINING_RECORD((IDWriteFont3 *)iface, struct dwrite_font, IDWriteFont3_iface);
|
||||
}
|
||||
|
||||
static struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
|
||||
@@ -1692,7 +1692,7 @@ static struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace
|
||||
if (!iface)
|
||||
return NULL;
|
||||
assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
|
||||
- return CONTAINING_RECORD(iface, struct dwrite_fontface, IDWriteFontFace4_iface);
|
||||
+ return CONTAINING_RECORD((IDWriteFontFace4 *)iface, struct dwrite_fontface, IDWriteFontFace4_iface);
|
||||
}
|
||||
|
||||
void get_logfont_from_font(IDWriteFont *iface, LOGFONTW *lf)
|
||||
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
|
||||
index 38b5e32..24f4abc 100644
|
||||
index 706ed4e..c76a909 100644
|
||||
--- a/dlls/dwrite/layout.c
|
||||
+++ b/dlls/dwrite/layout.c
|
||||
@@ -5115,7 +5115,7 @@ static const IDWriteTextFormat2Vtbl dwritetextformatvtbl = {
|
||||
@@ -5196,7 +5196,7 @@ static const IDWriteTextFormat2Vtbl dwritetextformatvtbl = {
|
||||
static struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
|
||||
{
|
||||
return (iface->lpVtbl == (IDWriteTextFormatVtbl*)&dwritetextformatvtbl) ?
|
||||
@@ -21,5 +44,5 @@ index 38b5e32..24f4abc 100644
|
||||
|
||||
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style,
|
||||
--
|
||||
2.7.1
|
||||
2.9.0
|
||||
|
||||
|
@@ -0,0 +1,185 @@
|
||||
From 9904ee15d00d0809c12759446c09adc1981e3cf9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 29 Aug 2016 19:45:47 +0200
|
||||
Subject: advapi32: Implement AddMandatoryAce.
|
||||
|
||||
---
|
||||
dlls/advapi32/security.c | 6 ++++--
|
||||
dlls/advapi32/tests/security.c | 45 ++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
dlls/ntdll/sec.c | 25 +++++++++++++++++++++++
|
||||
include/winbase.h | 1 +
|
||||
include/winternl.h | 1 +
|
||||
6 files changed, 77 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
|
||||
index 28331df..45c0f7e 100644
|
||||
--- a/dlls/advapi32/security.c
|
||||
+++ b/dlls/advapi32/security.c
|
||||
@@ -1711,10 +1711,12 @@ BOOL WINAPI AddAce(
|
||||
return set_ntstatus(RtlAddAce(pAcl, dwAceRevision, dwStartingAceIndex, pAceList, nAceListLength));
|
||||
}
|
||||
|
||||
+/******************************************************************************
|
||||
+ * AddMandatoryAce [ADVAPI32.@]
|
||||
+ */
|
||||
BOOL WINAPI AddMandatoryAce(ACL *acl, DWORD ace_revision, DWORD ace_flags, DWORD mandatory_policy, PSID label_sid)
|
||||
{
|
||||
- FIXME("%p %x %x %x %p - stub\n", acl, ace_revision, ace_flags, mandatory_policy, label_sid);
|
||||
- return FALSE;
|
||||
+ return set_ntstatus(RtlAddMandatoryAce(acl, ace_revision, ace_flags, mandatory_policy, SYSTEM_MANDATORY_LABEL_ACE_TYPE, label_sid));
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 18f4e04..cdbe4f8 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -65,6 +65,7 @@
|
||||
static BOOL (WINAPI *pAddAccessAllowedAceEx)(PACL, DWORD, DWORD, DWORD, PSID);
|
||||
static BOOL (WINAPI *pAddAccessDeniedAceEx)(PACL, DWORD, DWORD, DWORD, PSID);
|
||||
static BOOL (WINAPI *pAddAuditAccessAceEx)(PACL, DWORD, DWORD, DWORD, PSID, BOOL, BOOL);
|
||||
+static BOOL (WINAPI *pAddMandatoryAce)(PACL,DWORD,DWORD,DWORD,PSID);
|
||||
static VOID (WINAPI *pBuildTrusteeWithSidA)( PTRUSTEEA pTrustee, PSID pSid );
|
||||
static VOID (WINAPI *pBuildTrusteeWithNameA)( PTRUSTEEA pTrustee, LPSTR pName );
|
||||
static VOID (WINAPI *pBuildTrusteeWithObjectsAndNameA)( PTRUSTEEA pTrustee,
|
||||
@@ -199,6 +200,7 @@ static void init(void)
|
||||
pAddAccessAllowedAceEx = (void *)GetProcAddress(hmod, "AddAccessAllowedAceEx");
|
||||
pAddAccessDeniedAceEx = (void *)GetProcAddress(hmod, "AddAccessDeniedAceEx");
|
||||
pAddAuditAccessAceEx = (void *)GetProcAddress(hmod, "AddAuditAccessAceEx");
|
||||
+ pAddMandatoryAce = (void *)GetProcAddress(hmod, "AddMandatoryAce");
|
||||
pCheckTokenMembership = (void *)GetProcAddress(hmod, "CheckTokenMembership");
|
||||
pConvertStringSecurityDescriptorToSecurityDescriptorA =
|
||||
(void *)GetProcAddress(hmod, "ConvertStringSecurityDescriptorToSecurityDescriptorA" );
|
||||
@@ -6064,6 +6066,48 @@ static void test_default_dacl_owner_sid(void)
|
||||
CloseHandle( handle );
|
||||
}
|
||||
|
||||
+static void test_integrity(void)
|
||||
+{
|
||||
+ static SID low_level = {SID_REVISION, 1, {SECURITY_MANDATORY_LABEL_AUTHORITY},
|
||||
+ {SECURITY_MANDATORY_LOW_RID}};
|
||||
+ SYSTEM_MANDATORY_LABEL_ACE *ace;
|
||||
+ char buffer_acl[256];
|
||||
+ ACL *pAcl = (ACL*)&buffer_acl;
|
||||
+ BOOL ret, found;
|
||||
+ DWORD index;
|
||||
+
|
||||
+ if (!pAddMandatoryAce)
|
||||
+ {
|
||||
+ win_skip("Mandatory integrity labels not supported, skipping test\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ ret = InitializeAcl(pAcl, 256, ACL_REVISION);
|
||||
+ ok(ret, "InitializeAcl failed with %u\n", GetLastError());
|
||||
+
|
||||
+ ret = pAddMandatoryAce(pAcl, ACL_REVISION, 0, 0x1234, &low_level);
|
||||
+ ok(!ret, "AddMandatoryAce succeeded\n");
|
||||
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER got %u\n", GetLastError());
|
||||
+
|
||||
+ ret = pAddMandatoryAce(pAcl, ACL_REVISION, 0, SYSTEM_MANDATORY_LABEL_NO_WRITE_UP, &low_level);
|
||||
+ ok(ret, "AddMandatoryAce failed with %u\n", GetLastError());
|
||||
+
|
||||
+ index = 0;
|
||||
+ found = FALSE;
|
||||
+ while (pGetAce( pAcl, index++, (void **)&ace ))
|
||||
+ {
|
||||
+ if (ace->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE)
|
||||
+ {
|
||||
+ found = TRUE;
|
||||
+ ok(ace->Header.AceFlags == 0, "Expected 0 as flags, got %x\n", ace->Header.AceFlags);
|
||||
+ ok(ace->Mask == SYSTEM_MANDATORY_LABEL_NO_WRITE_UP,
|
||||
+ "Expected SYSTEM_MANDATORY_LABEL_NO_WRITE_UP as flag, got %x\n", ace->Mask);
|
||||
+ ok(EqualSid(&ace->SidStart, &low_level), "Expected low integrity level\n");
|
||||
+ }
|
||||
+ }
|
||||
+ ok(found, "Could not find mandatory label\n");
|
||||
+}
|
||||
+
|
||||
static void test_AdjustTokenPrivileges(void)
|
||||
{
|
||||
TOKEN_PRIVILEGES tp, prev;
|
||||
@@ -6444,6 +6488,7 @@ START_TEST(security)
|
||||
test_CreateRestrictedToken();
|
||||
test_TokenIntegrityLevel();
|
||||
test_default_dacl_owner_sid();
|
||||
+ test_integrity();
|
||||
test_AdjustTokenPrivileges();
|
||||
test_AddAce();
|
||||
test_system_security_access();
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index 28aa2df..f6f8eba 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -422,6 +422,7 @@
|
||||
@ stdcall RtlAddAuditAccessAceEx(ptr long long long ptr long long)
|
||||
@ stdcall RtlAddAuditAccessObjectAce(ptr long long long ptr ptr ptr long long)
|
||||
# @ stub RtlAddCompoundAce
|
||||
+@ stdcall RtlAddMandatoryAce(ptr long long long long ptr)
|
||||
# @ stub RtlAddRange
|
||||
@ cdecl -arch=arm,x86_64 RtlAddFunctionTable(ptr long long)
|
||||
@ stdcall RtlAddRefActivationContext(ptr)
|
||||
diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c
|
||||
index 3bc52ac..daa2cae 100644
|
||||
--- a/dlls/ntdll/sec.c
|
||||
+++ b/dlls/ntdll/sec.c
|
||||
@@ -1379,6 +1379,31 @@ NTSTATUS WINAPI RtlAddAuditAccessObjectAce(
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
+/**************************************************************************
|
||||
+ * RtlAddMandatoryAce [NTDLL.@]
|
||||
+ */
|
||||
+NTSTATUS WINAPI RtlAddMandatoryAce(
|
||||
+ IN OUT PACL pAcl,
|
||||
+ IN DWORD dwAceRevision,
|
||||
+ IN DWORD dwAceFlags,
|
||||
+ IN DWORD dwMandatoryFlags,
|
||||
+ IN DWORD dwAceType,
|
||||
+ IN PSID pSid)
|
||||
+{
|
||||
+ static DWORD valid_flags = SYSTEM_MANDATORY_LABEL_NO_WRITE_UP | SYSTEM_MANDATORY_LABEL_NO_READ_UP |
|
||||
+ SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP;
|
||||
+
|
||||
+ TRACE("(%p,%d,0x%08x,0x%08x,%u,%p)\n",pAcl,dwAceRevision,dwAceFlags,dwMandatoryFlags, dwAceType, pSid);
|
||||
+
|
||||
+ if (dwAceType != SYSTEM_MANDATORY_LABEL_ACE_TYPE)
|
||||
+ return STATUS_INVALID_PARAMETER;
|
||||
+
|
||||
+ if (dwMandatoryFlags & ~valid_flags)
|
||||
+ return STATUS_INVALID_PARAMETER;
|
||||
+
|
||||
+ return add_access_ace(pAcl, dwAceRevision, dwAceFlags, dwMandatoryFlags, pSid, dwAceType);
|
||||
+}
|
||||
+
|
||||
/******************************************************************************
|
||||
* RtlValidAcl [NTDLL.@]
|
||||
*/
|
||||
diff --git a/include/winbase.h b/include/winbase.h
|
||||
index eff5972..42c826d 100644
|
||||
--- a/include/winbase.h
|
||||
+++ b/include/winbase.h
|
||||
@@ -1693,6 +1693,7 @@ WINBASEAPI ATOM WINAPI AddAtomW(LPCWSTR);
|
||||
#define AddAtom WINELIB_NAME_AW(AddAtom)
|
||||
WINADVAPI BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
|
||||
WINADVAPI BOOL WINAPI AddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL);
|
||||
+WINADVAPI BOOL WINAPI AddMandatoryAce(PACL,DWORD,DWORD,DWORD,PSID);
|
||||
WINBASEAPI VOID WINAPI AddRefActCtx(HANDLE);
|
||||
WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
|
||||
WINADVAPI BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index f35091c..c104e6f 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -2405,6 +2405,7 @@ NTSYSAPI NTSTATUS WINAPI RtlAddAtomToAtomTable(RTL_ATOM_TABLE,const WCHAR*,RTL_
|
||||
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
|
||||
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL);
|
||||
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID,BOOL,BOOL);
|
||||
+NTSYSAPI NTSTATUS WINAPI RtlAddMandatoryAce(PACL,DWORD,DWORD,DWORD,DWORD,PSID);
|
||||
NTSYSAPI void WINAPI RtlAddRefActivationContext(HANDLE);
|
||||
NTSYSAPI PVOID WINAPI RtlAddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
|
||||
NTSYSAPI NTSTATUS WINAPI RtlAdjustPrivilege(ULONG,BOOLEAN,BOOLEAN,PBOOLEAN);
|
||||
--
|
||||
2.9.0
|
||||
|
1
patches/advapi32-AddMandatoryAce/definition
Normal file
1
patches/advapi32-AddMandatoryAce/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: Implement advapi32.AddMandatoryAce
|
@@ -0,0 +1,277 @@
|
||||
From cb383abcb7d36d739092a93c1f276895622b6806 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 28 Aug 2016 21:56:41 +0200
|
||||
Subject: advapi32: Implement GetExplicitEntriesFromAclW.
|
||||
|
||||
---
|
||||
dlls/advapi32/security.c | 81 ++++++++++++++++++++++-
|
||||
dlls/advapi32/tests/security.c | 142 +++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 221 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
|
||||
index 92a1789..c60aa4e 100644
|
||||
--- a/dlls/advapi32/security.c
|
||||
+++ b/dlls/advapi32/security.c
|
||||
@@ -4202,8 +4202,85 @@ DWORD WINAPI GetExplicitEntriesFromAclA( PACL pacl, PULONG pcCountOfExplicitEntr
|
||||
DWORD WINAPI GetExplicitEntriesFromAclW( PACL pacl, PULONG pcCountOfExplicitEntries,
|
||||
PEXPLICIT_ACCESSW* pListOfExplicitEntries)
|
||||
{
|
||||
- FIXME("%p %p %p\n",pacl, pcCountOfExplicitEntries, pListOfExplicitEntries);
|
||||
- return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
+ ACL_SIZE_INFORMATION sizeinfo;
|
||||
+ EXPLICIT_ACCESSW* entries;
|
||||
+ MAX_SID *sid_entries;
|
||||
+ ACE_HEADER *ace;
|
||||
+ NTSTATUS status;
|
||||
+ int i;
|
||||
+
|
||||
+ FIXME("%p %p %p: semi-stub\n",pacl, pcCountOfExplicitEntries, pListOfExplicitEntries);
|
||||
+
|
||||
+ if (!pcCountOfExplicitEntries || !pListOfExplicitEntries)
|
||||
+ return ERROR_INVALID_PARAMETER;
|
||||
+
|
||||
+ status = RtlQueryInformationAcl(pacl, &sizeinfo, sizeof(sizeinfo), AclSizeInformation);
|
||||
+ if (status) return RtlNtStatusToDosError(status);
|
||||
+
|
||||
+ if (!sizeinfo.AceCount)
|
||||
+ {
|
||||
+ *pcCountOfExplicitEntries = 0;
|
||||
+ *pListOfExplicitEntries = NULL;
|
||||
+ return ERROR_SUCCESS;
|
||||
+ }
|
||||
+
|
||||
+ entries = LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT, (sizeof(EXPLICIT_ACCESSW) + sizeof(MAX_SID)) * sizeinfo.AceCount);
|
||||
+ if (!entries) return ERROR_OUTOFMEMORY;
|
||||
+ sid_entries = (MAX_SID*)((char*)entries + sizeof(EXPLICIT_ACCESSW) * sizeinfo.AceCount);
|
||||
+
|
||||
+ for (i = 0; i < sizeinfo.AceCount; i++)
|
||||
+ {
|
||||
+ status = RtlGetAce(pacl, i, (void**)&ace);
|
||||
+ if (status) goto error;
|
||||
+
|
||||
+ switch (ace->AceType)
|
||||
+ {
|
||||
+ case ACCESS_ALLOWED_ACE_TYPE:
|
||||
+ {
|
||||
+ ACCESS_ALLOWED_ACE *allow = (ACCESS_ALLOWED_ACE *)ace;
|
||||
+ entries[i].grfAccessMode = GRANT_ACCESS;
|
||||
+ entries[i].grfInheritance = ace->AceFlags;
|
||||
+ entries[i].grfAccessPermissions = allow->Mask;
|
||||
+
|
||||
+ CopySid(sizeof(MAX_SID), (PSID)&sid_entries[i], (PSID)&allow->SidStart);
|
||||
+ entries[i].Trustee.pMultipleTrustee = NULL;
|
||||
+ entries[i].Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
|
||||
+ entries[i].Trustee.TrusteeForm = TRUSTEE_IS_SID;
|
||||
+ entries[i].Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
|
||||
+ entries[i].Trustee.ptstrName = (WCHAR *)&sid_entries[i];
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ case ACCESS_DENIED_ACE_TYPE:
|
||||
+ {
|
||||
+ ACCESS_DENIED_ACE *deny = (ACCESS_DENIED_ACE *)ace;
|
||||
+ entries[i].grfAccessMode = DENY_ACCESS;
|
||||
+ entries[i].grfInheritance = ace->AceFlags;
|
||||
+ entries[i].grfAccessPermissions = deny->Mask;
|
||||
+
|
||||
+ CopySid(sizeof(MAX_SID), (PSID)&sid_entries[i], (PSID)&deny->SidStart);
|
||||
+ entries[i].Trustee.pMultipleTrustee = NULL;
|
||||
+ entries[i].Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
|
||||
+ entries[i].Trustee.TrusteeForm = TRUSTEE_IS_SID;
|
||||
+ entries[i].Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
|
||||
+ entries[i].Trustee.ptstrName = (WCHAR *)&sid_entries[i];
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ default:
|
||||
+ FIXME("Unhandled ace type %d\n", ace->AceType);
|
||||
+ entries[i].grfAccessMode = NOT_USED_ACCESS;
|
||||
+ continue;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ *pcCountOfExplicitEntries = sizeinfo.AceCount;
|
||||
+ *pListOfExplicitEntries = entries;
|
||||
+ return ERROR_SUCCESS;
|
||||
+
|
||||
+error:
|
||||
+ LocalFree(entries);
|
||||
+ return RtlNtStatusToDosError(status);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index cf104ab..2bcb108 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -133,6 +133,7 @@ static BOOL (WINAPI *pGetWindowsAccountDomainSid)(PSID,PSID,DWORD*);
|
||||
static void (WINAPI *pRtlInitAnsiString)(PANSI_STRING,PCSZ);
|
||||
static NTSTATUS (WINAPI *pRtlFreeUnicodeString)(PUNICODE_STRING);
|
||||
static PSID_IDENTIFIER_AUTHORITY (WINAPI *pGetSidIdentifierAuthority)(PSID);
|
||||
+static DWORD (WINAPI *pGetExplicitEntriesFromAclW)(PACL,PULONG,PEXPLICIT_ACCESSW*);
|
||||
|
||||
static HMODULE hmod;
|
||||
static int myARGC;
|
||||
@@ -227,6 +228,7 @@ static void init(void)
|
||||
pGetAce = (void *)GetProcAddress(hmod, "GetAce");
|
||||
pGetWindowsAccountDomainSid = (void *)GetProcAddress(hmod, "GetWindowsAccountDomainSid");
|
||||
pGetSidIdentifierAuthority = (void *)GetProcAddress(hmod, "GetSidIdentifierAuthority");
|
||||
+ pGetExplicitEntriesFromAclW = (void *)GetProcAddress(hmod, "GetExplicitEntriesFromAclW");
|
||||
|
||||
myARGC = winetest_get_mainargs( &myARGV );
|
||||
}
|
||||
@@ -6378,6 +6380,145 @@ static void test_pseudo_tokens(void)
|
||||
"Expected ERROR_NO_TOKEN, got %u\n", GetLastError());
|
||||
}
|
||||
|
||||
+static void test_GetExplicitEntriesFromAclW(void)
|
||||
+{
|
||||
+ static const WCHAR wszCurrentUser[] = { 'C','U','R','R','E','N','T','_','U','S','E','R','\0'};
|
||||
+ SID_IDENTIFIER_AUTHORITY SIDAuthWorld = { SECURITY_WORLD_SID_AUTHORITY };
|
||||
+ SID_IDENTIFIER_AUTHORITY SIDAuthNT = { SECURITY_NT_AUTHORITY };
|
||||
+ PSID everyone_sid = NULL, users_sid = NULL;
|
||||
+ EXPLICIT_ACCESSW access;
|
||||
+ EXPLICIT_ACCESSW *access2;
|
||||
+ PACL new_acl, old_acl = NULL;
|
||||
+ ULONG count;
|
||||
+ DWORD res;
|
||||
+
|
||||
+ if (!pGetExplicitEntriesFromAclW)
|
||||
+ {
|
||||
+ win_skip("GetExplicitEntriesFromAclW is not available\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (!pSetEntriesInAclW)
|
||||
+ {
|
||||
+ win_skip("SetEntriesInAclW is not available\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ old_acl = HeapAlloc(GetProcessHeap(), 0, 256);
|
||||
+ res = InitializeAcl(old_acl, 256, ACL_REVISION);
|
||||
+ if(!res && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
|
||||
+ {
|
||||
+ win_skip("ACLs not implemented - skipping tests\n");
|
||||
+ HeapFree(GetProcessHeap(), 0, old_acl);
|
||||
+ return;
|
||||
+ }
|
||||
+ ok(res, "InitializeAcl failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ res = AllocateAndInitializeSid(&SIDAuthWorld, 1, SECURITY_WORLD_RID, 0, 0, 0, 0, 0, 0, 0, &everyone_sid);
|
||||
+ ok(res, "AllocateAndInitializeSid failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ res = AllocateAndInitializeSid(&SIDAuthNT, 2, SECURITY_BUILTIN_DOMAIN_RID,
|
||||
+ DOMAIN_ALIAS_RID_USERS, 0, 0, 0, 0, 0, 0, &users_sid);
|
||||
+ ok(res, "AllocateAndInitializeSid failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ res = AddAccessAllowedAce(old_acl, ACL_REVISION, KEY_READ, users_sid);
|
||||
+ ok(res, "AddAccessAllowedAce failed with error %d\n", GetLastError());
|
||||
+
|
||||
+ access2 = NULL;
|
||||
+ res = pGetExplicitEntriesFromAclW(old_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 1, "Expected count == 1, got %d\n", count);
|
||||
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
|
||||
+ ok(access2[0].grfAccessPermissions == KEY_READ, "Expected KEY_READ, got %d\n", access2[0].grfAccessPermissions);
|
||||
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
|
||||
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
|
||||
+ ok(EqualSid(access2[0].Trustee.ptstrName, users_sid), "Expected equal SIDs\n");
|
||||
+ LocalFree(access2);
|
||||
+
|
||||
+ access.Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
|
||||
+ access.Trustee.pMultipleTrustee = NULL;
|
||||
+
|
||||
+ access.grfAccessPermissions = KEY_WRITE;
|
||||
+ access.grfAccessMode = GRANT_ACCESS;
|
||||
+ access.grfInheritance = NO_INHERITANCE;
|
||||
+ access.Trustee.TrusteeType = TRUSTEE_IS_WELL_KNOWN_GROUP;
|
||||
+ access.Trustee.TrusteeForm = TRUSTEE_IS_SID;
|
||||
+ access.Trustee.ptstrName = everyone_sid;
|
||||
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
|
||||
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
|
||||
+ ok(new_acl != NULL, "returned acl was NULL\n");
|
||||
+
|
||||
+ access2 = NULL;
|
||||
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 2, "Expected count == 2, got %d\n", count);
|
||||
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
|
||||
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
|
||||
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
|
||||
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
|
||||
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
|
||||
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
|
||||
+ ok(EqualSid(access2[0].Trustee.ptstrName, everyone_sid), "Expected equal SIDs\n");
|
||||
+ LocalFree(access2);
|
||||
+ LocalFree(new_acl);
|
||||
+
|
||||
+ access.Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
|
||||
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
|
||||
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
|
||||
+ ok(new_acl != NULL, "returned acl was NULL\n");
|
||||
+
|
||||
+ access2 = NULL;
|
||||
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 2, "Expected count == 2, got %d\n", count);
|
||||
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
|
||||
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
|
||||
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
|
||||
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
|
||||
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
|
||||
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
|
||||
+ ok(EqualSid(access2[0].Trustee.ptstrName, everyone_sid), "Expected equal SIDs\n");
|
||||
+ LocalFree(access2);
|
||||
+ LocalFree(new_acl);
|
||||
+
|
||||
+ access.Trustee.TrusteeForm = TRUSTEE_IS_NAME;
|
||||
+ access.Trustee.ptstrName = (LPWSTR)wszCurrentUser;
|
||||
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
|
||||
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
|
||||
+ ok(new_acl != NULL, "returned acl was NULL\n");
|
||||
+
|
||||
+ access2 = NULL;
|
||||
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 2, "Expected count == 2, got %d\n", count);
|
||||
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
|
||||
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
|
||||
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
|
||||
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
|
||||
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
|
||||
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
|
||||
+ LocalFree(access2);
|
||||
+ LocalFree(new_acl);
|
||||
+
|
||||
+ access.grfAccessMode = REVOKE_ACCESS;
|
||||
+ access.Trustee.TrusteeForm = TRUSTEE_IS_SID;
|
||||
+ access.Trustee.ptstrName = users_sid;
|
||||
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
|
||||
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
|
||||
+ ok(new_acl != NULL, "returned acl was NULL\n");
|
||||
+
|
||||
+ access2 = (void *)0xdeadbeef;
|
||||
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
|
||||
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
|
||||
+ ok(count == 0, "Expected count == 0, got %d\n", count);
|
||||
+ ok(access2 == NULL, "access2 was not NULL\n");
|
||||
+ LocalFree(new_acl);
|
||||
+
|
||||
+ FreeSid(users_sid);
|
||||
+ FreeSid(everyone_sid);
|
||||
+ HeapFree(GetProcessHeap(), 0, old_acl);
|
||||
+}
|
||||
+
|
||||
START_TEST(security)
|
||||
{
|
||||
init();
|
||||
@@ -6424,4 +6565,5 @@ START_TEST(security)
|
||||
test_system_security_access();
|
||||
test_GetSidIdentifierAuthority();
|
||||
test_pseudo_tokens();
|
||||
+ test_GetExplicitEntriesFromAclW();
|
||||
}
|
||||
--
|
||||
2.9.0
|
||||
|
1
patches/advapi32-GetExplicitEntriesFromAclW/definition
Normal file
1
patches/advapi32-GetExplicitEntriesFromAclW/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: Implement semi-stub for advapi32.GetExplicitEntriesFromAclW
|
@@ -0,0 +1,26 @@
|
||||
From e71a9b9a10c2de28a617f9490c3d135b1e12adf1 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Fri, 16 Dec 2016 13:20:32 +0800
|
||||
Subject: advapi32: SDDL assigns the "AC" abbreviation to
|
||||
WinBuiltinAnyPackageSid.
|
||||
|
||||
---
|
||||
dlls/advapi32/security.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
|
||||
index 28331df..3b585aa 100644
|
||||
--- a/dlls/advapi32/security.c
|
||||
+++ b/dlls/advapi32/security.c
|
||||
@@ -135,7 +135,7 @@ static const WELLKNOWNSID WellKnownSids[] =
|
||||
{ {'M','E'}, WinMediumLabelSid, { SID_REVISION, 1, { SECURITY_MANDATORY_LABEL_AUTHORITY}, { SECURITY_MANDATORY_MEDIUM_RID } } },
|
||||
{ {'H','I'}, WinHighLabelSid, { SID_REVISION, 1, { SECURITY_MANDATORY_LABEL_AUTHORITY}, { SECURITY_MANDATORY_HIGH_RID } } },
|
||||
{ {'S','I'}, WinSystemLabelSid, { SID_REVISION, 1, { SECURITY_MANDATORY_LABEL_AUTHORITY}, { SECURITY_MANDATORY_SYSTEM_RID } } },
|
||||
- { {0,0}, WinBuiltinAnyPackageSid, { SID_REVISION, 2, { SECURITY_APP_PACKAGE_AUTHORITY }, { SECURITY_APP_PACKAGE_BASE_RID, SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE } } },
|
||||
+ { {'A','C'}, WinBuiltinAnyPackageSid, { SID_REVISION, 2, { SECURITY_APP_PACKAGE_AUTHORITY }, { SECURITY_APP_PACKAGE_BASE_RID, SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE } } },
|
||||
};
|
||||
|
||||
/* these SIDs must be constructed as relative to some domain - only the RID is well-known */
|
||||
--
|
||||
2.9.0
|
||||
|
@@ -0,0 +1,227 @@
|
||||
From 13a60cc5ea59cc2f18ac19888fe51628f9f0774a Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Fri, 16 Dec 2016 13:23:15 +0800
|
||||
Subject: advapi32/tests: Add a test that compares a well-known SID to a SID
|
||||
created from a SDDL abbreviation.
|
||||
|
||||
---
|
||||
dlls/advapi32/tests/security.c | 130 +++++++++++++++++++++++++++++------------
|
||||
1 file changed, 92 insertions(+), 38 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 18f4e04..4e1f53b 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -2,7 +2,7 @@
|
||||
* Unit tests for security functions
|
||||
*
|
||||
* Copyright (c) 2004 Mike McCormack
|
||||
- * Copyright (c) 2011 Dmitry Timoshkov
|
||||
+ * Copyright (c) 2011,2013,2014,2016 Dmitry Timoshkov
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -138,14 +138,6 @@ static HMODULE hmod;
|
||||
static int myARGC;
|
||||
static char** myARGV;
|
||||
|
||||
-struct strsid_entry
|
||||
-{
|
||||
- const char *str;
|
||||
- DWORD flags;
|
||||
-};
|
||||
-#define STRSID_OK 0
|
||||
-#define STRSID_OPT 1
|
||||
-
|
||||
#define SID_SLOTS 4
|
||||
static char debugsid_str[SID_SLOTS][256];
|
||||
static int debugsid_index = 0;
|
||||
@@ -175,12 +167,6 @@ static const char* debugstr_sid(PSID sid)
|
||||
return res;
|
||||
}
|
||||
|
||||
-struct sidRef
|
||||
-{
|
||||
- SID_IDENTIFIER_AUTHORITY auth;
|
||||
- const char *refStr;
|
||||
-};
|
||||
-
|
||||
static void init(void)
|
||||
{
|
||||
HMODULE hntdll;
|
||||
@@ -297,7 +283,11 @@ static void test_group_equal(HANDLE Handle, PSID expected, int line)
|
||||
|
||||
static void test_sid(void)
|
||||
{
|
||||
- struct sidRef refs[] = {
|
||||
+ static struct
|
||||
+ {
|
||||
+ SID_IDENTIFIER_AUTHORITY auth;
|
||||
+ const char *refStr;
|
||||
+ } refs[] = {
|
||||
{ { {0x00,0x00,0x33,0x44,0x55,0x66} }, "S-1-860116326-1" },
|
||||
{ { {0x00,0x00,0x01,0x02,0x03,0x04} }, "S-1-16909060-1" },
|
||||
{ { {0x00,0x00,0x00,0x01,0x02,0x03} }, "S-1-66051-1" },
|
||||
@@ -305,24 +295,60 @@ static void test_sid(void)
|
||||
{ { {0x00,0x00,0x00,0x00,0x00,0x02} }, "S-1-2-1" },
|
||||
{ { {0x00,0x00,0x00,0x00,0x00,0x0c} }, "S-1-12-1" },
|
||||
};
|
||||
- struct strsid_entry strsid_table[] = {
|
||||
- {"AO", STRSID_OK}, {"RU", STRSID_OK}, {"AN", STRSID_OK}, {"AU", STRSID_OK},
|
||||
- {"BA", STRSID_OK}, {"BG", STRSID_OK}, {"BO", STRSID_OK}, {"BU", STRSID_OK},
|
||||
- {"CA", STRSID_OPT}, {"CG", STRSID_OK}, {"CO", STRSID_OK}, {"DA", STRSID_OPT},
|
||||
- {"DC", STRSID_OPT}, {"DD", STRSID_OPT}, {"DG", STRSID_OPT}, {"DU", STRSID_OPT},
|
||||
- {"EA", STRSID_OPT}, {"ED", STRSID_OK}, {"WD", STRSID_OK}, {"PA", STRSID_OPT},
|
||||
- {"IU", STRSID_OK}, {"LA", STRSID_OK}, {"LG", STRSID_OK}, {"LS", STRSID_OK},
|
||||
- {"SY", STRSID_OK}, {"NU", STRSID_OK}, {"NO", STRSID_OK}, {"NS", STRSID_OK},
|
||||
- {"PO", STRSID_OK}, {"PS", STRSID_OK}, {"PU", STRSID_OK}, {"RS", STRSID_OPT},
|
||||
- {"RD", STRSID_OK}, {"RE", STRSID_OK}, {"RC", STRSID_OK}, {"SA", STRSID_OPT},
|
||||
- {"SO", STRSID_OK}, {"SU", STRSID_OK}};
|
||||
-
|
||||
+ static const struct
|
||||
+ {
|
||||
+ const char *str;
|
||||
+ WELL_KNOWN_SID_TYPE sid_type;
|
||||
+ BOOL optional;
|
||||
+ } strsid_table[] = {
|
||||
+ /* Please keep the list sorted. */
|
||||
+ { "AC", WinBuiltinAnyPackageSid, TRUE },
|
||||
+ { "AN", WinAnonymousSid },
|
||||
+ { "AO", WinBuiltinAccountOperatorsSid },
|
||||
+ { "AU", WinAuthenticatedUserSid },
|
||||
+ { "BA", WinBuiltinAdministratorsSid },
|
||||
+ { "BG", WinBuiltinGuestsSid },
|
||||
+ { "BO", WinBuiltinBackupOperatorsSid },
|
||||
+ { "BU", WinBuiltinUsersSid },
|
||||
+ { "CA", WinAccountCertAdminsSid, TRUE},
|
||||
+ { "CG", WinCreatorGroupSid },
|
||||
+ { "CO", WinCreatorOwnerSid },
|
||||
+ { "DA", WinAccountDomainAdminsSid, TRUE},
|
||||
+ { "DC", WinAccountComputersSid, TRUE},
|
||||
+ { "DD", WinAccountControllersSid, TRUE},
|
||||
+ { "DG", WinAccountDomainGuestsSid, TRUE},
|
||||
+ { "DU", WinAccountDomainUsersSid, TRUE},
|
||||
+ { "EA", WinAccountEnterpriseAdminsSid, TRUE},
|
||||
+ { "ED", WinEnterpriseControllersSid },
|
||||
+ { "IU", WinInteractiveSid },
|
||||
+ { "LA", WinAccountAdministratorSid },
|
||||
+ { "LG", WinAccountGuestSid },
|
||||
+ { "LS", WinLocalServiceSid },
|
||||
+ { "NO", WinBuiltinNetworkConfigurationOperatorsSid },
|
||||
+ { "NS", WinNetworkServiceSid },
|
||||
+ { "NU", WinNetworkSid },
|
||||
+ { "PA", WinAccountPolicyAdminsSid, TRUE},
|
||||
+ { "PO", WinBuiltinPrintOperatorsSid },
|
||||
+ { "PS", WinSelfSid },
|
||||
+ { "PU", WinBuiltinPowerUsersSid },
|
||||
+ { "RC", WinRestrictedCodeSid },
|
||||
+ { "RD", WinBuiltinRemoteDesktopUsersSid },
|
||||
+ { "RE", WinBuiltinReplicatorSid },
|
||||
+ { "RS", WinAccountRasAndIasServersSid, TRUE },
|
||||
+ { "RU", WinBuiltinPreWindows2000CompatibleAccessSid },
|
||||
+ { "SA", WinAccountSchemaAdminsSid, TRUE },
|
||||
+ { "SO", WinBuiltinSystemOperatorsSid },
|
||||
+ { "SU", WinServiceSid },
|
||||
+ { "SY", WinLocalSystemSid },
|
||||
+ { "WD", WinWorldSid },
|
||||
+ };
|
||||
+ SID_IDENTIFIER_AUTHORITY domain_ident = { SECURITY_NT_AUTHORITY };
|
||||
const char noSubAuthStr[] = "S-1-5";
|
||||
unsigned int i;
|
||||
- PSID psid = NULL;
|
||||
+ PSID psid, domain_sid;
|
||||
SID *pisid;
|
||||
BOOL r;
|
||||
- LPSTR str = NULL;
|
||||
+ LPSTR str;
|
||||
|
||||
if( !pConvertSidToStringSidA || !pConvertStringSidToSidA )
|
||||
{
|
||||
@@ -402,7 +428,7 @@ static void test_sid(void)
|
||||
}
|
||||
|
||||
/* string constant format not supported before XP */
|
||||
- r = pConvertStringSidToSidA(strsid_table[0].str, &psid);
|
||||
+ r = pConvertStringSidToSidA("AN", &psid);
|
||||
if(!r)
|
||||
{
|
||||
win_skip("String constant format not supported\n");
|
||||
@@ -410,25 +436,51 @@ static void test_sid(void)
|
||||
}
|
||||
LocalFree(psid);
|
||||
|
||||
+ AllocateAndInitializeSid(&domain_ident, 4, SECURITY_NT_NON_UNIQUE, 0, 0, 0, 0, 0, 0, 0, &domain_sid);
|
||||
+
|
||||
for(i = 0; i < sizeof(strsid_table) / sizeof(strsid_table[0]); i++)
|
||||
{
|
||||
- char *temp;
|
||||
-
|
||||
SetLastError(0xdeadbeef);
|
||||
r = pConvertStringSidToSidA(strsid_table[i].str, &psid);
|
||||
|
||||
- if (!(strsid_table[i].flags & STRSID_OPT))
|
||||
+ if (!(strsid_table[i].optional))
|
||||
{
|
||||
ok(r, "%s: got %u\n", strsid_table[i].str, GetLastError());
|
||||
}
|
||||
|
||||
if (r)
|
||||
{
|
||||
- if ((winetest_debug > 1) && (pConvertSidToStringSidA(psid, &temp)))
|
||||
+ char buf[SECURITY_MAX_SID_SIZE];
|
||||
+ char *sid_string, *well_known_sid_string;
|
||||
+ DWORD n, size;
|
||||
+
|
||||
+ /* zero out domain id before comparison to simplify things */
|
||||
+ if (strsid_table[i].sid_type == WinAccountAdministratorSid ||
|
||||
+ strsid_table[i].sid_type == WinAccountGuestSid)
|
||||
{
|
||||
- trace(" %s: %s\n", strsid_table[i].str, temp);
|
||||
- LocalFree(temp);
|
||||
+ for (n = 1; n <= 3; n++)
|
||||
+ *GetSidSubAuthority(psid, n) = 0;
|
||||
}
|
||||
+
|
||||
+ r = pConvertSidToStringSidA(psid, &sid_string);
|
||||
+ ok(r, "%s: ConvertSidToStringSid error %u\n", strsid_table[i].str, GetLastError());
|
||||
+ if (winetest_debug > 1)
|
||||
+ trace("%s => %s\n", strsid_table[i].str, sid_string);
|
||||
+
|
||||
+ size = sizeof(buf);
|
||||
+ r = pCreateWellKnownSid(strsid_table[i].sid_type, domain_sid, buf, &size);
|
||||
+ ok(r, "%u: CreateWellKnownSid(%u) error %u\n", i, strsid_table[i].sid_type, GetLastError());
|
||||
+
|
||||
+ r = pConvertSidToStringSidA(buf, &well_known_sid_string);
|
||||
+ ok(r, "%u: ConvertSidToStringSi(%u) error %u\n", i, strsid_table[i].sid_type, GetLastError());
|
||||
+ if (winetest_debug > 1)
|
||||
+ trace("%u => %s\n", strsid_table[i].sid_type, well_known_sid_string);
|
||||
+
|
||||
+ ok(strcmp(sid_string, well_known_sid_string) == 0,
|
||||
+ "%u: (%u) expected %s, got %s\n", i, strsid_table[i].sid_type, well_known_sid_string, sid_string);
|
||||
+
|
||||
+ LocalFree(well_known_sid_string);
|
||||
+ LocalFree(sid_string);
|
||||
LocalFree(psid);
|
||||
}
|
||||
else
|
||||
@@ -439,6 +491,8 @@ static void test_sid(void)
|
||||
trace(" %s: couldn't be converted\n", strsid_table[i].str);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ LocalFree(domain_sid);
|
||||
}
|
||||
|
||||
static void test_trustee(void)
|
||||
@@ -2288,7 +2342,7 @@ static void test_LookupAccountSid(void)
|
||||
if (pCreateWellKnownSid && pConvertSidToStringSidA)
|
||||
{
|
||||
trace("Well Known SIDs:\n");
|
||||
- for (i = 0; i <= 60; i++)
|
||||
+ for (i = 0; i <= 84; i++)
|
||||
{
|
||||
size = SECURITY_MAX_SID_SIZE;
|
||||
if (pCreateWellKnownSid(i, NULL, &max_sid.sid, &size))
|
||||
--
|
||||
2.9.0
|
||||
|
1
patches/advapi32-WinBuiltinAnyPackageSid/definition
Normal file
1
patches/advapi32-WinBuiltinAnyPackageSid/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [41934] Assigns the AC abbreviation to WinBuiltinAnyPackageSid
|
@@ -1,4 +1,4 @@
|
||||
From 446107bd1bda89cfdb656dd1f0e06dcb328c00ed Mon Sep 17 00:00:00 2001
|
||||
From 51fb5229fdb33887fe25440defc8df09d1623abb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 15 Jan 2016 13:01:15 +0100
|
||||
Subject: kernelbase: Add dll and add stub for QuirkIsEnabled.
|
||||
@@ -22,7 +22,7 @@ index b9caed0..2beb34b 100644
|
||||
+C_SRCS = \
|
||||
+ misc.c
|
||||
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
|
||||
index 23ca440..19cf953 100644
|
||||
index f104030..e09112e 100644
|
||||
--- a/dlls/kernelbase/kernelbase.spec
|
||||
+++ b/dlls/kernelbase/kernelbase.spec
|
||||
@@ -1,3 +1,6 @@
|
||||
@@ -250,7 +250,7 @@ index 23ca440..19cf953 100644
|
||||
@ stdcall DebugBreak() kernel32.DebugBreak
|
||||
@ stdcall DecodePointer(ptr) kernel32.DecodePointer
|
||||
+@ stub DecodeRemotePointer
|
||||
@ stub DecodeSystemPointer
|
||||
@ stdcall DecodeSystemPointer(ptr) kernel32.DecodeSystemPointer
|
||||
@ stdcall DefineDosDeviceW(long wstr wstr) kernel32.DefineDosDeviceW
|
||||
+@ stdcall DelayLoadFailureHook(str str) kernel32.DelayLoadFailureHook
|
||||
+@ stub DelayLoadFailureHookLookup
|
||||
@@ -294,7 +294,7 @@ index 23ca440..19cf953 100644
|
||||
+@ stub EmptyWorkingSet
|
||||
@ stdcall EncodePointer(ptr) kernel32.EncodePointer
|
||||
+@ stub EncodeRemotePointer
|
||||
@ stub EncodeSystemPointer
|
||||
@ stdcall EncodeSystemPointer(ptr) kernel32.EncodeSystemPointer
|
||||
+@ stub EnterCriticalPolicySectionInternal
|
||||
@ stdcall EnterCriticalSection(ptr) kernel32.EnterCriticalSection
|
||||
+@ stub EnterSynchronizationBarrier
|
||||
@@ -343,7 +343,7 @@ index 23ca440..19cf953 100644
|
||||
+@ stdcall EventWrite(int64 ptr long ptr) advapi32.EventWrite
|
||||
+@ stub EventWriteEx
|
||||
+@ stub EventWriteString
|
||||
+@ stub EventWriteTransfer
|
||||
+@ stdcall EventWriteTransfer(int64 ptr ptr ptr long ptr) advapi32.EventWriteTransfer
|
||||
@ stdcall ExitProcess(long) kernel32.ExitProcess
|
||||
@ stdcall ExitThread(long) kernel32.ExitThread
|
||||
@ stdcall ExpandEnvironmentStringsA(str ptr long) kernel32.ExpandEnvironmentStringsA
|
||||
@@ -1379,7 +1379,7 @@ index 23ca440..19cf953 100644
|
||||
@ stdcall SetCriticalSectionSpinCount(ptr long) kernel32.SetCriticalSectionSpinCount
|
||||
@ stdcall SetCurrentDirectoryA(str) kernel32.SetCurrentDirectoryA
|
||||
@ stdcall SetCurrentDirectoryW(wstr) kernel32.SetCurrentDirectoryW
|
||||
@ stub SetDefaultDllDirectories
|
||||
@ stdcall SetDefaultDllDirectories(long) kernel32.SetDefaultDllDirectories
|
||||
+@ stub SetDynamicTimeZoneInformation
|
||||
@ stdcall SetEndOfFile(long) kernel32.SetEndOfFile
|
||||
@ stub SetEnvironmentStringsW
|
||||
@@ -1770,17 +1770,17 @@ index 6b6ead2..7c2a9d1 100644
|
||||
422 stdcall -noname SHGlobalCounterCreateNamedA(str long)
|
||||
423 stdcall -noname SHGlobalCounterCreateNamedW(wstr long)
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index d658f30..c1a0f15 100755
|
||||
index 8e11529..eba8548 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -195,6 +195,7 @@ my @dll_groups =
|
||||
@@ -233,6 +233,7 @@ my @dll_groups =
|
||||
[
|
||||
"kernel32",
|
||||
"advapi32",
|
||||
+ "shlwapi",
|
||||
"user32",
|
||||
"kernelbase",
|
||||
],
|
||||
"api-ms-win-core-bem-l1-1-0",
|
||||
--
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 2f51e46724cd93eedfa9024dc3f88bfdd2eb3172 Mon Sep 17 00:00:00 2001
|
||||
From 97744349e9a23aa024910d87a89bd94652db4914 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 15 Jan 2016 13:07:09 +0100
|
||||
Subject: api-ms-win-core-quirks-l1-1-0: Add dll.
|
||||
@@ -13,17 +13,17 @@ Subject: api-ms-win-core-quirks-l1-1-0: Add dll.
|
||||
create mode 100644 dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7374b74..1cf8036 100644
|
||||
index 84316f9..e826dd0 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2729,6 +2729,7 @@ WINE_CONFIG_DLL(api-ms-win-core-processthreads-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-processthreads-l1-1-2)
|
||||
@@ -2720,6 +2720,7 @@ WINE_CONFIG_DLL(api-ms-win-core-processthreads-l1-1-2)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-profile-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-psapi-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-psapi-obsolete-l1-1-0)
|
||||
+WINE_CONFIG_DLL(api-ms-win-core-quirks-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-realtime-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-registry-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-rtlsupport-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-rtlsupport-l1-2-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-registryuserspecific-l1-1-0)
|
||||
diff --git a/dlls/api-ms-win-core-quirks-l1-1-0/Makefile.in b/dlls/api-ms-win-core-quirks-l1-1-0/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..9486e8b
|
||||
@@ -46,11 +46,11 @@ index 0000000..54ce373
|
||||
+@ stub QuirkIsEnabledForPackage2
|
||||
+@ stub QuirkIsEnabledForProcess
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index 572c0b8..e62c2cd 100755
|
||||
index eba8548..609f7a0 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -225,6 +225,10 @@ my @dll_groups =
|
||||
"kernelbase",
|
||||
@@ -239,6 +239,10 @@ my @dll_groups =
|
||||
"api-ms-win-core-bem-l1-1-0",
|
||||
],
|
||||
[
|
||||
+ "kernelbase",
|
||||
@@ -61,5 +61,5 @@ index 572c0b8..e62c2cd 100755
|
||||
"api-ms-win-downlevel-ole32-l1-1-0",
|
||||
"api-ms-win-core-com-l1-1-0",
|
||||
--
|
||||
2.6.4
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,90 +0,0 @@
|
||||
From fa095669c3bad1091523c6133c6a12541555dfbd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 15 Jan 2016 13:37:26 +0100
|
||||
Subject: api-ms-win-appmodel-runtime-l1-1-1: Add new dll.
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
.../api-ms-win-appmodel-runtime-l1-1-1/Makefile.in | 1 +
|
||||
.../api-ms-win-appmodel-runtime-l1-1-1.spec | 36 ++++++++++++++++++++++
|
||||
tools/make_specfiles | 1 +
|
||||
4 files changed, 39 insertions(+)
|
||||
create mode 100644 dlls/api-ms-win-appmodel-runtime-l1-1-1/Makefile.in
|
||||
create mode 100644 dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 1ebf17a..2d2108b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2623,6 +2623,7 @@ WINE_CONFIG_DLL(advpack,,[implib])
|
||||
WINE_CONFIG_TEST(dlls/advpack/tests)
|
||||
WINE_CONFIG_DLL(amstream,,[clean])
|
||||
WINE_CONFIG_TEST(dlls/amstream/tests)
|
||||
+WINE_CONFIG_DLL(api-ms-win-appmodel-runtime-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-com-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-com-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-console-l1-1-0)
|
||||
diff --git a/dlls/api-ms-win-appmodel-runtime-l1-1-1/Makefile.in b/dlls/api-ms-win-appmodel-runtime-l1-1-1/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..289d96f
|
||||
--- /dev/null
|
||||
+++ b/dlls/api-ms-win-appmodel-runtime-l1-1-1/Makefile.in
|
||||
@@ -0,0 +1 @@
|
||||
+MODULE = api-ms-win-appmodel-runtime-l1-1-1.dll
|
||||
diff --git a/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec b/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
|
||||
new file mode 100644
|
||||
index 0000000..2e5fbf1
|
||||
--- /dev/null
|
||||
+++ b/dlls/api-ms-win-appmodel-runtime-l1-1-1/api-ms-win-appmodel-runtime-l1-1-1.spec
|
||||
@@ -0,0 +1,36 @@
|
||||
+@ stub ClosePackageInfo
|
||||
+@ stub FindPackagesByPackageFamily
|
||||
+@ stub FormatApplicationUserModelId
|
||||
+@ stub GetApplicationUserModelId
|
||||
+@ stub GetApplicationUserModelIdFromToken
|
||||
+@ stub GetCurrentApplicationUserModelId
|
||||
+@ stdcall GetCurrentPackageFamilyName(ptr ptr) kernel32.GetCurrentPackageFamilyName
|
||||
+@ stub GetCurrentPackageFullName
|
||||
+@ stdcall GetCurrentPackageId(ptr ptr) kernel32.GetCurrentPackageId
|
||||
+@ stub GetCurrentPackageInfo
|
||||
+@ stub GetCurrentPackagePath
|
||||
+@ stub GetPackageApplicationIds
|
||||
+@ stub GetPackageFamilyName
|
||||
+@ stub GetPackageFamilyNameFromToken
|
||||
+@ stub GetPackageFullName
|
||||
+@ stub GetPackageFullNameFromToken
|
||||
+@ stub GetPackageId
|
||||
+@ stub GetPackageInfo
|
||||
+@ stub GetPackagePath
|
||||
+@ stub GetPackagePathByFullName
|
||||
+@ stub GetPackagesByPackageFamily
|
||||
+@ stub GetStagedPackageOrigin
|
||||
+@ stub GetStagedPackagePathByFullName
|
||||
+@ stub OpenPackageInfoByFullName
|
||||
+@ stub OpenPackageInfoByFullNameForUser
|
||||
+@ stub PackageFamilyNameFromFullName
|
||||
+@ stub PackageFamilyNameFromId
|
||||
+@ stub PackageFullNameFromId
|
||||
+@ stub PackageIdFromFullName
|
||||
+@ stub PackageNameAndPublisherIdFromFamilyName
|
||||
+@ stub ParseApplicationUserModelId
|
||||
+@ stub VerifyApplicationUserModelId
|
||||
+@ stub VerifyPackageFamilyName
|
||||
+@ stub VerifyPackageFullName
|
||||
+@ stub VerifyPackageId
|
||||
+@ stub VerifyPackageRelativeApplicationId
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index 05010cc..d2158d8 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -161,6 +161,7 @@ my @dll_groups =
|
||||
],
|
||||
[
|
||||
"kernel32",
|
||||
+ "api-ms-win-appmodel-runtime-l1-1-1",
|
||||
"api-ms-win-downlevel-normaliz-l1-1-0",
|
||||
"api-ms-win-core-processthreads-l1-1-0",
|
||||
"api-ms-win-core-debug-l1-1-0",
|
||||
--
|
||||
2.6.4
|
||||
|
@@ -1,55 +0,0 @@
|
||||
From 60ecb8d166d2b940052160dcb250cc458ba2f728 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 15 Jan 2016 13:45:05 +0100
|
||||
Subject: api-ms-win-core-apiquery-l1-1-0: Add dll.
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
dlls/api-ms-win-core-apiquery-l1-1-0/Makefile.in | 1 +
|
||||
.../api-ms-win-core-apiquery-l1-1-0/api-ms-win-core-apiquery-l1-1-0.spec | 1 +
|
||||
tools/make_specfiles | 1 +
|
||||
4 files changed, 4 insertions(+)
|
||||
create mode 100644 dlls/api-ms-win-core-apiquery-l1-1-0/Makefile.in
|
||||
create mode 100644 dlls/api-ms-win-core-apiquery-l1-1-0/api-ms-win-core-apiquery-l1-1-0.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 6ab0640..ce22c64 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2626,6 +2626,7 @@ WINE_CONFIG_TEST(dlls/advpack/tests)
|
||||
WINE_CONFIG_DLL(amstream,,[clean])
|
||||
WINE_CONFIG_TEST(dlls/amstream/tests)
|
||||
WINE_CONFIG_DLL(api-ms-win-appmodel-runtime-l1-1-1)
|
||||
+WINE_CONFIG_DLL(api-ms-win-core-apiquery-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-com-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-com-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-console-l1-1-0)
|
||||
diff --git a/dlls/api-ms-win-core-apiquery-l1-1-0/Makefile.in b/dlls/api-ms-win-core-apiquery-l1-1-0/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..492a265
|
||||
--- /dev/null
|
||||
+++ b/dlls/api-ms-win-core-apiquery-l1-1-0/Makefile.in
|
||||
@@ -0,0 +1 @@
|
||||
+MODULE = api-ms-win-core-apiquery-l1-1-0.dll
|
||||
diff --git a/dlls/api-ms-win-core-apiquery-l1-1-0/api-ms-win-core-apiquery-l1-1-0.spec b/dlls/api-ms-win-core-apiquery-l1-1-0/api-ms-win-core-apiquery-l1-1-0.spec
|
||||
new file mode 100644
|
||||
index 0000000..1d99dd7
|
||||
--- /dev/null
|
||||
+++ b/dlls/api-ms-win-core-apiquery-l1-1-0/api-ms-win-core-apiquery-l1-1-0.spec
|
||||
@@ -0,0 +1 @@
|
||||
+@ stdcall ApiSetQueryApiSetPresence(ptr ptr) ntdll.ApiSetQueryApiSetPresence
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index 13a5674..cd0d761 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -264,6 +264,7 @@ my @dll_groups =
|
||||
"msvcrt",
|
||||
"ntdll",
|
||||
"ntoskrnl.exe",
|
||||
+ "api-ms-win-core-apiquery-l1-1-0",
|
||||
"api-ms-win-core-rtlsupport-l1-1-0",
|
||||
"api-ms-win-core-rtlsupport-l1-2-0",
|
||||
],
|
||||
--
|
||||
2.6.4
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From d8b9e665f8ec796e7232700e0cc9df5b6b945c77 Mon Sep 17 00:00:00 2001
|
||||
From 55213631f626468dae79789336fb421aed983dc5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 16 Jan 2016 20:03:48 +0100
|
||||
Subject: api-ms-win-core-heap-l2-1-0: Add dll.
|
||||
@@ -13,10 +13,10 @@ Subject: api-ms-win-core-heap-l2-1-0: Add dll.
|
||||
create mode 100644 dlls/api-ms-win-core-heap-l2-1-0/api-ms-win-core-heap-l2-1-0.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 36d95c9..4fe0992 100644
|
||||
index 6b777c0..35e0636 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2645,6 +2645,7 @@ WINE_CONFIG_DLL(api-ms-win-core-file-l2-1-1)
|
||||
@@ -2676,6 +2676,7 @@ WINE_CONFIG_DLL(api-ms-win-core-file-l2-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-handle-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-heap-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-core-heap-l1-2-0)
|
||||
@@ -45,17 +45,17 @@ index 0000000..81308d2
|
||||
+@ stdcall LocalReAlloc(long long long) kernel32.LocalReAlloc
|
||||
+@ stdcall LocalUnlock(long) kernel32.LocalUnlock
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index 03e753f..d945fbe 100755
|
||||
index 0bae7d4..cd4269e 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -185,6 +185,7 @@ my @dll_groups =
|
||||
@@ -169,6 +169,7 @@ my @dll_groups =
|
||||
"api-ms-win-core-handle-l1-1-0",
|
||||
"api-ms-win-core-heap-l1-1-0",
|
||||
"api-ms-win-core-heap-l1-2-0",
|
||||
+ "api-ms-win-core-heap-l2-1-0",
|
||||
"api-ms-win-core-heap-obsolete-l1-1-0",
|
||||
"api-ms-win-core-io-l1-1-0",
|
||||
"api-ms-win-core-io-l1-1-1",
|
||||
"api-ms-win-core-kernel32-legacy-l1-1-0",
|
||||
--
|
||||
2.6.4
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e7dfb60036cd8a437bbe586507ea7f895c0da0e0 Mon Sep 17 00:00:00 2001
|
||||
From 8f6353a291eaa4d1b61d2063c93a294b7deef7a7 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 17 Jan 2016 20:17:46 +0100
|
||||
Subject: shcore: Add dll.
|
||||
@@ -13,10 +13,10 @@ Subject: shcore: Add dll.
|
||||
create mode 100644 dlls/shcore/shcore.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7daf5a8..d5f8e7d 100644
|
||||
index 04015a1..557f26b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3238,6 +3238,7 @@ WINE_CONFIG_TEST(dlls/setupapi/tests)
|
||||
@@ -3289,6 +3289,7 @@ WINE_CONFIG_TEST(dlls/setupapi/tests)
|
||||
WINE_CONFIG_DLL(setupx.dll16,enable_win16)
|
||||
WINE_CONFIG_DLL(sfc,,[implib])
|
||||
WINE_CONFIG_DLL(sfc_os,,[implib])
|
||||
@@ -121,10 +121,10 @@ index 0000000..12a4ef3
|
||||
+@ stub SetProcessReference
|
||||
+@ stub UnregisterScaleChangeEvent
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index ce6dc2f..cf8bc20 100755
|
||||
index 2c64243..611aaca 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -261,6 +261,11 @@ my @dll_groups =
|
||||
@@ -238,6 +238,11 @@ my @dll_groups =
|
||||
"api-ms-win-core-url-l1-1-0",
|
||||
],
|
||||
[
|
||||
@@ -134,8 +134,8 @@ index ce6dc2f..cf8bc20 100755
|
||||
+ ],
|
||||
+ [
|
||||
"user32",
|
||||
"api-ms-win-core-stringansi-l1-1-0",
|
||||
"api-ms-win-core-string-l2-1-0",
|
||||
"api-ms-win-downlevel-user32-l1-1-0",
|
||||
--
|
||||
2.7.1
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 9a4670c39fd3973522c8c5f7bb9252129aab0967 Mon Sep 17 00:00:00 2001
|
||||
From 49eb261c42d89a4c755914a40af797eb0b04d816 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 17 Jan 2016 17:02:41 +0100
|
||||
Subject: api-ms-win-shcore-obsolete-l1-1-0: Add dll.
|
||||
@@ -13,17 +13,17 @@ Subject: api-ms-win-shcore-obsolete-l1-1-0: Add dll.
|
||||
create mode 100644 dlls/api-ms-win-shcore-obsolete-l1-1-0/api-ms-win-shcore-obsolete-l1-1-0.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d5f8e7d..ec0afd4 100644
|
||||
index e8b9c2a..736c744 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2735,6 +2735,7 @@ WINE_CONFIG_DLL(api-ms-win-security-sddl-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-service-core-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-service-management-l1-1-0)
|
||||
@@ -2801,6 +2801,7 @@ WINE_CONFIG_DLL(api-ms-win-service-management-l2-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-service-private-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-2-0)
|
||||
+WINE_CONFIG_DLL(api-ms-win-shcore-obsolete-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-shell-shellcom-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-shell-shellfolders-l1-1-0)
|
||||
WINE_CONFIG_DLL(apphelp)
|
||||
WINE_CONFIG_TEST(dlls/apphelp/tests)
|
||||
WINE_CONFIG_DLL(appwiz.cpl,,[clean])
|
||||
diff --git a/dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in b/dlls/api-ms-win-shcore-obsolete-l1-1-0/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..6588d13
|
||||
@@ -41,10 +41,10 @@ index 0000000..edb8143
|
||||
+@ stdcall SHStrDupA(str ptr) shcore.SHStrDupA
|
||||
+@ stdcall SHStrDupW(wstr ptr) shcore.SHStrDupW
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index cf8bc20..b5aa9d6 100755
|
||||
index 6fb6376..c19993d 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -266,6 +266,10 @@ my @dll_groups =
|
||||
@@ -270,6 +270,10 @@ my @dll_groups =
|
||||
"shcore",
|
||||
],
|
||||
[
|
||||
@@ -53,8 +53,8 @@ index cf8bc20..b5aa9d6 100755
|
||||
+ ],
|
||||
+ [
|
||||
"user32",
|
||||
"api-ms-win-core-stringansi-l1-1-0",
|
||||
"api-ms-win-core-string-l2-1-0",
|
||||
"api-ms-win-downlevel-user32-l1-1-0",
|
||||
--
|
||||
2.7.1
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 26c9cf2b9b71306ebb6c19c6b0838a8ca91f3613 Mon Sep 17 00:00:00 2001
|
||||
From bfbe1cfd28797365a7341add7a330568b3846e89 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 17 Jan 2016 17:07:35 +0100
|
||||
Subject: ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for
|
||||
@@ -15,13 +15,13 @@ Subject: ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for
|
||||
create mode 100644 dlls/ext-ms-win-xaml-pal-l1-1-0/main.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 1ac07ff..049de86 100644
|
||||
index 670c2fc..8e44524 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2929,6 +2929,7 @@ WINE_CONFIG_DLL(evr)
|
||||
WINE_CONFIG_DLL(explorerframe,,[clean])
|
||||
WINE_CONFIG_TEST(dlls/explorerframe/tests)
|
||||
WINE_CONFIG_DLL(ext-ms-win-gdi-devcaps-l1-1-0)
|
||||
@@ -3025,6 +3025,7 @@ WINE_CONFIG_DLL(ext-ms-win-rtcore-gdi-rgn-l1-1-0)
|
||||
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dc-access-l1-1-0)
|
||||
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-dpi-l1-1-0)
|
||||
WINE_CONFIG_DLL(ext-ms-win-rtcore-ntuser-sysparams-l1-1-0)
|
||||
+WINE_CONFIG_DLL(ext-ms-win-xaml-pal-l1-1-0)
|
||||
WINE_CONFIG_DLL(faultrep,,[implib])
|
||||
WINE_CONFIG_TEST(dlls/faultrep/tests)
|
||||
@@ -90,5 +90,5 @@ index 0000000..3e28275
|
||||
+ return TRUE;
|
||||
+}
|
||||
--
|
||||
2.6.4
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 16af0df00d70307dd90c7dd836de57376b185844 Mon Sep 17 00:00:00 2001
|
||||
From 08231829bbfa686e537a0c94f3aa4ede92a7817b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 17 Jan 2016 17:12:45 +0100
|
||||
Subject: ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub for
|
||||
@@ -15,17 +15,17 @@ Subject: ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub for
|
||||
create mode 100644 dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 049de86..36924eb 100644
|
||||
index bdd390c..6264ede 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2928,6 +2928,7 @@ WINE_CONFIG_DLL(esent)
|
||||
@@ -3020,6 +3020,7 @@ WINE_CONFIG_DLL(esent)
|
||||
WINE_CONFIG_DLL(evr)
|
||||
WINE_CONFIG_DLL(explorerframe,,[clean])
|
||||
WINE_CONFIG_TEST(dlls/explorerframe/tests)
|
||||
+WINE_CONFIG_DLL(ext-ms-win-appmodel-usercontext-l1-1-0)
|
||||
WINE_CONFIG_DLL(ext-ms-win-gdi-devcaps-l1-1-0)
|
||||
WINE_CONFIG_DLL(ext-ms-win-xaml-pal-l1-1-0)
|
||||
WINE_CONFIG_DLL(faultrep,,[implib])
|
||||
WINE_CONFIG_DLL(ext-ms-win-domainjoin-netjoin-l1-1-0)
|
||||
WINE_CONFIG_DLL(ext-ms-win-gdi-dc-create-l1-1-1)
|
||||
WINE_CONFIG_DLL(ext-ms-win-gdi-dc-l1-2-0)
|
||||
diff --git a/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..16eee75
|
||||
@@ -87,5 +87,5 @@ index 0000000..7a9e75f
|
||||
+ return S_OK;
|
||||
+}
|
||||
--
|
||||
2.6.4
|
||||
2.9.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 7100e12fb3dcc986f210cf0a41e462fbcc122906 Mon Sep 17 00:00:00 2001
|
||||
From c0c54145e9b77cabfe520050f1a383659abd679f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 19 Jan 2016 16:19:11 +0100
|
||||
Subject: api-ms-win-shcore-thread-l1-1-0: Add dll
|
||||
@@ -13,17 +13,17 @@ Subject: api-ms-win-shcore-thread-l1-1-0: Add dll
|
||||
create mode 100644 dlls/api-ms-win-shcore-thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 442335d..d2bac7d 100644
|
||||
index 3847ab8..876b232 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2751,6 +2751,7 @@ WINE_CONFIG_DLL(api-ms-win-service-core-l1-1-1)
|
||||
WINE_CONFIG_DLL(api-ms-win-service-management-l1-1-0)
|
||||
@@ -2797,6 +2797,7 @@ WINE_CONFIG_DLL(api-ms-win-service-management-l2-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-service-winsvc-l1-2-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-shcore-obsolete-l1-1-0)
|
||||
+WINE_CONFIG_DLL(api-ms-win-shcore-thread-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-shell-shellcom-l1-1-0)
|
||||
WINE_CONFIG_DLL(api-ms-win-shell-shellfolders-l1-1-0)
|
||||
WINE_CONFIG_DLL(apphelp)
|
||||
WINE_CONFIG_TEST(dlls/apphelp/tests)
|
||||
WINE_CONFIG_DLL(appwiz.cpl,,[clean])
|
||||
diff --git a/dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in b/dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..0a20ccf
|
||||
@@ -46,10 +46,10 @@ index 0000000..1533005
|
||||
+@ stdcall SHSetThreadRef(ptr) shcore.SHSetThreadRef
|
||||
+@ stub SetProcessReference
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index f7d7ede..c7761b9 100755
|
||||
index e16a378..3fd4f36 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -266,6 +266,7 @@ my @dll_groups =
|
||||
@@ -268,6 +268,7 @@ my @dll_groups =
|
||||
[
|
||||
"shcore",
|
||||
"api-ms-win-shcore-obsolete-l1-1-0",
|
||||
@@ -58,5 +58,5 @@ index f7d7ede..c7761b9 100755
|
||||
[
|
||||
"user32",
|
||||
--
|
||||
2.7.1
|
||||
2.9.0
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user