summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schlichting <heiko@fu-berlin.de>2021-02-19 11:14:36 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2021-02-19 11:53:16 +0000
commit83811e3c1b8189c0a725ec53df699730e7767263 (patch)
treef1b02fa38f2114120241e4e0545aa461df5e4adc
parent6296a393aeab9fecc38916dfcbf1c94d54691650 (diff)
Fix weight calculation for socks_proxy. Bug 2694
-rw-r--r--doc/doc-txt/ChangeLog4
-rw-r--r--src/src/transports/smtp_socks.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 59fb46ad2..2c17877ab 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -204,8 +204,8 @@ JH/42 Bug 2693: Harden against a peer which reneges on a 452 "too many
would result in both lost and duplicate recipients for a message.
JH/43 Bug 2694: Fix weighted distribution of work to multiple spamd servers.
- Previously the weighting was incorrectly applied. Found and fixed by
- Heiko Schlichting.
+ Previously the weighting was incorrectly applied. Similar fix for socks
+ proxies. Found and fixed by Heiko Schlichting.
Exim version 4.94
diff --git a/src/src/transports/smtp_socks.c b/src/src/transports/smtp_socks.c
index 41dc78147..cd8ed3e6d 100644
--- a/src/src/transports/smtp_socks.c
+++ b/src/src/transports/smtp_socks.c
@@ -190,7 +190,7 @@ for (rnd = random() % weights, i = 0; i < nproxies; i++)
{
sd = &proxies[i];
if (!sd->is_failed && sd->priority == pri)
- if ((rnd -= sd->weight) <= 0)
+ if ((rnd -= sd->weight) < 0)
return i;
}