mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebased against c3beca6c8fc8c07ecd992e64f8f8d0dda3a10ac8
This commit is contained in:
parent
8b6ef3476f
commit
a14e2990e5
@ -1,36 +1,40 @@
|
||||
From 3c523f6408b12cbf2f70ae857df3a386e8b18cb4 Mon Sep 17 00:00:00 2001
|
||||
From 64d85e9c694c674a6ade54a8778e981db24eaf86 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 6 Aug 2017 03:15:34 +0200
|
||||
Subject: programs/runas: Basic implementation for starting processes with a
|
||||
different trustlevel.
|
||||
Subject: [PATCH] programs/runas: Basic implementation for starting processes
|
||||
with a different trustlevel.
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
configure.ac | 5 +-
|
||||
programs/runas/Makefile.in | 8 ++
|
||||
programs/runas/runas.c | 214 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
programs/runas/runas.h | 26 ++++++
|
||||
programs/runas/runas.rc | 39 +++++++++
|
||||
5 files changed, 288 insertions(+)
|
||||
5 files changed, 290 insertions(+), 2 deletions(-)
|
||||
create mode 100644 programs/runas/Makefile.in
|
||||
create mode 100644 programs/runas/runas.c
|
||||
create mode 100644 programs/runas/runas.h
|
||||
create mode 100644 programs/runas/runas.rc
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index edc100f4637..b9c648bce43 100644
|
||||
index 2996010..4051d50 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3861,6 +3861,7 @@ WINE_CONFIG_TEST(programs/regedit/tests)
|
||||
@@ -3821,8 +3821,9 @@ WINE_CONFIG_PROGRAM(regasm,,[install])
|
||||
WINE_CONFIG_PROGRAM(regedit,,[install,installbin,manpage])
|
||||
WINE_CONFIG_TEST(programs/regedit/tests)
|
||||
WINE_CONFIG_PROGRAM(regsvcs,,[install])
|
||||
WINE_CONFIG_PROGRAM(regsvr32,,[clean,install,installbin,manpage])
|
||||
WINE_CONFIG_PROGRAM(rpcss,,[clean,install])
|
||||
-WINE_CONFIG_PROGRAM(regsvr32,,[install,installbin,manpage])
|
||||
-WINE_CONFIG_PROGRAM(rpcss,,[install])
|
||||
+WINE_CONFIG_PROGRAM(regsvr32,,[clean,install,installbin,manpage])
|
||||
+WINE_CONFIG_PROGRAM(rpcss,,[clean,install])
|
||||
+WINE_CONFIG_PROGRAM(runas,,[install])
|
||||
WINE_CONFIG_PROGRAM(rundll.exe16,enable_win16,[install])
|
||||
WINE_CONFIG_PROGRAM(rundll32,,[install])
|
||||
WINE_CONFIG_PROGRAM(sc,,[install])
|
||||
diff --git a/programs/runas/Makefile.in b/programs/runas/Makefile.in
|
||||
new file mode 100644
|
||||
index 00000000000..be9434b214a
|
||||
index 0000000..be9434b
|
||||
--- /dev/null
|
||||
+++ b/programs/runas/Makefile.in
|
||||
@@ -0,0 +1,8 @@
|
||||
@ -44,7 +48,7 @@ index 00000000000..be9434b214a
|
||||
+RC_SRCS = runas.rc
|
||||
diff --git a/programs/runas/runas.c b/programs/runas/runas.c
|
||||
new file mode 100644
|
||||
index 00000000000..cfd1c73ac56
|
||||
index 0000000..cfd1c73
|
||||
--- /dev/null
|
||||
+++ b/programs/runas/runas.c
|
||||
@@ -0,0 +1,214 @@
|
||||
@ -264,7 +268,7 @@ index 00000000000..cfd1c73ac56
|
||||
+}
|
||||
diff --git a/programs/runas/runas.h b/programs/runas/runas.h
|
||||
new file mode 100644
|
||||
index 00000000000..40599a3b33b
|
||||
index 0000000..40599a3
|
||||
--- /dev/null
|
||||
+++ b/programs/runas/runas.h
|
||||
@@ -0,0 +1,26 @@
|
||||
@ -296,7 +300,7 @@ index 00000000000..40599a3b33b
|
||||
+#define STRING_START_ERROR 104
|
||||
diff --git a/programs/runas/runas.rc b/programs/runas/runas.rc
|
||||
new file mode 100644
|
||||
index 00000000000..f9297a44794
|
||||
index 0000000..f9297a4
|
||||
--- /dev/null
|
||||
+++ b/programs/runas/runas.rc
|
||||
@@ -0,0 +1,39 @@
|
||||
@ -340,5 +344,5 @@ index 00000000000..f9297a44794
|
||||
+ %2!u!: %3\n"
|
||||
+}
|
||||
--
|
||||
2.13.1
|
||||
1.9.1
|
||||
|
||||
|
@ -1,33 +1,35 @@
|
||||
From e20e1494010e20efd0325efe9c535651d4750dfe Mon Sep 17 00:00:00 2001
|
||||
From 7e17dfac73025ee2a51c2791c412abe47b36677c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 17 Jan 2016 01:11:46 +0100
|
||||
Subject: iertutil: Add dll and add stub for ordinal 811.
|
||||
Subject: [PATCH] iertutil: Add dll and add stub for ordinal 811.
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
configure.ac | 3 +-
|
||||
dlls/iertutil/Makefile.in | 4 +
|
||||
dlls/iertutil/iertutil.spec | 521 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/iertutil/main.c | 48 ++++
|
||||
4 files changed, 574 insertions(+)
|
||||
4 files changed, 575 insertions(+), 1 deletion(-)
|
||||
create mode 100644 dlls/iertutil/Makefile.in
|
||||
create mode 100644 dlls/iertutil/iertutil.spec
|
||||
create mode 100644 dlls/iertutil/main.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5ea7db07294..13fe97eed7a 100644
|
||||
index 4051d50..a5c5a96 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3172,6 +3172,7 @@ WINE_CONFIG_DLL(icmp)
|
||||
WINE_CONFIG_DLL(ieframe,,[clean,implib])
|
||||
@@ -3263,7 +3263,8 @@ WINE_CONFIG_DLL(iccvid)
|
||||
WINE_CONFIG_DLL(icmp)
|
||||
WINE_CONFIG_DLL(ieframe,,[implib])
|
||||
WINE_CONFIG_TEST(dlls/ieframe/tests)
|
||||
WINE_CONFIG_DLL(ieproxy,,[clean])
|
||||
-WINE_CONFIG_DLL(ieproxy)
|
||||
+WINE_CONFIG_DLL(ieproxy,,[clean])
|
||||
+WINE_CONFIG_DLL(iertutil)
|
||||
WINE_CONFIG_DLL(ifsmgr.vxd,enable_win16)
|
||||
WINE_CONFIG_DLL(imaadp32.acm)
|
||||
WINE_CONFIG_DLL(imagehlp,,[implib])
|
||||
diff --git a/dlls/iertutil/Makefile.in b/dlls/iertutil/Makefile.in
|
||||
new file mode 100644
|
||||
index 00000000000..268026e7031
|
||||
index 0000000..268026e
|
||||
--- /dev/null
|
||||
+++ b/dlls/iertutil/Makefile.in
|
||||
@@ -0,0 +1,4 @@
|
||||
@ -37,7 +39,7 @@ index 00000000000..268026e7031
|
||||
+ main.c
|
||||
diff --git a/dlls/iertutil/iertutil.spec b/dlls/iertutil/iertutil.spec
|
||||
new file mode 100644
|
||||
index 00000000000..a13779bebbd
|
||||
index 0000000..a13779b
|
||||
--- /dev/null
|
||||
+++ b/dlls/iertutil/iertutil.spec
|
||||
@@ -0,0 +1,521 @@
|
||||
@ -564,7 +566,7 @@ index 00000000000..a13779bebbd
|
||||
+@ stub UriFromHostAndScheme
|
||||
diff --git a/dlls/iertutil/main.c b/dlls/iertutil/main.c
|
||||
new file mode 100644
|
||||
index 00000000000..2b993a44ca4
|
||||
index 0000000..2b993a4
|
||||
--- /dev/null
|
||||
+++ b/dlls/iertutil/main.c
|
||||
@@ -0,0 +1,48 @@
|
||||
@ -617,5 +619,5 @@ index 00000000000..2b993a44ca4
|
||||
+ return FALSE;
|
||||
+}
|
||||
--
|
||||
2.13.1
|
||||
1.9.1
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 9b292e1bcfc18eecb70ac34fdd302d1274f68bb0 Mon Sep 17 00:00:00 2001
|
||||
From 41b8290ff725b97b059468904eb7c351326617df 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
|
||||
UserContextExtInitialize.
|
||||
Subject: [PATCH] ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub
|
||||
for UserContextExtInitialize.
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
@ -15,12 +15,12 @@ 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 cd6fe607f65..3e0f37d2753 100644
|
||||
index b94569c..42bbf8d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3126,6 +3126,7 @@ WINE_CONFIG_DLL(evr)
|
||||
@@ -3207,6 +3207,7 @@ WINE_CONFIG_DLL(evr)
|
||||
WINE_CONFIG_TEST(dlls/evr/tests)
|
||||
WINE_CONFIG_DLL(explorerframe,,[clean])
|
||||
WINE_CONFIG_DLL(explorerframe)
|
||||
WINE_CONFIG_TEST(dlls/explorerframe/tests)
|
||||
+WINE_CONFIG_DLL(ext-ms-win-appmodel-usercontext-l1-1-0)
|
||||
WINE_CONFIG_DLL(ext-ms-win-authz-context-l1-1-0)
|
||||
@ -28,7 +28,7 @@ index cd6fe607f65..3e0f37d2753 100644
|
||||
WINE_CONFIG_DLL(ext-ms-win-gdi-dc-create-l1-1-1)
|
||||
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 00000000000..16eee7588ff
|
||||
index 0000000..16eee75
|
||||
--- /dev/null
|
||||
+++ b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in
|
||||
@@ -0,0 +1,4 @@
|
||||
@ -38,7 +38,7 @@ index 00000000000..16eee7588ff
|
||||
+ main.c
|
||||
diff --git a/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec
|
||||
new file mode 100644
|
||||
index 00000000000..7642d156c94
|
||||
index 0000000..7642d15
|
||||
--- /dev/null
|
||||
+++ b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec
|
||||
@@ -0,0 +1,3 @@
|
||||
@ -47,7 +47,7 @@ index 00000000000..7642d156c94
|
||||
+@ stub UserContextExtSetToken
|
||||
diff --git a/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c
|
||||
new file mode 100644
|
||||
index 00000000000..7a9e75f7109
|
||||
index 0000000..7a9e75f
|
||||
--- /dev/null
|
||||
+++ b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c
|
||||
@@ -0,0 +1,35 @@
|
||||
@ -87,5 +87,5 @@ index 00000000000..7a9e75f7109
|
||||
+ return S_OK;
|
||||
+}
|
||||
--
|
||||
2.14.1
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 493f7a848054d2d11d4f9c915a46055ba6f2bf24 Mon Sep 17 00:00:00 2001
|
||||
From eafc346618f1b1c5355f67ccb4381ac708d8cffe Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 04:38:15 +0100
|
||||
Subject: [PATCH] bcrypt/tests: Add test for bugs in BCryptGetProperty.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2938bda81ec62e4cfee5b1af3ed4d218ce673eff Mon Sep 17 00:00:00 2001
|
||||
From 65adbaee97870e85cab097ac3d6b2929d1d69ffd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 05:37:02 +0100
|
||||
Subject: [PATCH] bcrypt/tests: Add tests for AES GCM mode.
|
||||
|
@ -1,18 +1,18 @@
|
||||
From 882e1172fa4b2ad6f3746d8d3f1fa40eaa2cd40c Mon Sep 17 00:00:00 2001
|
||||
From 53b662ae4f93b518e1e140f765c04b23a1fc10c7 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 06:18:01 +0100
|
||||
Subject: [PATCH] bcrypt: Pass object to get_{alg,hash}_property instead of
|
||||
alg_id.
|
||||
|
||||
---
|
||||
dlls/bcrypt/bcrypt_main.c | 30 +++++++++++++++---------------
|
||||
1 file changed, 15 insertions(+), 15 deletions(-)
|
||||
dlls/bcrypt/bcrypt_main.c | 32 ++++++++++++++++----------------
|
||||
1 file changed, 16 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index c064b63..b23e1ea 100644
|
||||
index 72b5df2..c780976 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -509,15 +509,15 @@ static NTSTATUS generic_alg_property( enum alg_id id, const WCHAR *prop, UCHAR *
|
||||
@@ -510,15 +510,15 @@ static NTSTATUS generic_alg_property( enum alg_id id, const WCHAR *prop, UCHAR *
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ index c064b63..b23e1ea 100644
|
||||
{
|
||||
case ALG_ID_AES:
|
||||
if (!strcmpW( prop, BCRYPT_BLOCK_LENGTH ))
|
||||
@@ -566,11 +566,11 @@ static NTSTATUS get_alg_property( enum alg_id id, const WCHAR *prop, UCHAR *buf,
|
||||
@@ -567,11 +567,11 @@ static NTSTATUS get_alg_property( enum alg_id id, const WCHAR *prop, UCHAR *buf,
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ index c064b63..b23e1ea 100644
|
||||
if (status == STATUS_NOT_IMPLEMENTED)
|
||||
FIXME( "unsupported property %s\n", debugstr_w(prop) );
|
||||
return status;
|
||||
@@ -590,12 +590,12 @@ NTSTATUS WINAPI BCryptGetProperty( BCRYPT_HANDLE handle, LPCWSTR prop, UCHAR *bu
|
||||
@@ -591,12 +591,12 @@ NTSTATUS WINAPI BCryptGetProperty( BCRYPT_HANDLE handle, LPCWSTR prop, UCHAR *bu
|
||||
case MAGIC_ALG:
|
||||
{
|
||||
const struct algorithm *alg = (const struct algorithm *)object;
|
||||
@ -60,7 +60,7 @@ index c064b63..b23e1ea 100644
|
||||
}
|
||||
default:
|
||||
WARN( "unknown magic %08x\n", object->magic );
|
||||
@@ -768,7 +768,7 @@ NTSTATUS WINAPI BCryptHash( BCRYPT_ALG_HANDLE algorithm, UCHAR *secret, ULONG se
|
||||
@@ -769,7 +769,7 @@ NTSTATUS WINAPI BCryptHash( BCRYPT_ALG_HANDLE algorithm, UCHAR *secret, ULONG se
|
||||
}
|
||||
|
||||
#if defined(HAVE_GNUTLS_CIPHER_INIT) || defined(HAVE_COMMONCRYPTO_COMMONCRYPTOR_H) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
|
||||
@ -69,7 +69,7 @@ index c064b63..b23e1ea 100644
|
||||
{
|
||||
ULONG ret = 0, size = sizeof(ret);
|
||||
get_alg_property( alg, BCRYPT_BLOCK_LENGTH, (UCHAR *)&ret, sizeof(ret), &size );
|
||||
@@ -787,27 +787,27 @@ struct key
|
||||
@@ -788,27 +788,27 @@ struct key
|
||||
ULONG secret_len;
|
||||
};
|
||||
|
||||
@ -93,8 +93,9 @@ index c064b63..b23e1ea 100644
|
||||
}
|
||||
|
||||
- if (!(key->block_size = get_block_size( id ))) return STATUS_INVALID_PARAMETER;
|
||||
- if (!(buffer = heap_alloc( secret_len ))) return STATUS_NO_MEMORY;
|
||||
+ if (!(key->block_size = get_block_size( alg ))) return STATUS_INVALID_PARAMETER;
|
||||
if (!(buffer = HeapAlloc( GetProcessHeap(), 0, secret_len ))) return STATUS_NO_MEMORY;
|
||||
+ if (!(buffer = heap_alloc( GetProcessHeap(), 0, secret_len ))) return STATUS_NO_MEMORY;
|
||||
memcpy( buffer, secret, secret_len );
|
||||
|
||||
- key->alg_id = id;
|
||||
@ -102,7 +103,7 @@ index c064b63..b23e1ea 100644
|
||||
key->handle = 0; /* initialized on first use */
|
||||
key->secret = buffer;
|
||||
key->secret_len = secret_len;
|
||||
@@ -1011,7 +1011,7 @@ struct key
|
||||
@@ -1012,7 +1012,7 @@ struct key
|
||||
ULONG block_size;
|
||||
};
|
||||
|
||||
@ -111,14 +112,14 @@ index c064b63..b23e1ea 100644
|
||||
{
|
||||
ERR( "support for keys not available at build time\n" );
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
@@ -1060,7 +1060,7 @@ NTSTATUS WINAPI BCryptGenerateSymmetricKey( BCRYPT_ALG_HANDLE algorithm, BCRYPT_
|
||||
if (!(key = HeapAlloc( GetProcessHeap(), 0, sizeof(*key) ))) return STATUS_NO_MEMORY;
|
||||
@@ -1061,7 +1061,7 @@ NTSTATUS WINAPI BCryptGenerateSymmetricKey( BCRYPT_ALG_HANDLE algorithm, BCRYPT_
|
||||
if (!(key = heap_alloc( sizeof(*key) ))) return STATUS_NO_MEMORY;
|
||||
key->hdr.magic = MAGIC_KEY;
|
||||
|
||||
- if ((status = key_init( key, alg->id, secret, secret_len )))
|
||||
+ if ((status = key_init( key, alg, secret, secret_len )))
|
||||
{
|
||||
HeapFree( GetProcessHeap(), 0, key );
|
||||
heap_free( key );
|
||||
return status;
|
||||
--
|
||||
1.9.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b97cc4c8df55e42e30d7d241fe7db1f49f7e2bc5 Mon Sep 17 00:00:00 2001
|
||||
From d5d11e2ada220c0bfcd11a9975ef4ef242254937 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 06:08:33 +0100
|
||||
Subject: [PATCH] bcrypt: Implement BCryptSetProperty for algorithms.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] bcrypt: Implement BCryptSetProperty for algorithms.
|
||||
2 files changed, 67 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index b23e1ea..46e188f 100644
|
||||
index c780976..190baca 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -191,6 +191,12 @@ enum alg_id
|
||||
@@ -192,6 +192,12 @@ enum alg_id
|
||||
ALG_ID_SHA512
|
||||
};
|
||||
|
||||
@ -25,7 +25,7 @@ index b23e1ea..46e188f 100644
|
||||
#define MAX_HASH_OUTPUT_BYTES 64
|
||||
#define MAX_HASH_BLOCK_BITS 1024
|
||||
|
||||
@@ -215,6 +221,7 @@ struct algorithm
|
||||
@@ -216,6 +222,7 @@ struct algorithm
|
||||
{
|
||||
struct object hdr;
|
||||
enum alg_id id;
|
||||
@ -33,15 +33,15 @@ index b23e1ea..46e188f 100644
|
||||
BOOL hmac;
|
||||
};
|
||||
|
||||
@@ -297,6 +304,7 @@ NTSTATUS WINAPI BCryptOpenAlgorithmProvider( BCRYPT_ALG_HANDLE *handle, LPCWSTR
|
||||
if (!(alg = HeapAlloc( GetProcessHeap(), 0, sizeof(*alg) ))) return STATUS_NO_MEMORY;
|
||||
@@ -298,6 +305,7 @@ NTSTATUS WINAPI BCryptOpenAlgorithmProvider( BCRYPT_ALG_HANDLE *handle, LPCWSTR
|
||||
if (!(alg = heap_alloc( sizeof(*alg) ))) return STATUS_NO_MEMORY;
|
||||
alg->hdr.magic = MAGIC_ALG;
|
||||
alg->id = alg_id;
|
||||
+ alg->mode = MODE_ID_CBC;
|
||||
alg->hmac = flags & BCRYPT_ALG_HANDLE_HMAC_FLAG;
|
||||
|
||||
*handle = alg;
|
||||
@@ -566,6 +574,40 @@ static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop
|
||||
@@ -567,6 +575,40 @@ static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ index b23e1ea..46e188f 100644
|
||||
static NTSTATUS get_hash_property( const struct hash *hash, const WCHAR *prop, UCHAR *buf, ULONG size, ULONG *ret_size )
|
||||
{
|
||||
NTSTATUS status;
|
||||
@@ -605,8 +647,28 @@ NTSTATUS WINAPI BCryptGetProperty( BCRYPT_HANDLE handle, LPCWSTR prop, UCHAR *bu
|
||||
@@ -606,8 +648,28 @@ NTSTATUS WINAPI BCryptGetProperty( BCRYPT_HANDLE handle, LPCWSTR prop, UCHAR *bu
|
||||
|
||||
NTSTATUS WINAPI BCryptSetProperty( BCRYPT_HANDLE handle, const WCHAR *prop, UCHAR *value, ULONG size, ULONG flags )
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 66a2dae258c8a257f904e4235ce1e77451e40cc5 Mon Sep 17 00:00:00 2001
|
||||
From a386ddc14722a35509d1f3a19c037fcb3ff1b465 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 06:46:11 +0100
|
||||
Subject: [PATCH] bcrypt: Implement BCryptGetProperty for BCRYPT_CHAINING_MODE.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] bcrypt: Implement BCryptGetProperty for BCRYPT_CHAINING_MODE.
|
||||
2 files changed, 11 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index 46e188f..714cb91 100644
|
||||
index 190baca..4ffac3f 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -539,17 +539,18 @@ static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop
|
||||
@@ -540,17 +540,18 @@ static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop
|
||||
}
|
||||
if (!strcmpW( prop, BCRYPT_CHAINING_MODE ))
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c5e9448e8fa27c7ff1ce7826f8ac15c8d825ac9e Mon Sep 17 00:00:00 2001
|
||||
From 9ec7993211eab9a3a44bc326cdd7a2abed377b46 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 06:50:28 +0100
|
||||
Subject: [PATCH] bcrypt: Implement BCryptGetProperty for
|
||||
@ -10,10 +10,10 @@ Subject: [PATCH] bcrypt: Implement BCryptGetProperty for
|
||||
2 files changed, 22 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index 714cb91..dc5a4f2 100644
|
||||
index 4ffac3f..485a71e 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -565,6 +565,20 @@ static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop
|
||||
@@ -566,6 +566,20 @@ static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop
|
||||
}
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bd66e10e4141e514145c1be5444ae200919d7505 Mon Sep 17 00:00:00 2001
|
||||
From df838a6fa3107044fd151f441148d768e408779e Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 07:21:27 +0100
|
||||
Subject: [PATCH] bcrypt: Fix string comparison in set_alg_property.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] bcrypt: Fix string comparison in set_alg_property.
|
||||
2 files changed, 13 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index dc5a4f2..725c285 100644
|
||||
index 485a71e..a903437 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -596,14 +596,12 @@ static NTSTATUS set_alg_property( struct algorithm *alg, const WCHAR *prop, UCHA
|
||||
@@ -597,14 +597,12 @@ static NTSTATUS set_alg_property( struct algorithm *alg, const WCHAR *prop, UCHA
|
||||
case ALG_ID_AES:
|
||||
if (!strcmpW( prop, BCRYPT_CHAINING_MODE ))
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 143cf9efb5def04f854657b90d5c26847d6f72f9 Mon Sep 17 00:00:00 2001
|
||||
From 0a0013fd0f077161a0975c2c83889bae85a37be0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 07:46:57 +0100
|
||||
Subject: [PATCH] bcrypt: Implement BCryptEncrypt for AES GCM mode.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] bcrypt: Implement BCryptEncrypt for AES GCM mode.
|
||||
2 files changed, 51 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index 725c285..b7e1957 100644
|
||||
index a903437..381c11f 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -62,6 +62,12 @@ MAKE_FUNCPTR(gnutls_global_set_log_level);
|
||||
@@ -63,6 +63,12 @@ MAKE_FUNCPTR(gnutls_global_set_log_level);
|
||||
MAKE_FUNCPTR(gnutls_perror);
|
||||
#undef MAKE_FUNCPTR
|
||||
|
||||
@ -25,7 +25,7 @@ index 725c285..b7e1957 100644
|
||||
static void gnutls_log( int level, const char *msg )
|
||||
{
|
||||
TRACE( "<%d> %s", level, msg );
|
||||
@@ -856,6 +862,7 @@ struct key
|
||||
@@ -857,6 +863,7 @@ struct key
|
||||
{
|
||||
struct object hdr;
|
||||
enum alg_id alg_id;
|
||||
@ -33,7 +33,7 @@ index 725c285..b7e1957 100644
|
||||
ULONG block_size;
|
||||
gnutls_cipher_hd_t handle;
|
||||
UCHAR *secret;
|
||||
@@ -883,6 +890,7 @@ static NTSTATUS key_init( struct key *key, struct algorithm *alg, const UCHAR *s
|
||||
@@ -884,6 +891,7 @@ static NTSTATUS key_init( struct key *key, struct algorithm *alg, const UCHAR *s
|
||||
memcpy( buffer, secret, secret_len );
|
||||
|
||||
key->alg_id = alg->id;
|
||||
@ -41,7 +41,7 @@ index 725c285..b7e1957 100644
|
||||
key->handle = 0; /* initialized on first use */
|
||||
key->secret = buffer;
|
||||
key->secret_len = secret_len;
|
||||
@@ -895,9 +903,13 @@ static gnutls_cipher_algorithm_t get_gnutls_cipher( const struct key *key )
|
||||
@@ -896,9 +904,13 @@ static gnutls_cipher_algorithm_t get_gnutls_cipher( const struct key *key )
|
||||
switch (key->alg_id)
|
||||
{
|
||||
case ALG_ID_AES:
|
||||
@ -58,7 +58,7 @@ index 725c285..b7e1957 100644
|
||||
default:
|
||||
FIXME( "algorithm %u not supported\n", key->alg_id );
|
||||
return GNUTLS_CIPHER_UNKNOWN;
|
||||
@@ -1083,12 +1095,14 @@ static NTSTATUS key_destroy( struct key *key )
|
||||
@@ -1084,12 +1096,14 @@ static NTSTATUS key_destroy( struct key *key )
|
||||
struct key
|
||||
{
|
||||
struct object hdr;
|
||||
@ -73,7 +73,7 @@ index 725c285..b7e1957 100644
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@@ -1168,17 +1182,37 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1169,17 +1183,37 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
padding, iv, iv_len, output, output_len, ret_len, flags );
|
||||
|
||||
if (!key || key->hdr.magic != MAGIC_KEY) return STATUS_INVALID_HANDLE;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From dac0dade33e4623251bc8375fb39b3d0fdc5cead Mon Sep 17 00:00:00 2001
|
||||
From 8391836c505c33c0f0671dde92585d53c4f2885c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 07:53:10 +0100
|
||||
Subject: [PATCH] bcrypt: Implement BCryptDecrypt for AES GCM mode.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] bcrypt: Implement BCryptDecrypt for AES GCM mode.
|
||||
2 files changed, 27 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index b7e1957..c7298fb 100644
|
||||
index 381c11f..28e3b30 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -1260,17 +1260,35 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1261,17 +1261,35 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
padding, iv, iv_len, output, output_len, ret_len, flags );
|
||||
|
||||
if (!key || key->hdr.magic != MAGIC_KEY) return STATUS_INVALID_HANDLE;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 87e8a5e0eeaab01ae5092be876b8d6195e19ed5b Mon Sep 17 00:00:00 2001
|
||||
From 8a7e13f2942197a83e9f5b7b8bbbd7ef684bcd1a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 08:02:36 +0100
|
||||
Subject: [PATCH] bcrypt: Add support for computing/comparing cipher tag.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] bcrypt: Add support for computing/comparing cipher tag.
|
||||
2 files changed, 45 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index c7298fb..e7377f2 100644
|
||||
index 28e3b30..12d61e8 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -49,6 +49,9 @@ static HINSTANCE instance;
|
||||
@@ -50,6 +50,9 @@ static HINSTANCE instance;
|
||||
#if defined(HAVE_GNUTLS_CIPHER_INIT) && !defined(HAVE_COMMONCRYPTO_COMMONCRYPTOR_H)
|
||||
WINE_DECLARE_DEBUG_CHANNEL(winediag);
|
||||
|
||||
@ -22,7 +22,7 @@ index c7298fb..e7377f2 100644
|
||||
static void *libgnutls_handle;
|
||||
#define MAKE_FUNCPTR(f) static typeof(f) * p##f
|
||||
MAKE_FUNCPTR(gnutls_cipher_decrypt2);
|
||||
@@ -68,6 +71,11 @@ MAKE_FUNCPTR(gnutls_perror);
|
||||
@@ -69,6 +72,11 @@ MAKE_FUNCPTR(gnutls_perror);
|
||||
#define GNUTLS_CIPHER_AES_256_GCM 94
|
||||
#endif
|
||||
|
||||
@ -34,7 +34,7 @@ index c7298fb..e7377f2 100644
|
||||
static void gnutls_log( int level, const char *msg )
|
||||
{
|
||||
TRACE( "<%d> %s", level, msg );
|
||||
@@ -101,6 +109,12 @@ static BOOL gnutls_initialize(void)
|
||||
@@ -102,6 +110,12 @@ static BOOL gnutls_initialize(void)
|
||||
LOAD_FUNCPTR(gnutls_perror)
|
||||
#undef LOAD_FUNCPTR
|
||||
|
||||
@ -47,7 +47,7 @@ index c7298fb..e7377f2 100644
|
||||
if ((ret = pgnutls_global_init()) != GNUTLS_E_SUCCESS)
|
||||
{
|
||||
pgnutls_perror( ret );
|
||||
@@ -976,6 +990,19 @@ static NTSTATUS key_decrypt( struct key *key, const UCHAR *input, ULONG input_le
|
||||
@@ -977,6 +991,19 @@ static NTSTATUS key_decrypt( struct key *key, const UCHAR *input, ULONG input_le
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ index c7298fb..e7377f2 100644
|
||||
static NTSTATUS key_destroy( struct key *key )
|
||||
{
|
||||
if (key->handle) pgnutls_cipher_deinit( key->handle );
|
||||
@@ -1126,6 +1153,12 @@ static NTSTATUS key_decrypt( struct key *key, const UCHAR *input, ULONG input_le
|
||||
@@ -1127,6 +1154,12 @@ static NTSTATUS key_decrypt( struct key *key, const UCHAR *input, ULONG input_le
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ index c7298fb..e7377f2 100644
|
||||
static NTSTATUS key_destroy( struct key *key )
|
||||
{
|
||||
ERR( "support for keys not available at build time\n" );
|
||||
@@ -1210,7 +1243,7 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1211,7 +1244,7 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
if ((status = key_encrypt( key, input, input_len, output, output_len )))
|
||||
return status;
|
||||
|
||||
@ -89,7 +89,7 @@ index c7298fb..e7377f2 100644
|
||||
}
|
||||
|
||||
if ((status = key_set_params( key, iv, iv_len ))) return status;
|
||||
@@ -1269,6 +1302,7 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1270,6 +1303,7 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
if (key->mode == MODE_ID_GCM)
|
||||
{
|
||||
BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO *auth_info = padding;
|
||||
@ -97,7 +97,7 @@ index c7298fb..e7377f2 100644
|
||||
|
||||
if (!auth_info) return STATUS_INVALID_PARAMETER;
|
||||
if (!auth_info->pbNonce) return STATUS_INVALID_PARAMETER;
|
||||
@@ -1286,6 +1320,11 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1287,6 +1321,11 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
if ((status = key_decrypt( key, input, input_len, output, output_len )))
|
||||
return status;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2ee7e08d3f3da05d27ff004cac69aa136c93baf0 Mon Sep 17 00:00:00 2001
|
||||
From 91c7e05a9845d2caad78e292774cffeb67b342ca Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 08:28:24 +0100
|
||||
Subject: [PATCH] bcrypt: Implement BCryptDuplicateKey.
|
||||
@ -23,10 +23,10 @@ index f00f55c..fcd0f6d 100644
|
||||
@ stdcall BCryptEnumAlgorithms(long ptr ptr long)
|
||||
@ stub BCryptEnumContextFunctionProviders
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index e7377f2..9b86812 100644
|
||||
index 12d61e8..5591850 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -912,6 +912,24 @@ static NTSTATUS key_init( struct key *key, struct algorithm *alg, const UCHAR *s
|
||||
@@ -913,6 +913,24 @@ static NTSTATUS key_init( struct key *key, struct algorithm *alg, const UCHAR *s
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ index e7377f2..9b86812 100644
|
||||
static gnutls_cipher_algorithm_t get_gnutls_cipher( const struct key *key )
|
||||
{
|
||||
switch (key->alg_id)
|
||||
@@ -1133,6 +1151,13 @@ static NTSTATUS key_init( struct key *key, struct algorithm *alg, UCHAR *secret,
|
||||
@@ -1134,6 +1152,13 @@ static NTSTATUS key_init( struct key *key, struct algorithm *alg, UCHAR *secret,
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@ index e7377f2..9b86812 100644
|
||||
static NTSTATUS key_set_params( struct key *key, UCHAR *iv, ULONG iv_len )
|
||||
{
|
||||
ERR( "support for keys not available at build time\n" );
|
||||
@@ -1192,6 +1217,30 @@ NTSTATUS WINAPI BCryptGenerateSymmetricKey( BCRYPT_ALG_HANDLE algorithm, BCRYPT_
|
||||
@@ -1193,6 +1218,30 @@ NTSTATUS WINAPI BCryptGenerateSymmetricKey( BCRYPT_ALG_HANDLE algorithm, BCRYPT_
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 436f61185069a5b28a5e1036ac47e985eaee1d0d Mon Sep 17 00:00:00 2001
|
||||
From 2211b77a46bed8baf2e327aaa2809006f0776717 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 08:30:43 +0100
|
||||
Subject: [PATCH] bcrypt/tests: Add tests for BCryptDuplicateKey.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0143046b208f307d961e0f2a443c28b6d4459836 Mon Sep 17 00:00:00 2001
|
||||
From 2b1715f4d088c7281cd0d97281635ea47fe24124 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 08:41:31 +0100
|
||||
Subject: [PATCH] bcrypt: Allow to call BCryptSetProperty on key objects.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] bcrypt: Allow to call BCryptSetProperty on key objects.
|
||||
2 files changed, 40 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index 9b86812..a7e7afc 100644
|
||||
index 5591850..2bb8f8f 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -245,6 +245,9 @@ struct algorithm
|
||||
@@ -246,6 +246,9 @@ struct algorithm
|
||||
BOOL hmac;
|
||||
};
|
||||
|
||||
@ -22,7 +22,7 @@ index 9b86812..a7e7afc 100644
|
||||
NTSTATUS WINAPI BCryptGenRandom(BCRYPT_ALG_HANDLE handle, UCHAR *buffer, ULONG count, ULONG flags)
|
||||
{
|
||||
const DWORD supported_flags = BCRYPT_USE_SYSTEM_PREFERRED_RNG;
|
||||
@@ -695,8 +698,8 @@ NTSTATUS WINAPI BCryptSetProperty( BCRYPT_HANDLE handle, const WCHAR *prop, UCHA
|
||||
@@ -696,8 +699,8 @@ NTSTATUS WINAPI BCryptSetProperty( BCRYPT_HANDLE handle, const WCHAR *prop, UCHA
|
||||
}
|
||||
case MAGIC_KEY:
|
||||
{
|
||||
@ -33,7 +33,7 @@ index 9b86812..a7e7afc 100644
|
||||
}
|
||||
default:
|
||||
WARN( "unknown magic %08x\n", object->magic );
|
||||
@@ -930,6 +933,31 @@ static NTSTATUS key_duplicate( struct key *key_orig, struct key *key_copy )
|
||||
@@ -931,6 +934,31 @@ static NTSTATUS key_duplicate( struct key *key_orig, struct key *key_copy )
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@ index 9b86812..a7e7afc 100644
|
||||
static gnutls_cipher_algorithm_t get_gnutls_cipher( const struct key *key )
|
||||
{
|
||||
switch (key->alg_id)
|
||||
@@ -1158,6 +1186,12 @@ static NTSTATUS key_duplicate( struct key *key_orig, struct key *key_copy )
|
||||
@@ -1159,6 +1187,12 @@ static NTSTATUS key_duplicate( struct key *key_orig, struct key *key_copy )
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c17ad9aa3225c31f132e1bf20da65ca36ae396e8 Mon Sep 17 00:00:00 2001
|
||||
From 47242ae4cb2f6bd7ffbf5eb9ae22a354916147c6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 15:01:19 +0100
|
||||
Subject: [PATCH] bcrypt: Add support for auth data in AES GCM mode.
|
||||
@ -8,10 +8,10 @@ Subject: [PATCH] bcrypt: Add support for auth data in AES GCM mode.
|
||||
1 file changed, 36 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index a7e7afc..0dc0645 100644
|
||||
index 2bb8f8f..117e351 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -50,7 +50,8 @@ static HINSTANCE instance;
|
||||
@@ -51,7 +51,8 @@ static HINSTANCE instance;
|
||||
WINE_DECLARE_DEBUG_CHANNEL(winediag);
|
||||
|
||||
/* Not present in gnutls version < 3.0 */
|
||||
@ -21,7 +21,7 @@ index a7e7afc..0dc0645 100644
|
||||
|
||||
static void *libgnutls_handle;
|
||||
#define MAKE_FUNCPTR(f) static typeof(f) * p##f
|
||||
@@ -71,7 +72,12 @@ MAKE_FUNCPTR(gnutls_perror);
|
||||
@@ -72,7 +73,12 @@ MAKE_FUNCPTR(gnutls_perror);
|
||||
#define GNUTLS_CIPHER_AES_256_GCM 94
|
||||
#endif
|
||||
|
||||
@ -35,7 +35,7 @@ index a7e7afc..0dc0645 100644
|
||||
{
|
||||
return GNUTLS_E_UNKNOWN_CIPHER_TYPE;
|
||||
}
|
||||
@@ -114,6 +120,11 @@ static BOOL gnutls_initialize(void)
|
||||
@@ -115,6 +121,11 @@ static BOOL gnutls_initialize(void)
|
||||
WARN("gnutls_cipher_tag not found\n");
|
||||
pgnutls_cipher_tag = compat_gnutls_cipher_tag;
|
||||
}
|
||||
@ -47,7 +47,7 @@ index a7e7afc..0dc0645 100644
|
||||
|
||||
if ((ret = pgnutls_global_init()) != GNUTLS_E_SUCCESS)
|
||||
{
|
||||
@@ -1008,6 +1019,19 @@ static NTSTATUS key_set_params( struct key *key, UCHAR *iv, ULONG iv_len )
|
||||
@@ -1009,6 +1020,19 @@ static NTSTATUS key_set_params( struct key *key, UCHAR *iv, ULONG iv_len )
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ index a7e7afc..0dc0645 100644
|
||||
static NTSTATUS key_encrypt( struct key *key, const UCHAR *input, ULONG input_len, UCHAR *output,
|
||||
ULONG output_len )
|
||||
{
|
||||
@@ -1198,6 +1222,12 @@ static NTSTATUS key_set_params( struct key *key, UCHAR *iv, ULONG iv_len )
|
||||
@@ -1199,6 +1223,12 @@ static NTSTATUS key_set_params( struct key *key, UCHAR *iv, ULONG iv_len )
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ index a7e7afc..0dc0645 100644
|
||||
static NTSTATUS key_encrypt( struct key *key, const UCHAR *input, ULONG input_len, UCHAR *output,
|
||||
ULONG output_len )
|
||||
{
|
||||
@@ -1323,6 +1353,8 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1324,6 +1354,8 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
if (!output) return STATUS_SUCCESS;
|
||||
if (output_len < *ret_len) return STATUS_BUFFER_TOO_SMALL;
|
||||
|
||||
@ -89,7 +89,7 @@ index a7e7afc..0dc0645 100644
|
||||
if ((status = key_encrypt( key, input, input_len, output, output_len )))
|
||||
return status;
|
||||
|
||||
@@ -1400,6 +1432,8 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1401,6 +1433,8 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
if (!output) return STATUS_SUCCESS;
|
||||
if (output_len < *ret_len) return STATUS_BUFFER_TOO_SMALL;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a03acf90d2f3803b3fb923d2ab337abfa9421a78 Mon Sep 17 00:00:00 2001
|
||||
From 04ad5960981996bdf3c9f14e40da3a9044e55b60 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 15:01:38 +0100
|
||||
Subject: [PATCH] bcrypt/tests: Add tests for auth data in AES GCM mode.
|
||||
|
@ -1,37 +1,38 @@
|
||||
From be6a7cd60499a83baff70922b253c477401b76b9 Mon Sep 17 00:00:00 2001
|
||||
From 02d978a02918d24f9b7dd502a560081a9ce1c980 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 16:20:57 +0100
|
||||
Subject: [PATCH] bcrypt: Avoid crash in tests when compiling without gnutls
|
||||
support.
|
||||
|
||||
---
|
||||
dlls/bcrypt/bcrypt_main.c | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
dlls/bcrypt/bcrypt_main.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index 0dc0645..036a92d 100644
|
||||
index 117e351..d17224c 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -1268,12 +1268,17 @@ NTSTATUS WINAPI BCryptGenerateSymmetricKey( BCRYPT_ALG_HANDLE algorithm, BCRYPT_
|
||||
@@ -1269,12 +1269,19 @@ NTSTATUS WINAPI BCryptGenerateSymmetricKey( BCRYPT_ALG_HANDLE algorithm, BCRYPT_
|
||||
if (!alg || alg->hdr.magic != MAGIC_ALG) return STATUS_INVALID_HANDLE;
|
||||
if (object) FIXME( "ignoring object buffer\n" );
|
||||
|
||||
- if (!(key = HeapAlloc( GetProcessHeap(), 0, sizeof(*key) ))) return STATUS_NO_MEMORY;
|
||||
+ if (!(key = HeapAlloc( GetProcessHeap(), 0, sizeof(*key) )))
|
||||
+
|
||||
if (!(key = heap_alloc( sizeof(*key) ))) return STATUS_NO_MEMORY;
|
||||
+ {
|
||||
+ *handle = NULL;
|
||||
+ return STATUS_NO_MEMORY;
|
||||
+ }
|
||||
+
|
||||
key->hdr.magic = MAGIC_KEY;
|
||||
|
||||
if ((status = key_init( key, alg, secret, secret_len )))
|
||||
{
|
||||
HeapFree( GetProcessHeap(), 0, key );
|
||||
heap_free( key );
|
||||
+ *handle = NULL;
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -1293,11 +1298,15 @@ NTSTATUS WINAPI BCryptDuplicateKey( BCRYPT_KEY_HANDLE handle, BCRYPT_KEY_HANDLE
|
||||
@@ -1294,11 +1301,15 @@ NTSTATUS WINAPI BCryptDuplicateKey( BCRYPT_KEY_HANDLE handle, BCRYPT_KEY_HANDLE
|
||||
if (!key_orig || key_orig->hdr.magic != MAGIC_KEY) return STATUS_INVALID_HANDLE;
|
||||
if (!handle_copy) return STATUS_INVALID_PARAMETER;
|
||||
if (!(key_copy = HeapAlloc( GetProcessHeap(), 0, sizeof(*key_copy) )))
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5c5e35a8418c64ee5b79ffc96b81d66e0b12c743 Mon Sep 17 00:00:00 2001
|
||||
From f7a292fc7e53b5d2300b68e2e3234fad3eb80c57 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 5 Mar 2017 23:18:03 +0100
|
||||
Subject: [PATCH] bcrypt: Implement support for ECB chain mode.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] bcrypt: Implement support for ECB chain mode.
|
||||
2 files changed, 244 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
|
||||
index 036a92d..a471d51 100644
|
||||
index d17224c..420f668 100644
|
||||
--- a/dlls/bcrypt/bcrypt_main.c
|
||||
+++ b/dlls/bcrypt/bcrypt_main.c
|
||||
@@ -224,6 +224,7 @@ enum alg_id
|
||||
@@ -225,6 +225,7 @@ enum alg_id
|
||||
|
||||
enum mode_id
|
||||
{
|
||||
@ -20,7 +20,7 @@ index 036a92d..a471d51 100644
|
||||
MODE_ID_CBC,
|
||||
MODE_ID_GCM
|
||||
};
|
||||
@@ -576,8 +577,9 @@ static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop
|
||||
@@ -577,8 +578,9 @@ static NTSTATUS get_alg_property( const struct algorithm *alg, const WCHAR *prop
|
||||
const WCHAR *mode;
|
||||
switch (alg->mode)
|
||||
{
|
||||
@ -31,7 +31,7 @@ index 036a92d..a471d51 100644
|
||||
default: return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@@ -630,7 +632,12 @@ static NTSTATUS set_alg_property( struct algorithm *alg, const WCHAR *prop, UCHA
|
||||
@@ -631,7 +633,12 @@ static NTSTATUS set_alg_property( struct algorithm *alg, const WCHAR *prop, UCHA
|
||||
case ALG_ID_AES:
|
||||
if (!strcmpW( prop, BCRYPT_CHAINING_MODE ))
|
||||
{
|
||||
@ -45,7 +45,7 @@ index 036a92d..a471d51 100644
|
||||
{
|
||||
alg->mode = MODE_ID_CBC;
|
||||
return STATUS_SUCCESS;
|
||||
@@ -948,7 +955,12 @@ static NTSTATUS set_key_property( struct key *key, const WCHAR *prop, UCHAR *val
|
||||
@@ -949,7 +956,12 @@ static NTSTATUS set_key_property( struct key *key, const WCHAR *prop, UCHAR *val
|
||||
{
|
||||
if (!strcmpW( prop, BCRYPT_CHAINING_MODE ))
|
||||
{
|
||||
@ -59,7 +59,7 @@ index 036a92d..a471d51 100644
|
||||
{
|
||||
key->mode = MODE_ID_CBC;
|
||||
return STATUS_SUCCESS;
|
||||
@@ -978,6 +990,7 @@ static gnutls_cipher_algorithm_t get_gnutls_cipher( const struct key *key )
|
||||
@@ -979,6 +991,7 @@ static gnutls_cipher_algorithm_t get_gnutls_cipher( const struct key *key )
|
||||
switch (key->mode)
|
||||
{
|
||||
case MODE_ID_GCM: return GNUTLS_CIPHER_AES_128_GCM;
|
||||
@ -67,7 +67,7 @@ index 036a92d..a471d51 100644
|
||||
case MODE_ID_CBC:
|
||||
default: return GNUTLS_CIPHER_AES_128_CBC;
|
||||
}
|
||||
@@ -989,6 +1002,7 @@ static gnutls_cipher_algorithm_t get_gnutls_cipher( const struct key *key )
|
||||
@@ -990,6 +1003,7 @@ static gnutls_cipher_algorithm_t get_gnutls_cipher( const struct key *key )
|
||||
|
||||
static NTSTATUS key_set_params( struct key *key, UCHAR *iv, ULONG iv_len )
|
||||
{
|
||||
@ -75,7 +75,7 @@ index 036a92d..a471d51 100644
|
||||
gnutls_cipher_algorithm_t cipher;
|
||||
gnutls_datum_t secret, vector;
|
||||
int ret;
|
||||
@@ -1002,15 +1016,18 @@ static NTSTATUS key_set_params( struct key *key, UCHAR *iv, ULONG iv_len )
|
||||
@@ -1003,15 +1017,18 @@ static NTSTATUS key_set_params( struct key *key, UCHAR *iv, ULONG iv_len )
|
||||
if ((cipher = get_gnutls_cipher( key )) == GNUTLS_CIPHER_UNKNOWN)
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
|
||||
@ -100,7 +100,7 @@ index 036a92d..a471d51 100644
|
||||
{
|
||||
pgnutls_perror( ret );
|
||||
return STATUS_INTERNAL_ERROR;
|
||||
@@ -1382,11 +1399,15 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1385,11 +1402,15 @@ NTSTATUS WINAPI BCryptEncrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
if (!output) return STATUS_SUCCESS;
|
||||
if (output_len < *ret_len) return STATUS_BUFFER_TOO_SMALL;
|
||||
|
||||
@ -116,7 +116,7 @@ index 036a92d..a471d51 100644
|
||||
bytes_left -= key->block_size;
|
||||
src += key->block_size;
|
||||
dst += key->block_size;
|
||||
@@ -1469,11 +1490,15 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
@@ -1472,11 +1493,15 @@ NTSTATUS WINAPI BCryptDecrypt( BCRYPT_KEY_HANDLE handle, UCHAR *input, ULONG inp
|
||||
else if (output_len < *ret_len)
|
||||
return STATUS_BUFFER_TOO_SMALL;
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user