Changeset 238387 in webkit
- Timestamp:
- Nov 19, 2018 6:02:36 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 9 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r238382 r238387 1 2018-11-19 Basuke Suzuki <basuke.suzuki@sony.com> 2 3 [Curl] Add API for CertificateInfo. 4 https://bugs.webkit.org/show_bug.cgi?id=191647 5 6 Reviewed by Alex Christensen. 7 8 Minor changes for WebKit API. 9 10 Tests: TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp 11 12 * platform/network/curl/CertificateInfo.h: 13 * platform/network/curl/CertificateInfoCurl.cpp: 14 (WebCore::CertificateInfo::CertificateInfo): 15 (WebCore::CertificateInfo::makeCertificate): 16 * platform/network/curl/CurlSSLVerifier.cpp: 17 (WebCore::BIOHolder::asCertificate): 18 1 19 2018-11-19 Justin Fan <justin_fan@apple.com> 2 20 -
trunk/Source/WebCore/platform/network/curl/CertificateInfo.h
r238350 r238387 38 38 public: 39 39 using Certificate = Vector<uint8_t>; 40 using CertificateChain = Vector<Certificate>; 40 41 41 42 CertificateInfo() = default; 42 WEBCORE_EXPORT CertificateInfo(int verificationError, Vector<Certificate>&&);43 WEBCORE_EXPORT CertificateInfo(int verificationError, CertificateChain&&); 43 44 44 45 WEBCORE_EXPORT CertificateInfo isolatedCopy() const; … … 53 54 bool isEmpty() const { return m_certificateChain.isEmpty(); } 54 55 55 static Certificate makeCertificate(const char*, size_t);56 static Certificate makeCertificate(const uint8_t*, size_t); 56 57 57 58 private: 58 59 int m_verificationError { 0 }; 59 Vector<Certificate>m_certificateChain;60 CertificateChain m_certificateChain; 60 61 }; 61 62 -
trunk/Source/WebCore/platform/network/curl/CertificateInfoCurl.cpp
r238122 r238387 33 33 namespace WebCore { 34 34 35 CertificateInfo::CertificateInfo(int verificationError, Vector<Certificate>&& certificateChain)35 CertificateInfo::CertificateInfo(int verificationError, CertificateChain&& certificateChain) 36 36 : m_verificationError(verificationError) 37 37 , m_certificateChain(WTFMove(certificateChain)) … … 44 44 } 45 45 46 CertificateInfo::Certificate CertificateInfo::makeCertificate(const char* buffer, size_t size)46 CertificateInfo::Certificate CertificateInfo::makeCertificate(const uint8_t* buffer, size_t size) 47 47 { 48 48 Certificate certificate; -
trunk/Source/WebCore/platform/network/curl/CurlSSLVerifier.cpp
r233919 r238387 118 118 CertificateInfo::Certificate asCertificate() 119 119 { 120 char* data;120 uint8_t* data; 121 121 long length = BIO_get_mem_data(m_bio, &data); 122 122 if (length < 0) -
trunk/Source/WebKit/ChangeLog
r238384 r238387 1 2018-11-19 Basuke Suzuki <basuke.suzuki@sony.com> 2 3 [Curl] Add API for CertificateInfo. 4 https://bugs.webkit.org/show_bug.cgi?id=191647 5 6 Reviewed by Alex Christensen. 7 8 Added API for CertificateInfo to create, fetch contents. 9 10 Tests: TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp 11 12 * PlatformWin.cmake: 13 * Shared/API/c/curl/WKCertificateInfoCurl.cpp: Added. 14 (WKCertificateInfoCreateWithCertficateChain): 15 (WKCertificateInfoGetVerificationError): 16 (WKCertificateInfoGetCertificateChainSize): 17 (WKCertificateInfoCopyCertificateAtIndex): 18 * Shared/API/c/curl/WKCertificateInfoCurl.h: Copied from Source/WebCore/platform/network/curl/CertificateInfoCurl.cpp. 19 * Shared/curl/WebCoreArgumentCodersCurl.cpp: 20 (IPC::ArgumentCoder<CertificateInfo>::encode): 21 (IPC::ArgumentCoder<CertificateInfo>::decode): 22 1 23 2018-11-19 Don Olmstead <don.olmstead@sony.com> 2 24 -
trunk/Source/WebKit/PlatformWin.cmake
r238350 r238387 19 19 Platform/win/ModuleWin.cpp 20 20 Platform/win/SharedMemoryWin.cpp 21 22 Shared/API/c/curl/WKCertificateInfoCurl.cpp 21 23 22 24 Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp … … 202 204 UIProcess/API/cpp 203 205 204 UIProcess/API/C/curl205 206 UIProcess/API/C/win 206 207 207 208 WebProcess/InjectedBundle/API/c 208 209 ) 210 211 if (${WTF_PLATFORM_WIN_CAIRO}) 212 list(APPEND WebKit_FORWARDING_HEADERS_DIRECTORIES 213 Shared/API/c/curl 214 215 UIProcess/API/C/curl 216 ) 217 endif () 209 218 210 219 WEBKIT_MAKE_FORWARDING_HEADERS(WebKit -
trunk/Source/WebKit/Shared/API/c/curl/WKCertificateInfoCurl.h
r238386 r238387 24 24 */ 25 25 26 #include "config.h" 27 #include "CertificateInfo.h" 26 #pragma once 28 27 29 #include < wtf/CrossThreadCopier.h>28 #include <WebKit/WKBase.h> 30 29 31 #if USE(CURL) 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 32 33 33 namespace WebCore { 34 WK_EXPORT WKCertificateInfoRef WKCertificateInfoCreateWithCertficateChain(WKArrayRef); 34 35 35 CertificateInfo::CertificateInfo(int verificationError, Vector<Certificate>&& certificateChain) 36 : m_verificationError(verificationError) 37 , m_certificateChain(WTFMove(certificateChain)) 38 { 36 WK_EXPORT int WKCertificateInfoGetVerificationError(WKCertificateInfoRef); 37 WK_EXPORT size_t WKCertificateInfoGetCertificateChainSize(WKCertificateInfoRef); 38 WK_EXPORT WKDataRef WKCertificateInfoCopyCertificateAtIndex(WKCertificateInfoRef, size_t); 39 40 #ifdef __cplusplus 39 41 } 40 41 CertificateInfo CertificateInfo::isolatedCopy() const42 {43 return { m_verificationError, crossThreadCopy(m_certificateChain) };44 }45 46 CertificateInfo::Certificate CertificateInfo::makeCertificate(const char* buffer, size_t size)47 {48 Certificate certificate;49 certificate.append(buffer, size);50 return certificate;51 }52 53 }54 55 42 #endif -
trunk/Source/WebKit/Shared/curl/WebCoreArgumentCodersCurl.cpp
r238051 r238387 49 49 } 50 50 51 void ArgumentCoder<CertificateInfo>::encode(Encoder& , const CertificateInfo&)51 void ArgumentCoder<CertificateInfo>::encode(Encoder& encoder, const CertificateInfo& certificateInfo) 52 52 { 53 encoder << certificateInfo.verificationError(); 54 encoder << certificateInfo.certificateChain().size(); 55 56 for (auto certificate : certificateInfo.certificateChain()) 57 encoder << certificate; 53 58 } 54 59 55 bool ArgumentCoder<CertificateInfo>::decode(Decoder& , CertificateInfo&)60 bool ArgumentCoder<CertificateInfo>::decode(Decoder& decoder, CertificateInfo& certificateInfo) 56 61 { 62 int verificationError; 63 if (!decoder.decode(verificationError)) 64 return false; 65 66 size_t certificateChainSize; 67 if (!decoder.decode(certificateChainSize)) 68 return false; 69 70 CertificateInfo::CertificateChain certificateChain; 71 for (size_t i = 0; i < certificateChainSize; i++) { 72 CertificateInfo::Certificate certificate; 73 if (!decoder.decode(certificate)) 74 return false; 75 76 certificateChain.append(certificate); 77 } 78 79 certificateInfo = CertificateInfo { verificationError, WTFMove(certificateChain) }; 80 57 81 return true; 58 82 } -
trunk/Tools/ChangeLog
r238383 r238387 1 2018-11-19 Basuke Suzuki <basuke.suzuki@sony.com> 2 3 [Curl] Add API for CertificateInfo. 4 https://bugs.webkit.org/show_bug.cgi?id=191647 5 6 Reviewed by Alex Christensen. 7 8 Added test for new WKCertificateInfo API. 9 10 * TestWebKitAPI/PlatformWin.cmake: 11 * TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp: Added. 12 (TestWebKitAPI::Curl::makeCertificateInfo): 13 (TestWebKitAPI::Curl::isSamePEM): 14 (TestWebKitAPI::Curl::TEST): 15 1 16 2018-11-19 Wenson Hsieh <wenson_hsieh@apple.com> 2 17 -
trunk/Tools/TestWebKitAPI/PlatformWin.cmake
r238111 r238387 190 190 ) 191 191 192 if (${WTF_PLATFORM_WIN_CAIRO}) 193 list(APPEND test_webkit_api_SOURCES 194 ${TESTWEBKITAPI_DIR}/Tests/WebKit/curl/Certificates.cpp 195 ) 196 endif () 197 192 198 add_library(TestWebKitLib SHARED 193 199 ${TESTWEBKITAPI_DIR}/win/main.cpp
Note: See TracChangeset
for help on using the changeset viewer.