On svn-auth-x509 branch, Add support for determing all the hostnames the
cert can match.  This includes the Subject Alternate Name dNSNames.

* subversion/include/svn_x509.h
  (SVN_X509_CERTINFO_KEY_HOSTNAMES): New constant.

* subversion/libsvn_subr/x509.h
  (OID_SUBJECT_ALT_NAME): New constant.
  (x509_cert): Add dnsnames member.

* subversion/libsvn_subr/x509parse.c
  (x509_skip_ext): Rename to ...
  (x509_get_ext): and actually parse the extensions, pulling out the
    dNSNames Subject Alternate Names.
  (is_hostname, x509parse_get_hostnames): New functions.
  (svn_x509_parse_cert): Use the new functions to retrieve the hostnames
    that apply to the certificate and add them as a comma+space separated
    string in the new SVN_X509_CERTINFO_KEY_HOSTNAMES hash entry.

* subversion/svn/auth-cmd.c
  (show_cert): Display the hostnames parsed out of the certificate if there
    are any.
  (list_credential): Stop printing the hostname saved by the old style code.

* subversion/tests/libsvn_subr/x509-test.c
  (x509_test): Add the hostnames member.
  (cert_tests): Add hostnames members for the existing tests and add new
    test entries for some Subject Alt Name certificates.
  (compare_results): Test the SVN_X509_CERTINFO_KEY_HOSTNAMES key.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/svn-auth-x509@1613529 13f79535-47bb-0310-9956-ffa450edef68