# HG changeset patch # User Carl Byington # Date 1395435346 25200 # Node ID bb69fdc3acaa6762be83bbc1b54c54132961f09f # Parent 6497944a9bd9172014b20e700fdce05b9245290f Unique ip connection limits only apply to authenticated connections diff -r 6497944a9bd9 -r bb69fdc3acaa configure.in --- a/configure.in Fri Mar 21 12:36:52 2014 -0700 +++ b/configure.in Fri Mar 21 13:55:46 2014 -0700 @@ -1,6 +1,6 @@ AC_PREREQ(2.59) -AC_INIT(dnsbl,6.40,carl@five-ten-sg.com) +AC_INIT(dnsbl,6.41,carl@five-ten-sg.com) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADER([config.h]) diff -r 6497944a9bd9 -r bb69fdc3acaa dnsbl.spec.in --- a/dnsbl.spec.in Fri Mar 21 12:36:52 2014 -0700 +++ b/dnsbl.spec.in Fri Mar 21 13:55:46 2014 -0700 @@ -103,6 +103,9 @@ %changelog +* Fri Mar 21 2014 Carl Byington - 6.41-1 +- Unique ip connection limits only apply to authenticated connections. + * Wed Feb 05 2014 Carl Byington - 6.40-1 - Fix possible segfault in mlfi_connect, hostaddr might be null. diff -r 6497944a9bd9 -r bb69fdc3acaa src/dnsbl.cpp --- a/src/dnsbl.cpp Fri Mar 21 12:36:52 2014 -0700 +++ b/src/dnsbl.cpp Fri Mar 21 13:55:46 2014 -0700 @@ -1203,15 +1203,14 @@ if (dccifd_port) { priv.dccifd = new DccInterface(dccifd_port, &priv, priv.ip, priv.helo, priv.mailaddr); } - const char *uid = (priv.authenticated) ? priv.authenticated : priv.mailaddr; - if (priv.authenticated || dc.default_context->is_unauthenticated_limited(priv.mailaddr)) { + if (priv.authenticated) { int hourly, daily; - add_auth_address(uid, hourly, daily, priv.ip); - int h_limit = dc.default_context->find_address_limit(uid); + add_auth_address(priv.authenticated, hourly, daily, priv.ip); + int h_limit = dc.default_context->find_address_limit(priv.authenticated); int d_limit = dc.default_context->get_daily_address_multiple() * h_limit; if (debug_syslog > 1) { char msg[maxlen]; - snprintf(msg, sizeof(msg), "connect for %s (%d %d addresses, %d %d limits)", uid, hourly, daily, h_limit, d_limit); + snprintf(msg, sizeof(msg), "connect for %s (%d %d addresses, %d %d limits)", priv.authenticated, hourly, daily, h_limit, d_limit); my_syslog(&priv, msg); } if ((hourly > h_limit) || (daily > d_limit)){