You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2020/11/07 01:40:44 UTC
[iotdb] 01/01: fix nullpointer exception if no password is set when
login
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 <sa...@gmail.com>
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;
}