diff --git a/syncany-daemon/src/main/java/org/syncany/config/to/DaemonConfigTO.java b/syncany-daemon/src/main/java/org/syncany/config/to/DaemonConfigTO.java index fd21d3a1c..a6fd3ba97 100644 --- a/syncany-daemon/src/main/java/org/syncany/config/to/DaemonConfigTO.java +++ b/syncany-daemon/src/main/java/org/syncany/config/to/DaemonConfigTO.java @@ -36,7 +36,7 @@ public class DaemonConfigTO { @ElementList(name = "folders", entry = "folder", required = true) private ArrayList folders = new ArrayList(); - @ElementList(name = "users", entry = "user", required = true) + @ElementList(name = "users", entry = "user", required = false) private ArrayList users = new ArrayList(); public static DaemonConfigTO load(File file) throws ConfigException { @@ -61,12 +61,16 @@ public ArrayList getFolders() { return folders; } + public void setFolders(ArrayList folders) { + this.folders = folders; + } + public ArrayList getUsers() { return users; } - public void setFolders(ArrayList folders) { - this.folders = folders; + public void setUsers(ArrayList users) { + this.users = users; } public WebServerTO getWebServer() { diff --git a/syncany-daemon/src/main/java/org/syncany/config/to/UserTO.java b/syncany-daemon/src/main/java/org/syncany/config/to/UserTO.java index 8de964c15..920197b38 100644 --- a/syncany-daemon/src/main/java/org/syncany/config/to/UserTO.java +++ b/syncany-daemon/src/main/java/org/syncany/config/to/UserTO.java @@ -30,7 +30,15 @@ public String getUsername() { return username; } + public void setUsername(String username) { + this.username = username; + } + public String getPassword() { return password; } + + public void setPassword(String password) { + this.password = password; + } } diff --git a/syncany-daemon/src/main/java/org/syncany/operations/daemon/DaemonOperation.java b/syncany-daemon/src/main/java/org/syncany/operations/daemon/DaemonOperation.java index 3f450fc13..58afac1ab 100644 --- a/syncany-daemon/src/main/java/org/syncany/operations/daemon/DaemonOperation.java +++ b/syncany-daemon/src/main/java/org/syncany/operations/daemon/DaemonOperation.java @@ -28,6 +28,7 @@ import org.syncany.config.UserConfig; import org.syncany.config.to.DaemonConfigTO; import org.syncany.config.to.FolderTO; +import org.syncany.config.to.UserTO; import org.syncany.operations.Operation; import org.syncany.operations.OperationResult; import org.syncany.operations.daemon.DaemonControlServer.ControlCommand; @@ -180,11 +181,19 @@ private DaemonConfigTO createAndWriteDefaultConfig(File configFile) { FolderTO defaultFolderTO = new FolderTO(); defaultFolderTO.setPath(defaultFolder.getAbsolutePath()); - ArrayList folders = new ArrayList<>(); + ArrayList folders = new ArrayList(); folders.add(defaultFolderTO); + UserTO defaultUserTO = new UserTO(); + defaultUserTO.setUsername("admin"); + defaultUserTO.setPassword("admin"); + + ArrayList users = new ArrayList(); + users.add(defaultUserTO); + DaemonConfigTO defaultDaemonConfigTO = new DaemonConfigTO(); - defaultDaemonConfigTO.setFolders(folders); + defaultDaemonConfigTO.setFolders(folders); + defaultDaemonConfigTO.setUsers(users); try { DaemonConfigTO.save(defaultDaemonConfigTO, configFile); diff --git a/syncany-daemon/src/main/java/org/syncany/operations/daemon/DaemonWebServer.java b/syncany-daemon/src/main/java/org/syncany/operations/daemon/DaemonWebServer.java index e9b3195ac..2ba64f4ce 100644 --- a/syncany-daemon/src/main/java/org/syncany/operations/daemon/DaemonWebServer.java +++ b/syncany-daemon/src/main/java/org/syncany/operations/daemon/DaemonWebServer.java @@ -116,6 +116,11 @@ private void initEventBus() { } private void initServer(String host, int port, List users) { + if (users == null) { + users = new ArrayList(); + logger.log(Level.WARNING, "Webserver is starting without any users. No access possible."); + } + final IdentityManager identityManager = new MapIdentityManager(users); HttpHandler pathHttpHandler = path()