ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
January 2021
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
15 participants
146 discussions
Start a n
N
ew thread
[reactos] 30/39: [WINESYNC] wininet: Correctly return error status from InternetSetFilePointer() stub.
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=23e96deb0b19c1867f0fa…
commit 23e96deb0b19c1867f0fa25d9747457eee299aa9 Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:17:50 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] wininet: Correctly return error status from InternetSetFilePointer() stub. Fixes Freestyle 2: Street Basketball update check failure. Signed-off-by: Paul Gofman <pgofman(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id 67295a7844b94ccbfce85dbee22a76f12c9f5b36 by Paul Gofman <pgofman(a)codeweavers.com> --- dll/win32/wininet/internet.c | 4 +++- modules/rostests/winetests/wininet/http.c | 35 +++++++++++++++++++++++++++++++ sdk/tools/winesync/wininet.cfg | 2 +- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/dll/win32/wininet/internet.c b/dll/win32/wininet/internet.c index eda3bc7da42..e70278ba045 100644 --- a/dll/win32/wininet/internet.c +++ b/dll/win32/wininet/internet.c @@ -2103,7 +2103,9 @@ DWORD WINAPI InternetSetFilePointer(HINTERNET hFile, LONG lDistanceToMove, PVOID pReserved, DWORD dwMoveContext, DWORD_PTR dwContext) { FIXME("(%p %d %p %d %lx): stub\n", hFile, lDistanceToMove, pReserved, dwMoveContext, dwContext); - return FALSE; + + SetLastError(ERROR_INTERNET_INVALID_OPERATION); + return INVALID_SET_FILE_POINTER; } /*********************************************************************** diff --git a/modules/rostests/winetests/wininet/http.c b/modules/rostests/winetests/wininet/http.c index 725a1882d24..882f293b856 100644 --- a/modules/rostests/winetests/wininet/http.c +++ b/modules/rostests/winetests/wininet/http.c @@ -591,6 +591,8 @@ static void InternetReadFile_test(int flags, const test_data_t *test) DWORD length, length2, index, exlen = 0, post_len = 0; const char *types[2] = { "*", NULL }; HINTERNET hi, hic = 0, hor = 0; + DWORD contents_length, accepts_ranges; + BOOL not_supported; trace("Starting InternetReadFile test with flags 0x%x on url %s\n",flags,test->url); reset_events(); @@ -817,10 +819,23 @@ static void InternetReadFile_test(int flags, const test_data_t *test) res = HttpQueryInfoA(hor,HTTP_QUERY_CONTENT_LENGTH,&buffer,&length,&index); trace("Option HTTP_QUERY_CONTENT_LENGTH -> %i %s (%u)\n",res,buffer,GetLastError()); if(test->flags & TESTF_COMPRESSED) + { ok(!res && GetLastError() == ERROR_HTTP_HEADER_NOT_FOUND, "expected ERROR_HTTP_HEADER_NOT_FOUND, got %x (%u)\n", res, GetLastError()); + contents_length = 0; + } + else + { + contents_length = atoi(buffer); + } ok(!res || index == 1, "Index was not incremented although result is %x (index = %u)\n", res, index); + length = 64; + *buffer = 0; + res = HttpQueryInfoA(hor,HTTP_QUERY_ACCEPT_RANGES,&buffer,&length,0x0); + trace("Option HTTP_QUERY_ACCEPT_RANGES -> %i %s (%u)\n",res,buffer,GetLastError()); + accepts_ranges = res && !strcmp(buffer, "bytes"); + length = 100; res = HttpQueryInfoA(hor,HTTP_QUERY_CONTENT_TYPE,buffer,&length,0x0); buffer[length]=0; @@ -831,6 +846,26 @@ static void InternetReadFile_test(int flags, const test_data_t *test) buffer[length]=0; trace("Option HTTP_QUERY_CONTENT_ENCODING -> %i %s\n",res,buffer); + SetLastError(0xdeadbeef); + length = InternetSetFilePointer(hor, 0, NULL, FILE_END, 0); + not_supported = length == INVALID_SET_FILE_POINTER + && GetLastError() == ERROR_INTERNET_INVALID_OPERATION; + if (accepts_ranges) + todo_wine ok((length == contents_length && (GetLastError() == ERROR_SUCCESS + || broken(GetLastError() == 0xdeadbeef))) || broken(not_supported), + "Got unexpected length %#x, GetLastError() %u, contents_length %u, accepts_ranges %#x.\n", + length, GetLastError(), contents_length, accepts_ranges); + else + ok(not_supported, "Got unexpected length %#x, GetLastError() %u.\n", length, GetLastError()); + + if (length != INVALID_SET_FILE_POINTER) + { + SetLastError(0xdeadbeef); + length = InternetSetFilePointer(hor, 0, NULL, FILE_BEGIN, 0); + ok(!length && (GetLastError() == ERROR_SUCCESS || broken(GetLastError() == 0xdeadbeef)), + "Got unexpected length %#x, GetLastError() %u.\n", length, GetLastError()); + } + SetLastError(0xdeadbeef); res = InternetReadFile(NULL, buffer, 100, &length); ok(!res, "InternetReadFile should have failed\n"); diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index 6757964181c..70eed2c360e 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: bcdb58cc7959afd5fa35ab039e6564934888b4c0 + wine: 67295a7844b94ccbfce85dbee22a76f12c9f5b36
3 years, 11 months
1
0
0
0
[reactos] 29/39: [WINESYNC] wininet: Prevent use after free in logging.
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ef9a828ef8543299d983e…
commit ef9a828ef8543299d983e785a7eb14ffe7600624 Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:17:50 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] wininet: Prevent use after free in logging. Make logs which show values that are unmapped by cache_container_unlock_index() go before it's called. Signed-off-by: Jan Sikorski <jsikorski(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id bcdb58cc7959afd5fa35ab039e6564934888b4c0 by Jan Sikorski <jsikorski(a)codeweavers.com> --- dll/win32/wininet/urlcache.c | 8 ++++---- sdk/tools/winesync/wininet.cfg | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dll/win32/wininet/urlcache.c b/dll/win32/wininet/urlcache.c index 9e3659000f9..de0d21af24e 100644 --- a/dll/win32/wininet/urlcache.c +++ b/dll/win32/wininet/urlcache.c @@ -1841,9 +1841,9 @@ static BOOL urlcache_get_entry_info(const char *url, void *entry_info, url_entry = (const entry_url*)((LPBYTE)header + hash_entry->offset); if(url_entry->header.signature != URL_SIGNATURE) { - cache_container_unlock_index(container, header); FIXME("Trying to retrieve entry of unknown format %s\n", debugstr_an((LPCSTR)&url_entry->header.signature, sizeof(DWORD))); + cache_container_unlock_index(container, header); SetLastError(ERROR_FILE_NOT_FOUND); return FALSE; } @@ -2074,8 +2074,8 @@ BOOL WINAPI SetUrlCacheEntryInfoA(LPCSTR lpszUrlName, pEntry = (entry_header*)((LPBYTE)pHeader + pHashEntry->offset); if (pEntry->signature != URL_SIGNATURE) { - cache_container_unlock_index(pContainer, pHeader); FIXME("Trying to retrieve entry of unknown format %s\n", debugstr_an((LPSTR)&pEntry->signature, sizeof(DWORD))); + cache_container_unlock_index(pContainer, pHeader); SetLastError(ERROR_FILE_NOT_FOUND); return FALSE; } @@ -2144,9 +2144,9 @@ static BOOL urlcache_entry_get_file(const char *url, void *entry_info, DWORD *si url_entry = (entry_url*)((LPBYTE)header + hash_entry->offset); if(url_entry->header.signature != URL_SIGNATURE) { - cache_container_unlock_index(container, header); FIXME("Trying to retrieve entry of unknown format %s\n", debugstr_an((LPSTR)&url_entry->header.signature, sizeof(DWORD))); + cache_container_unlock_index(container, header); SetLastError(ERROR_FILE_NOT_FOUND); return FALSE; } @@ -4037,9 +4037,9 @@ BOOL WINAPI IsUrlCacheEntryExpiredA(LPCSTR url, DWORD dwFlags, FILETIME* pftLast pEntry = (const entry_header*)((LPBYTE)pHeader + pHashEntry->offset); if (pEntry->signature != URL_SIGNATURE) { + FIXME("Trying to retrieve entry of unknown format %s\n", debugstr_an((LPCSTR)&pEntry->signature, sizeof(DWORD))); cache_container_unlock_index(pContainer, pHeader); memset(pftLastModified, 0, sizeof(*pftLastModified)); - FIXME("Trying to retrieve entry of unknown format %s\n", debugstr_an((LPCSTR)&pEntry->signature, sizeof(DWORD))); return TRUE; } diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index 5e68252160e..6757964181c 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: ef88a70fa775f3e7a26d8f1618f32ee94bb9ea05 + wine: bcdb58cc7959afd5fa35ab039e6564934888b4c0
3 years, 11 months
1
0
0
0
[reactos] 28/39: [WINESYNC] wininet: Implement INTERNET_OPTION_SECURITY_CERTIFICATE flag for InternetQueryOption.
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8bf2b3cf2cc63f6424ba1…
commit 8bf2b3cf2cc63f6424ba121b56b6843cba35e1f3 Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:11:23 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] wininet: Implement INTERNET_OPTION_SECURITY_CERTIFICATE flag for InternetQueryOption. Signed-off-by: Daniel Lehman <dlehman25(a)gmail.com> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id ef88a70fa775f3e7a26d8f1618f32ee94bb9ea05 by Daniel Lehman <dlehman25(a)gmail.com> --- dll/win32/wininet/http.c | 100 ++++++++++++++++++++ dll/win32/wininet/lang/wininet_Bg.rc | 11 +++ dll/win32/wininet/lang/wininet_Cs.rc | 11 +++ dll/win32/wininet/lang/wininet_Da.rc | 11 +++ dll/win32/wininet/lang/wininet_De.rc | 11 +++ dll/win32/wininet/lang/wininet_En.rc | 11 +++ dll/win32/wininet/lang/wininet_Eo.rc | 11 +++ dll/win32/wininet/lang/wininet_Es.rc | 11 +++ dll/win32/wininet/lang/wininet_Fi.rc | 11 +++ dll/win32/wininet/lang/wininet_Fr.rc | 11 +++ dll/win32/wininet/lang/wininet_He.rc | 11 +++ dll/win32/wininet/lang/wininet_Hu.rc | 11 +++ dll/win32/wininet/lang/wininet_It.rc | 11 +++ dll/win32/wininet/lang/wininet_Ja.rc | 11 +++ dll/win32/wininet/lang/wininet_Ko.rc | 11 +++ dll/win32/wininet/lang/wininet_Lt.rc | 11 +++ dll/win32/wininet/lang/wininet_Nl.rc | 11 +++ dll/win32/wininet/lang/wininet_No.rc | 11 +++ dll/win32/wininet/lang/wininet_Pl.rc | 11 +++ dll/win32/wininet/lang/wininet_Pt.rc | 11 +++ dll/win32/wininet/lang/wininet_Ro.rc | 11 +++ dll/win32/wininet/lang/wininet_Ru.rc | 11 +++ dll/win32/wininet/lang/wininet_Si.rc | 11 +++ dll/win32/wininet/lang/wininet_Sq.rc | 11 +++ dll/win32/wininet/lang/wininet_Sr.rc | 11 +++ dll/win32/wininet/lang/wininet_Sv.rc | 11 +++ dll/win32/wininet/lang/wininet_Tr.rc | 11 +++ dll/win32/wininet/lang/wininet_Uk.rc | 11 +++ dll/win32/wininet/lang/wininet_Zh.rc | 11 +++ dll/win32/wininet/resource.h | 11 +++ modules/rostests/winetests/wininet/http.c | 150 +++++++++++++++++++++++++++++- sdk/tools/winesync/wininet.cfg | 2 +- 32 files changed, 568 insertions(+), 3 deletions(-) diff --git a/dll/win32/wininet/http.c b/dll/win32/wininet/http.c index 58e91bc1a13..52ed7cc730a 100644 --- a/dll/win32/wininet/http.c +++ b/dll/win32/wininet/http.c @@ -57,6 +57,7 @@ #include "internet.h" #include "zlib.h" +#include "resource.h" #include "wine/debug.h" #include "wine/exception.h" #endif /* defined(__REACTOS__) */ @@ -2296,6 +2297,105 @@ static DWORD HTTPREQ_QueryOption(object_header_t *hdr, DWORD option, void *buffe return get_security_cert_struct(req, (INTERNET_CERTIFICATE_INFOA*)buffer); } + case INTERNET_OPTION_SECURITY_CERTIFICATE: { + DWORD err; + int needed; + char subject[64]; + char issuer[64]; + char effective[64]; + char expiration[64]; + char protocol[64]; + char signature[64]; + char encryption[64]; + char privacy[64]; + char bits[16]; + char strength[16]; + char start_date[32]; + char start_time[32]; + char expiry_date[32]; + char expiry_time[32]; + SYSTEMTIME start, expiry; + INTERNET_CERTIFICATE_INFOA info; + + if(!size) + return ERROR_INVALID_PARAMETER; + + if(!req->netconn) { + *size = 0; + return ERROR_INTERNET_INVALID_OPERATION; + } + + if(!buffer) { + *size = 1; + return ERROR_INSUFFICIENT_BUFFER; + } + + if((err = get_security_cert_struct(req, &info))) + return err; + + LoadStringA(WININET_hModule, IDS_CERT_SUBJECT, subject, sizeof(subject)); + LoadStringA(WININET_hModule, IDS_CERT_ISSUER, issuer, sizeof(issuer)); + LoadStringA(WININET_hModule, IDS_CERT_EFFECTIVE, effective, sizeof(effective)); + LoadStringA(WININET_hModule, IDS_CERT_EXPIRATION, expiration, sizeof(expiration)); + LoadStringA(WININET_hModule, IDS_CERT_PROTOCOL, protocol, sizeof(protocol)); + LoadStringA(WININET_hModule, IDS_CERT_SIGNATURE, signature, sizeof(signature)); + LoadStringA(WININET_hModule, IDS_CERT_ENCRYPTION, encryption, sizeof(encryption)); + LoadStringA(WININET_hModule, IDS_CERT_PRIVACY, privacy, sizeof(privacy)); + LoadStringA(WININET_hModule, info.dwKeySize >= 128 ? IDS_CERT_HIGH : IDS_CERT_LOW, + strength, sizeof(strength)); + LoadStringA(WININET_hModule, IDS_CERT_BITS, bits, sizeof(bits)); + + FileTimeToSystemTime(&info.ftStart, &start); + FileTimeToSystemTime(&info.ftExpiry, &expiry); + GetDateFormatA(LOCALE_USER_DEFAULT, 0, &start, NULL, start_date, sizeof(start_date)); + GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &start, NULL, start_time, sizeof(start_time)); + GetDateFormatA(LOCALE_USER_DEFAULT, 0, &expiry, NULL, expiry_date, sizeof(expiry_date)); + GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &expiry, NULL, expiry_time, sizeof(expiry_time)); + + needed = _scprintf("%s:\r\n%s\r\n" + "%s:\r\n%s\r\n" + "%s:\t%s %s\r\n" + "%s:\t%s %s\r\n" + "%s:\t(null)\r\n" + "%s:\t(null)\r\n" + "%s:\t(null)\r\n" + "%s:\t%s (%u %s)", + subject, info.lpszSubjectInfo, + issuer, info.lpszIssuerInfo, + effective, start_date, start_time, + expiration, expiry_date, expiry_time, + protocol, signature, encryption, + privacy, strength, info.dwKeySize, bits); + + if(needed < *size) { + err = ERROR_SUCCESS; + *size = snprintf(buffer, *size, + "%s:\r\n%s\r\n" + "%s:\r\n%s\r\n" + "%s:\t%s %s\r\n" + "%s:\t%s %s\r\n" + "%s:\t(null)\r\n" + "%s:\t(null)\r\n" + "%s:\t(null)\r\n" + "%s:\t%s (%u %s)", + subject, info.lpszSubjectInfo, + issuer, info.lpszIssuerInfo, + effective, start_date, start_time, + expiration, expiry_date, expiry_time, + protocol, signature, encryption, + privacy, strength, info.dwKeySize, bits); + }else { + err = ERROR_INSUFFICIENT_BUFFER; + *size = 1; + } + + LocalFree(info.lpszSubjectInfo); + LocalFree(info.lpszIssuerInfo); + LocalFree(info.lpszProtocolName); + LocalFree(info.lpszSignatureAlgName); + LocalFree(info.lpszEncryptionAlgName); + return err; + } case INTERNET_OPTION_CONNECT_TIMEOUT: if (*size < sizeof(DWORD)) return ERROR_INSUFFICIENT_BUFFER; diff --git a/dll/win32/wininet/lang/wininet_Bg.rc b/dll/win32/wininet/lang/wininet_Bg.rc index e6876ae9e79..e649b5a73cd 100644 --- a/dll/win32/wininet/lang/wininet_Bg.rc +++ b/dll/win32/wininet/lang/wininet_Bg.rc @@ -25,6 +25,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Cs.rc b/dll/win32/wininet/lang/wininet_Cs.rc index 541fdb69636..664fe1372b3 100644 --- a/dll/win32/wininet/lang/wininet_Cs.rc +++ b/dll/win32/wininet/lang/wininet_Cs.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Da.rc b/dll/win32/wininet/lang/wininet_Da.rc index 90b92a835ca..1411bfd1fcf 100644 --- a/dll/win32/wininet/lang/wininet_Da.rc +++ b/dll/win32/wininet/lang/wininet_Da.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_De.rc b/dll/win32/wininet/lang/wininet_De.rc index d0cc74bf4e7..eae9240f2c8 100644 --- a/dll/win32/wininet/lang/wininet_De.rc +++ b/dll/win32/wininet/lang/wininet_De.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_En.rc b/dll/win32/wininet/lang/wininet_En.rc index feea5cc6a18..98633dda562 100644 --- a/dll/win32/wininet/lang/wininet_En.rc +++ b/dll/win32/wininet/lang/wininet_En.rc @@ -25,6 +25,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Eo.rc b/dll/win32/wininet/lang/wininet_Eo.rc index ce5ed51768d..32d9b43254e 100644 --- a/dll/win32/wininet/lang/wininet_Eo.rc +++ b/dll/win32/wininet/lang/wininet_Eo.rc @@ -27,6 +27,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Es.rc b/dll/win32/wininet/lang/wininet_Es.rc index b1e960e7f81..1ec207fefde 100644 --- a/dll/win32/wininet/lang/wininet_Es.rc +++ b/dll/win32/wininet/lang/wininet_Es.rc @@ -25,6 +25,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "La fecha del certificado no es válida." IDS_CERT_CN_INVALID "El nombre que hay en el certificado no encaja con el del sitio." IDS_CERT_ERRORS "Hay por lo menos un problema de seguridad sin especificar con este certificado." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Fi.rc b/dll/win32/wininet/lang/wininet_Fi.rc index 0f6eb3aa389..c0dd5e56fab 100644 --- a/dll/win32/wininet/lang/wininet_Fi.rc +++ b/dll/win32/wininet/lang/wininet_Fi.rc @@ -25,6 +25,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Fr.rc b/dll/win32/wininet/lang/wininet_Fr.rc index 85b8505e424..5e6adfd01a5 100644 --- a/dll/win32/wininet/lang/wininet_Fr.rc +++ b/dll/win32/wininet/lang/wininet_Fr.rc @@ -34,6 +34,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_He.rc b/dll/win32/wininet/lang/wininet_He.rc index 42f88c2ed46..a663f624fbb 100644 --- a/dll/win32/wininet/lang/wininet_He.rc +++ b/dll/win32/wininet/lang/wininet_He.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Hu.rc b/dll/win32/wininet/lang/wininet_Hu.rc index 9ec0ae67d3f..0f7becb9ffc 100644 --- a/dll/win32/wininet/lang/wininet_Hu.rc +++ b/dll/win32/wininet/lang/wininet_Hu.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_It.rc b/dll/win32/wininet/lang/wininet_It.rc index 773cbee8879..859c1eb0842 100644 --- a/dll/win32/wininet/lang/wininet_It.rc +++ b/dll/win32/wininet/lang/wininet_It.rc @@ -31,6 +31,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Ja.rc b/dll/win32/wininet/lang/wininet_Ja.rc index 3765d0746dd..a00db74a3a2 100644 --- a/dll/win32/wininet/lang/wininet_Ja.rc +++ b/dll/win32/wininet/lang/wininet_Ja.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Ko.rc b/dll/win32/wininet/lang/wininet_Ko.rc index cbf2432447f..266143045a0 100644 --- a/dll/win32/wininet/lang/wininet_Ko.rc +++ b/dll/win32/wininet/lang/wininet_Ko.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Lt.rc b/dll/win32/wininet/lang/wininet_Lt.rc index d0e733b5fe7..1b7e8427970 100644 --- a/dll/win32/wininet/lang/wininet_Lt.rc +++ b/dll/win32/wininet/lang/wininet_Lt.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Nl.rc b/dll/win32/wininet/lang/wininet_Nl.rc index 2a43f54d2b1..5f8c432495c 100644 --- a/dll/win32/wininet/lang/wininet_Nl.rc +++ b/dll/win32/wininet/lang/wininet_Nl.rc @@ -29,6 +29,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_No.rc b/dll/win32/wininet/lang/wininet_No.rc index 167ad99dc29..b0c3e2fc9e8 100644 --- a/dll/win32/wininet/lang/wininet_No.rc +++ b/dll/win32/wininet/lang/wininet_No.rc @@ -27,6 +27,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Pl.rc b/dll/win32/wininet/lang/wininet_Pl.rc index e637f158299..c05c71a7d0f 100644 --- a/dll/win32/wininet/lang/wininet_Pl.rc +++ b/dll/win32/wininet/lang/wininet_Pl.rc @@ -27,6 +27,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "Data certyfikatu jest nieprawidłowa." IDS_CERT_CN_INVALID "Nazwa na certyfikacie nie pasuje do witryny." IDS_CERT_ERRORS "Istnieje co najmniej jeden nieokreślony problem bezpieczeństwa z tym certyfikatem." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Pt.rc b/dll/win32/wininet/lang/wininet_Pt.rc index cc52c78119c..83f2878151d 100644 --- a/dll/win32/wininet/lang/wininet_Pt.rc +++ b/dll/win32/wininet/lang/wininet_Pt.rc @@ -30,6 +30,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "A data no certificado é inválida." IDS_CERT_CN_INVALID "O nome no certificado não corresponde ao site." IDS_CERT_ERRORS "Há pelo menos um problema de segurança não especificado com este certificado." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Ro.rc b/dll/win32/wininet/lang/wininet_Ro.rc index 957481ad568..aa7973d8690 100644 --- a/dll/win32/wininet/lang/wininet_Ro.rc +++ b/dll/win32/wininet/lang/wininet_Ro.rc @@ -29,6 +29,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "Data din certificat nu este validă." IDS_CERT_CN_INVALID "Numele din certificat nu corespunde cu cel al sitului." IDS_CERT_ERRORS "Există cel puțin o problemă nespecificată de securitate cu acest certificat." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Ru.rc b/dll/win32/wininet/lang/wininet_Ru.rc index 04b85e7eec2..14b5363db93 100644 --- a/dll/win32/wininet/lang/wininet_Ru.rc +++ b/dll/win32/wininet/lang/wininet_Ru.rc @@ -30,6 +30,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "Данный сертификат недействителен. Проверьте правильность установленного на компьютере времени." IDS_CERT_CN_INVALID "Просматриваемый сертификат не соответствует названию сайта." IDS_CERT_ERRORS "Данный сертификат поврежден, и проверить его подлинность невозможно." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Si.rc b/dll/win32/wininet/lang/wininet_Si.rc index 453a509d132..b70d7adbf1b 100644 --- a/dll/win32/wininet/lang/wininet_Si.rc +++ b/dll/win32/wininet/lang/wininet_Si.rc @@ -27,6 +27,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Sq.rc b/dll/win32/wininet/lang/wininet_Sq.rc index 4aafff7fb92..035856c07ae 100644 --- a/dll/win32/wininet/lang/wininet_Sq.rc +++ b/dll/win32/wininet/lang/wininet_Sq.rc @@ -25,6 +25,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Sr.rc b/dll/win32/wininet/lang/wininet_Sr.rc index 797c8aacee2..19ee56ac774 100644 --- a/dll/win32/wininet/lang/wininet_Sr.rc +++ b/dll/win32/wininet/lang/wininet_Sr.rc @@ -28,6 +28,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Sv.rc b/dll/win32/wininet/lang/wininet_Sv.rc index dea50e57c4e..b25d3b668f9 100644 --- a/dll/win32/wininet/lang/wininet_Sv.rc +++ b/dll/win32/wininet/lang/wininet_Sv.rc @@ -25,6 +25,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Tr.rc b/dll/win32/wininet/lang/wininet_Tr.rc index aaefaf8a28b..9249bf9ee5c 100644 --- a/dll/win32/wininet/lang/wininet_Tr.rc +++ b/dll/win32/wininet/lang/wininet_Tr.rc @@ -27,6 +27,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "Onay belgesindeki zaman geçersiz." IDS_CERT_CN_INVALID "Onay belgesindeki ad siteyle uyuşmuyor." IDS_CERT_ERRORS "Bu onay belgesiyle en az bir belirtilmemiş güvenlik sorunu var." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Uk.rc b/dll/win32/wininet/lang/wininet_Uk.rc index 0691ad719bb..7aab43df6e6 100644 --- a/dll/win32/wininet/lang/wininet_Uk.rc +++ b/dll/win32/wininet/lang/wininet_Uk.rc @@ -31,6 +31,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "The date on the certificate is invalid." IDS_CERT_CN_INVALID "The name on the certificate does not match the site." IDS_CERT_ERRORS "There is at least one unspecified security problem with this certificate." + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/lang/wininet_Zh.rc b/dll/win32/wininet/lang/wininet_Zh.rc index 8e6e2418cca..46adbc8b3d9 100644 --- a/dll/win32/wininet/lang/wininet_Zh.rc +++ b/dll/win32/wininet/lang/wininet_Zh.rc @@ -31,6 +31,17 @@ STRINGTABLE IDS_CERT_DATE_INVALID "证书上的日期是无效的。" IDS_CERT_CN_INVALID "证书上的名称与该站点不匹配。" IDS_CERT_ERRORS "还有与此证书的至少一个未指定的安全问题。" + IDS_CERT_SUBJECT "Subject" + IDS_CERT_ISSUER "Issuer" + IDS_CERT_EFFECTIVE "Effective Date" + IDS_CERT_EXPIRATION "Expiration Date" + IDS_CERT_PROTOCOL "Security Protocol" + IDS_CERT_SIGNATURE "Signature Type" + IDS_CERT_ENCRYPTION "Encryption Type" + IDS_CERT_PRIVACY "Privacy Strength" + IDS_CERT_HIGH "High" + IDS_CERT_LOW "Low" + IDS_CERT_BITS "bits" } IDD_PROXYDLG DIALOGEX 36, 24, 220, 146 diff --git a/dll/win32/wininet/resource.h b/dll/win32/wininet/resource.h index d1fa2fbceed..d21ea470454 100644 --- a/dll/win32/wininet/resource.h +++ b/dll/win32/wininet/resource.h @@ -40,3 +40,14 @@ #define IDS_CERT_DATE_INVALID 0x502 #define IDS_CERT_CN_INVALID 0x503 #define IDS_CERT_ERRORS 0x504 +#define IDS_CERT_SUBJECT 0x505 +#define IDS_CERT_ISSUER 0x506 +#define IDS_CERT_EFFECTIVE 0x507 +#define IDS_CERT_EXPIRATION 0x508 +#define IDS_CERT_PROTOCOL 0x509 +#define IDS_CERT_SIGNATURE 0x50a +#define IDS_CERT_ENCRYPTION 0x50b +#define IDS_CERT_PRIVACY 0x50c +#define IDS_CERT_HIGH 0x50d +#define IDS_CERT_LOW 0x50e +#define IDS_CERT_BITS 0x50f diff --git a/modules/rostests/winetests/wininet/http.c b/modules/rostests/winetests/wininet/http.c index 39ca8fde4be..725a1882d24 100644 --- a/modules/rostests/winetests/wininet/http.c +++ b/modules/rostests/winetests/wininet/http.c @@ -171,6 +171,26 @@ static INTERNET_STATUS_CALLBACK (WINAPI *pInternetSetStatusCallbackA)(HINTERNET static INTERNET_STATUS_CALLBACK (WINAPI *pInternetSetStatusCallbackW)(HINTERNET ,INTERNET_STATUS_CALLBACK); static BOOL (WINAPI *pInternetGetSecurityInfoByURLA)(LPSTR,PCCERT_CHAIN_CONTEXT*,DWORD*); +static BOOL is_lang_english(void) +{ + static HMODULE hkernel32 = NULL; + static LANGID (WINAPI *pGetThreadUILanguage)(void) = NULL; + static LANGID (WINAPI *pGetUserDefaultUILanguage)(void) = NULL; + + if (!hkernel32) + { + hkernel32 = GetModuleHandleA("kernel32.dll"); + pGetThreadUILanguage = (void*)GetProcAddress(hkernel32, "GetThreadUILanguage"); + pGetUserDefaultUILanguage = (void*)GetProcAddress(hkernel32, "GetUserDefaultUILanguage"); + } + if (pGetThreadUILanguage) + return PRIMARYLANGID(pGetThreadUILanguage()) == LANG_ENGLISH; + if (pGetUserDefaultUILanguage) + return PRIMARYLANGID(pGetUserDefaultUILanguage()) == LANG_ENGLISH; + + return PRIMARYLANGID(GetUserDefaultLangID()) == LANG_ENGLISH; +} + static int strcmp_wa(LPCWSTR strw, const char *stra) { WCHAR buf[512]; @@ -6132,6 +6152,58 @@ static const cert_struct_test_t test_winehq_com_cert = { "webmaster(a)winehq.org" }; +static const char *cert_string_fmt = + "Subject:\r\n%s\r\n" + "Issuer:\r\n%s\r\n" + "Effective Date:\t%s %s\r\n" + "Expiration Date:\t%s %s\r\n" + "Security Protocol:\t%s\r\n" + "Signature Type:\t%s\r\n" + "Encryption Type:\t%s\r\n" + "Privacy Strength:\t%s (%u bits)"; + +static void test_cert_struct_string(HINTERNET req, const INTERNET_CERTIFICATE_INFOA *info) +{ + SYSTEMTIME start, expiry; + char expiry_date[32]; + char expiry_time[32]; + char start_date[32]; + char start_time[32]; + char expect[512]; + char actual[512]; + DWORD size; + BOOL res; + + size = sizeof(actual); + SetLastError(0xdeadbeef); + memset(actual, 0x55, sizeof(actual)); + res = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE, actual, &size); + ok(res, "InternetQueryOption failed: %u\n", GetLastError()); + + FileTimeToSystemTime(&info->ftStart, &start); + FileTimeToSystemTime(&info->ftExpiry, &expiry); + + GetDateFormatA(LOCALE_USER_DEFAULT, 0, &start, NULL, start_date, sizeof(start_date)); + GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &start, NULL, start_time, sizeof(start_time)); + GetDateFormatA(LOCALE_USER_DEFAULT, 0, &expiry, NULL, expiry_date, sizeof(expiry_date)); + GetTimeFormatA(LOCALE_USER_DEFAULT, 0, &expiry, NULL, expiry_time, sizeof(expiry_time)); + + snprintf(expect, sizeof(expect), cert_string_fmt, info->lpszSubjectInfo, info->lpszIssuerInfo, + start_date, start_time, expiry_date, expiry_time, + info->lpszSignatureAlgName, info->lpszEncryptionAlgName, info->lpszProtocolName, + info->dwKeySize >= 128 ? "High" : "Low", info->dwKeySize); + ok(size == strlen(actual), "size = %u\n", size); + ok(!strcmp(actual, expect), "expected:\n%s\nactual:\n%s\n", expect, actual); + + --size; + SetLastError(0xdeadbeef); + memset(actual, 0x55, sizeof(actual)); + res = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE, actual, &size); + ok(!res && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "InternetQueryOption failed: %d\n", GetLastError()); + ok(size == 1, "unexpected size: %u\n", size); + ok(actual[0] == 0x55, "unexpected byte: %02x\n", actual[0]); +} + static void test_cert_struct(HINTERNET req, const cert_struct_test_t *test) { INTERNET_CERTIFICATE_INFOA info; @@ -6158,6 +6230,10 @@ static void test_cert_struct(HINTERNET req, const cert_struct_test_t *test) ok(!info.lpszProtocolName, "lpszProtocolName = %s\n", info.lpszProtocolName); ok(info.dwKeySize >= 128 && info.dwKeySize <= 256, "dwKeySize = %u\n", info.dwKeySize); + if (is_lang_english()) + test_cert_struct_string(req, &info); + else + skip("Skipping tests that are English-only\n"); release_cert_info(&info); } @@ -6237,7 +6313,7 @@ static void test_security_flags(void) INTERNET_CERTIFICATE_INFOA *cert; HINTERNET ses, conn, req; DWORD size, flags; - char buf[100]; + char buf[512]; BOOL res; if (!https_support) @@ -6398,6 +6474,30 @@ static void test_security_flags(void) } HeapFree(GetProcessHeap(), 0, cert); + SetLastError(0xdeadbeef); + res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, NULL, NULL); + ok(!res && GetLastError() == ERROR_INVALID_PARAMETER, "InternetQueryOption failed: %d\n", GetLastError()); + + size = 0; + SetLastError(0xdeadbeef); + res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, NULL, &size); + ok(!res && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "InternetQueryOption failed: %d\n", GetLastError()); + ok(size == 1, "unexpected size: %u\n", size); + + size = 42; + SetLastError(0xdeadbeef); + memset(buf, 0x55, sizeof(buf)); + res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, buf, &size); + ok(!res && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "InternetQueryOption failed: %d\n", GetLastError()); + ok(size == 1, "unexpected size: %u\n", size); + ok(buf[0] == 0x55, "unexpected byte: %02x\n", buf[0]); + + size = sizeof(buf); + SetLastError(0xdeadbeef); + res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, buf, &size); + ok(res && GetLastError() == ERROR_SUCCESS, "InternetQueryOption failed: %d\n", GetLastError()); + ok(size < sizeof(buf), "unexpected size: %u\n", size); + ros_skip_flaky CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTING_TO_SERVER, 2); CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTED_TO_SERVER, 2); @@ -6583,9 +6683,10 @@ static void test_secure_connection(void) static const WCHAR get[] = {'G','E','T',0}; static const WCHAR testpage[] = {'/','t','e','s','t','s','/','h','e','l','l','o','.','h','t','m','l',0}; HINTERNET ses, con, req; - DWORD size, flags, err; + DWORD size, size2, flags, err; INTERNET_CERTIFICATE_INFOA *certificate_structA = NULL; INTERNET_CERTIFICATE_INFOW *certificate_structW = NULL; + char certstr1[512], certstr2[512]; BOOL ret; ses = InternetOpenA("Gizmo5", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); @@ -6650,6 +6751,19 @@ static void test_secure_connection(void) } HeapFree(GetProcessHeap(), 0, certificate_structW); + SetLastError(0xdeadbeef); + size = sizeof(certstr1); + ret = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE, certstr1, &size); + ok(ret && GetLastError() == ERROR_SUCCESS, "InternetQueryOption failed: %d\n", GetLastError()); + + SetLastError(0xdeadbeef); + size2 = sizeof(certstr2); + ret = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE, certstr2, &size2); + ok(ret && GetLastError() == ERROR_SUCCESS, "InternetQueryOption failed: %d\n", GetLastError()); + + ok(size == size2, "expected same size\n"); + ok(!strcmp(certstr1, certstr2), "expected same string\n"); + InternetCloseHandle(req); InternetCloseHandle(con); InternetCloseHandle(ses); @@ -7538,6 +7652,37 @@ static void test_concurrent_header_access(void) CloseHandle( wait ); } +static void test_cert_string(void) +{ + HINTERNET ses, con, req; + char actual[512]; + DWORD size; + BOOL res; + + ses = InternetOpenA( "winetest", 0, NULL, NULL, 0 ); + ok( ses != NULL, "InternetOpenA failed\n" ); + + con = InternetConnectA( ses, "
test.winehq.org
", INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, + INTERNET_SERVICE_HTTP, 0, 0 ); + ok( con != NULL, "InternetConnectA failed %u\n", GetLastError() ); + + req = HttpOpenRequestA( con, NULL, "/", NULL, NULL, NULL, 0, 0 ); + ok( req != NULL, "HttpOpenRequestA failed %u\n", GetLastError() ); + + size = sizeof(actual); + SetLastError( 0xdeadbeef ); + memset( actual, 0x55, sizeof(actual) ); + res = InternetQueryOptionA( req, INTERNET_OPTION_SECURITY_CERTIFICATE, actual, &size ); + ok( !res && GetLastError() == ERROR_INTERNET_INVALID_OPERATION, + "InternetQueryOption failed: %u\n", GetLastError() ); + ok( size == 0, "unexpected size: %u\n", size ); + ok( actual[0] == 0x55, "unexpected byte: %02x\n", actual[0] ); + + InternetCloseHandle( req ); + InternetCloseHandle( con ); + InternetCloseHandle( ses ); +} + START_TEST(http) { HMODULE hdll; @@ -7594,5 +7739,6 @@ START_TEST(http) test_connection_failure(); test_default_service_port(); test_concurrent_header_access(); + test_cert_string(); free_events(); } diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index c9a256e7d6f..5e68252160e 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: 99c0ab2ea1f912ee699e307a77f26822dfef7b06 + wine: ef88a70fa775f3e7a26d8f1618f32ee94bb9ea05
3 years, 11 months
1
0
0
0
[reactos] 27/39: [WINESYNC] Properly handle the case when the file doesn't exist on ReactOS side
by Jérôme Gardou
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=81c312d3e041671c89d85…
commit 81c312d3e041671c89d85f92cfeb8e8f15e0e4f6 Author: Jérôme Gardou <jerome.gardou(a)reactos.org> AuthorDate: Tue Dec 8 18:10:27 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] Properly handle the case when the file doesn't exist on ReactOS side --- sdk/tools/winesync/winesync.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sdk/tools/winesync/winesync.py b/sdk/tools/winesync/winesync.py index a890e2a773f..69f31601490 100644 --- a/sdk/tools/winesync/winesync.py +++ b/sdk/tools/winesync/winesync.py @@ -187,7 +187,8 @@ class wine_sync: if delta.status == pygit2.GIT_DELTA_DELETED: self.reactos_index.remove(old_reactos_path) - else: + # here we check if the file exists. We don't complain, because applying the patch already failed anyway + elif os.path.isfile(os.path.join(self.reactos_src, new_reactos_path)): self.reactos_index.add(new_reactos_path) complete_patch += blob_patch.text
3 years, 11 months
1
0
0
0
[reactos] 26/39: [WINESYNC] winapi_test: Restore horizontal alignment of macro defines.
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5a47b6e97ba47c8689074…
commit 5a47b6e97ba47c86890748c676c1a4f695bf4508 Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:01:56 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] winapi_test: Restore horizontal alignment of macro defines. Signed-off-by: Serge Gautherie <winehq-git_serge_180711(a)gautherie.fr> Signed-off-by: Francois Gouget <fgouget(a)free.fr> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id 99c0ab2ea1f912ee699e307a77f26822dfef7b06 by Serge Gautherie <winehq-git_serge_180711(a)gautherie.fr> --- modules/rostests/winetests/wininet/generated.c | 10 +++++----- sdk/tools/winesync/wininet.cfg | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/rostests/winetests/wininet/generated.c b/modules/rostests/winetests/wininet/generated.c index aec942c93bb..39a34f778f4 100644 --- a/modules/rostests/winetests/wininet/generated.c +++ b/modules/rostests/winetests/wininet/generated.c @@ -51,23 +51,23 @@ * Test helper macros */ -#define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size); +#define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size); #ifdef TYPE_ALIGNMENT -# define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align); +# define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align); #else # define TEST_TYPE_ALIGN(type, align) #endif #ifdef _TYPE_ALIGNMENT -# define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align); -# define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align); +# define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align); +# define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align); #else # define TEST_TARGET_ALIGN(type, align) # define TEST_FIELD_ALIGN(type, field, align) #endif -#define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset); +#define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset); #define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size) #define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size) diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index 49114a4cde4..c9a256e7d6f 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: c26d7470cc5b2dabf9c8b91d2b313eb0041bebae + wine: 99c0ab2ea1f912ee699e307a77f26822dfef7b06
3 years, 11 months
1
0
0
0
[reactos] 25/39: [WINESYNC] winapi_test: Horizontally align TEST_TYPE_SIGNED() parameter.
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b89a2ee6342ddc4644b92…
commit b89a2ee6342ddc4644b924649b7b67517bc49773 Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:01:30 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] winapi_test: Horizontally align TEST_TYPE_SIGNED() parameter. Signed-off-by: Serge Gautherie <reactos-git_serge_171003(a)gautherie.fr> Signed-off-by: Francois Gouget <fgouget(a)free.fr> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id c26d7470cc5b2dabf9c8b91d2b313eb0041bebae by Serge Gautherie <winehq-git_serge_180711(a)gautherie.fr> --- modules/rostests/winetests/wininet/generated.c | 4 ++-- sdk/tools/winesync/wininet.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/rostests/winetests/wininet/generated.c b/modules/rostests/winetests/wininet/generated.c index f88834ab9dd..aec942c93bb 100644 --- a/modules/rostests/winetests/wininet/generated.c +++ b/modules/rostests/winetests/wininet/generated.c @@ -486,7 +486,7 @@ static void test_pack_GROUPID(void) /* GROUPID */ TEST_TYPE_SIZE (GROUPID, 8) TEST_TYPE_ALIGN (GROUPID, 8) - TEST_TYPE_SIGNED(GROUPID) + TEST_TYPE_SIGNED (GROUPID) } static void test_pack_HINTERNET(void) @@ -1723,7 +1723,7 @@ static void test_pack_GROUPID(void) /* GROUPID */ TEST_TYPE_SIZE (GROUPID, 8) TEST_TYPE_ALIGN (GROUPID, 8) - TEST_TYPE_SIGNED(GROUPID) + TEST_TYPE_SIGNED (GROUPID) } static void test_pack_HINTERNET(void) diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index 01c3002408a..49114a4cde4 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: a41cb33afaee0adc6fdf3b8c69b9fb545dc15a96 + wine: c26d7470cc5b2dabf9c8b91d2b313eb0041bebae
3 years, 11 months
1
0
0
0
[reactos] 24/39: [WINESYNC] wininet: Move INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT handling to helper.
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c1394ae71a4e98f87b69e…
commit c1394ae71a4e98f87b69e6b3b902d7a24b1bde3c Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:01:29 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] wininet: Move INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT handling to helper. Signed-off-by: Daniel Lehman <dlehman25(a)gmail.com> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id a41cb33afaee0adc6fdf3b8c69b9fb545dc15a96 by Daniel Lehman <dlehman25(a)gmail.com> --- dll/win32/wininet/http.c | 62 ++++++++++++++++++++++-------------------- sdk/tools/winesync/wininet.cfg | 2 +- 2 files changed, 34 insertions(+), 30 deletions(-) diff --git a/dll/win32/wininet/http.c b/dll/win32/wininet/http.c index 46556ee68d9..58e91bc1a13 100644 --- a/dll/win32/wininet/http.c +++ b/dll/win32/wininet/http.c @@ -2102,6 +2102,38 @@ static DWORD str_to_buffer(const WCHAR *str, void *buffer, DWORD *size, BOOL uni } } +static DWORD get_security_cert_struct(http_request_t *req, INTERNET_CERTIFICATE_INFOA *info) +{ + PCCERT_CONTEXT context; + DWORD len; + + context = (PCCERT_CONTEXT)NETCON_GetCert(req->netconn); + if(!context) + return ERROR_NOT_SUPPORTED; + + memset(info, 0, sizeof(*info)); + info->ftExpiry = context->pCertInfo->NotAfter; + info->ftStart = context->pCertInfo->NotBefore; + len = CertNameToStrA(context->dwCertEncodingType, + &context->pCertInfo->Subject, CERT_SIMPLE_NAME_STR|CERT_NAME_STR_CRLF_FLAG, NULL, 0); + info->lpszSubjectInfo = LocalAlloc(0, len); + if(info->lpszSubjectInfo) + CertNameToStrA(context->dwCertEncodingType, + &context->pCertInfo->Subject, CERT_SIMPLE_NAME_STR|CERT_NAME_STR_CRLF_FLAG, + info->lpszSubjectInfo, len); + len = CertNameToStrA(context->dwCertEncodingType, + &context->pCertInfo->Issuer, CERT_SIMPLE_NAME_STR|CERT_NAME_STR_CRLF_FLAG, NULL, 0); + info->lpszIssuerInfo = LocalAlloc(0, len); + if(info->lpszIssuerInfo) + CertNameToStrA(context->dwCertEncodingType, + &context->pCertInfo->Issuer, CERT_SIMPLE_NAME_STR|CERT_NAME_STR_CRLF_FLAG, + info->lpszIssuerInfo, len); + info->dwKeySize = NETCON_GetCipherStrength(req->netconn); + + CertFreeCertificateContext(context); + return ERROR_SUCCESS; +} + static DWORD HTTPREQ_QueryOption(object_header_t *hdr, DWORD option, void *buffer, DWORD *size, BOOL unicode) { http_request_t *req = (http_request_t*)hdr; @@ -2254,8 +2286,6 @@ static DWORD HTTPREQ_QueryOption(object_header_t *hdr, DWORD option, void *buffe } case INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT: { - PCCERT_CONTEXT context; - if(!req->netconn) return ERROR_INTERNET_INVALID_OPERATION; @@ -2264,33 +2294,7 @@ static DWORD HTTPREQ_QueryOption(object_header_t *hdr, DWORD option, void *buffe return ERROR_INSUFFICIENT_BUFFER; } - context = (PCCERT_CONTEXT)NETCON_GetCert(req->netconn); - if(context) { - INTERNET_CERTIFICATE_INFOA *info = (INTERNET_CERTIFICATE_INFOA*)buffer; - DWORD len; - - memset(info, 0, sizeof(*info)); - info->ftExpiry = context->pCertInfo->NotAfter; - info->ftStart = context->pCertInfo->NotBefore; - len = CertNameToStrA(context->dwCertEncodingType, - &context->pCertInfo->Subject, CERT_SIMPLE_NAME_STR|CERT_NAME_STR_CRLF_FLAG, NULL, 0); - info->lpszSubjectInfo = LocalAlloc(0, len); - if(info->lpszSubjectInfo) - CertNameToStrA(context->dwCertEncodingType, - &context->pCertInfo->Subject, CERT_SIMPLE_NAME_STR|CERT_NAME_STR_CRLF_FLAG, - info->lpszSubjectInfo, len); - len = CertNameToStrA(context->dwCertEncodingType, - &context->pCertInfo->Issuer, CERT_SIMPLE_NAME_STR|CERT_NAME_STR_CRLF_FLAG, NULL, 0); - info->lpszIssuerInfo = LocalAlloc(0, len); - if(info->lpszIssuerInfo) - CertNameToStrA(context->dwCertEncodingType, - &context->pCertInfo->Issuer, CERT_SIMPLE_NAME_STR|CERT_NAME_STR_CRLF_FLAG, - info->lpszIssuerInfo, len); - info->dwKeySize = NETCON_GetCipherStrength(req->netconn); - CertFreeCertificateContext(context); - return ERROR_SUCCESS; - } - return ERROR_NOT_SUPPORTED; + return get_security_cert_struct(req, (INTERNET_CERTIFICATE_INFOA*)buffer); } case INTERNET_OPTION_CONNECT_TIMEOUT: if (*size < sizeof(DWORD)) diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index fb5a002b667..01c3002408a 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: c06e00ee6a15fd77faf66b28edac5e84ad30b550 + wine: a41cb33afaee0adc6fdf3b8c69b9fb545dc15a96
3 years, 11 months
1
0
0
0
[reactos] 23/39: [WINESYNC] wininet: Handle empty expires for cookie setting.
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=94e13ca59b228d671f248…
commit 94e13ca59b228d671f2482313c1fb6cd84d045d0 Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:01:29 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] wininet: Handle empty expires for cookie setting. Signed-off-by: Jactry Zeng <jzeng(a)codeweavers.com> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id c06e00ee6a15fd77faf66b28edac5e84ad30b550 by Jactry Zeng <jzeng(a)codeweavers.com> --- dll/win32/wininet/cookie.c | 2 +- modules/rostests/winetests/wininet/internet.c | 18 ++++++++++++++---- sdk/tools/winesync/wininet.cfg | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/dll/win32/wininet/cookie.c b/dll/win32/wininet/cookie.c index 124b577288a..20de3bf3909 100644 --- a/dll/win32/wininet/cookie.c +++ b/dll/win32/wininet/cookie.c @@ -981,7 +981,7 @@ DWORD set_cookie(substr_t domain, substr_t path, substr_t name, substr_t data, D substr_skip(&data, len); - if(end_ptr - data.str < ARRAY_SIZE(buf)-1) { + if(end_ptr > data.str && (end_ptr - data.str < ARRAY_SIZE(buf) - 1)) { memcpy(buf, data.str, data.len*sizeof(WCHAR)); buf[data.len] = 0; diff --git a/modules/rostests/winetests/wininet/internet.c b/modules/rostests/winetests/wininet/internet.c index e69b45a7e6f..ef1adefd1a3 100644 --- a/modules/rostests/winetests/wininet/internet.c +++ b/modules/rostests/winetests/wininet/internet.c @@ -510,7 +510,7 @@ static void test_complicated_cookie(void) len = 1024; ret = InternetGetCookieA("
http://testing.example.com/bar/foo
", NULL, buffer, &len); ok(ret == TRUE,"InternetGetCookie failed\n"); - ok(len == 24, "len = %u\n", 24); + ok(len == 24, "len = %u\n", len); ok(strstr(buffer,"A=B")!=NULL,"A=B missing\n"); ok(strstr(buffer,"C=D")!=NULL,"C=D missing\n"); ok(strstr(buffer,"E=F")!=NULL,"E=F missing\n"); @@ -524,16 +524,26 @@ static void test_complicated_cookie(void) len = 1024; ret = InternetGetCookieA("
http://testing.example.com/bar/foo
", "A", buffer, &len); ok(ret == TRUE,"InternetGetCookie failed\n"); - ok(len == 24, "len = %u\n", 24); + ok(len == 24, "len = %u\n", len); /* test persistent cookies */ ret = InternetSetCookieA("
http://testing.example.com
", NULL, "A=B; expires=Fri, 01-Jan-2038 00:00:00 GMT"); ok(ret, "InternetSetCookie failed with error %d\n", GetLastError()); + /* test invalid expires parameter */ + ret = InternetSetCookieA("
http://testing.example.com
", NULL, "Q=R; expires="); + ok(ret, "InternetSetCookie failed %#x.\n", GetLastError()); + len = 1024; + memset(buffer, 0xac, sizeof(buffer)); + ret = InternetGetCookieA("
http://testing.example.com/
", NULL, buffer, &len); + ok(ret, "InternetGetCookie failed %#x.\n", GetLastError()); + ok(len == 29, "got len %u.\n", len); + ok(!!strstr(buffer, "Q=R"), "cookie is not present.\n"); + len = sizeof(buffer); ret = InternetGetCookieA("
http://testing.example.com/foobar
", NULL, buffer, &len); - ok(ret, "got error %u\n", GetLastError()); - ok(len == 24, "got len %u\n", len); + ok(ret, "got error %#x\n", GetLastError()); + ok(len == 29, "got len %u\n", len); ok(!!strstr(buffer, "A=B"), "cookie is not present\n"); /* remove persistent cookie */ diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index 940797a5151..fb5a002b667 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: d2a1c906dc4979eeabe256f77a58d67290da372d + wine: c06e00ee6a15fd77faf66b28edac5e84ad30b550
3 years, 11 months
1
0
0
0
[reactos] 22/39: [WINESYNC] wininet: Get rid of user buffer in create_cookie_url().
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9982fa3c75a4640b7272e…
commit 9982fa3c75a4640b7272e9652f4f3e54bc77ad56 Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:01:28 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] wininet: Get rid of user buffer in create_cookie_url(). Signed-off-by: Serge Gautherie <winehq-git_serge_180711(a)gautherie.fr> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id d2a1c906dc4979eeabe256f77a58d67290da372d by Serge Gautherie <winehq-git_serge_180711(a)gautherie.fr> --- dll/win32/wininet/cookie.c | 19 +++++++++++-------- sdk/tools/winesync/wininet.cfg | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/dll/win32/wininet/cookie.c b/dll/win32/wininet/cookie.c index 98a5e0e2a45..124b577288a 100644 --- a/dll/win32/wininet/cookie.c +++ b/dll/win32/wininet/cookie.c @@ -151,28 +151,31 @@ static cookie_domain_t *get_cookie_domain(substr_t domain, BOOL create) static WCHAR *create_cookie_url(substr_t domain, substr_t path, substr_t *ret_path) { - WCHAR user[UNLEN], *p, *url; + WCHAR *p, *url; DWORD len, user_len, i; static const WCHAR cookie_prefix[] = {'C','o','o','k','i','e',':'}; - user_len = ARRAY_SIZE(user); - if(!GetUserNameW(user, &user_len)) - return FALSE; - user_len--; + user_len = 0; + if(GetUserNameW(NULL, &user_len) || GetLastError() != ERROR_INSUFFICIENT_BUFFER) + return NULL; + /* user_len already accounts for terminating NULL */ len = ARRAY_SIZE(cookie_prefix) + user_len + 1 /* @ */ + domain.len + path.len; - url = heap_alloc((len+1) * sizeof(WCHAR)); + url = heap_alloc(len * sizeof(WCHAR)); if(!url) return NULL; memcpy(url, cookie_prefix, sizeof(cookie_prefix)); p = url + ARRAY_SIZE(cookie_prefix); - memcpy(p, user, user_len*sizeof(WCHAR)); + if(!GetUserNameW(p, &user_len)) { + heap_free(url); + return NULL; + } p += user_len; - *p++ = '@'; + *(p - 1) = '@'; memcpy(p, domain.str, domain.len*sizeof(WCHAR)); p += domain.len; diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index d379382a1f5..940797a5151 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: ccd6b205fa99360e7437f1c5bc63e0075f8e6760 + wine: d2a1c906dc4979eeabe256f77a58d67290da372d
3 years, 11 months
1
0
0
0
[reactos] 21/39: [WINESYNC] wininet/tests: Update for new WineHQ certificate.
by winesync
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e0e6d419c757f24922008…
commit e0e6d419c757f24922008fbd2685b451c14d8b52 Author: winesync <ros-dev(a)reactos.org> AuthorDate: Tue Dec 8 18:01:26 2020 +0100 Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com> CommitDate: Tue Jan 5 11:03:13 2021 +0100 [WINESYNC] wininet/tests: Update for new WineHQ certificate. Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> wine commit id ccd6b205fa99360e7437f1c5bc63e0075f8e6760 by Alexandre Julliard <julliard(a)winehq.org> --- modules/rostests/winetests/wininet/http.c | 3 +-- sdk/tools/winesync/wininet.cfg | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/rostests/winetests/wininet/http.c b/modules/rostests/winetests/wininet/http.c index 1cdaed9d8e9..39ca8fde4be 100644 --- a/modules/rostests/winetests/wininet/http.c +++ b/modules/rostests/winetests/wininet/http.c @@ -6099,13 +6099,12 @@ typedef struct { static const cert_struct_test_t test_winehq_org_cert = { "US\r\n" "55114\r\n" - "MN\r\n" + "Minnesota\r\n" "Saint Paul\r\n" "Ste 120\r\n" "700 Raymond Ave\r\n" "CodeWeavers\r\n" "IT\r\n" - "Secure Link SSL Wildcard\r\n" "*.winehq.org", "US\r\n" diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index 354d6ec6950..d379382a1f5 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: de5d147de8b3d9c2f65bcb6d5646320ef1d92e58 + wine: ccd6b205fa99360e7437f1c5bc63e0075f8e6760
3 years, 11 months
1
0
0
0
← Newer
1
...
7
8
9
10
11
12
13
14
15
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Results per page:
10
25
50
100
200