Fix -verify_return_error in s_client
authorMatt Caswell <matt@openssl.org>
Thu, 24 Jan 2019 12:21:39 +0000 (12:21 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 14 Feb 2019 17:18:36 +0000 (17:18 +0000)
commit9c931841e522943fc226a06947b9959be0d53551
treee19e159a84430455b30b0e06e30e67bf33bcd9b7
parent37857e9b5258da148e5d3699b6acdf8787417eb2
Fix -verify_return_error in s_client

The "verify_return_error" option in s_client is documented as:

 Return verification errors instead of continuing. This will typically
 abort the handshake with a fatal error.

In practice this option was ignored unless also accompanied with the
"-verify" option. It's unclear what the original intention was. One fix
could have been to change the documentation to match the actual behaviour.
However it seems unecessarily complex and unexpected that you should need
to have both options. Instead the fix implemented here is make the option
match the documentation so that "-verify" is not also required.

Note that s_server has a similar option where "-verify" (or "-Verify") is
still required. This makes more sense because those options additionally
request a certificate from the client. Without a certificate there is no
possibility of a verification failing, and so "-verify_return_error" doing
nothing seems ok.

Fixes #8079

Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/8080)

(cherry picked from commit 78021171dbcb05ddab1b5daffbfc62504ea709a4)
apps/s_cb.c
apps/s_client.c