From 187bddaf8dbb25125c74319163d743e34c862e30 Mon Sep 17 00:00:00 2001 From: Peter Hormanns Date: Wed, 21 Jun 2017 12:34:31 +0200 Subject: [PATCH] new field cert_dns_alt_names --- hsarback/database/database_update.sql | 10 ++++++++-- hsarback/src/de/hsadmin/mods/dom/Domain.java | 12 +++++++++++- .../src/de/hsadmin/mods/dom/DomainModuleImpl.java | 8 ++++++-- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/hsarback/database/database_update.sql b/hsarback/database/database_update.sql index 97e18d5..7c9452b 100644 --- a/hsarback/database/database_update.sql +++ b/hsarback/database/database_update.sql @@ -1,9 +1,15 @@ INSERT INTO domain_option (domain_option_name) - VALUES ('greylisting'); + VALUES ('letsencrypt'); + +ALTER TABLE domain + ADD COLUMN cert_dns_alt_names CHARACTER VARYING(512); + +UPDATE domain + SET cert_dns_alt_names = domain_name || ',www.' || domain_name ; INSERT INTO contactrole_ref (contact_id, role) ( SELECT contact_id, 'voting-right' FROM contact ); - + CREATE TABLE member_asset ( member_asset_id integer NOT NULL, bp_id integer NOT NULL, diff --git a/hsarback/src/de/hsadmin/mods/dom/Domain.java b/hsarback/src/de/hsadmin/mods/dom/Domain.java index d2b360a..603f29d 100644 --- a/hsarback/src/de/hsadmin/mods/dom/Domain.java +++ b/hsarback/src/de/hsadmin/mods/dom/Domain.java @@ -25,7 +25,6 @@ import de.hsadmin.core.model.AbstractEntity; import de.hsadmin.core.model.AnnFieldIO; import de.hsadmin.core.model.AnnModuleImpl; import de.hsadmin.core.model.ReadWriteAccess; -import de.hsadmin.hostsharing.BasePacType; import de.hsadmin.mods.user.UnixUser; @Entity(name = "Domains") @@ -62,6 +61,9 @@ public class Domain extends AbstractEntity { joinColumns={@JoinColumn(name="domain_id", referencedColumnName="domain_id")}, inverseJoinColumns={@JoinColumn(name="domain_option_id", referencedColumnName="domain_option_id")}) private Set domainoptions; + + @Column(name = "cert_dns_alt_names", columnDefinition = "character varying(512)") + private String certDNSAltNames; public Domain() { } @@ -180,4 +182,12 @@ public class Domain extends AbstractEntity { this.domainoptions = domainOptions; } + public String getCertDNSAltNames() { + return certDNSAltNames; + } + + public void setCertDNSAltNames(String certDNSAltNames) { + this.certDNSAltNames = certDNSAltNames; + } + } diff --git a/hsarback/src/de/hsadmin/mods/dom/DomainModuleImpl.java b/hsarback/src/de/hsadmin/mods/dom/DomainModuleImpl.java index 2bd5b08..f6398e5 100644 --- a/hsarback/src/de/hsadmin/mods/dom/DomainModuleImpl.java +++ b/hsarback/src/de/hsadmin/mods/dom/DomainModuleImpl.java @@ -111,7 +111,8 @@ public class DomainModuleImpl extends AbstractModuleImpl { Domain dom = (Domain) newEntity; Date now = new Date(); dom.setSince(now); - if (dom.getName() == null || dom.getName().length() == 0) { + final String domName = dom.getName(); + if (domName == null || domName.length() == 0) { throw new HSAdminException("domain name required"); } UnixUser admin = dom.getUser(); @@ -137,7 +138,7 @@ public class DomainModuleImpl extends AbstractModuleImpl { boolean otherUserDomain = false; // search for domains superior to dom Query domainQuery = em.createQuery("SELECT d FROM Domains d WHERE d.name = :domainName"); - String superior = dom.getName(); + String superior = domName; while (superior.contains(".") && !usersDomain) { superior = superior.substring(superior.indexOf('.') + 1); domainQuery.setParameter("domainName", superior); @@ -180,6 +181,9 @@ public class DomainModuleImpl extends AbstractModuleImpl { } dom.setDomainoptions(domainOptions); } + if (dom.getCertDNSAltNames() == null) { + dom.setCertDNSAltNames(domName + ",www." + domName); + } if (dom.isPacDomain()) { em.persist(new EMailAddress("owner", "", dom, dom.getUser().getPac().getCustomer().getName().substring(6) + "@hostsharing.net")); em.persist(new EMailAddress("admin", "", dom, dom.getUser().getPac().getName() + "@hostsharing.net"));