Author: akhaldi
Date: Sat Apr 25 10:51:57 2015
New Revision: 67393
URL: http://svn.reactos.org/svn/reactos?rev=67393&view=rev
Log:
[RSAENH_WINETEST] Sync with Wine Staging 1.7.37. CORE-9246
Modified:
trunk/rostests/winetests/rsaenh/rsaenh.c
Modified: trunk/rostests/winetests/rsaenh/rsaenh.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/rsaenh/rsaenh.c…
==============================================================================
--- trunk/rostests/winetests/rsaenh/rsaenh.c [iso-8859-1] (original)
+++ trunk/rostests/winetests/rsaenh/rsaenh.c [iso-8859-1] Sat Apr 25 10:51:57 2015
@@ -62,7 +62,7 @@
12,12,16}
};
-static int win2k;
+static int win2k, nt4;
/*
* 1. Take the MD5 Hash of the container name (with an extra null byte)
@@ -200,7 +200,7 @@
hProv = (HCRYPTPROV)INVALID_HANDLE_VALUE;
/* we are using NULL as provider name for RSA_AES provider as the provider
- * names are different in Windows XP and Vista. It's different to what
+ * names are different in Windows XP and Vista. This differs from what
* is defined in the SDK on Windows XP.
* This provider is available on Windows XP, Windows 2003 and Vista. */
@@ -249,7 +249,10 @@
SetLastError(0xdeadbeef);
result = CryptGetProvParam(hProv, PP_SIG_KEYSIZE_INC, (BYTE*)&dwInc, &dwLen, 0);
if (!result && GetLastError() == NTE_BAD_TYPE)
+ {
skip("PP_SIG_KEYSIZE_INC is not supported (win9x or NT)\n");
+ nt4++;
+ }
else
ok(result && dwInc==8, "%08x, %d\n", GetLastError(), dwInc);
@@ -1472,16 +1475,16 @@
result = CryptDecrypt(hKey, 0, TRUE, 0, pbData, &dwDataLen);
ok(result, "%08x\n", GetLastError());
- /* Setting the salt also succeeds... */
+ /* Setting the salt value will not reset the salt length in base or strong providers */
result = CryptSetKeyParam(hKey, KP_SALT, pbData, 0);
ok(result, "setting salt failed: %08x\n", GetLastError());
- /* but the resulting salt length is now zero? */
dwLen = 0;
result = CryptGetKeyParam(hKey, KP_SALT, NULL, &dwLen, 0);
ok(result, "%08x\n", GetLastError());
- ok(dwLen == 0 ||
- broken(dwLen == 11), /* Win9x/WinMe/NT4 */
- "unexpected salt length %d\n", dwLen);
+ if (BASE_PROV || STRONG_PROV)
+ ok(dwLen == 11, "expected salt length 11, got %d\n", dwLen);
+ else
+ ok(dwLen == 0 || broken(nt4 && dwLen == 11), "expected salt length 0, got %d\n", dwLen);
/* What sizes salt can I set? */
salt.pbData = pbData;
for (i=0; i<24; i++)
@@ -1719,16 +1722,16 @@
result = CryptDecrypt(hKey, 0, TRUE, 0, pbData, &dwDataLen);
ok(result, "%08x\n", GetLastError());
- /* Setting the salt also succeeds... */
+ /* Setting the salt value will not reset the salt length in base or strong providers */
result = CryptSetKeyParam(hKey, KP_SALT, pbData, 0);
ok(result, "setting salt failed: %08x\n", GetLastError());
- /* but the resulting salt length is now zero? */
dwLen = 0;
result = CryptGetKeyParam(hKey, KP_SALT, NULL, &dwLen, 0);
ok(result, "%08x\n", GetLastError());
- ok(dwLen == 0 ||
- broken(dwLen == 11), /* Win9x/WinMe/NT4 */
- "unexpected salt length %d\n", dwLen);
+ if (BASE_PROV || STRONG_PROV)
+ ok(dwLen == 11, "expected salt length 11, got %d\n", dwLen);
+ else
+ ok(dwLen == 0 || broken(nt4 && dwLen == 11), "expected salt length 0, got %d\n", dwLen);
/* What sizes salt can I set? */
salt.pbData = pbData;
for (i=0; i<24; i++)
Author: aandrejevic
Date: Fri Apr 24 23:47:54 2015
New Revision: 67387
URL: http://svn.reactos.org/svn/reactos?rev=67387&view=rev
Log:
[NTVDM]
Fix INT 21h, AH = 29h: stop at the first non-printable character, make
all the characters uppercase in the FCB.
Modified:
trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dos32krnl/dos.c [iso-8859-1] Fri Apr 24 23:47:54 2015
@@ -1794,7 +1794,7 @@
/* Parse the file name */
i = 0;
- while (*FileName && (i < 8))
+ while ((*FileName >= 0x20) && (i < 8))
{
if (*FileName == '.') break;
else if (*FileName == '*')
@@ -1803,7 +1803,7 @@
break;
}
- Fcb->FileName[i++] = *FileName++;
+ Fcb->FileName[i++] = RtlUpperChar(*FileName++);
}
/* Fill the whole field with blanks only if bit 2 is not set */
@@ -1813,14 +1813,14 @@
}
/* Skip to the extension part */
- while (*FileName && *FileName != '.') FileName++;
+ while (*FileName >= 0x20 && *FileName != '.') FileName++;
if (*FileName == '.') FileName++;
/* Now parse the extension */
i = 0;
FillChar = ' ';
- while (*FileName && (i < 3))
+ while ((*FileName >= 0x20) && (i < 3))
{
if (*FileName == '*')
{
@@ -1828,7 +1828,7 @@
break;
}
- Fcb->FileExt[i++] = *FileName++;
+ Fcb->FileExt[i++] = RtlUpperChar(*FileName++);
}
/* Fill the whole field with blanks only if bit 3 is not set */