]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/email/TestEmailProvider.java
Add two "details" lines
[gigi.git] / src / org / cacert / gigi / email / TestEmailProvider.java
index e37e802a079e9f69f22f0aaa5c9ea191ffb6208f..009ecf930c134c508264dcd6ea8a503b6dfe7569 100644 (file)
@@ -1,5 +1,6 @@
 package org.cacert.gigi.email;
 
+import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.net.InetAddress;
@@ -11,6 +12,7 @@ class TestEmailProvider extends EmailProvider {
        ServerSocket servs;
        Socket client;
        DataOutputStream out;
+       DataInputStream in;
        protected TestEmailProvider(Properties props) {
                try {
                        servs = new ServerSocket(Integer.parseInt(props
@@ -26,11 +28,9 @@ class TestEmailProvider extends EmailProvider {
                        String fromname, String errorsto, boolean extra) throws IOException {
                boolean sent = false;
                while (!sent) {
-                       if (client == null || client.isClosed()) {
-                               client = servs.accept();
-                               out = new DataOutputStream(client.getOutputStream());
-                       }
+                       assureLocalConnection();
                        try {
+                               out.writeUTF("mail");
                                write(to);
                                write(subject);
                                write(message);
@@ -43,6 +43,22 @@ class TestEmailProvider extends EmailProvider {
                        }
                }
        }
+       private void assureLocalConnection() throws IOException {
+               if (client == null || client.isClosed()) {
+                       client = servs.accept();
+                       out = new DataOutputStream(client.getOutputStream());
+                       in = new DataInputStream(client.getInputStream());
+               }
+       }
+       @Override
+       public String checkEmailServer(int forUid, String address)
+                       throws IOException {
+               assureLocalConnection();
+               out.writeUTF("challengeAddrBox");
+               out.writeUTF(address);
+               return in.readUTF();
+       }
+
        private void write(String to) throws IOException {
                if (to == null) {
                        out.writeUTF("<null>");