From cb580c4ae99fb8ff21618d9117aee9f22bf6e3ff Mon Sep 17 00:00:00 2001 From: Nick Couchman Date: Tue, 13 Mar 2018 17:47:35 -0400 Subject: [PATCH 1/3] GUACAMOLE-525: Remove LIMIT and use TOP in SQL Server module. --- .../guacamole/auth/jdbc/user/PasswordRecordMapper.xml | 3 +-- .../apache/guacamole/auth/jdbc/user/UserRecordMapper.xml | 8 ++------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml index 562a7471f..46b6700a6 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml @@ -34,7 +34,7 @@ diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserRecordMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserRecordMapper.xml index 0143dda04..22a0cc75f 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserRecordMapper.xml +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/UserRecordMapper.xml @@ -89,7 +89,7 @@ From 62a706896ae7cd788337128a4cbc95db763ada9d Mon Sep 17 00:00:00 2001 From: Nick Couchman Date: Tue, 13 Mar 2018 17:58:54 -0400 Subject: [PATCH 2/3] GUACAMOLE-525: Fix up password history delete to be more compatible. --- .../apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml index 46b6700a6..5b640c299 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml @@ -65,12 +65,11 @@ ); DELETE FROM [guacamole_user_password_history] - WHERE password_history_id IN ( - SELECT password_history_id + WHERE password_history_id NOT IN ( + SELECT TOP(#{maxHistorySize}) password_history_id FROM [guacamole_user_password_history] WHERE user_id = #{record.userID,jdbcType=INTEGER} ORDER BY password_date DESC - OFFSET #{maxHistorySize} ); From c062acea2d2dbdbc50627c2b732cfca5c2ba44ee Mon Sep 17 00:00:00 2001 From: Nick Couchman Date: Tue, 13 Mar 2018 22:34:21 -0400 Subject: [PATCH 3/3] GUACAMOLE-525: Quick tweak to logic in password history file. --- .../apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml index 5b640c299..20d2cfb06 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/user/PasswordRecordMapper.xml @@ -65,7 +65,8 @@ ); DELETE FROM [guacamole_user_password_history] - WHERE password_history_id NOT IN ( + WHERE user_id = #{record.userID,jdbcType=INTEGER} + AND password_history_id NOT IN ( SELECT TOP(#{maxHistorySize}) password_history_id FROM [guacamole_user_password_history] WHERE user_id = #{record.userID,jdbcType=INTEGER}