public Whitelist(String filename) throws SQLException {
super(filename);
SqliteTable whitelist = getTable("whitelist", "(email)");
+ whitelist.createIndex("email");
SqliteTable pending = getTable("pending", "(spamid,email,message,date)");
pending.reap("date");
+ pending.createIndex("spamid");
+ pending.createIndex("email");
}
public boolean handleRequest(org.ibex.net.Connection c) {
"with Auto-Submitted=\""+m.headers.get("Auto-Submitted")+"\"");
return;
}
+ if (m.headers.get("List-Id") != null || m.headers.get("List-Post") != null) {
+ Log.warn(this, "refusing to send a challenge to a message with a List-Id or List-Post header");
+ return;
+ }
Address from = Address.parse("adam@megacz.com");
"\n" +
url+"\n" +
"\n" +
- "\n" +
+ "\n"
+ /*
"About this message:\n" +
"\n" +
"NOTE: SPAMCOP DOES NOT CONSIDER THIS TO BE SPAM; see this:\n"+
" \n"+
" For more information, please see:\n"+
" \n"+
- " http://www.templetons.com/brad/spam/crgood.html\n";
-
+ " http://www.templetons.com/brad/spam/crgood.html\n"
+ */
+ ;
Message challenge = Message.newMessage(new Fountain.StringFountain(message));
boolean send = false;
PreparedStatement add = conn.prepareStatement("insert into pending values(?,?,?,?)");
add.setString(1, messageid);
add.setString(2, to.toString(false));
- add.setString(3, streamToString(m.getStream()));
+ add.setString(3, SqliteDB.streamToString(m.getStream()));
add.setTimestamp(4, new Timestamp(System.currentTimeMillis()));
add.executeUpdate();
}
} catch (Exception e) { throw new RuntimeException(e); }
}
- private static String streamToString(Stream stream) throws Exception {
- StringBuffer b = new StringBuffer();
- for(String s = stream.readln(); s!=null; s=stream.readln())
- b.append(s+"\n");
- return b.toString();
- }
}