]> WPIA git - gigi.git/blob - src/club/wpia/gigi/ping/EmailPinger.java
chg: revoke certificates if repeated ping failed
[gigi.git] / src / club / wpia / gigi / ping / EmailPinger.java
1 package club.wpia.gigi.ping;
2
3 import java.io.IOException;
4 import java.util.Locale;
5
6 import club.wpia.gigi.dbObjects.CertificateOwner;
7 import club.wpia.gigi.dbObjects.Domain;
8 import club.wpia.gigi.dbObjects.DomainPingConfiguration;
9 import club.wpia.gigi.dbObjects.DomainPingExecution;
10 import club.wpia.gigi.dbObjects.User;
11 import club.wpia.gigi.email.MailProbe;
12 import club.wpia.gigi.localisation.Language;
13 import club.wpia.gigi.util.RandomToken;
14
15 public class EmailPinger extends DomainPinger {
16
17     @Override
18     public DomainPingExecution ping(Domain domain, String configuration, CertificateOwner u, DomainPingConfiguration conf) {
19         String mail = configuration + "@" + domain.getSuffix();
20         String token = RandomToken.generateToken(16);
21         DomainPingExecution r = enterPingResult(conf, PING_STILL_PENDING, "", token);
22         try {
23             Locale l = Locale.ENGLISH;
24             if (u instanceof User) {
25                 l = ((User) u).getPreferredLocale();
26                 // TODO what to do with orgs?
27             }
28             MailProbe.sendMailProbe(Language.getInstance(l), "domain", domain.getId(), token, mail);
29         } catch (IOException e) {
30             e.printStackTrace();
31             updatePingResult(conf, "error", "Mail connection interrupted", token);
32         }
33         return r;
34     }
35
36 }