From 0b54b755b3a384c8338b67abeda4cd16d9a513c0 Mon Sep 17 00:00:00 2001 From: Jason Han Date: Wed, 6 Oct 2021 12:58:45 -0700 Subject: [PATCH 1/4] Bump version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 4224876f0..21320ea0e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=4.0.4 +version=4.0.5 group=org.openmbee.mms springBootVersion=2.2.6.RELEASE From 46ff2df93924343d983a66882c12a4401331be0c Mon Sep 17 00:00:00 2001 From: Jason Han Date: Tue, 12 Oct 2021 16:08:55 -0700 Subject: [PATCH 2/4] Mitigate possible NPE --- .../org/openmbee/mms/ldap/LdapSecurityConfig.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java b/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java index cdc21e6b4..980c2e2c3 100644 --- a/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java +++ b/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java @@ -190,13 +190,22 @@ public BaseLdapPathContextSource contextSource() { } private User saveLdapUser(DirContextOperations userData, User saveUser) { - if (!saveUser.getEmail().equals(userData.getStringAttribute(userAttributesEmail))) { + if (userData.attributeExists(userAttributesEmail) && + userData.getStringAttribute(userAttributesEmail) != null && + !saveUser.getEmail().equals(userData.getStringAttribute(userAttributesEmail)) + ) { saveUser.setEmail(userData.getStringAttribute(userAttributesEmail)); } - if (!saveUser.getFirstName().equals(userData.getStringAttribute(userAttributesFirstName))) { + if (userData.attributeExists(userAttributesFirstName) && + userData.getStringAttribute(userAttributesFirstName) != null && + !saveUser.getFirstName().equals(userData.getStringAttribute(userAttributesFirstName)) + ) { saveUser.setFirstName(userData.getStringAttribute(userAttributesFirstName)); } - if (!saveUser.getLastName().equals(userData.getStringAttribute(userAttributesLastName))) { + if (userData.attributeExists(userAttributesLastName) && + userData.getStringAttribute(userAttributesLastName) != null && + !saveUser.getLastName().equals(userData.getStringAttribute(userAttributesLastName)) + ) { saveUser.setLastName(userData.getStringAttribute(userAttributesLastName)); } From 118e051aa2db79871937e5a9fab0640575df2304 Mon Sep 17 00:00:00 2001 From: Jason Han Date: Tue, 12 Oct 2021 17:54:42 -0700 Subject: [PATCH 3/4] Fix the right npe --- .../java/org/openmbee/mms/ldap/LdapSecurityConfig.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java b/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java index 980c2e2c3..840d27491 100644 --- a/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java +++ b/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java @@ -190,20 +190,17 @@ public BaseLdapPathContextSource contextSource() { } private User saveLdapUser(DirContextOperations userData, User saveUser) { - if (userData.attributeExists(userAttributesEmail) && - userData.getStringAttribute(userAttributesEmail) != null && + if (saveUser.getEmail() != null && !saveUser.getEmail().equals(userData.getStringAttribute(userAttributesEmail)) ) { saveUser.setEmail(userData.getStringAttribute(userAttributesEmail)); } - if (userData.attributeExists(userAttributesFirstName) && - userData.getStringAttribute(userAttributesFirstName) != null && + if (saveUser.getFirstName()!= null && !saveUser.getFirstName().equals(userData.getStringAttribute(userAttributesFirstName)) ) { saveUser.setFirstName(userData.getStringAttribute(userAttributesFirstName)); } - if (userData.attributeExists(userAttributesLastName) && - userData.getStringAttribute(userAttributesLastName) != null && + if (saveUser.getLastName() != null && !saveUser.getLastName().equals(userData.getStringAttribute(userAttributesLastName)) ) { saveUser.setLastName(userData.getStringAttribute(userAttributesLastName)); From d2f6b36b3258e91345cbf6971e317d3351e3e8cb Mon Sep 17 00:00:00 2001 From: Jason Han Date: Tue, 12 Oct 2021 17:55:54 -0700 Subject: [PATCH 4/4] Always try to save attribute if null --- .../main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java b/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java index 840d27491..01bde33e6 100644 --- a/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java +++ b/ldap/src/main/java/org/openmbee/mms/ldap/LdapSecurityConfig.java @@ -190,17 +190,17 @@ public BaseLdapPathContextSource contextSource() { } private User saveLdapUser(DirContextOperations userData, User saveUser) { - if (saveUser.getEmail() != null && + if (saveUser.getEmail() == null || !saveUser.getEmail().equals(userData.getStringAttribute(userAttributesEmail)) ) { saveUser.setEmail(userData.getStringAttribute(userAttributesEmail)); } - if (saveUser.getFirstName()!= null && + if (saveUser.getFirstName() == null || !saveUser.getFirstName().equals(userData.getStringAttribute(userAttributesFirstName)) ) { saveUser.setFirstName(userData.getStringAttribute(userAttributesFirstName)); } - if (saveUser.getLastName() != null && + if (saveUser.getLastName() == null || !saveUser.getLastName().equals(userData.getStringAttribute(userAttributesLastName)) ) { saveUser.setLastName(userData.getStringAttribute(userAttributesLastName));