diff --git a/extensions/guacamole-auth-jdbc/.gitignore b/extensions/guacamole-auth-jdbc/.gitignore
new file mode 100644
index 000000000..42f4a1a64
--- /dev/null
+++ b/extensions/guacamole-auth-jdbc/.gitignore
@@ -0,0 +1,2 @@
+target/
+*~
diff --git a/extensions/guacamole-auth-jdbc/LICENSE b/extensions/guacamole-auth-jdbc/LICENSE
new file mode 100644
index 000000000..540cdcf75
--- /dev/null
+++ b/extensions/guacamole-auth-jdbc/LICENSE
@@ -0,0 +1,19 @@
+Copyright (C) 2013 Glyptodon LLC
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/extensions/guacamole-auth-jdbc/pom.xml b/extensions/guacamole-auth-jdbc/pom.xml
new file mode 100644
index 000000000..68b098b54
--- /dev/null
+++ b/extensions/guacamole-auth-jdbc/pom.xml
@@ -0,0 +1,85 @@
+
+
+ 4.0.0
+ org.glyptodon.guacamole
+ guacamole-auth-jdbc
+ jar
+ 0.9.5
+ guacamole-auth-jdbc
+ http://guac-dev.org/
+
+
+ UTF-8
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.6
+ 1.6
+
+
+
+
+
+
+
+
+
+
+ org.glyptodon.guacamole
+ guacamole-common
+ 0.9.4
+ provided
+
+
+
+
+ org.glyptodon.guacamole
+ guacamole-ext
+ 0.9.5
+ provided
+
+
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.7
+
+
+
+
+ org.mybatis
+ mybatis
+ 3.2.8
+
+
+
+
+ org.mybatis
+ mybatis-guice
+ 3.6
+
+
+
+
+ com.google.inject
+ guice
+ 3.0
+
+
+ com.google.inject.extensions
+ guice-multibindings
+ 3.0
+
+
+
+
+
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObject.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObject.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObject.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObject.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObjectMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObjectMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObjectMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObjectMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObjectService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObjectService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObjectService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/DirectoryObjectService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/ObjectModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/ObjectModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/ObjectModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/ObjectModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/RestrictedObject.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/RestrictedObject.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/RestrictedObject.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/RestrictedObject.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/package-info.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/package-info.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/package-info.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/package-info.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionDirectory.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionDirectory.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionDirectory.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionDirectory.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionRecordMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionRecordModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionRecordModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionRecordModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionRecordModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnection.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnection.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnection.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnection.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnectionRecord.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnectionRecord.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnectionRecord.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnectionRecord.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLGuacamoleConfiguration.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLGuacamoleConfiguration.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLGuacamoleConfiguration.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLGuacamoleConfiguration.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ParameterMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ParameterMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ParameterMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ParameterMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ParameterModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ParameterModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ParameterModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ParameterModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/package-info.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/package-info.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/package-info.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/package-info.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLConnectionGroup.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLConnectionGroup.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLConnectionGroup.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLConnectionGroup.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLRootConnectionGroup.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLRootConnectionGroup.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLRootConnectionGroup.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLRootConnectionGroup.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/package-info.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/package-info.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/package-info.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/package-info.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/package-info.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/package-info.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/package-info.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/package-info.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/MySQLSystemPermissionSet.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/MySQLSystemPermissionSet.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/MySQLSystemPermissionSet.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/MySQLSystemPermissionSet.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/package-info.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/package-info.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/package-info.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/package-info.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/PasswordEncryptionService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/PasswordEncryptionService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/PasswordEncryptionService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/PasswordEncryptionService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SHA256PasswordEncryptionService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SaltService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SaltService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SaltService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SaltService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SecureRandomSaltService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SecureRandomSaltService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SecureRandomSaltService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/SecureRandomSaltService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/package-info.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/package-info.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/package-info.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/security/package-info.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/AbstractGuacamoleSocketService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/AbstractGuacamoleSocketService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/AbstractGuacamoleSocketService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/AbstractGuacamoleSocketService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/ActiveConnectionRecord.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/ActiveConnectionRecord.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/ActiveConnectionRecord.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/ActiveConnectionRecord.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/GuacamoleSocketService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/GuacamoleSocketService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/GuacamoleSocketService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/GuacamoleSocketService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/UnrestrictedGuacamoleSocketService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/UnrestrictedGuacamoleSocketService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/UnrestrictedGuacamoleSocketService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/UnrestrictedGuacamoleSocketService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/package-info.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/package-info.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/package-info.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/package-info.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/AuthenticatedUser.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/AuthenticatedUser.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/AuthenticatedUser.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/AuthenticatedUser.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUser.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUser.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUser.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUser.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUserContext.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUserContext.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUserContext.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUserContext.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContextService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContextService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContextService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContextService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserDirectory.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserDirectory.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserDirectory.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserDirectory.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserMapper.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserMapper.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserMapper.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserMapper.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserModel.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserModel.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserModel.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserModel.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserService.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserService.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserService.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserService.java
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/package-info.java b/extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/package-info.java
similarity index 100%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/package-info.java
rename to extensions/guacamole-auth-jdbc/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/package-info.java
diff --git a/extensions/guacamole-auth-mysql/pom.xml b/extensions/guacamole-auth-mysql/pom.xml
index 912908484..7e2e11d95 100644
--- a/extensions/guacamole-auth-mysql/pom.xml
+++ b/extensions/guacamole-auth-mysql/pom.xml
@@ -30,20 +30,34 @@
maven-assembly-plugin2.2-beta-5
-
- ${project.artifactId}-${project.version}
- false
-
- src/main/assembly/dist.xml
-
-
+
+ jar-with-dependencies
+ package
+
+ single
+
+
+ extension/${project.artifactId}-${project.version}
+ false
+
+ jar-with-dependencies
+
+
+ make-dist-archivepackagesingle
+
+ ${project.artifactId}-${project.version}
+ false
+
+ src/main/assembly/dist.xml
+
+
@@ -53,54 +67,19 @@
-
-
- org.glyptodon.guacamole
- guacamole-common
- 0.9.4
-
-
org.glyptodon.guacamoleguacamole-ext0.9.5
+ provided
-
+
- org.slf4j
- slf4j-api
- 1.7.7
-
-
-
-
- org.mybatis
- mybatis
- 3.2.8
-
-
-
-
- org.mybatis
- mybatis-guice
- 3.6
-
-
-
-
- com.google.inject
- guice
- 3.0
-
-
-
-
-
- com.google.collections
- google-collections
- 1.0
+ org.glyptodon.guacamole
+ guacamole-auth-jdbc
+ 0.9.5
diff --git a/extensions/guacamole-auth-mysql/src/main/assembly/dist.xml b/extensions/guacamole-auth-mysql/src/main/assembly/dist.xml
index 0628ad61c..f8cc2764d 100644
--- a/extensions/guacamole-auth-mysql/src/main/assembly/dist.xml
+++ b/extensions/guacamole-auth-mysql/src/main/assembly/dist.xml
@@ -26,29 +26,15 @@
schema
+
+
+ ${project.build.directory}/extension
+ /
+
+ *.jar
+
+
+
-
-
-
-
- /lib
- runtime
- false
- true
- true
-
-
-
-
- org.glyptodon.guacamole:guacamole-common
-
-
- org.glyptodon.guacamole:guacamole-ext
-
-
-
-
-
diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProviderModule.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProviderModule.java
index 1da117aee..e5af46928 100644
--- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProviderModule.java
+++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProviderModule.java
@@ -27,7 +27,6 @@ import com.google.inject.Module;
import com.google.inject.name.Names;
import java.util.Properties;
import org.glyptodon.guacamole.GuacamoleException;
-import org.glyptodon.guacamole.auth.jdbc.conf.MySQLGuacamoleProperties;
import org.glyptodon.guacamole.environment.Environment;
import org.mybatis.guice.datasource.helper.JdbcHelper;
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/conf/MySQLGuacamoleProperties.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLGuacamoleProperties.java
similarity index 98%
rename from extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/conf/MySQLGuacamoleProperties.java
rename to extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLGuacamoleProperties.java
index 9b38d23b0..3a599fc93 100644
--- a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/conf/MySQLGuacamoleProperties.java
+++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLGuacamoleProperties.java
@@ -20,7 +20,7 @@
* THE SOFTWARE.
*/
-package org.glyptodon.guacamole.auth.jdbc.conf;
+package net.sourceforge.guacamole.net.auth.mysql;
import org.glyptodon.guacamole.properties.BooleanGuacamoleProperty;
import org.glyptodon.guacamole.properties.IntegerGuacamoleProperty;
diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/package-info.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/package-info.java
index cdac45a07..65dc294e6 100644
--- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/package-info.java
+++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/package-info.java
@@ -21,7 +21,7 @@
*/
/**
- * The MySQL authentication provider. This package exists purely for backwards-
- * compatibility.
+ * The MySQL authentication provider. This package exists outside of
+ * org.glyptodon for backwards-compatibility.
*/
package net.sourceforge.guacamole.net.auth.mysql;
diff --git a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/conf/package-info.java b/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/conf/package-info.java
deleted file mode 100644
index 5c16bfa04..000000000
--- a/extensions/guacamole-auth-mysql/src/main/java/org/glyptodon/guacamole/auth/jdbc/conf/package-info.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2015 Glyptodon LLC
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-/**
- * Classes related to the configuration of the MySQL authentication provider.
- */
-package org.glyptodon.guacamole.auth.jdbc.conf;