line break
[org.ibex.mail.git] / src / org / ibex / mail / Whitelist.java
index 934963a..81e4b64 100644 (file)
@@ -12,17 +12,13 @@ import java.util.*;
 import java.sql.Timestamp;
 import java.sql.Connection;
 
-public class Whitelist extends SqliteTable {
-
-    public Whitelist(String filename) {
-        super(filename,
-              new String[] {
-                  "create table if not exists 'whitelist' (email)",
-                  "create table if not exists 'pending' (spamid,email,message,date)"
-              },
-              true,
-              "pending",
-              "date");
+public class Whitelist extends SqliteDB {
+
+    public Whitelist(String filename) throws SQLException {
+        super(filename);
+        SqliteTable whitelist = getTable("whitelist", "(email)");
+        SqliteTable pending   = getTable("pending",   "(spamid,email,message,date)");
+        pending.reap("date");
     }
 
     public boolean handleRequest(org.ibex.net.Connection c) {
@@ -43,6 +39,7 @@ public class Whitelist extends SqliteTable {
             } else {
                 url = url.substring("/whitelist/".length());
                 url = URLDecoder.decode(url);
+                if (url.endsWith(".txt")) url = url.substring(0, url.length()-4);
                 pw.print("HTTP/1.0 200 OK\r\n");
                 pw.print("Content-Type: text/plain\r\n");
                 pw.print("\r\n");
@@ -146,7 +143,7 @@ public class Whitelist extends SqliteTable {
             messageid = messageid.replace('%','_');
             Log.warn(Whitelist.class, "got challenge for: " + messageid);
 
-            String url = "http://www.megacz.com:8025/whitelist/"+URLEncoder.encode(messageid);
+            String url = "http://www.megacz.com:8025/whitelist/"+URLEncoder.encode(messageid)+".txt";
             String message =
                 "Return-Path: <>"                                     + "\r\n" +
                 "Envelope-To: "           + to                        + "\r\n" +