From 4b5fdd06efe3c4c5c8510a8ccd54965db716c462 Mon Sep 17 00:00:00 2001 From: Peter Hormanns Date: Mon, 8 Jun 2020 13:17:27 +0200 Subject: [PATCH] replace acmebot with lego, replace some deprecated code --- hsarback/.classpath | 17 ++++--- .../mods/dom/DomainProcessorFactory.java | 47 +++++++++---------- .../src/de/hsadmin/mods/user/UnixUser.java | 4 +- .../mods/user/UnixUserProcessorFactory.java | 4 +- .../de/hsadmin/pillar/JsonPillarServlet.java | 1 - .../remote/ModulePropertiesRemote.java | 4 +- .../src/de/hsadmin/remote/PropertyRemote.java | 2 +- 7 files changed, 40 insertions(+), 39 deletions(-) diff --git a/hsarback/.classpath b/hsarback/.classpath index 62952fc..6e5b02d 100644 --- a/hsarback/.classpath +++ b/hsarback/.classpath @@ -8,23 +8,17 @@ - - - - - - @@ -32,8 +26,17 @@ - + + + + + + + + + + diff --git a/hsarback/src/de/hsadmin/mods/dom/DomainProcessorFactory.java b/hsarback/src/de/hsadmin/mods/dom/DomainProcessorFactory.java index 84d3d79..5ae56b8 100644 --- a/hsarback/src/de/hsadmin/mods/dom/DomainProcessorFactory.java +++ b/hsarback/src/de/hsadmin/mods/dom/DomainProcessorFactory.java @@ -46,7 +46,7 @@ public class DomainProcessorFactory implements EntityProcessorFactory { } mainProcessor.appendProcessor(hiveName, createDomainDirectoriesProcessor(dom), "Setup Domain Directories"); mainProcessor.appendProcessor(hiveName, createApacheVHostSetupProcessor(em, dom), "Setup Apache VHost"); - mainProcessor.appendProcessor(hiveName, createACMEBotProcessor(em, dom), "Setup ACMEBot"); +// mainProcessor.appendProcessor(hiveName, createACMEBotProcessor(em, dom), "Setup ACMEBot"); mainProcessor.appendProcessor(hiveName, createTriggerAcmebotProcessor(em, dom), "Trigger ACMEBot"); return mainProcessor; } @@ -56,10 +56,11 @@ public class DomainProcessorFactory implements EntityProcessorFactory { final UnixUser domUser = dom.getUser(); final Pac pac = domUser.getPac(); final Processor apacheVHostSetupProcessor = createApacheVHostSetupProcessor(em, dom); - final Processor letencryptSetupProcessor = createACMEBotProcessor(em, dom); +// final Processor letencryptSetupProcessor = createACMEBotProcessor(em, dom); final Processor triggerAcmebotProcessor = createTriggerAcmebotProcessor(em, dom); final WaitingTasksProcessor processor = new WaitingTasksProcessor( - new CompoundProcessor(new ShellProcessor("salt-call state.sls pacs"), apacheVHostSetupProcessor, letencryptSetupProcessor, triggerAcmebotProcessor)); + new CompoundProcessor(new ShellProcessor("salt-call state.sls pacs"), apacheVHostSetupProcessor, triggerAcmebotProcessor)); +// new CompoundProcessor(new ShellProcessor("salt-call state.sls pacs"), apacheVHostSetupProcessor, letencryptSetupProcessor, triggerAcmebotProcessor)); final Config config = Config.getInstance(); for (String queueName : config.getProperty("queues.mail").split(",")) { processor.appendProcessor(queueName, createMailinSetupProcessor(em, dom, pac), queueName + ".hostsharing.net"); @@ -70,8 +71,9 @@ public class DomainProcessorFactory implements EntityProcessorFactory { public Processor createDeleteProcessor(final EntityManager em, final T entity) throws ProcessorException { final Domain dom = (Domain) entity; final String domName = dom.getName(); - final WaitingTasksProcessor mainProcessor = new WaitingTasksProcessor( - createACMEBotProcessor(em, dom) + final WaitingTasksProcessor mainProcessor = new WaitingTasksProcessor( + new NullProcessor() +// createACMEBotProcessor(em, dom) ); final Config config = Config.getInstance(); for (String queueName : config.getProperty("queues.mail").split(",")) { @@ -347,27 +349,24 @@ public class DomainProcessorFactory implements EntityProcessorFactory { return new NullProcessor(); } else { return new ShellProcessor( - "rm -f /etc/apache2/pems-enabled/" + domName + ".crt" + - " && rm -f /etc/apache2/pems-enabled/" + domName + ".key" + - " && rm -f /etc/apache2/pems-enabled/" + domName + ".chain" + - " && ln -s /etc/apache2/pems-generated/" + domName + ".key /etc/apache2/pems-enabled/" + domName + ".key" + - " && ln -s /etc/apache2/pems-generated/" + domName + ".crt /etc/apache2/pems-enabled/" + domName + ".crt" + - " && ln -s /etc/apache2/pems-generated/" + domName + ".chain /etc/apache2/pems-enabled/" + domName + ".chain" + - " && sudo -u acmebot /usr/sbin/acmebot -d " + domName); + "sudo -u acmebot /usr/local/sbin/hs-lego-wrapper " + domName); +// " && ln -s /etc/apache2/pems-generated/" + domName + ".key /etc/apache2/pems-enabled/" + domName + ".key" + +// " && ln -s /etc/apache2/pems-generated/" + domName + ".crt /etc/apache2/pems-enabled/" + domName + ".crt" + +// " && ln -s /etc/apache2/pems-generated/" + domName + ".chain /etc/apache2/pems-enabled/" + domName + ".chain" + } } - private Processor createACMEBotProcessor(final EntityManager em, final Domain dom) throws ProcessorException { - final Query query = em.createQuery("SELECT d FROM Domains d WHERE d.domainoptions.name = :option AND d.user.pac.hive.name = :hivename"); - final String hiveName = dom.getHiveName(); - final Map templateVars = new HashMap(); - query.setParameter("hivename", hiveName); - query.setParameter("option", "letsencrypt"); - templateVars.put("domains", query.getResultList()); - return new CompoundProcessor( - new CreateFileProcessor("/de/hsadmin/mods/dom/acmebot-domain.properties.vm", templateVars, dom, - "/etc/hostsharing/acmebot/domain.properties.tmp", "acmebot", "acmebot", "640", true), - new ShellProcessor("mv /etc/hostsharing/acmebot/domain.properties.tmp /etc/hostsharing/acmebot/domain.properties")); - } +// private Processor createACMEBotProcessor(final EntityManager em, final Domain dom) throws ProcessorException { +// final Query query = em.createQuery("SELECT d FROM Domains d WHERE d.domainoptions.name = :option AND d.user.pac.hive.name = :hivename"); +// final String hiveName = dom.getHiveName(); +// final Map templateVars = new HashMap(); +// query.setParameter("hivename", hiveName); +// query.setParameter("option", "letsencrypt"); +// templateVars.put("domains", query.getResultList()); +// return new CompoundProcessor( +// new CreateFileProcessor("/de/hsadmin/mods/dom/acmebot-domain.properties.vm", templateVars, dom, +// "/etc/hostsharing/acmebot/domain.properties.tmp", "acmebot", "acmebot", "640", true), +// new ShellProcessor("mv /etc/hostsharing/acmebot/domain.properties.tmp /etc/hostsharing/acmebot/domain.properties")); +// } } diff --git a/hsarback/src/de/hsadmin/mods/user/UnixUser.java b/hsarback/src/de/hsadmin/mods/user/UnixUser.java index 369230a..03fa198 100644 --- a/hsarback/src/de/hsadmin/mods/user/UnixUser.java +++ b/hsarback/src/de/hsadmin/mods/user/UnixUser.java @@ -104,10 +104,10 @@ public class UnixUser extends AbstractEntity implements Serializable { shell = "/bin/false"; } if (quotaSoftlimit == null) { - quotaSoftlimit = new Integer(0); + quotaSoftlimit = Integer.valueOf(0); } if (quotaHardlimit == null) { - quotaHardlimit = new Integer(0); + quotaHardlimit = Integer.valueOf(0); } } diff --git a/hsarback/src/de/hsadmin/mods/user/UnixUserProcessorFactory.java b/hsarback/src/de/hsadmin/mods/user/UnixUserProcessorFactory.java index 8b4367b..81477f5 100644 --- a/hsarback/src/de/hsadmin/mods/user/UnixUserProcessorFactory.java +++ b/hsarback/src/de/hsadmin/mods/user/UnixUserProcessorFactory.java @@ -79,7 +79,7 @@ public class UnixUserProcessorFactory implements EntityProcessorFactory { private void appendSetQuotaProcessor(CompoundProcessor aCP, UnixUser user) { Integer quotaSoft = user.getQuotaSoftlimit(); if (quotaSoft == null) { - quotaSoft = new Integer(0); + quotaSoft = Integer.valueOf(0); } else { quotaSoft = quotaSoft * 1024; } @@ -90,7 +90,7 @@ public class UnixUserProcessorFactory implements EntityProcessorFactory { } Integer quotaHard = user.getQuotaHardlimit(); if (quotaHard == null) { - quotaHard = new Integer(0); + quotaHard = Integer.valueOf(0); } else { quotaHard = quotaHard * 1024; } diff --git a/hsarback/src/de/hsadmin/pillar/JsonPillarServlet.java b/hsarback/src/de/hsadmin/pillar/JsonPillarServlet.java index 9ed0cd4..f31166f 100644 --- a/hsarback/src/de/hsadmin/pillar/JsonPillarServlet.java +++ b/hsarback/src/de/hsadmin/pillar/JsonPillarServlet.java @@ -7,7 +7,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.TreeSet; import javax.persistence.EntityManager; import javax.persistence.Query; diff --git a/hsarback/src/de/hsadmin/remote/ModulePropertiesRemote.java b/hsarback/src/de/hsadmin/remote/ModulePropertiesRemote.java index 9527613..95278d3 100644 --- a/hsarback/src/de/hsadmin/remote/ModulePropertiesRemote.java +++ b/hsarback/src/de/hsadmin/remote/ModulePropertiesRemote.java @@ -33,7 +33,7 @@ public class ModulePropertiesRemote implements IRemote { properties.load(resourceAsStream); for (Object moduleKey : properties.keySet()) { Class remoteClass = Class.forName(properties.getProperty((String) moduleKey)); - Object newInstance = remoteClass.newInstance(); + Object newInstance = remoteClass.getDeclaredConstructor().newInstance(); if (newInstance instanceof AbstractRemote) { Map modMap = new HashMap(); modMap.put("module", moduleKey); @@ -58,7 +58,7 @@ public class ModulePropertiesRemote implements IRemote { String fullPropertyName = fieldName+"."+s; propertiesList.add(createReferredPropertyInfo(fullPropertyName, f, s)); } - DefaultSelectableValues selectableValuesInstance = fieldIO.selectableValues().newInstance() ; + DefaultSelectableValues selectableValuesInstance = fieldIO.selectableValues().getDeclaredConstructor().newInstance(); KindOfSelectableValue kind = selectableValuesInstance.getkind(); HashMap kindMap = new HashMap(); kindMap.put("kind", kind.name()); diff --git a/hsarback/src/de/hsadmin/remote/PropertyRemote.java b/hsarback/src/de/hsadmin/remote/PropertyRemote.java index aead0f0..c53607d 100644 --- a/hsarback/src/de/hsadmin/remote/PropertyRemote.java +++ b/hsarback/src/de/hsadmin/remote/PropertyRemote.java @@ -31,7 +31,7 @@ public class PropertyRemote implements IRemote { properties.load(resourceAsStream); for (Object moduleKey : properties.keySet()) { Class remoteClass = Class.forName(properties.getProperty((String) moduleKey)); - Object newInstance = remoteClass.newInstance(); + Object newInstance = remoteClass.getDeclaredConstructor().newInstance(); if (newInstance instanceof AbstractRemote) { AbstractRemote remote = (AbstractRemote) newInstance; Class entityClass = remote.getAnnotatedEntityClass();