From c1f537b51b61e8c7aadd58c0786511ce3e80e92e Mon Sep 17 00:00:00 2001 From: INOPIAE Date: Mon, 29 Jul 2019 07:09:15 +0200 Subject: [PATCH] upd: introduce constant for waiting time for jobs Change-Id: If5eed01faf1ceed1f68ef42f26907e0a69f87b5c --- src/club/wpia/gigi/api/CreateCertificate.java | 2 +- src/club/wpia/gigi/api/RevokeCertificate.java | 2 +- src/club/wpia/gigi/dbObjects/Job.java | 2 ++ src/club/wpia/gigi/dbObjects/SupportedUser.java | 2 +- src/club/wpia/gigi/dbObjects/User.java | 2 +- .../wpia/gigi/pages/account/certs/CertificateIssueForm.java | 3 ++- .../gigi/pages/account/certs/CertificateModificationForm.java | 2 +- .../wpia/gigi/pages/account/certs/RevokeSingleCertForm.java | 3 ++- src/club/wpia/gigi/pages/main/KeyCompromiseForm.java | 2 +- tests/club/wpia/gigi/dbObjects/TestUserManaged.java | 2 +- 10 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/club/wpia/gigi/api/CreateCertificate.java b/src/club/wpia/gigi/api/CreateCertificate.java index 1890e4a9..41556d13 100644 --- a/src/club/wpia/gigi/api/CreateCertificate.java +++ b/src/club/wpia/gigi/api/CreateCertificate.java @@ -65,7 +65,7 @@ public class CreateCertificate extends APIPoint { CertificateRequest cr = new CertificateRequest(ctx, csr, cp); Certificate result = cr.draft(); Job job = result.issue(null, "2y", u); - job.waitFor(60000); + job.waitFor(Job.WAIT_MIN); if (result.getStatus() != CertificateStatus.ISSUED) { resp.sendError(510, "Error, issuing timed out"); return; diff --git a/src/club/wpia/gigi/api/RevokeCertificate.java b/src/club/wpia/gigi/api/RevokeCertificate.java index 81e57cfb..e8e8b964 100644 --- a/src/club/wpia/gigi/api/RevokeCertificate.java +++ b/src/club/wpia/gigi/api/RevokeCertificate.java @@ -42,7 +42,7 @@ public class RevokeCertificate extends APIPoint { } Job job = c.revoke(RevocationType.USER); - job.waitFor(60000); + job.waitFor(Job.WAIT_MIN); if (c.getStatus() != CertificateStatus.REVOKED) { resp.sendError(510, "Error, issuing timed out"); return; diff --git a/src/club/wpia/gigi/dbObjects/Job.java b/src/club/wpia/gigi/dbObjects/Job.java index a505eb41..071b1b2e 100644 --- a/src/club/wpia/gigi/dbObjects/Job.java +++ b/src/club/wpia/gigi/dbObjects/Job.java @@ -11,6 +11,8 @@ import club.wpia.gigi.output.CertificateValiditySelector; public class Job implements IdCachable { + public static int WAIT_MIN = 60000; + private int id; private Job(int id) { diff --git a/src/club/wpia/gigi/dbObjects/SupportedUser.java b/src/club/wpia/gigi/dbObjects/SupportedUser.java index 84c43ab8..1eae478f 100644 --- a/src/club/wpia/gigi/dbObjects/SupportedUser.java +++ b/src/club/wpia/gigi/dbObjects/SupportedUser.java @@ -70,7 +70,7 @@ public class SupportedUser { // TODO Check for open jobs! if (cert.getStatus() == CertificateStatus.ISSUED) { writeSELog("SE Revoke certificate"); - cert.revoke(RevocationType.SUPPORT).waitFor(60000); + cert.revoke(RevocationType.SUPPORT).waitFor(Job.WAIT_MIN); // send notification to support String subject = "Revoke certificate"; Outputable message = SprintfCommand.createSimple("Certificate with serial number {0} for {1} <{2}> has been revoked.", cert.getSerial(), target.getPreferredName().toString(), target.getEmail()); diff --git a/src/club/wpia/gigi/dbObjects/User.java b/src/club/wpia/gigi/dbObjects/User.java index 3213fd8e..ab75628b 100644 --- a/src/club/wpia/gigi/dbObjects/User.java +++ b/src/club/wpia/gigi/dbObjects/User.java @@ -373,7 +373,7 @@ public class User extends CertificateOwner { } LinkedList revokes = new LinkedList(); for (Certificate cert : fetchActiveEmailCertificates(delMail.getAddress())) { - revokes.add(cert.revoke(RevocationType.USER)); + cert.revoke(RevocationType.USER).waitFor(Job.WAIT_MIN); } long start = System.currentTimeMillis(); for (Job job : revokes) { diff --git a/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java b/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java index 81925716..fe521495 100644 --- a/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java +++ b/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java @@ -14,6 +14,7 @@ import club.wpia.gigi.dbObjects.Certificate.CertificateStatus; import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName; import club.wpia.gigi.dbObjects.CertificateProfile; import club.wpia.gigi.dbObjects.Domain; +import club.wpia.gigi.dbObjects.Job; import club.wpia.gigi.dbObjects.Organisation; import club.wpia.gigi.dbObjects.User; import club.wpia.gigi.localisation.Language; @@ -106,7 +107,7 @@ public class CertificateIssueForm extends Form { } result.setDescription(description); } - result.issue(issueDate.getFrom(), issueDate.getTo(), c.getActor()).waitFor(60000); + result.issue(issueDate.getFrom(), issueDate.getTo(), c.getActor()).waitFor(Job.WAIT_MIN); this.result = result; Certificate c = result; if (c.getStatus() != CertificateStatus.ISSUED) { diff --git a/src/club/wpia/gigi/pages/account/certs/CertificateModificationForm.java b/src/club/wpia/gigi/pages/account/certs/CertificateModificationForm.java index 7ca73eb0..dd616113 100644 --- a/src/club/wpia/gigi/pages/account/certs/CertificateModificationForm.java +++ b/src/club/wpia/gigi/pages/account/certs/CertificateModificationForm.java @@ -54,7 +54,7 @@ public class CertificateModificationForm extends Form { } long start = System.currentTimeMillis(); for (Job job : revokes) { - int toWait = (int) (60000 + start - System.currentTimeMillis()); + int toWait = (int) (Job.WAIT_MIN + start - System.currentTimeMillis()); if (toWait > 0) { job.waitFor(toWait); } else { diff --git a/src/club/wpia/gigi/pages/account/certs/RevokeSingleCertForm.java b/src/club/wpia/gigi/pages/account/certs/RevokeSingleCertForm.java index 30e404c0..12a7daa9 100644 --- a/src/club/wpia/gigi/pages/account/certs/RevokeSingleCertForm.java +++ b/src/club/wpia/gigi/pages/account/certs/RevokeSingleCertForm.java @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletRequest; import club.wpia.gigi.GigiApiException; import club.wpia.gigi.dbObjects.Certificate; import club.wpia.gigi.dbObjects.Certificate.RevocationType; +import club.wpia.gigi.dbObjects.Job; import club.wpia.gigi.dbObjects.SupportedUser; import club.wpia.gigi.localisation.Language; import club.wpia.gigi.output.template.Form; @@ -32,7 +33,7 @@ public class RevokeSingleCertForm extends Form { if (target != null) { target.revokeCertificate(c); } else { - c.revoke(RevocationType.USER).waitFor(60000); + c.revoke(RevocationType.USER).waitFor(Job.WAIT_MIN); } return new RedirectResult(req.getPathInfo()); } diff --git a/src/club/wpia/gigi/pages/main/KeyCompromiseForm.java b/src/club/wpia/gigi/pages/main/KeyCompromiseForm.java index e0690844..ae3e30e0 100644 --- a/src/club/wpia/gigi/pages/main/KeyCompromiseForm.java +++ b/src/club/wpia/gigi/pages/main/KeyCompromiseForm.java @@ -166,7 +166,7 @@ public class KeyCompromiseForm extends Form { throw new GigiApiException("Sending the notification mail failed."); } Job j = c.revoke(challenge, Base64.getEncoder().encodeToString(signature), message); - if ( !j.waitFor(60000)) { + if ( !j.waitFor(Job.WAIT_MIN)) { throw new PermamentFormException(new GigiApiException("Revocation timed out.")); } if (c.getStatus() != CertificateStatus.REVOKED) { diff --git a/tests/club/wpia/gigi/dbObjects/TestUserManaged.java b/tests/club/wpia/gigi/dbObjects/TestUserManaged.java index 50ac27dc..d0906ae0 100644 --- a/tests/club/wpia/gigi/dbObjects/TestUserManaged.java +++ b/tests/club/wpia/gigi/dbObjects/TestUserManaged.java @@ -27,7 +27,7 @@ public class TestUserManaged extends ManagedTest { KeyPair kp = generateKeypair(); String key = generatePEMCSR(kp, "CN=" + email); Certificate c = new Certificate(u, u, Certificate.buildDN("CN", email), Digest.SHA256, key, CSRType.CSR, getClientProfile(), new Certificate.SubjectAlternateName(SANType.EMAIL, email)); - c.issue(null, "2y", u).waitFor(60000); + c.issue(null, "2y", u).waitFor(Job.WAIT_MIN); u.deleteEmail(testAddress); -- 2.39.2