]> granicus.if.org Git - postgresql/commit
Support Subject Alternative Names in SSL server certificates.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 12 Sep 2014 14:12:11 +0000 (17:12 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 12 Sep 2014 14:17:05 +0000 (17:17 +0300)
commitacd08d764a361dcebd346227281ff0ca62b60936
tree7061cbd18b063731d13646ca32ae4d9b39a4f78e
parent774a78ffe47557313d69c2b27e7d61480a3b9d1f
Support Subject Alternative Names in SSL server certificates.

This patch makes libpq check the server's hostname against DNS names listed
in the X509 subjectAltName extension field in the server certificate. This
allows the same certificate to be used for multiple domain names. If there
are no SANs in the certificate, the Common Name field is used, like before
this patch. If both are given, the Common Name is ignored. That is a bit
surprising, but that's the behavior mandated by the relevant RFCs, and it's
also what the common web browsers do.

This also adds a libpq_ngettext helper macro to allow plural messages to be
translated in libpq. Apparently this happened to be the first plural message
in libpq, so it was not needed before.

Alexey Klyukin, with some kibitzing by me.
src/interfaces/libpq/fe-misc.c
src/interfaces/libpq/fe-secure-openssl.c
src/interfaces/libpq/libpq-int.h