annotate LICENSE @ 1571:1b4ceab9cb1c

Tests: fixed ssl_certificate.t with LibreSSL client. Net::SSLeay::connect() that manages TLS handshake could return unexpected error when receiving server alert, as seen in server certificate tests if it could not been selected. Typically, it returns the expected error -1, but with certain libssl implementations it can be 0, as explained below. The error is propagated from libssl's SSL_connect(), which is usually -1. In modern OpenSSL versions, it is the default error code used in the state machine returned when something went wrong with parsing TLS message header. In versions up to OpenSSL 1.0.2, with SSLv23_method() used by default, -1 is the only error code in the ssl_connect() method implementation which is used as well if receiving alert while parsing ServerHello. BoringSSL also seems to return -1. But it is not so with LibreSSL that returns zero. Previously, tests failed with client built with LibreSSL with SSLv3 removed. Here, the error is propagated directly from ssl_read_bytes() method, which is always implemented as ssl3_read_bytes() in all TLS methods. It could be also seen with OpenSSL up to 1.0.2 with non-default methods explicitly set.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 29 May 2020 23:10:20 +0300
parents abfde9ce9e62
children 374722806924
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 /*
156
abfde9ce9e62 Tests: bump copyright year.
Maxim Dounin <mdounin@mdounin.ru>
parents: 132
diff changeset
2 * Copyright (C) 2008-2011 Maxim Dounin
10
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 *
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4 * Redistribution and use in source and binary forms, with or without
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 * modification, are permitted provided that the following conditions
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 * are met:
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 * 1. Redistributions of source code must retain the above copyright
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8 * notice, this list of conditions and the following disclaimer.
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9 * 2. Redistributions in binary form must reproduce the above copyright
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 * notice, this list of conditions and the following disclaimer in the
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 * documentation and/or other materials provided with the distribution.
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12 *
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13 * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23 * SUCH DAMAGE.
6d6776623948 Add some basic docs and license information.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 */