aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2021-03-29 16:52:17 +0200
committerMatthias Andree <matthias.andree@gmx.de>2021-03-29 16:55:01 +0200
commit78ca6d0a7c43715be44bf953da7f68f4d0827006 (patch)
tree3a51dabb29eeb67431cbb96da7bf6ccbd5ed9008
parenta7917f7d66b7fc781770ba7fd7d09b07d0f920f8 (diff)
downloadfetchmail-78ca6d0a7c43715be44bf953da7f68f4d0827006.tar.gz
fetchmail-78ca6d0a7c43715be44bf953da7f68f4d0827006.tar.bz2
fetchmail-78ca6d0a7c43715be44bf953da7f68f4d0827006.zip
fetchmail.c: LMTP don't validate "port" on UNIX-domain sockets
(those with a file path). Closes: #33
-rw-r--r--NEWS7
-rw-r--r--fetchmail.c7
2 files changed, 11 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index a7b38dbb..47ff1a6c 100644
--- a/NEWS
+++ b/NEWS
@@ -82,6 +82,13 @@ removed from a 6.5.0 or newer release.)
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):
# REGRESSION FIX:
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"),