| Modifier and Type | Class and Description |
|---|---|
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private static final Map | |
| private static boolean | |
| private static volatile long |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| private static void | |
| pack-priv static void | |
| public static SessionLocal | Returns: the sessionthe connection information ci)Open a database connection with the given connection information. |
| private static SessionLocal | |
| private static SessionLocal | |
| private static void | |
| private static void | validateUserAndPassword(boolean
if the user name or the password was correct correct)This method is called after validating user name and password. |
| DATABASES | back to summary |
|---|---|
| private static final Map<String, Engine. | |
| JMX | back to summary |
|---|---|
| private static boolean JMX | |
| WRONG_PASSWORD_DELAY | back to summary |
|---|---|
| private static volatile long WRONG_PASSWORD_DELAY | |
| Engine | back to summary |
|---|---|
| private Engine() | |
| checkClustering | back to summary |
|---|---|
| private static void checkClustering(ConnectionInfo ci, Database database) | |
| close | back to summary |
|---|---|
| pack-priv static void close(String name) Called after a database has been closed, to remove the object from the list of open databases.
| |
| createSession | back to summary |
|---|---|
| public static SessionLocal createSession(ConnectionInfo ci) Open a database connection with the given connection information.
| |
| openSession | back to summary |
|---|---|
| private static SessionLocal openSession(ConnectionInfo ci, boolean ifExists, boolean forbidCreation, String cipher) | |
| openSession | back to summary |
|---|---|
| private static SessionLocal openSession(ConnectionInfo ci) | |
| throwNotFound | back to summary |
|---|---|
| private static void throwNotFound(boolean ifExists, boolean forbidCreation, String name) | |
| validateUserAndPassword | back to summary |
|---|---|
| private static void validateUserAndPassword(boolean correct) This method is called after validating user name and password. If user name and password were correct, the sleep time is reset, otherwise this method waits some time (to make brute force / rainbow table attacks harder) and then throws a 'wrong user or password' exception. The delay is a bit randomized to protect against timing attacks. Also the delay doubles after each unsuccessful logins, to make brute force attacks harder. There is only one exception message both for wrong user and for wrong password, to make it harder to get the list of user names. This method must only be called from one place, so it is not possible from the stack trace to see if the user name was wrong or the password.
| |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| database | back to summary |
|---|---|
| pack-priv volatile Database database | |
| DatabaseHolder | back to summary |
|---|---|
| pack-priv DatabaseHolder() | |