check user password
This commit is contained in:
parent
24ecc277fa
commit
09062a9ce7
|
@ -110,7 +110,7 @@ void* openTransporter(const char *user, const char *auth, int32_t numOfThread) {
|
||||||
rpcInit.user = (char *)user;
|
rpcInit.user = (char *)user;
|
||||||
rpcInit.idleTime = tsShellActivityTimer * 1000;
|
rpcInit.idleTime = tsShellActivityTimer * 1000;
|
||||||
rpcInit.ckey = "key";
|
rpcInit.ckey = "key";
|
||||||
// rpcInit.spi = 1;
|
rpcInit.spi = 1;
|
||||||
rpcInit.secret = (char *)auth;
|
rpcInit.secret = (char *)auth;
|
||||||
|
|
||||||
void* pDnodeConn = rpcOpen(&rpcInit);
|
void* pDnodeConn = rpcOpen(&rpcInit);
|
||||||
|
|
|
@ -182,8 +182,8 @@ static int32_t dndInitClient(SDnode *pDnode) {
|
||||||
rpcInit.spi = 1;
|
rpcInit.spi = 1;
|
||||||
rpcInit.parent = pDnode;
|
rpcInit.parent = pDnode;
|
||||||
|
|
||||||
char pass[TSDB_PASSWORD_LEN] = {0};
|
char pass[TSDB_PASSWORD_LEN + 1] = {0};
|
||||||
taosEncryptPass((uint8_t *)(INTERNAL_SECRET), strlen(INTERNAL_SECRET), pass);
|
taosEncryptPass_c((uint8_t *)(INTERNAL_SECRET), strlen(INTERNAL_SECRET), pass);
|
||||||
rpcInit.secret = pass;
|
rpcInit.secret = pass;
|
||||||
|
|
||||||
pMgmt->clientRpc = rpcOpen(&rpcInit);
|
pMgmt->clientRpc = rpcOpen(&rpcInit);
|
||||||
|
@ -260,18 +260,16 @@ static void dndSendMsgToMnodeRecv(SDnode *pDnode, SRpcMsg *pRpcMsg, SRpcMsg *pRp
|
||||||
|
|
||||||
static int32_t dndAuthInternalReq(SDnode *pDnode, char *user, char *spi, char *encrypt, char *secret, char *ckey) {
|
static int32_t dndAuthInternalReq(SDnode *pDnode, char *user, char *spi, char *encrypt, char *secret, char *ckey) {
|
||||||
if (strcmp(user, INTERNAL_USER) == 0) {
|
if (strcmp(user, INTERNAL_USER) == 0) {
|
||||||
// A simple temporary implementation
|
char pass[TSDB_PASSWORD_LEN + 1] = {0};
|
||||||
char pass[TSDB_PASSWORD_LEN] = {0};
|
taosEncryptPass_c((uint8_t *)(INTERNAL_SECRET), strlen(INTERNAL_SECRET), pass);
|
||||||
taosEncryptPass((uint8_t *)(INTERNAL_SECRET), strlen(INTERNAL_SECRET), pass);
|
|
||||||
memcpy(secret, pass, TSDB_PASSWORD_LEN);
|
memcpy(secret, pass, TSDB_PASSWORD_LEN);
|
||||||
*spi = 1;
|
*spi = 1;
|
||||||
*encrypt = 0;
|
*encrypt = 0;
|
||||||
*ckey = 0;
|
*ckey = 0;
|
||||||
return 0;
|
return 0;
|
||||||
} else if (strcmp(user, TSDB_NETTEST_USER) == 0) {
|
} else if (strcmp(user, TSDB_NETTEST_USER) == 0) {
|
||||||
// A simple temporary implementation
|
char pass[TSDB_PASSWORD_LEN + 1] = {0};
|
||||||
char pass[TSDB_PASSWORD_LEN] = {0};
|
taosEncryptPass_c((uint8_t *)(TSDB_NETTEST_USER), strlen(TSDB_NETTEST_USER), pass);
|
||||||
taosEncryptPass((uint8_t *)(TSDB_NETTEST_USER), strlen(TSDB_NETTEST_USER), pass);
|
|
||||||
memcpy(secret, pass, TSDB_PASSWORD_LEN);
|
memcpy(secret, pass, TSDB_PASSWORD_LEN);
|
||||||
*spi = 1;
|
*spi = 1;
|
||||||
*encrypt = 0;
|
*encrypt = 0;
|
||||||
|
|
|
@ -27,8 +27,8 @@ void TestClient::SetRpcRsp(SRpcMsg* pRsp) { this->pRsp = pRsp; };
|
||||||
tsem_t* TestClient::GetSem() { return &sem; }
|
tsem_t* TestClient::GetSem() { return &sem; }
|
||||||
|
|
||||||
bool TestClient::Init(const char* user, const char* pass, const char* fqdn, uint16_t port) {
|
bool TestClient::Init(const char* user, const char* pass, const char* fqdn, uint16_t port) {
|
||||||
char secretEncrypt[TSDB_PASSWORD_LEN] = {0};
|
char secretEncrypt[TSDB_PASSWORD_LEN + 1] = {0};
|
||||||
taosEncryptPass((uint8_t*)pass, strlen(pass), secretEncrypt);
|
taosEncryptPass_c((uint8_t*)pass, strlen(pass), secretEncrypt);
|
||||||
|
|
||||||
SRpcInit rpcInit;
|
SRpcInit rpcInit;
|
||||||
memset(&rpcInit, 0, sizeof(rpcInit));
|
memset(&rpcInit, 0, sizeof(rpcInit));
|
||||||
|
@ -42,7 +42,7 @@ bool TestClient::Init(const char* user, const char* pass, const char* fqdn, uint
|
||||||
rpcInit.ckey = (char*)"key";
|
rpcInit.ckey = (char*)"key";
|
||||||
rpcInit.parent = this;
|
rpcInit.parent = this;
|
||||||
rpcInit.secret = (char*)secretEncrypt;
|
rpcInit.secret = (char*)secretEncrypt;
|
||||||
// rpcInit.spi = 1;
|
rpcInit.spi = 1;
|
||||||
|
|
||||||
clientRpc = rpcOpen(&rpcInit);
|
clientRpc = rpcOpen(&rpcInit);
|
||||||
ASSERT(clientRpc);
|
ASSERT(clientRpc);
|
||||||
|
|
|
@ -34,7 +34,7 @@ int32_t mndRetriveAuth(SMnode *pMnode, char *user, char *spi, char *encrypt, cha
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
*spi = 0;
|
*spi = 1;
|
||||||
*encrypt = 0;
|
*encrypt = 0;
|
||||||
*ckey = 0;
|
*ckey = 0;
|
||||||
|
|
||||||
|
|
|
@ -60,9 +60,9 @@ void mndCleanupUser(SMnode *pMnode) {}
|
||||||
|
|
||||||
static int32_t mndCreateDefaultUser(SMnode *pMnode, char *acct, char *user, char *pass) {
|
static int32_t mndCreateDefaultUser(SMnode *pMnode, char *acct, char *user, char *pass) {
|
||||||
SUserObj userObj = {0};
|
SUserObj userObj = {0};
|
||||||
|
taosEncryptPass_c((uint8_t *)pass, strlen(pass), userObj.pass);
|
||||||
tstrncpy(userObj.user, user, TSDB_USER_LEN);
|
tstrncpy(userObj.user, user, TSDB_USER_LEN);
|
||||||
tstrncpy(userObj.acct, acct, TSDB_USER_LEN);
|
tstrncpy(userObj.acct, acct, TSDB_USER_LEN);
|
||||||
taosEncryptPass((uint8_t *)pass, strlen(pass), userObj.pass);
|
|
||||||
userObj.createdTime = taosGetTimestampMs();
|
userObj.createdTime = taosGetTimestampMs();
|
||||||
userObj.updateTime = userObj.createdTime;
|
userObj.updateTime = userObj.createdTime;
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ SUserObj *mndAcquireUser(SMnode *pMnode, char *userName) {
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
SUserObj *pUser = sdbAcquire(pSdb, SDB_USER, userName);
|
SUserObj *pUser = sdbAcquire(pSdb, SDB_USER, userName);
|
||||||
if (pUser == NULL) {
|
if (pUser == NULL) {
|
||||||
terrno = TSDB_CODE_MND_DB_NOT_EXIST;
|
terrno = TSDB_CODE_MND_USER_NOT_EXIST;
|
||||||
}
|
}
|
||||||
return pUser;
|
return pUser;
|
||||||
}
|
}
|
||||||
|
@ -214,9 +214,9 @@ void mndReleaseUser(SMnode *pMnode, SUserObj *pUser) {
|
||||||
|
|
||||||
static int32_t mndCreateUser(SMnode *pMnode, char *acct, char *user, char *pass, SMnodeMsg *pReq) {
|
static int32_t mndCreateUser(SMnode *pMnode, char *acct, char *user, char *pass, SMnodeMsg *pReq) {
|
||||||
SUserObj userObj = {0};
|
SUserObj userObj = {0};
|
||||||
|
taosEncryptPass_c((uint8_t *)pass, strlen(pass), userObj.pass);
|
||||||
tstrncpy(userObj.user, user, TSDB_USER_LEN);
|
tstrncpy(userObj.user, user, TSDB_USER_LEN);
|
||||||
tstrncpy(userObj.acct, acct, TSDB_USER_LEN);
|
tstrncpy(userObj.acct, acct, TSDB_USER_LEN);
|
||||||
taosEncryptPass((uint8_t *)pass, strlen(pass), userObj.pass);
|
|
||||||
userObj.createdTime = taosGetTimestampMs();
|
userObj.createdTime = taosGetTimestampMs();
|
||||||
userObj.updateTime = userObj.createdTime;
|
userObj.updateTime = userObj.createdTime;
|
||||||
userObj.superUser = 0;
|
userObj.superUser = 0;
|
||||||
|
@ -351,8 +351,9 @@ static int32_t mndProcessAlterUserReq(SMnodeMsg *pReq) {
|
||||||
|
|
||||||
SUserObj newUser = {0};
|
SUserObj newUser = {0};
|
||||||
memcpy(&newUser, pUser, sizeof(SUserObj));
|
memcpy(&newUser, pUser, sizeof(SUserObj));
|
||||||
memset(pUser->pass, 0, sizeof(pUser->pass));
|
char pass[TSDB_PASSWORD_LEN + 1] = {0};
|
||||||
taosEncryptPass((uint8_t *)pAlter->pass, strlen(pAlter->pass), pUser->pass);
|
taosEncryptPass_c((uint8_t *)pAlter->pass, strlen(pAlter->pass), pass);
|
||||||
|
memcpy(pUser->pass, pass, TSDB_PASSWORD_LEN);
|
||||||
newUser.updateTime = taosGetTimestampMs();
|
newUser.updateTime = taosGetTimestampMs();
|
||||||
|
|
||||||
int32_t code = mndUpdateUser(pMnode, pUser, &newUser, pReq);
|
int32_t code = mndUpdateUser(pMnode, pUser, &newUser, pReq);
|
||||||
|
|
|
@ -152,6 +152,7 @@ static int32_t sdbInsertRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow *
|
||||||
if (insertFp != NULL) {
|
if (insertFp != NULL) {
|
||||||
code = (*insertFp)(pSdb, pRow->pObj);
|
code = (*insertFp)(pSdb, pRow->pObj);
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
|
code = terrno;
|
||||||
taosWLockLatch(pLock);
|
taosWLockLatch(pLock);
|
||||||
taosHashRemove(hash, pRow->pObj, keySize);
|
taosHashRemove(hash, pRow->pObj, keySize);
|
||||||
taosWUnLockLatch(pLock);
|
taosWUnLockLatch(pLock);
|
||||||
|
|
|
@ -5302,7 +5302,7 @@ SOperatorInfo* createExchangeOperatorInfo(const SArray* pSources, const SArray*
|
||||||
rpcInit.user = (char *)"root";
|
rpcInit.user = (char *)"root";
|
||||||
rpcInit.idleTime = tsShellActivityTimer * 1000;
|
rpcInit.idleTime = tsShellActivityTimer * 1000;
|
||||||
rpcInit.ckey = "key";
|
rpcInit.ckey = "key";
|
||||||
// rpcInit.spi = 1;
|
rpcInit.spi = 1;
|
||||||
rpcInit.secret = (char *)"dcc5bed04851fec854c035b2e40263b6";
|
rpcInit.secret = (char *)"dcc5bed04851fec854c035b2e40263b6";
|
||||||
|
|
||||||
pInfo->pTransporter = rpcOpen(&rpcInit);
|
pInfo->pTransporter = rpcOpen(&rpcInit);
|
||||||
|
|
|
@ -319,7 +319,7 @@ void *taosNetInitRpc(char *secretEncrypt, char spi) {
|
||||||
|
|
||||||
char user[] = "nettestinternal";
|
char user[] = "nettestinternal";
|
||||||
char pass[] = "nettestinternal";
|
char pass[] = "nettestinternal";
|
||||||
taosEncryptPass((uint8_t *)pass, strlen(pass), secretEncrypt);
|
taosEncryptPass_c((uint8_t *)pass, strlen(pass), secretEncrypt);
|
||||||
|
|
||||||
memset(&rpcInit, 0, sizeof(rpcInit));
|
memset(&rpcInit, 0, sizeof(rpcInit));
|
||||||
rpcInit.localPort = 0;
|
rpcInit.localPort = 0;
|
||||||
|
@ -344,7 +344,7 @@ static int32_t taosNetCheckRpc(const char* serverFqdn, uint16_t port, uint16_t p
|
||||||
SRpcMsg rspMsg;
|
SRpcMsg rspMsg;
|
||||||
void * pRpcConn;
|
void * pRpcConn;
|
||||||
|
|
||||||
char secretEncrypt[32] = {0};
|
char secretEncrypt[TSDB_PASSWORD_LEN + 1] = {0};
|
||||||
|
|
||||||
pRpcConn = taosNetInitRpc(secretEncrypt, spi);
|
pRpcConn = taosNetInitRpc(secretEncrypt, spi);
|
||||||
if (NULL == pRpcConn) {
|
if (NULL == pRpcConn) {
|
||||||
|
|
Loading…
Reference in New Issue