This is an automated email from the ASF dual-hosted git repository. hxd pushed a commit to branch fix_988 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 3a58dc022bedf286695396d4dc273c2937542fa8 Author: xiangdong huang <[email protected]> AuthorDate: Sat Nov 7 09:40:14 2020 +0800 fix nullpointer exception if no password is set when login --- .../apache/iotdb/db/auth/authorizer/BasicAuthorizer.java | 2 +- .../java/org/apache/iotdb/db/service/TSServiceImpl.java | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/auth/authorizer/BasicAuthorizer.java b/server/src/main/java/org/apache/iotdb/db/auth/authorizer/BasicAuthorizer.java index fa28241..fd6091c 100644 --- a/server/src/main/java/org/apache/iotdb/db/auth/authorizer/BasicAuthorizer.java +++ b/server/src/main/java/org/apache/iotdb/db/auth/authorizer/BasicAuthorizer.java @@ -102,7 +102,7 @@ public abstract class BasicAuthorizer implements IAuthorizer, IService { @Override public boolean login(String username, String password) throws AuthException { User user = userManager.getUser(username); - return user != null && user.getPassword().equals(AuthUtils.encryptPassword(password)); + return user != null && password!=null && user.getPassword().equals(AuthUtils.encryptPassword(password)); } @Override diff --git a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java index 67fceec..168668a 100644 --- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java +++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java @@ -246,18 +246,21 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { sessionIdUsernameMap.put(sessionId, req.getUsername()); sessionIdZoneIdMap.put(sessionId, ZoneId.of(req.getZoneId())); currSessionId.set(sessionId); + auditLogger.info("User {} opens Session-{}", req.getUsername(), sessionId); + logger.info( + "{}: Login status: {}. User : {}", IoTDBConstant.GLOBAL_DB_NAME, tsStatus.message, + req.getUsername()); } else { tsStatus = RpcUtils.getStatus(TSStatusCode.WRONG_LOGIN_PASSWORD_ERROR); + if (loginMessage == null) { + loginMessage = "Username or Password is incorrect"; + } tsStatus.setMessage(loginMessage); + auditLogger.info("User {} opens Session failed with an incorrect password", req.getUsername()); } - auditLogger.info("User {} opens Session-{}", req.getUsername(), sessionId); TSOpenSessionResp resp = new TSOpenSessionResp(tsStatus, CURRENT_RPC_VERSION); resp.setSessionId(sessionId); - logger.info( - "{}: Login status: {}. User : {}", IoTDBConstant.GLOBAL_DB_NAME, tsStatus.message, - req.getUsername()); - return resp; }
