summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2015-02-06 16:12:58 +0100
committerSimon Rettberg2015-02-06 16:12:58 +0100
commitb2c12f469f63e6244b2e25de984f68e9b96781dc (patch)
tree1a6c42f0a72ec2b116db009978663742f934b5ee
parent[mount-store] Add success message (diff)
downloadtmlite-bwlp-b2c12f469f63e6244b2e25de984f68e9b96781dc.tar.gz
tmlite-bwlp-b2c12f469f63e6244b2e25de984f68e9b96781dc.tar.xz
tmlite-bwlp-b2c12f469f63e6244b2e25de984f68e9b96781dc.zip
sshd config
-rw-r--r--src/main/java/org/openslx/taskmanager/tasks/BrandingGenerator.java2
-rw-r--r--src/main/java/org/openslx/taskmanager/tasks/SshdConfigGenerator.java51
2 files changed, 28 insertions, 25 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/BrandingGenerator.java b/src/main/java/org/openslx/taskmanager/tasks/BrandingGenerator.java
index 7192eba..5cd1a50 100644
--- a/src/main/java/org/openslx/taskmanager/tasks/BrandingGenerator.java
+++ b/src/main/java/org/openslx/taskmanager/tasks/BrandingGenerator.java
@@ -105,7 +105,7 @@ public class BrandingGenerator extends AbstractTask
status.error = "Can't write to " + this.tarFile + ": " + e.toString();
return false;
}
- Archive.tarAddFile( tar, "/etc/branding.svg", new File( this.svgFile ), 0644 );
+ Archive.tarAddFile( tar, "/etc/branding.svg", f, 0644 );
if ( ppmFile != null )
Archive.tarAddFile( tar, "/etc/branding.ppm", ppmFile, 0644 );
Util.multiClose( tar );
diff --git a/src/main/java/org/openslx/taskmanager/tasks/SshdConfigGenerator.java b/src/main/java/org/openslx/taskmanager/tasks/SshdConfigGenerator.java
index 09c32f7..826c09d 100644
--- a/src/main/java/org/openslx/taskmanager/tasks/SshdConfigGenerator.java
+++ b/src/main/java/org/openslx/taskmanager/tasks/SshdConfigGenerator.java
@@ -35,7 +35,7 @@ public class SshdConfigGenerator extends AbstractTask
status.error = "Invalid value for allowPasswordLogin: " + allowPasswordLogin;
if ( listenPort > 65535 || listenPort < 1 )
status.error = "Invalid value for listenPort: " + listenPort;
- if ( publicKey != null && !publicKey.isEmpty() && !publicKey.matches( "^[a-z0-9\\-]+ [A-Za-z0-9=/\\+]+ " ) )
+ if ( publicKey != null && !publicKey.isEmpty() && !publicKey.matches( "^[a-z0-9\\-]+ [A-Za-z0-9=/\\+]+ .*" ) )
status.error = "Invalid public key: '" + publicKey + "'";
return status.error == null;
}
@@ -44,29 +44,33 @@ public class SshdConfigGenerator extends AbstractTask
protected boolean execute()
{
TarArchiveOutputStream outArchive = null;
- // Prepare sshd config
- String template;
try {
- template = FileUtils.readFileToString( new File( "./data/sshd_config.template" ), StandardCharsets.UTF_8 );
- } catch ( IOException e ) {
- status.error = e.toString();
- return false;
- }
- template.replace( "%PORT%", Integer.toString( this.listenPort ) );
- template.replace( "%PASSWORDLOGIN%", allowPasswordLogin );
- try {
- outArchive = Archive.createTarArchive( this.filename );
- } catch ( IOException e ) {
- status.error = "Could not create archive at " + this.filename;
- return false;
- }
- boolean ok = Archive.tarCreateFileFromString( outArchive, "/etc/ssh/sshd_config", template, 0644 );
- if ( publicKey != null && !publicKey.isEmpty() )
- ok |= Archive.tarCreateFileFromString( outArchive, "/root/.ssh/authorized_keys", publicKey, 0600 );
- ok |= Archive.tarCreateSymlink( outArchive, "../sshd.service", "/etc/systemd/system/network.target.wants/sshd.service" );
- if ( !ok ) {
- status.error = "Could not create module archive contents";
- return false;
+ // Prepare sshd config
+ String template;
+ try {
+ template = FileUtils.readFileToString( new File( "./data/sshd_config.template" ), StandardCharsets.UTF_8 );
+ } catch ( IOException e ) {
+ status.error = e.toString();
+ return false;
+ }
+ template = template.replace( "%PORT%", Integer.toString( this.listenPort ) );
+ template = template.replace( "%PASSWORDLOGIN%", allowPasswordLogin );
+ try {
+ outArchive = Archive.createTarArchive( this.filename );
+ } catch ( IOException e ) {
+ status.error = "Could not create archive at " + this.filename;
+ return false;
+ }
+ boolean ok = Archive.tarCreateFileFromString( outArchive, "/etc/ssh/sshd_config", template, 0644 );
+ if ( publicKey != null && !publicKey.isEmpty() )
+ ok |= Archive.tarCreateFileFromString( outArchive, "/root/.ssh/authorized_keys.d/sshd_conf_mod.pub", publicKey, 0600 );
+ ok |= Archive.tarCreateSymlink( outArchive, "../sshd.service", "/etc/systemd/system/network.target.wants/sshd.service" );
+ if ( !ok ) {
+ status.error = "Could not create module archive contents";
+ return false;
+ }
+ } finally {
+ Util.multiClose( outArchive );
}
return true;
}
@@ -74,7 +78,6 @@ public class SshdConfigGenerator extends AbstractTask
/**
* Output - contains additional status data of this task
*/
- @SuppressWarnings( "unused" )
private static class Output
{
protected String error = null;