apps: allow empty attribute values with -subj
authorBenjamin Kaduk <bkaduk@akamai.com>
Thu, 4 Oct 2018 18:49:21 +0000 (13:49 -0500)
committerBen Kaduk <kaduk@mit.edu>
Mon, 15 Oct 2018 17:34:48 +0000 (12:34 -0500)
commit77078e6bbfa686dba00cf379f0c96bd2833133a6
treef7d4280ffb3c363ac1d452bd266aa4e0f3b58431
parent737a37f7f170121769875e8e6f5fe7389701dff8
apps: allow empty attribute values with -subj

Historically (i.e., OpenSSL 1.0.x), the openssl applications would
allow for empty subject attributes to be passed via the -subj argument,
e.g., `opensl req -subj '/CN=joe/O=/OU=local' ...`.  Commit
db4c08f0194d58c6192f0d8311bf3f20e251cf4f applied a badly needed rewrite
to the parse_name() helper function that parses these strings, but
in the process dropped a check that would skip attributes with no
associated value.  As a result, such strings are now treated as
hard errors and the operation fails.

Restore the check to skip empty attribute values and restore
the historical behavior.

Document the behavior for empty subject attribute values in the
corresponding applications' manual pages.

(cherry picked from commit 3d362f190306b62a17aa2fd475b2bc8b3faa8142)
(cherry picked from commit a7ee1ef61b1893038008691a4a6979cf2da91439)

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7368)
apps/apps.c
doc/apps/ca.pod
doc/apps/req.pod