projects
/
org.ibex.mail.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f514104
)
add hack to deal with comcast pathetic retry policy
author
adam
<adam@megacz.com>
Sat, 1 Mar 2008 05:58:58 +0000
(
05:58
+0000)
committer
adam
<adam@megacz.com>
Sat, 1 Mar 2008 05:58:58 +0000
(
05:58
+0000)
darcs-hash:
20080301055858
-5007d-
10e6afff567f620e96d6f7cab94a867666f497f0
.gz
src/org/ibex/mail/Graylist.java
patch
|
blob
|
history
diff --git
a/src/org/ibex/mail/Graylist.java
b/src/org/ibex/mail/Graylist.java
index
a23581e
..
1f65dd4
100644
(file)
--- a/
src/org/ibex/mail/Graylist.java
+++ b/
src/org/ibex/mail/Graylist.java
@@
-37,7
+37,7
@@
public class Graylist extends SqliteDB {
try {
PreparedStatement check =
conn.prepareStatement("select date from graylist where ip=? and fromaddr=? and toaddr=?");
try {
PreparedStatement check =
conn.prepareStatement("select date from graylist where ip=? and fromaddr=? and toaddr=?");
- check.setString(1, ip.getHostAddress());
+ check.setString(1, graylistAddress(ip));
check.setString(2, from);
check.setString(3, to);
ResultSet rs = check.executeQuery();
check.setString(2, from);
check.setString(3, to);
ResultSet rs = check.executeQuery();
@@
-50,7
+50,7
@@
public class Graylist extends SqliteDB {
try {
PreparedStatement check =
conn.prepareStatement("insert or replace into graylist (ip,fromaddr,toaddr,date) values(?,?,?,?)");
try {
PreparedStatement check =
conn.prepareStatement("insert or replace into graylist (ip,fromaddr,toaddr,date) values(?,?,?,?)");
- check.setString(1, ip.getHostAddress());
+ check.setString(1, graylistAddress(ip));
check.setString(2, from);
check.setString(3, to);
check.setTimestamp(4, new Timestamp(date));
check.setString(2, from);
check.setString(3, to);
check.setTimestamp(4, new Timestamp(date));
@@
-58,5
+58,19
@@
public class Graylist extends SqliteDB {
} catch (SQLException e) { throw new RuntimeException(e); }
}
} catch (SQLException e) { throw new RuntimeException(e); }
}
+ //
+ // this is mostly to deal with comcast's pathetic retry policy and
+ // rotating pool of outbound servers
+ // see: http://lists.puremagic.com/pipermail/greylist-users/2006-November/001255.html
+ //
+ private static String graylistAddress(InetAddress ipa) {
+ byte[] ip = ipa.getAddress();
+ return
+ (ip[0] & 0xff)+"."+
+ (ip[1] & 0xff)+"."+
+ (ip[2] & 0xff)+"."+
+ ".0";
+ }
+
}
}