public class Main implements Listener {
- public void accept(Connection conn) {
+ public boolean accept(Connection conn) {
try {
if (conn.getLocalPort() == 143) new IMAP.Listener(auth).handleRequest(conn);
else if (conn.getLocalPort() == 25) new SMTP.Server().handleRequest(conn);
else if (conn.getLocalPort() == 8099) GMail.handleRequest(conn);
else if (conn.getLocalPort() == 8080) Jetty.instance().accept(conn);
else if (conn.getLocalPort() == 80) Jetty.instance().accept(conn);
+ else return false;
+ return true;
} finally {
conn.close();
}
import org.ibex.crypto.*;
import org.ibex.mail.protocol.*;
import org.ibex.jinetd.Listener;
-import org.ibex.jinetd.Worker;
import org.ibex.mail.*;
import org.ibex.util.*;
import org.ibex.net.*;
import org.ibex.io.*;
import org.ibex.crypto.*;
import org.ibex.jinetd.Listener;
-import org.ibex.jinetd.Worker;
import org.ibex.mail.*;
import org.ibex.util.*;
import org.ibex.mail.target.*;
// Single Session Handler //////////////////////////////////////////////////////////////////////////////
/** takes an IMAP.Server and exposes it to the world as an IMAP server on a TCP socket */
- public static class Listener implements Worker, Client {
+ public static class Listener implements Client {
String selectedName = null;
Mailbox inbox = null, root = null;
Server api;
import org.ibex.io.*;
import org.ibex.crypto.*;
import org.ibex.jinetd.Listener;
-import org.ibex.jinetd.Worker;
import org.ibex.mail.*;
import org.ibex.util.*;
import org.ibex.mail.target.*;
public String[] newnews(String[] groups, Date d, String[] distributions) { /* FIXME */ return null; }
}
- public static class Listener implements Worker {
+ public static class Listener {
private Server api = null;
private Login login;
private Connection conn;
public String[] uidl(); // FIXME, also needs message number
}
- public static class Listener implements Worker {
+ public static class Listener {
Server api = null;
public void handleRequest(Connection conn) {
conn.setTimeout(30 * 60 * 1000);
package org.ibex.mail.protocol;
import org.ibex.mail.*;
import org.ibex.mail.target.*;
-import org.ibex.jinetd.Worker;
import org.ibex.util.*;
import org.ibex.io.*;
import java.net.*;
// Server //////////////////////////////////////////////////////////////////////////////
- public static class Server implements Worker {
+ public static class Server {
public void handleRequest(Connection conn) {
conn.setTimeout(5 * 60 * 1000);
conn.setNewline("\r\n");