You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by co...@apache.org on 2017/06/26 16:13:26 UTC
syncope git commit: SYNCOPE-1119 - Support specifying the admin
password using the installer
Repository: syncope
Updated Branches:
refs/heads/master 2deb36904 -> cca472be5
SYNCOPE-1119 - Support specifying the admin password using the installer
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/cca472be
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/cca472be
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/cca472be
Branch: refs/heads/master
Commit: cca472be51fd9d882e4bd8aa8f1e03a4c16112d6
Parents: 2deb369
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Mon Jun 26 17:12:57 2017 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Mon Jun 26 17:13:21 2017 +0100
----------------------------------------------------------------------
.../META-INF/maven/archetype-metadata.xml | 3 +++
archetype/src/main/resources/meta-pom.xml | 1 +
.../src/main/resources/security.properties | 2 +-
.../syncope/installer/utilities/MavenUtils.java | 21 ++++++++++++++++++--
.../validators/ArchetypeValidator.java | 5 +++++
.../src/main/resources/izpack/userInputSpec.xml | 4 ++++
pom.xml | 1 +
7 files changed, 34 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/cca472be/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
----------------------------------------------------------------------
diff --git a/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
index db55592..f3ba98c 100644
--- a/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -24,6 +24,9 @@ under the License.
<requiredProperty key="secretKey"/>
<requiredProperty key="anonymousKey"/>
<requiredProperty key="jwsKey"/>
+ <requiredProperty key="adminPassword">
+ <defaultValue>5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8</defaultValue>
+ </requiredProperty>
</requiredProperties>
<modules>
http://git-wip-us.apache.org/repos/asf/syncope/blob/cca472be/archetype/src/main/resources/meta-pom.xml
----------------------------------------------------------------------
diff --git a/archetype/src/main/resources/meta-pom.xml b/archetype/src/main/resources/meta-pom.xml
index 3ee57a1..a322758 100644
--- a/archetype/src/main/resources/meta-pom.xml
+++ b/archetype/src/main/resources/meta-pom.xml
@@ -34,6 +34,7 @@ under the License.
<secretKey>${secretKey}</secretKey>
<anonymousKey>${anonymousKey}</anonymousKey>
<jwsKey>${jwsKey}</jwsKey>
+ <adminPassword>${adminPassword}</adminPassword>
<rat.skip>true</rat.skip>
<checkstyle.skip>true</checkstyle.skip>
http://git-wip-us.apache.org/repos/asf/syncope/blob/cca472be/core/spring/src/main/resources/security.properties
----------------------------------------------------------------------
diff --git a/core/spring/src/main/resources/security.properties b/core/spring/src/main/resources/security.properties
index 9e59a96..5c39d1e 100644
--- a/core/spring/src/main/resources/security.properties
+++ b/core/spring/src/main/resources/security.properties
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
adminUser=${adminUser}
-adminPassword=5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
+adminPassword=${adminPassword}
adminPasswordAlgorithm=SHA1
anonymousUser=${anonymousUser}
http://git-wip-us.apache.org/repos/asf/syncope/blob/cca472be/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java b/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
index cd773a8..59ee898 100644
--- a/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
+++ b/installer/src/main/java/org/apache/syncope/installer/utilities/MavenUtils.java
@@ -23,15 +23,23 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
+
+import org.apache.commons.codec.binary.Hex;
import org.apache.commons.io.FileUtils;
import org.apache.maven.shared.invoker.DefaultInvocationRequest;
import org.apache.maven.shared.invoker.DefaultInvoker;
@@ -110,8 +118,17 @@ public class MavenUtils {
properties.setProperty("anonymousKey", anonymousKey);
properties.setProperty("jwsKey", jwsKey);
- //String encodedPassword = PasswordGenerator.password(adminPassword, "SHA-1");
- //properties.setProperty("adminPassword", encodedPassword);
+ if (adminPassword != null) {
+ try {
+ final MessageDigest cript = MessageDigest.getInstance("SHA-1");
+ String encodedPassword =
+ new String(Hex.encodeHex(cript.digest(adminPassword.getBytes(StandardCharsets.UTF_8))));
+ properties.setProperty("adminPassword", encodedPassword);
+ } catch (final NoSuchAlgorithmException ex) {
+ Logger.getLogger(MavenUtils.class.getName()).log(Level.SEVERE, "NoSuchAlgorithmException", ex);
+
+ }
+ }
properties.setProperty("version", "1.0-SNAPSHOT");
return properties;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/cca472be/installer/src/main/java/org/apache/syncope/installer/validators/ArchetypeValidator.java
----------------------------------------------------------------------
diff --git a/installer/src/main/java/org/apache/syncope/installer/validators/ArchetypeValidator.java b/installer/src/main/java/org/apache/syncope/installer/validators/ArchetypeValidator.java
index 39836d85..35181e3 100644
--- a/installer/src/main/java/org/apache/syncope/installer/validators/ArchetypeValidator.java
+++ b/installer/src/main/java/org/apache/syncope/installer/validators/ArchetypeValidator.java
@@ -34,6 +34,7 @@ public class ArchetypeValidator extends AbstractValidator {
final String mavenSecretKey = StringUtils.trim(installData.getVariable("mvn.secretkey"));
final String mavenAnonymousKey = StringUtils.trim(installData.getVariable("mvn.anonymous.key"));
final String mavenJwsKey = StringUtils.trim(installData.getVariable("mvn.jws.key"));
+ final String mavenAdminPassword = StringUtils.trim(installData.getVariable("mvn.syncope.admin.password"));
final String mavenLogDirectory = StringUtils.trim(installData.getVariable("mvn.log.directory"));
final String mavenBundleDirectory = StringUtils.trim(installData.getVariable("mvn.bundle.directory"));
@@ -66,6 +67,10 @@ public class ArchetypeValidator extends AbstractValidator {
error.append("JwsKey\n");
verified = false;
}
+ if (StringUtils.isBlank(mavenAdminPassword)) {
+ error.append("AdminPassword\n");
+ verified = false;
+ }
if (StringUtils.isBlank(mavenLogDirectory)) {
error.append("Logs directory\n");
verified = false;
http://git-wip-us.apache.org/repos/asf/syncope/blob/cca472be/installer/src/main/resources/izpack/userInputSpec.xml
----------------------------------------------------------------------
diff --git a/installer/src/main/resources/izpack/userInputSpec.xml b/installer/src/main/resources/izpack/userInputSpec.xml
index 7e2a287..51a4b42 100644
--- a/installer/src/main/resources/izpack/userInputSpec.xml
+++ b/installer/src/main/resources/izpack/userInputSpec.xml
@@ -53,6 +53,10 @@ under the License.
<spec id="mvn.jws.key.id" size="20" set="ZW7pRixehFuNUtnY5Se47IemgMryTzazPPJ9CGX5LTCmsOJpOgHAQEuPQeV9A28f"/>
</field>
<field type="space"/>
+ <field type="text" variable="mvn.syncope.admin.password">
+ <spec id="mvn.syncope.admin.password.id" size="20" set="password"/>
+ </field>
+ <field type="space"/>
<field type="dir" variable="mvn.conf.directory">
<spec id="archetype.mvn.conf.directory" size="20" set="/var/tmp/syncope/conf" mustExist="false" create="true"/>
</field>
http://git-wip-us.apache.org/repos/asf/syncope/blob/cca472be/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 681b447..198152c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -480,6 +480,7 @@ under the License.
<adminUser>admin</adminUser>
<anonymousUser>anonymous</anonymousUser>
+ <adminPassword>5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8</adminPassword>
<!-- static keys, only used for build: generated overlays will override during archetype:generate -->
<anonymousKey>anonymousKey</anonymousKey>
<secretKey>1abcdefghilmnopqrstuvz2!</secretKey>