X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=util-testing%2Forg%2Fcacert%2Fgigi%2Futil%2FSimpleSigner.java;h=296eb99e5bb73a9f3c88697bc206b24d7e7bbacb;hp=d23b78bc6d83fd1f7a0c8a008183159b7403c882;hb=08f417851b48202af9f3a9b6254ac4d1c18262cb;hpb=07f74d10bddc819f4524e2e0c1a2815eb4e7ec79 diff --git a/util-testing/org/cacert/gigi/util/SimpleSigner.java b/util-testing/org/cacert/gigi/util/SimpleSigner.java index d23b78bc..296eb99e 100644 --- a/util-testing/org/cacert/gigi/util/SimpleSigner.java +++ b/util-testing/org/cacert/gigi/util/SimpleSigner.java @@ -40,6 +40,7 @@ import javax.security.auth.x500.X500Principal; import org.cacert.gigi.crypto.SPKAC; import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.database.DatabaseConnection.Link; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; import org.cacert.gigi.dbObjects.Certificate.CSRType; @@ -116,30 +117,35 @@ public class SimpleSigner { throw new IllegalStateException("already running"); } running = true; - readyCerts = new GigiPreparedStatement("SELECT certs.id AS id, certs.csr_name, jobs.id AS jobid, csr_type, md, `executeFrom`, `executeTo`, profile FROM jobs " + // - "INNER JOIN certs ON certs.id=jobs.`targetId` " + // - "INNER JOIN profiles ON profiles.id=certs.profile " + // - "WHERE jobs.state='open' "// - + "AND task='sign'"); - getSANSs = new GigiPreparedStatement("SELECT contents, type FROM `subjectAlternativeNames` " + // - "WHERE `certId`=?"); + runner = new Thread() { - updateMail = new GigiPreparedStatement("UPDATE certs SET crt_name=?," + " created=NOW(), serial=?, caid=? WHERE id=?"); - warnMail = new GigiPreparedStatement("UPDATE jobs SET warning=warning+1, state=IF(warning<3, 'open','error') WHERE id=?"); + @Override + public void run() { + try (Link l = DatabaseConnection.newLink(false)) { + readyCerts = new GigiPreparedStatement("SELECT certs.id AS id, certs.csr_name, jobs.id AS jobid, csr_type, md, `executeFrom`, `executeTo`, profile FROM jobs " + // + "INNER JOIN certs ON certs.id=jobs.`targetId` " + // + "INNER JOIN profiles ON profiles.id=certs.profile " + // + "WHERE jobs.state='open' "// + + "AND task='sign'"); - revoke = new GigiPreparedStatement("SELECT certs.id, certs.csr_name,jobs.id FROM jobs INNER JOIN certs ON jobs.`targetId`=certs.id" + " WHERE jobs.state='open' AND task='revoke'"); - revokeCompleted = new GigiPreparedStatement("UPDATE certs SET revoked=NOW() WHERE id=?"); + getSANSs = new GigiPreparedStatement("SELECT contents, type FROM `subjectAlternativeNames` " + // + "WHERE `certId`=?"); - finishJob = new GigiPreparedStatement("UPDATE jobs SET state='done' WHERE id=?"); + updateMail = new GigiPreparedStatement("UPDATE certs SET crt_name=?," + " created=NOW(), serial=?, caid=? WHERE id=?"); + warnMail = new GigiPreparedStatement("UPDATE jobs SET warning=warning+1, state=IF(warning<3, 'open','error') WHERE id=?"); - locateCA = new GigiPreparedStatement("SELECT id FROM cacerts WHERE keyname=?"); + revoke = new GigiPreparedStatement("SELECT certs.id, certs.csr_name,jobs.id FROM jobs INNER JOIN certs ON jobs.`targetId`=certs.id" + " WHERE jobs.state='open' AND task='revoke'"); + revokeCompleted = new GigiPreparedStatement("UPDATE certs SET revoked=NOW() WHERE id=?"); - runner = new Thread() { + finishJob = new GigiPreparedStatement("UPDATE jobs SET state='done' WHERE id=?"); - @Override - public void run() { - work(); + locateCA = new GigiPreparedStatement("SELECT id FROM cacerts WHERE keyname=?"); + + work(); + } catch (InterruptedException e) { + throw new Error(e); + } } };