From 78ca6d0a7c43715be44bf953da7f68f4d0827006 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Mon, 29 Mar 2021 16:52:17 +0200 Subject: fetchmail.c: LMTP don't validate "port" on UNIX-domain sockets (those with a file path). Closes: #33 --- NEWS | 7 +++++++ fetchmail.c | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index a7b38dbb..47ff1a6c 100644 --- a/NEWS +++ b/NEWS @@ -81,6 +81,13 @@ removed from a 6.5.0 or newer release.) messages. This will not be fixed, because the maintainer has no Kerberos 5 server to test against. Use GSSAPI. +-------------------------------------------------------------------------------- +fetchmail-6.4.19: + +# BUG FIX: +* LMTP: do not try to validate the last component of a UNIX-domain LMTP socket + as though it were a TCP port. Reported by Christoph Heitkamp, Gitlab issue #33. + -------------------------------------------------------------------------------- fetchmail-6.4.18 (released 2021-03-27, 30011 LoC): diff --git a/fetchmail.c b/fetchmail.c index 9644aea0..a345e2fa 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -1421,9 +1421,10 @@ static int load_params(int argc, char **argv, int optind) { char *cp; - if (!(cp = strrchr(idp->id, '/')) - || (0 == strcmp(cp + 1, SMTP_PORT)) - || servport(cp + 1) == SMTP_PORT_NUM) + if ((idp->id[0] != '/') /* do not port-check UNIX paths */ && + (!(cp = strrchr(idp->id, '/')) + || (0 == strcmp(cp + 1, SMTP_PORT)) + || servport(cp + 1) == SMTP_PORT_NUM)) { (void) fprintf(stderr, GT_("%s configuration invalid, LMTP can't use default SMTP port\n"), -- cgit v1.2.3