From: Felix Dörre Date: Fri, 5 Aug 2016 20:12:11 +0000 (+0200) Subject: Merge changes I8f2dfb5e,Ife185cda,I79a10fa7,Ib764cc42,I76efe755, ... X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=a32ac88a108c3e48ee082bf278440ccd1a1c63f9;hp=ca9cb522b1d7d3b7ab56f2eaa8b89601cd2764f2 Merge changes I8f2dfb5e,Ife185cda,I79a10fa7,Ib764cc42,I76efe755, ... * changes: del: unused old css file upd: rename main css file more neutrally upd: format main css file upd: add minimal spacing to points summary table upd: rename "My Points" to "Points" for consistency with support view. add: new test cases for supporter view to points add: support should be able to see verifications of user --- diff --git a/src/org/cacert/gigi/api/FindAgent.java b/src/org/cacert/gigi/api/FindAgent.java index bca3a127..e64326b3 100644 --- a/src/org/cacert/gigi/api/FindAgent.java +++ b/src/org/cacert/gigi/api/FindAgent.java @@ -99,7 +99,7 @@ public class FindAgent extends APIPoint { return; } - EmailProvider.getInstance().sendMail(to.getEmail(), "[Find Agent] " + subject, body, to.getEmail(), null, null, null, null, false); + EmailProvider.getInstance().sendMail(to.getEmail(), "[Find Agent] " + subject, body, null, null, null, null, false); } } } diff --git a/src/org/cacert/gigi/dbObjects/SupportedUser.java b/src/org/cacert/gigi/dbObjects/SupportedUser.java index 975ef9b5..47c17e83 100644 --- a/src/org/cacert/gigi/dbObjects/SupportedUser.java +++ b/src/org/cacert/gigi/dbObjects/SupportedUser.java @@ -94,7 +94,7 @@ public class SupportedUser { vars.put("ticket", this.getTicket()); vars.put("subject", subject); - String supportemailaddress = "support@" + ServerConstants.getWwwHostName().replaceFirst("^www\\.", ""); + String supportemailaddress = ServerConstants.getSupportMailAddress(); supportNotification.sendMail(Language.getInstance(Locale.ENGLISH), vars, supportemailaddress); } catch (IOException e) { e.printStackTrace(); diff --git a/src/org/cacert/gigi/email/EmailProvider.java b/src/org/cacert/gigi/email/EmailProvider.java index ed61aeca..ea6679cd 100644 --- a/src/org/cacert/gigi/email/EmailProvider.java +++ b/src/org/cacert/gigi/email/EmailProvider.java @@ -25,7 +25,7 @@ import org.cacert.gigi.util.DNSUtil; public abstract class EmailProvider { - public abstract void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException; + public abstract void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException; private static EmailProvider instance; diff --git a/src/org/cacert/gigi/email/SendMail.java b/src/org/cacert/gigi/email/SendMail.java index 43c07e8a..c288e549 100644 --- a/src/org/cacert/gigi/email/SendMail.java +++ b/src/org/cacert/gigi/email/SendMail.java @@ -31,19 +31,17 @@ public class SendMail extends EmailProvider { private static final Pattern NON_ASCII = Pattern.compile("[^a-zA-Z0-9 .-\\[\\]!_@]"); @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { - - String[] bits = from.split(","); - + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + String from = ServerConstants.getSupportMailAddress(); try (Socket smtp = new Socket(targetHost, targetPort); PrintWriter out = new PrintWriter(new OutputStreamWriter(smtp.getOutputStream(), "UTF-8")); BufferedReader in = new BufferedReader(new InputStreamReader(smtp.getInputStream(), "UTF-8"));) { readSMTPResponse(in, 220); out.print("HELO www.cacert.org\r\n"); out.flush(); readSMTPResponse(in, 250); - out.print("MAIL FROM:\r\n"); + out.print("MAIL FROM: <" + from + ">\r\n"); out.flush(); readSMTPResponse(in, 250); - bits = to.split(","); + String[] bits = to.split(","); for (String user : bits) { out.print("RCPT TO:<" + user.trim() + ">\r\n"); out.flush(); @@ -68,7 +66,7 @@ public class SendMail extends EmailProvider { } else { out.print("Reply-To: " + from + "\r\n"); } - out.print("From: support@" + ServerConstants.getWwwHostName().replaceAll("^www.", "") + "\r\n"); + out.print("From: " + from + "\r\n"); out.print("To: " + to + "\r\n"); if (NON_ASCII.matcher(subject).matches()) { diff --git a/src/org/cacert/gigi/output/template/MailTemplate.java b/src/org/cacert/gigi/output/template/MailTemplate.java index 9c247e00..45f8594a 100644 --- a/src/org/cacert/gigi/output/template/MailTemplate.java +++ b/src/org/cacert/gigi/output/template/MailTemplate.java @@ -14,7 +14,7 @@ import org.cacert.gigi.localisation.Language; public class MailTemplate extends Template { - public static final String SUBJECT_TAG = "[SomeCA.org] "; + public static final String SUBJECT_TAG = "[SomeCA] "; private TemplateBlock subjectBlock; @@ -65,7 +65,7 @@ public class MailTemplate extends Template { String body = runTemplate(this, l, vars); String subject = runTemplate(subjectBlock, l, vars); - SendMail.getInstance().sendMail(to, SUBJECT_TAG + subject, body, "support@cacert.org", null, null, null, null, false); + SendMail.getInstance().sendMail(to, SUBJECT_TAG + subject, body, null, null, null, null, false); } private static String runTemplate(Outputable toRun, Language l, Map vars) { diff --git a/src/org/cacert/gigi/pages/account/History.java b/src/org/cacert/gigi/pages/account/History.java index 520e3a54..470ed1c6 100644 --- a/src/org/cacert/gigi/pages/account/History.java +++ b/src/org/cacert/gigi/pages/account/History.java @@ -6,10 +6,8 @@ import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.cacert.gigi.dbObjects.CertificateOwner; import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.output.template.OutputableArrayIterable; -import org.cacert.gigi.pages.LoginPage; import org.cacert.gigi.pages.Page; import org.cacert.gigi.util.AuthorizationContext; @@ -30,7 +28,8 @@ public class History extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { - CertificateOwner u; + User u; + HashMap vars = new HashMap<>(); if (support) { String info = req.getPathInfo(); int id = Integer.parseInt(info.substring(intStart, info.length() - SUPPORT_PATH.length() + intStart + 1)); @@ -39,11 +38,11 @@ public class History extends Page { resp.sendError(404); return; } + vars.put("username", u.getPreferredName().toString()); } else { - u = LoginPage.getAuthorizationContext(req).getTarget(); + u = getUser(req); } String[] adminLog = u.getAdminLog(); - HashMap vars = new HashMap<>(); vars.put("entries", new OutputableArrayIterable(adminLog, "entry")); getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars); } diff --git a/src/org/cacert/gigi/pages/account/History.templ b/src/org/cacert/gigi/pages/account/History.templ index d6fe85af..90f18929 100644 --- a/src/org/cacert/gigi/pages/account/History.templ +++ b/src/org/cacert/gigi/pages/account/History.templ @@ -1,6 +1,6 @@ - + diff --git a/src/org/cacert/gigi/pages/account/UserTrainings.java b/src/org/cacert/gigi/pages/account/UserTrainings.java index 3a0a450b..fca2d24f 100644 --- a/src/org/cacert/gigi/pages/account/UserTrainings.java +++ b/src/org/cacert/gigi/pages/account/UserTrainings.java @@ -29,6 +29,7 @@ public class UserTrainings extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { User u; + HashMap vars = new HashMap<>(); if (support) { String info = req.getPathInfo(); int id = Integer.parseInt(info.substring(intStart, info.length() - SUPPORT_PATH.length() + intStart + 1)); @@ -37,10 +38,10 @@ public class UserTrainings extends Page { resp.sendError(404); return; } + vars.put("username", u.getPreferredName().toString()); } else { u = getUser(req); } - HashMap vars = new HashMap<>(); vars.put("entries", new OutputableArrayIterable(u.getTrainings(), "entry")); getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars); } diff --git a/src/org/cacert/gigi/pages/account/UserTrainings.templ b/src/org/cacert/gigi/pages/account/UserTrainings.templ index 0e2667a0..58de7ddf 100644 --- a/src/org/cacert/gigi/pages/account/UserTrainings.templ +++ b/src/org/cacert/gigi/pages/account/UserTrainings.templ @@ -1,6 +1,6 @@
- + diff --git a/src/org/cacert/gigi/util/ServerConstants.java b/src/org/cacert/gigi/util/ServerConstants.java index 5ae4e1b3..09317c3e 100644 --- a/src/org/cacert/gigi/util/ServerConstants.java +++ b/src/org/cacert/gigi/util/ServerConstants.java @@ -90,4 +90,8 @@ public class ServerConstants { return suffix; } + public static String getSupportMailAddress() { + return "support@" + ServerConstants.getWwwHostName().replaceFirst("^www\\.", ""); + } + } diff --git a/tests/org/cacert/gigi/email/TestSendmail.java b/tests/org/cacert/gigi/email/TestSendmail.java index 5ddd7508..d9af0a28 100644 --- a/tests/org/cacert/gigi/email/TestSendmail.java +++ b/tests/org/cacert/gigi/email/TestSendmail.java @@ -55,7 +55,7 @@ public class TestSendmail extends ConfiguredTest { String subj = "subj-" + createUniqueName(); String msg = "msg-" + createUniqueName(); - EmailProvider.getInstance().sendMail(succmail, subj, msg, "system@cacert.org", "system@cacert.org", "Testtarget", "Testsender", null, false); + EmailProvider.getInstance().sendMail(succmail, subj, msg, "system@cacert.org", "Testtarget", "Testsender", null, false); try (Socket s = SSLSocketFactory.getDefault().createSocket(imap, 993);// PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream(), "UTF-8"), true);// @@ -85,7 +85,7 @@ public class TestSendmail extends ConfiguredTest { imapUntil(br, "exp"); pw.println("log logout"); imapUntil(br, "log"); - assertThat(body, containsString("From: support@" + ServerConstants.getWwwHostName().replaceAll("^www.", ""))); + assertThat(body, containsString("From: " + ServerConstants.getSupportMailAddress())); assertThat(body, containsString("To: gigi-testuser@dogcraft.de")); assertThat(body, containsString("Subject: " + subj)); assertThat(body, containsString(Base64.getEncoder().encodeToString(msg.getBytes("UTF-8")))); diff --git a/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java b/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java index bd64f9bf..033f69a6 100644 --- a/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java +++ b/tests/org/cacert/gigi/pages/admin/TestSEAdminNotificationMail.java @@ -43,7 +43,7 @@ public class TestSEAdminNotificationMail extends ClientTest { public void testPasswordReset() throws MalformedURLException, IOException { executeBasicWebInteraction(cookie, SupportUserDetailsPage.PATH + targetID, "aword=SecretWord&resetPass", 0); TestMail tm; - String targetMail = "support@" + ServerConstants.getWwwHostName().replaceFirst("^www\\.", ""); + String targetMail = ServerConstants.getSupportMailAddress(); do { tm = getMailReceiver().receive(); } while ( !tm.getTo().equals(targetMail)); diff --git a/tests/org/cacert/gigi/testUtils/BusinessTest.java b/tests/org/cacert/gigi/testUtils/BusinessTest.java index 8de7a586..b78b3726 100644 --- a/tests/org/cacert/gigi/testUtils/BusinessTest.java +++ b/tests/org/cacert/gigi/testUtils/BusinessTest.java @@ -39,8 +39,8 @@ public abstract class BusinessTest extends ConfiguredTest { } @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { - TestMail tm = new TestEmailReceiver.TestMail(to, subject, message, fromname, replyto) { + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + TestMail tm = new TestEmailReceiver.TestMail(to, subject, message, replyto) { @Override public void verify() throws IOException { diff --git a/tests/org/cacert/gigi/testUtils/TestEmailReceiver.java b/tests/org/cacert/gigi/testUtils/TestEmailReceiver.java index 27b166f9..155539c7 100644 --- a/tests/org/cacert/gigi/testUtils/TestEmailReceiver.java +++ b/tests/org/cacert/gigi/testUtils/TestEmailReceiver.java @@ -34,15 +34,12 @@ public final class TestEmailReceiver extends EmailProvider implements Runnable, String message; - String from; - String replyto; - public TestMail(String to, String subject, String message, String from, String replyto) { + public TestMail(String to, String subject, String message, String replyto) { this.to = to; this.subject = subject; this.message = message; - this.from = from; this.replyto = replyto; } @@ -58,10 +55,6 @@ public final class TestEmailReceiver extends EmailProvider implements Runnable, return message; } - public String getFrom() { - return from; - } - public String getReplyto() { return replyto; } @@ -174,9 +167,8 @@ public final class TestEmailReceiver extends EmailProvider implements Runnable, String to = dis.readUTF(); String subject = dis.readUTF(); String message = dis.readUTF(); - String from = dis.readUTF(); String replyto = dis.readUTF(); - mails.add(new TestMail(to, subject, message, from, replyto)); + mails.add(new TestMail(to, subject, message, replyto)); } else if (type.equals("challengeAddrBox")) { String email = dis.readUTF(); dos.writeUTF(quickEmailCheck(email)); @@ -273,8 +265,8 @@ public final class TestEmailReceiver extends EmailProvider implements Runnable, } @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { - mails.add(new TestMail(to, subject, message, from, replyto)); + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + mails.add(new TestMail(to, subject, message, replyto)); } } diff --git a/util-testing/org/cacert/gigi/email/CommandlineEmailProvider.java b/util-testing/org/cacert/gigi/email/CommandlineEmailProvider.java index e23f4758..263b4c49 100644 --- a/util-testing/org/cacert/gigi/email/CommandlineEmailProvider.java +++ b/util-testing/org/cacert/gigi/email/CommandlineEmailProvider.java @@ -8,12 +8,11 @@ public class CommandlineEmailProvider extends EmailProvider { public CommandlineEmailProvider(Properties p) {} @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { synchronized (System.out) { System.out.println("== MAIL =="); System.out.println("To: " + to); System.out.println("Subject: " + subject); - System.out.println("From: " + from); System.out.println("Errors-To: " + errorsto); System.out.println("Extra: " + extra); System.out.println(message); diff --git a/util-testing/org/cacert/gigi/email/DelegateMailProvider.java b/util-testing/org/cacert/gigi/email/DelegateMailProvider.java index c0143ebe..109aae8d 100644 --- a/util-testing/org/cacert/gigi/email/DelegateMailProvider.java +++ b/util-testing/org/cacert/gigi/email/DelegateMailProvider.java @@ -25,9 +25,9 @@ public abstract class DelegateMailProvider extends EmailProvider { } @Override - public void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { if (target != null) { - target.sendMail(to, subject, message, from, replyto, toname, fromname, errorsto, extra); + target.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra); } } diff --git a/util-testing/org/cacert/gigi/email/TestEmailProvider.java b/util-testing/org/cacert/gigi/email/TestEmailProvider.java index ab1fa37b..eb5eb820 100644 --- a/util-testing/org/cacert/gigi/email/TestEmailProvider.java +++ b/util-testing/org/cacert/gigi/email/TestEmailProvider.java @@ -33,10 +33,10 @@ public class TestEmailProvider extends DelegateMailProvider { } @Override - public synchronized void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public synchronized void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { while (true) { - if ( !assureLocalConnection() && getTarget() != null) { - super.sendMail(to, subject, message, from, replyto, toname, fromname, errorsto, extra); + if ( !ensureLocalConnection() && getTarget() != null) { + super.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra); return; } try { @@ -47,7 +47,6 @@ public class TestEmailProvider extends DelegateMailProvider { write(to); write(subject); write(message); - write(from); write(replyto); out.flush(); return; @@ -57,7 +56,7 @@ public class TestEmailProvider extends DelegateMailProvider { } } - private boolean assureLocalConnection() throws IOException { + private boolean ensureLocalConnection() throws IOException { if (out != null) { try { out.writeUTF("ping"); @@ -81,7 +80,7 @@ public class TestEmailProvider extends DelegateMailProvider { @Override public synchronized String checkEmailServer(int forUid, String address) throws IOException { while (true) { - if ( !assureLocalConnection() && getTarget() != null) { + if ( !ensureLocalConnection() && getTarget() != null) { return super.checkEmailServer(forUid, address); } try { diff --git a/util-testing/org/cacert/gigi/pages/Manager.java b/util-testing/org/cacert/gigi/pages/Manager.java index 8600785b..0cf8e12d 100644 --- a/util-testing/org/cacert/gigi/pages/Manager.java +++ b/util-testing/org/cacert/gigi/pages/Manager.java @@ -164,7 +164,7 @@ public class Manager extends Page { } @Override - public synchronized void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public synchronized void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { HashMap> mails = Manager.getInstance().emails; LinkedList hismails = mails.get(to); if (hismails == null) { @@ -173,7 +173,7 @@ public class Manager extends Page { hismails.addFirst(subject + "\n" + message); for (int i = 0; i < toForward.length; i++) { if (toForward[i].matcher(to).matches()) { - super.sendMail(to, subject, message, from, replyto, toname, fromname, errorsto, extra); + super.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra); return; } }