aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2010-08-27 20:59:54 +0200
committerMatthias Andree <matthias.andree@gmx.de>2010-08-27 21:10:43 +0200
commit0fc373e3e6c2a4016bdf2467eba2d59c920158e1 (patch)
tree5f3b5dcc0135dc12466328ce44a9cfe9df916f5a
parent121bfdf03f639a0979d340f60880038fafc739b0 (diff)
downloadfetchmail-0fc373e3e6c2a4016bdf2467eba2d59c920158e1.tar.gz
fetchmail-0fc373e3e6c2a4016bdf2467eba2d59c920158e1.tar.bz2
fetchmail-0fc373e3e6c2a4016bdf2467eba2d59c920158e1.zip
Require that X.509 wildcards start with "*.",
rather than just "*", to make abuse harder.
-rw-r--r--NEWS3
-rw-r--r--socket.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 81b2ee3c..9f429a22 100644
--- a/NEWS
+++ b/NEWS
@@ -78,6 +78,9 @@ fetchmail-6.3.18 (not yet released):
credentials. This avoids getting servers such as Exchange 2007 wedged if
GSSAPI authentication fails. Reported by Patrick Rynhart, Debian Bug #568455,
and Alan Murrell, to the fetchmail-users list.
+* Fetchmail now only accepts wildcard certificate common names and subject
+ alternative names if they start with "*.". Previous versions would accept
+ wildcards even if no period followed immediately.
# CHANGES
* When encountering incorrect headers, fetchmail will refer to the bad-header
diff --git a/socket.c b/socket.c
index 39bf2c2c..59b0112e 100644
--- a/socket.c
+++ b/socket.c
@@ -600,7 +600,7 @@ SSL *SSLGetContext( int sock )
* The only place where a wildcard is allowed is in the leftmost
* position of p1. */
static int name_match(const char *p1, const char *p2) {
- if (p1[0] == '*') {
+ if (p1[0] == '*' && p1[1] == '.') {
size_t l1, l2;
++p1;