From ae81eb3737acc98a977ce936f85919ced8fe3d24 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 18 Sep 2018 17:53:41 -0300 Subject: [PATCH] Throw AssertionError when creating an account while a database key is in memory --- .../org/briarproject/bramble/account/AccountManagerImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/account/AccountManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/account/AccountManagerImpl.java index bb58799b6..63c24088e 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/account/AccountManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/account/AccountManagerImpl.java @@ -159,7 +159,8 @@ class AccountManagerImpl implements AccountManager { @Override public boolean createAccount(String name, String password) { synchronized (stateChangeLock) { - // TODO don't allow creating another account if one already exists + if (hasDatabaseKey()) + throw new AssertionError("Already have a database key"); LocalAuthor localAuthor = identityManager.createLocalAuthor(name); identityManager.registerLocalAuthor(localAuthor); SecretKey key = crypto.generateSecretKey(); @@ -182,6 +183,7 @@ class AccountManagerImpl implements AccountManager { LOG.info("Deleting account"); IoUtils.deleteFileOrDir(databaseConfig.getDatabaseKeyDirectory()); IoUtils.deleteFileOrDir(databaseConfig.getDatabaseDirectory()); + databaseKey = null; } }