[GCrypt] Implement CryptoKeyEC::keySizeInBits(), ::platformGeneratePair()
[WebKit-https.git] / Source / WebCore / PAL / ChangeLog
1 2017-04-03  Zan Dobersek  <zdobersek@igalia.com>
2
3         [GCrypt] Implement CryptoKeyEC::keySizeInBits(), ::platformGeneratePair()
4         https://bugs.webkit.org/show_bug.cgi?id=170345
5
6         Reviewed by Michael Catanzaro.
7
8         * pal/crypto/gcrypt/Handle.h:
9         (PAL::GCrypt::HandleDeleter<gcry_sexp_t>::operator()): Add a HandleDeleter
10         specialization for the gcry_sexp_t type.
11
12 2017-04-03  Zan Dobersek  <zdobersek@igalia.com>
13
14         [GCrypt] Implement AES_GCM support
15         https://bugs.webkit.org/show_bug.cgi?id=170271
16
17         Reviewed by Michael Catanzaro.
18
19         * pal/crypto/gcrypt/Handle.h:
20         (PAL::GCrypt::HandleDeleter<gcry_cipher_hd_t>::operator()): Specialize
21         the HandleDeleter<> template for the gcry_cipher_hd_t type.
22
23 2017-03-30  Zan Dobersek  <zdobersek@igalia.com>
24
25         [GCrypt] Add the Utilities.h header
26         https://bugs.webkit.org/show_bug.cgi?id=170269
27
28         Reviewed by Michael Catanzaro.
29
30         Add a libgcrypt-specific Utilities.h header under PAL. It will contain
31         common functions that are shared throughout the code that leverages
32         libgcrypt.
33
34         * pal/crypto/gcrypt/Utilities.h: Added.
35         (PAL::GCrypt::logError): Use WTFLogAlways() to report the passed-in libgcrypt error.
36         (PAL::GCrypt::aesAlgorithmForKeySize): Return a GCRY_CIPHER_AES{128,192,256} value
37         that matches up with the passed-in key size.
38
39 2017-03-29  Zan Dobersek  <zdobersek@igalia.com>
40
41         [GCrypt] Add a Handle<> class to help with GCrypt object lifetime control
42         https://bugs.webkit.org/show_bug.cgi?id=170238
43
44         Reviewed by Michael Catanzaro.
45
46         Add a GCrypt-specific Handle<> template class, inside the GCrypt namespace.
47         Objects of this class should be used as 'smart handles', cleaning up upon
48         destruction the GCrypt object that's represented by the handle they manage.
49
50         This mimics the std::unique_ptr<> idea, but is narrowly focused towards
51         how such handles are used in the libgcrypt API. A GCrypt::Handle<> object
52         can be consturcted from an existing handle or with the default null value.
53         It can be cleared upon request via clear(), and the managed handle can be
54         released via release().
55
56         The address of the managed handle can be retrieved through the address-of
57         operator. An implicit conversion operator is also added. This allows
58         frictionless use of GCrypt::Handle<> objects with existing libgcrypt APIs.
59
60         The negation operator is implemented to support testing the nullness of
61         the managed handle. The raw handle value is also retrieveable through
62         the handle() method.
63
64         The copy and move constructors and assignment operators are deleted.
65         They are not at the moment required anywhere in the work-in-progress
66         implementation of subtle crypto functionality.
67
68         As with other resource management classes, upon destruction, the
69         GCrypt::Handle<> object destroys the resource it manages. This is done
70         through objects of the HandleDeleter<> template class. Specializations
71         of this class have to implement the call operator that properly
72         releases the resource. Because the operator is deleted by default,
73         a compilation error will be thrown when deleting a resource of some
74         type for which the proper HandleDeleter specialization isn't provided.
75
76         std::unique_ptr<> could be used, but it could also be mis-used. I find
77         a mini-class with an interface that's specific to libgcrypt API
78         interactions to be preferrable to a std::unique_ptr<> with a custom
79         deleter.
80
81         * pal/crypto/gcrypt/Handle.h: Added.
82         (PAL::GCrypt::Handle::Handle):
83         (PAL::GCrypt::Handle::~Handle):
84         (PAL::GCrypt::Handle::clear):
85         (PAL::GCrypt::Handle::release):
86         (PAL::GCrypt::Handle::operator&):
87         (PAL::GCrypt::Handle::handle):
88         (PAL::GCrypt::Handle::operator T):
89         (PAL::GCrypt::Handle::operator!):
90         (PAL::GCrypt::HandleDeleter<gcry_mac_hd_t>::operator()):
91
92 2017-03-29  Zan Dobersek  <zdobersek@igalia.com>
93
94         [GnuTLS] Remove unused CryptoDigestGnuTLS, CryptoAlgorithmHMACGnuTLS implementation files
95         https://bugs.webkit.org/show_bug.cgi?id=170231
96
97         Reviewed by Michael Catanzaro.
98
99         * pal/crypto/gnutls/CryptoDigestGnuTLS.cpp: Removed. The GCrypt counterpart
100         is already in use, and this file wasn't even being built.
101
102 2017-03-17  Michael Saboff  <msaboff@apple.com>
103
104         Use USE_INTERNAL_SDK to compute ENABLE_FAST_JIT_PERMISSIONS instead of HAVE_INTERNAL_SDK
105         https://bugs.webkit.org/show_bug.cgi?id=169817
106
107         Reviewed by Filip Pizlo.
108
109         * Configurations/FeatureDefines.xcconfig:
110
111 2017-03-15  Dean Jackson  <dino@apple.com>
112
113         Sort Xcode project files
114         https://bugs.webkit.org/show_bug.cgi?id=169669
115
116         Reviewed by Antoine Quint.
117
118         * PAL.xcodeproj/project.pbxproj:
119
120 2017-03-10  Alex Christensen  <achristensen@webkit.org>
121
122         Fix watch and tv builds after r213294
123         https://bugs.webkit.org/show_bug.cgi?id=169508
124
125         Reviewed by Dan Bernstein.
126
127         * Configurations/FeatureDefines.xcconfig:
128
129 2017-03-09  Anders Carlsson  <andersca@apple.com>
130
131         Add delegate support to WebCore
132         https://bugs.webkit.org/show_bug.cgi?id=169427
133         Part of rdar://problem/28880714.
134
135         Reviewed by Geoffrey Garen.
136
137         * Configurations/FeatureDefines.xcconfig:
138         Add feature define.
139
140 2017-03-07  Dean Jackson  <dino@apple.com>
141
142         Some platforms won't be able to create a GPUDevice
143         https://bugs.webkit.org/show_bug.cgi?id=169314
144         <rdar://problems/30907521>
145
146         Reviewed by Jon Lee.
147
148         Disable WEB_GPU on the iOS Simulator.
149
150         * Configurations/FeatureDefines.xcconfig:
151
152 2017-03-06  Michael Saboff  <msaboff@apple.com>
153
154         Take advantage of fast permissions switching of JIT memory for devices that support it
155         https://bugs.webkit.org/show_bug.cgi?id=169155
156
157         Reviewed by Saam Barati.
158
159         Updated the Xcode config files to match what is in the JavaScriptCore ones.
160
161         * Configurations/FeatureDefines.xcconfig:
162
163 2017-03-03  Dean Jackson  <dino@apple.com>
164
165         Add WebGPU compile flag and experimental feature flag
166         https://bugs.webkit.org/show_bug.cgi?id=169161
167         <rdar://problem/30846689>
168
169         Reviewed by Tim Horton.
170
171         Add ENABLE_WEBGPU, an experimental feature flag, a RuntimeEnabledFeature,
172         and an InternalSetting.
173
174         * Configurations/FeatureDefines.xcconfig:
175
176 2017-03-02  Alex Christensen  <achristensen@webkit.org>
177
178         Continue enabling WebRTC
179         https://bugs.webkit.org/show_bug.cgi?id=169056
180
181         Reviewed by Jon Lee.
182
183         * Configurations/FeatureDefines.xcconfig:
184
185 2017-03-01  Alex Christensen  <achristensen@webkit.org>
186
187         Unreviewed, rolling out r213259.
188
189         Broke an internal build
190
191         Reverted changeset:
192
193         "Continue enabling WebRTC"
194         https://bugs.webkit.org/show_bug.cgi?id=169056
195         http://trac.webkit.org/changeset/213259
196
197 2017-03-01  Alex Christensen  <achristensen@webkit.org>
198
199         Continue enabling WebRTC
200         https://bugs.webkit.org/show_bug.cgi?id=169056
201
202         Reviewed by Jon Lee.
203
204         * Configurations/FeatureDefines.xcconfig:
205
206 2017-02-27  Alex Christensen  <achristensen@webkit.org>
207
208         Begin enabling WebRTC on 64-bit
209         https://bugs.webkit.org/show_bug.cgi?id=168915
210
211         Reviewed by Eric Carlson.
212
213         * Configurations/FeatureDefines.xcconfig:
214
215 2017-02-27  Alex Christensen  <achristensen@webkit.org>
216
217         [libwebrtc] Enable WebRTC in some Production Builds
218         https://bugs.webkit.org/show_bug.cgi?id=168858
219
220         * Configurations/FeatureDefines.xcconfig:
221
222 2017-02-21  Youenn Fablet  <youenn@apple.com>
223
224         [WebRTC][Mac] Activate libwebrtc
225         https://bugs.webkit.org/show_bug.cgi?id=167293
226
227         Reviewed by Alex Christensen.
228
229         * Configurations/FeatureDefines.xcconfig:
230
231 2017-02-20  Manuel Rego Casasnovas  <rego@igalia.com>
232
233         [css-grid] Remove compilation flag ENABLE_CSS_GRID_LAYOUT
234         https://bugs.webkit.org/show_bug.cgi?id=167693
235
236         Reviewed by Sergio Villar Senin.
237
238         * Configurations/FeatureDefines.xcconfig:
239
240 2017-02-16  Anders Carlsson  <andersca@apple.com>
241
242         Begin removing EFL code from WebCore.
243
244         Rubber-stamped by Alex Christensen.
245
246         * pal/PlatformEfl.cmake: Removed.
247
248 2017-01-28  Dan Bernstein  <mitz@apple.com>
249
250         [Xcode] Clean up PAL and WebCore’s build settings a little
251         https://bugs.webkit.org/show_bug.cgi?id=167292
252
253         Reviewed by Sam Weinig.
254
255         * ChangeLog: Created this file.
256
257         * Configurations/Base.xcconfig: Simplified the definition of
258           GCC_WARN_64_TO_32_BIT_CONVERSION, removed the unused build setting PREBINDING, removed
259           a duplicate definition of GCC_GENERATE_DEBUGGING_SYMBOLS, and removed definitions specific
260           to OS X versions that are no longer supported.
261
262         * Configurations/DebugRelease.xcconfig: Removed definitions specific to OS X versions
263           that are no longer supported.
264
265         * Configurations/PAL.xcconfig: Removed header search paths that do not exist or do not
266           make sense. Simplified the definitions of INSTALL_PATH and SKIP_INSTALL. Removed the
267           unusued build settings PRODUCT_BUNDLE_IDENTIFIER and
268           WK_PREFIXED_IPHONEOS_DEPLOYMENT_TARGET. Removed the redundant definition of
269           EXECUTABLE_PREFIX.
270
271         * PAL.xcodeproj/project.pbxproj: Sorted the Configurations group.