diff options
author | vsevolod <vsevolod@FreeBSD.org> | 2017-06-22 06:17:34 +0800 |
---|---|---|
committer | vsevolod <vsevolod@FreeBSD.org> | 2017-06-22 06:17:34 +0800 |
commit | b2c2fcc768071126238f697723051256aac7e4ed (patch) | |
tree | cba87fd6622916d45fdbc2be9e225e3467833527 /mail/exim | |
parent | f65e1c04c4e5b90ddb591a0e899d4dc204058568 (diff) | |
download | freebsd-ports-gnome-b2c2fcc768071126238f697723051256aac7e4ed.tar.gz freebsd-ports-gnome-b2c2fcc768071126238f697723051256aac7e4ed.tar.zst freebsd-ports-gnome-b2c2fcc768071126238f697723051256aac7e4ed.zip |
- Add workaround for CVE-2017-1000369
MFH: 2017Q2
Diffstat (limited to 'mail/exim')
-rw-r--r-- | mail/exim/Makefile | 1 | ||||
-rw-r--r-- | mail/exim/files/patch-CVE-2017-1000369 | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/mail/exim/Makefile b/mail/exim/Makefile index 42ab08e61947..d9e6f0c7611e 100644 --- a/mail/exim/Makefile +++ b/mail/exim/Makefile @@ -3,6 +3,7 @@ PORTNAME= exim PORTVERSION?= ${EXIM_VERSION} +PORTREVISION= 1 CATEGORIES= mail ipv6 MASTER_SITES= EXIM:exim MASTER_SITE_SUBDIR= /exim4/:exim \ diff --git a/mail/exim/files/patch-CVE-2017-1000369 b/mail/exim/files/patch-CVE-2017-1000369 new file mode 100644 index 000000000000..77bbb25ed818 --- /dev/null +++ b/mail/exim/files/patch-CVE-2017-1000369 @@ -0,0 +1,37 @@ +diff --git a/src/src/exim.c b/src/src/exim.c +index 67583e58..88e11977 100644 +--- src/exim.c ++++ src/exim.c +@@ -3106,7 +3106,14 @@ for (i = 1; i < argc; i++) + + /* -oMr: Received protocol */ + +- else if (Ustrcmp(argrest, "Mr") == 0) received_protocol = argv[++i]; ++ else if (Ustrcmp(argrest, "Mr") == 0) ++ ++ if (received_protocol) ++ { ++ fprintf(stderr, "received_protocol is set already\n"); ++ exit(EXIT_FAILURE); ++ } ++ else received_protocol = argv[++i]; + + /* -oMs: Set sender host name */ + +@@ -3202,7 +3209,15 @@ for (i = 1; i < argc; i++) + + if (*argrest != 0) + { +- uschar *hn = Ustrchr(argrest, ':'); ++ uschar *hn; ++ ++ if (received_protocol) ++ { ++ fprintf(stderr, "received_protocol is set already\n"); ++ exit(EXIT_FAILURE); ++ } ++ ++ hn = Ustrchr(argrest, ':'); + if (hn == NULL) + { + received_protocol = argrest; |