~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to lib/ssl/doc/src/notes.xml

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
<chapter>
5
5
  <header>
6
6
    <copyright>
7
 
      <year>1999</year><year>2009</year>
 
7
      <year>1999</year><year>2011</year>
8
8
      <holder>Ericsson AB. All Rights Reserved.</holder>
9
9
    </copyright>
10
10
    <legalnotice>
13
13
      compliance with the License. You should have received a copy of the
14
14
      Erlang Public License along with this software. If not, it can be
15
15
      retrieved online at http://www.erlang.org/.
16
 
    
 
16
 
17
17
      Software distributed under the License is distributed on an "AS IS"
18
18
      basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
19
19
      the License for the specific language governing rights and limitations
20
20
      under the License.
21
 
    
 
21
 
22
22
    </legalnotice>
23
23
 
24
24
    <title>SSL Release Notes</title>
31
31
  <p>This document describes the changes made to the SSL application.
32
32
    </p>
33
33
 
 
34
    <section><title>SSL 4.1.4</title>
 
35
 
 
36
    <section><title>Improvements and New Features</title>
 
37
      <list>
 
38
        <item>
 
39
          <p>
 
40
            Reduced memory footprint of an ssl connection.</p>
 
41
          <p>
 
42
            Handshake hashes, premaster secret and "public_key_info"
 
43
            does not need to be saved when the connection has been
 
44
            established. The own certificate is no longer duplicated
 
45
            in the state.</p>
 
46
          <p>
 
47
            Own Id: OTP-9021</p>
 
48
        </item>
 
49
        <item>
 
50
          <p>
 
51
            Add the option {hibernate_after, int()} to ssl:connect
 
52
            and ssl:listen</p>
 
53
          <p>
 
54
            Own Id: OTP-9106</p>
 
55
        </item>
 
56
      </list>
 
57
    </section>
 
58
 
 
59
</section>
 
60
 
 
61
<section><title>SSL 4.1.3</title>
 
62
 
 
63
    <section><title>Fixed Bugs and Malfunctions</title>
 
64
      <list>
 
65
        <item>
 
66
          <p>
 
67
            Fixed error in cache-handling fix from ssl-4.1.2</p>
 
68
          <p>
 
69
            Own Id: OTP-9018 Aux Id: seq11739 </p>
 
70
        </item>
 
71
        <item>
 
72
          <p>
 
73
            Verification of a critical extended_key_usage-extension
 
74
            corrected</p>
 
75
          <p>
 
76
            Own Id: OTP-9029 Aux Id: seq11541 </p>
 
77
        </item>
 
78
      </list>
 
79
    </section>
 
80
 
 
81
</section>
 
82
 
 
83
<section><title>SSL 4.1.2</title>
 
84
 
 
85
    <section><title>Fixed Bugs and Malfunctions</title>
 
86
      <list>
 
87
        <item>
 
88
          <p>
 
89
            The ssl application caches certificate files, it will now
 
90
            invalidate cache entries if the diskfile is changed.</p>
 
91
          <p>
 
92
            Own Id: OTP-8965 Aux Id: seq11739 </p>
 
93
        </item>
 
94
        <item>
 
95
          <p>
 
96
            Now runs the terminate function before returning from the
 
97
            call made by ssl:close/1, as before the caller of
 
98
            ssl:close/1 could get problems with the reuseaddr option.</p>
 
99
          <p>
 
100
            Own Id: OTP-8992</p>
 
101
        </item>
 
102
      </list>
 
103
    </section>
 
104
 
 
105
</section>
 
106
 
 
107
<section><title>SSL 4.1.1</title>
 
108
 
 
109
    <section><title>Fixed Bugs and Malfunctions</title>
 
110
      <list>
 
111
        <item>
 
112
          <p>
 
113
            Correct handling of client certificate verify message
 
114
            When checking the client certificate verify message the
 
115
            server used the wrong algorithm identifier to determine
 
116
            the signing algorithm, causing a function clause error in
 
117
            the public_key application when the key-exchange
 
118
            algorithm and the public key algorithm of the client
 
119
            certificate happen to differ.</p>
 
120
          <p>
 
121
            Own Id: OTP-8897</p>
 
122
        </item>
 
123
      </list>
 
124
    </section>
 
125
 
 
126
 
 
127
    <section><title>Improvements and New Features</title>
 
128
      <list>
 
129
        <item>
 
130
          <p>
 
131
            For testing purposes ssl now also support some anonymous
 
132
            cipher suites when explicitly configured to do so.</p>
 
133
          <p>
 
134
            Own Id: OTP-8870</p>
 
135
        </item>
 
136
        <item>
 
137
          <p>
 
138
            Sends an error alert instead of crashing if a crypto
 
139
            function for the selected cipher suite fails.</p>
 
140
          <p>
 
141
            Own Id: OTP-8930 Aux Id: seq11720 </p>
 
142
        </item>
 
143
      </list>
 
144
    </section>
 
145
 
 
146
</section>
 
147
 
 
148
<section><title>SSL 4.1</title>
 
149
 
 
150
    <section><title>Improvements and New Features</title>
 
151
      <list>
 
152
        <item>
 
153
          <p>
 
154
            Updated ssl to ignore CA certs that violate the asn1-spec
 
155
            for a certificate, and updated public key asn1 spec to
 
156
            handle inherited DSS-params.</p>
 
157
          <p>
 
158
            Own Id: OTP-7884</p>
 
159
        </item>
 
160
        <item>
 
161
          <p>
 
162
            Changed ssl implementation to retain backwards
 
163
            compatibility for old option {verify, 0} that shall be
 
164
            equivalent to {verify, verify_none}, also separate the
 
165
            cases unknown ca and selfsigned peer cert, and restored
 
166
            return value of deprecated function
 
167
            public_key:pem_to_der/1.</p>
 
168
          <p>
 
169
            Own Id: OTP-8858</p>
 
170
        </item>
 
171
        <item>
 
172
          <p>
 
173
            Changed the verify fun so that it differentiate between
 
174
            the peer certificate and CA certificates by using
 
175
            valid_peer or valid as the second argument to the verify
 
176
            fun. It may not always be trivial or even possible to
 
177
            know when the peer certificate is reached otherwise.</p>
 
178
          <p>
 
179
            *** POTENTIAL INCOMPATIBILITY ***</p>
 
180
          <p>
 
181
            Own Id: OTP-8873</p>
 
182
        </item>
 
183
      </list>
 
184
    </section>
 
185
 
 
186
</section>
 
187
 
 
188
<section><title>SSL 4.0.1</title>
 
189
 
 
190
    <section><title>Fixed Bugs and Malfunctions</title>
 
191
      <list>
 
192
        <item>
 
193
          <p>
 
194
            The server now verifies the client certificate verify
 
195
            message correctly, instead of causing a case-clause.</p>
 
196
          <p>
 
197
            Own Id: OTP-8721</p>
 
198
        </item>
 
199
        <item>
 
200
          <p>
 
201
            The client hello message now always include ALL available
 
202
            cipher suites (or those specified by the ciphers option).
 
203
            Previous implementation would filter them based on the
 
204
            client certificate key usage extension (such filtering
 
205
            only makes sense for the server certificate).</p>
 
206
          <p>
 
207
            Own Id: OTP-8772</p>
 
208
        </item>
 
209
        <item>
 
210
          <p>
 
211
            Fixed handling of the option {mode, list} that was broken
 
212
            for some packet types for instance line.</p>
 
213
          <p>
 
214
            Own Id: OTP-8785</p>
 
215
        </item>
 
216
        <item>
 
217
          <p>
 
218
            Empty packets were not delivered to the client.</p>
 
219
          <p>
 
220
            Own Id: OTP-8790</p>
 
221
        </item>
 
222
        <item>
 
223
            <p> Building in a source tree without prebuilt platform
 
224
            independent build results failed on the SSL examples
 
225
            when: </p> <list><item> cross building. This has been
 
226
            solved by not building the SSL examples during a cross
 
227
            build. </item><item> building on Windows. </item></list>
 
228
          <p>
 
229
            Own Id: OTP-8791</p>
 
230
        </item>
 
231
        <item>
 
232
          <p>
 
233
            Fixed a handshake error which occurred on some ssl
 
234
            implementations.</p>
 
235
          <p>
 
236
            Own Id: OTP-8793</p>
 
237
        </item>
 
238
      </list>
 
239
    </section>
 
240
 
 
241
 
 
242
    <section><title>Improvements and New Features</title>
 
243
      <list>
 
244
        <item>
 
245
          <p>
 
246
            Revise the public_key API - Cleaned up and documented the
 
247
            public_key API to make it useful for general use, also
 
248
            changed ssl to use the new API.</p>
 
249
          <p>
 
250
            Own Id: OTP-8722</p>
 
251
        </item>
 
252
        <item>
 
253
          <p>
 
254
            Added support for inputing certificates and keys directly
 
255
            in DER format these options will override the pem-file
 
256
            options if specified.</p>
 
257
          <p>
 
258
            Own Id: OTP-8723</p>
 
259
        </item>
 
260
        <item>
 
261
          <p>
 
262
            To gain interoperability ssl will not check for padding
 
263
            errors when using TLS 1.0. It is first in TLS 1.1 that
 
264
            checking the padding is an requirement.</p>
 
265
          <p>
 
266
            Own Id: OTP-8740</p>
 
267
        </item>
 
268
        <item>
 
269
          <p>
 
270
            Changed the semantics of the verify_fun option in the
 
271
            ssl-application so that it takes care of both application
 
272
            handling of path validation errors and verification of
 
273
            application specific extensions. This means that it is
 
274
            now possible for the server application in verify_peer
 
275
            mode to handle path validation errors. This change moved
 
276
            some functionality earlier in ssl to the public_key
 
277
            application.</p>
 
278
          <p>
 
279
            Own Id: OTP-8770</p>
 
280
        </item>
 
281
        <item>
 
282
          <p>
 
283
            Added the functionality so that the verification fun will
 
284
            be called when a certificate is considered valid by the
 
285
            path validation to allow access to each certificate in
 
286
            the path to the user application. Also try to verify
 
287
            subject-AltName, if unable to verify it let the
 
288
            application verify it.</p>
 
289
          <p>
 
290
            Own Id: OTP-8825</p>
 
291
        </item>
 
292
      </list>
 
293
    </section>
 
294
 
 
295
</section>
 
296
 
 
297
<section><title>SSL 4.0</title>
 
298
    
 
299
    <section><title>Improvements and New Features</title>
 
300
    <list>
 
301
      <item>
 
302
        <p>
 
303
          New ssl now support client/server-certificates signed by
 
304
        dsa keys.</p>
 
305
        <p>
 
306
        Own Id: OTP-8587</p>
 
307
      </item>
 
308
      <item>
 
309
        <p>
 
310
          Ssl has now switched default implementation and removed
 
311
          deprecated certificate handling. All certificate handling
 
312
        is done by the public_key application.</p>
 
313
        <p>
 
314
        Own Id: OTP-8695</p>
 
315
      </item>
 
316
    </list>
 
317
    </section>
 
318
    
 
319
    </section>
 
320
 
 
321
    
 
322
    <section><title>SSL 3.11.1</title>
 
323
    
 
324
    <section><title>Fixed Bugs and Malfunctions</title>
 
325
    <list>
 
326
      <item>
 
327
          <p>
 
328
            Fixed handling of several ssl/tls packets arriving at the
 
329
            same time. This was broken during a refactoring of the
 
330
            code.</p>
 
331
            <p>
 
332
            Own Id: OTP-8679</p>
 
333
      </item>
 
334
      </list>
 
335
    </section>
 
336
    
 
337
 
 
338
    <section><title>Improvements and New Features</title>
 
339
    <list>
 
340
        <item>
 
341
          <p>
 
342
            Added missing checks for padding and Mac value. Removed
 
343
            code for export ciphers and DH certificates as we decided
 
344
            not to support them.</p>
 
345
          <p>
 
346
            Own Id: OTP-7047</p>
 
347
        </item>
 
348
        <item>
 
349
          <p>
 
350
            New ssl will no longer return esslerrssl to be backwards
 
351
            compatible with old ssl as this hids infomation from the
 
352
            user. format_error/1 has been updated to support new ssl.</p>
 
353
          <p>
 
354
            *** POTENTIAL INCOMPATIBILITY ***</p>
 
355
          <p>
 
356
            Own Id: OTP-7049</p>
 
357
        </item>
 
358
        <item>
 
359
          <p>
 
360
            New ssl now supports secure renegotiation as described by
 
361
            RFC 5746.</p>
 
362
          <p>
 
363
            Own Id: OTP-8568</p>
 
364
        </item>
 
365
        <item>
 
366
          <p>
 
367
            Alert handling has been improved to better handle
 
368
            unexpected but valid messages and the implementation is
 
369
            also changed to avoid timing related issues that could
 
370
            cause different error messages depending on network
 
371
            latency. Packet handling was sort of broken but would
 
372
            mostly work as expected when socket was in binary mode.
 
373
            This has now been fixed.</p>
 
374
          <p>
 
375
            Own Id: OTP-8588</p>
 
376
        </item>
 
377
      </list>
 
378
    </section>
 
379
    
 
380
</section>
 
381
    
 
382
<section><title>SSL 3.11</title>
 
383
 
 
384
    <section><title>Fixed Bugs and Malfunctions</title>
 
385
      <list>
 
386
        <item>
 
387
          <p>
 
388
            Fixes handling of the option fail_if_no_peer_cert and
 
389
            some undocumented options. Thanks to Rory Byrne.</p>
 
390
          <p>
 
391
            Own Id: OTP-8557</p>
 
392
        </item>
 
393
      </list>
 
394
    </section>
 
395
 
 
396
    <section><title>Improvements and New Features</title>
 
397
      <list>
 
398
        <item>
 
399
          <p>
 
400
            Support for Diffie-Hellman. ssl-3.11 requires
 
401
            public_key-0.6.</p>
 
402
          <p>
 
403
            Own Id: OTP-7046</p>
 
404
        </item>
 
405
        <item>
 
406
          <p>
 
407
            New ssl now properly handles ssl renegotiation, and
 
408
            initiates a renegotiation if ssl/ltls-sequence numbers
 
409
            comes close to the max value. However RFC-5746 is not yet
 
410
            supported, but will be in an upcoming release.</p>
 
411
          <p>
 
412
            Own Id: OTP-8517</p>
 
413
        </item>
 
414
        <item>
 
415
          <p>
 
416
            When gen_tcp is configured with the {packet,http} option,
 
417
            it automatically switches to expect HTTP Headers after a
 
418
            HTTP Request/Response line has been received. This update
 
419
            fixes ssl to behave in the same way. Thanks to Rory
 
420
            Byrne.</p>
 
421
          <p>
 
422
            Own Id: OTP-8545</p>
 
423
        </item>
 
424
        <item>
 
425
          <p>
 
426
            Ssl now correctly verifies the extended_key_usage
 
427
            extension and also allows the user to verify application
 
428
            specific extensions by supplying an appropriate fun.</p>
 
429
          <p>
 
430
            Own Id: OTP-8554 Aux Id: OTP-8553 </p>
 
431
        </item>
 
432
        <item>
 
433
          <p>
 
434
            Fixed ssl:transport_accept/2 to return properly when
 
435
            socket is closed. Thanks to Rory Byrne.</p>
 
436
          <p>
 
437
            Own Id: OTP-8560</p>
 
438
        </item>
 
439
      </list>
 
440
    </section>
 
441
 
 
442
</section>
 
443
 
 
444
<section><title>SSL 3.10.9</title>
 
445
 
 
446
    <section><title>Fixed Bugs and Malfunctions</title>
 
447
      <list>
 
448
        <item>
 
449
          <p>
 
450
            Fixed a crash in the certificate certification part.</p>
 
451
          <p>
 
452
            Own Id: OTP-8510 Aux Id: seq11525 </p>
 
453
        </item>
 
454
      </list>
 
455
    </section>
 
456
 
 
457
</section>
 
458
 
 
459
<section><title>SSL 3.10.8</title>
 
460
 
 
461
    <section><title>Fixed Bugs and Malfunctions</title>
 
462
      <list>
 
463
        <item>
 
464
            <p><c>ssl:send/2</c> ignored packet option, fix provided
 
465
            by YAMASHINA Hio.</p>
 
466
            <p>Fixed a file cache bug which caused problems when the
 
467
            same file was used for both cert and cacert.</p>
 
468
            <p>Allow <c>ssl:listen/2</c> to be called with option
 
469
            {ssl_imp, old}.</p>
 
470
            <p> Fixed ssl:setopts(Socket, binary) which didn't work
 
471
            for 'new' ssl.</p>.
 
472
          <p>
 
473
            Own Id: OTP-8441</p>
 
474
        </item>
 
475
        <item>
 
476
          <p>
 
477
            Do a controlled shutdown if a non ssl packet arrives as
 
478
            the first packet.</p>
 
479
          <p>
 
480
            Own Id: OTP-8459 Aux Id: seq11505 </p>
 
481
        </item>
 
482
      </list>
 
483
    </section>
 
484
 
 
485
 
 
486
    <section><title>Improvements and New Features</title>
 
487
      <list>
 
488
        <item>
 
489
            <p>Fixed session reuse (in new_ssl), thanks Wil Tan.</p>
 
490
            <p>Send CA list during Certificate Request (in new_ssl) ,
 
491
            thanks Wil Tan.</p> <p><c>NOTE</c>: SSL (new_ssl)
 
492
            requires public_key-0.5.</p>
 
493
          <p>
 
494
            Own Id: OTP-8372</p>
 
495
        </item>
 
496
      </list>
 
497
    </section>
 
498
 
 
499
</section>
 
500
 
34
501
<section><title>SSL 3.10.7</title>
35
502
 
36
503
    <section><title>Fixed Bugs and Malfunctions</title>
615
1082
      <title>Fixed Bugs and Malfunctions</title>
616
1083
      <list type="bulleted">
617
1084
        <item>
618
 
          <p>When a file descriptor was marked for closing, and and
 
1085
          <p>When a file descriptor was marked for closing, and
619
1086
            end-of-file condition had already been detected, the file
620
1087
            descriptor was never closed.</p>
621
1088
          <p>Own Id: OTP-5093 Aux Id: seq8806 </p>