add rpc update interface
This commit is contained in:
parent
bf41ee6bc8
commit
2045fd4605
|
@ -189,11 +189,31 @@ static void uvHandleActivityTimeout(uv_timer_t* handle) {
|
||||||
tDebug("%p timeout since no activity", conn);
|
tDebug("%p timeout since no activity", conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool uvCheckIp(char* range, char* ip) {
|
||||||
|
// impl later
|
||||||
|
return strcmp(range, ip) == 0;
|
||||||
|
}
|
||||||
|
static bool uvFilteByWhiteList(SWorkThrd* pThrd, char* user, uint32_t ip) {
|
||||||
|
// impl check
|
||||||
|
SArray** pWhite = taosHashGet(pThrd->pWhiteList, user, strlen(user));
|
||||||
|
if (pWhite == NULL || *pWhite == NULL) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool valid = false;
|
||||||
|
char userIp[64] = {0};
|
||||||
|
tinet_ntoa(userIp, ip);
|
||||||
|
for (int i = 0; i < taosArrayGetSize(*pWhite); i++) {
|
||||||
|
char* range = taosArrayGetP(*pWhite, i);
|
||||||
|
valid = uvCheckIp(range, userIp);
|
||||||
|
if (valid) {
|
||||||
|
return valid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return valid;
|
||||||
|
}
|
||||||
static bool uvHandleReq(SSvrConn* pConn) {
|
static bool uvHandleReq(SSvrConn* pConn) {
|
||||||
STrans* pTransInst = pConn->pTransInst;
|
STrans* pTransInst = pConn->pTransInst;
|
||||||
SWorkThrd* pThrd = pConn->hostThrd;
|
SWorkThrd* pThrd = pConn->hostThrd;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
STransMsgHead* pHead = NULL;
|
STransMsgHead* pHead = NULL;
|
||||||
|
|
||||||
|
@ -202,6 +222,9 @@ static bool uvHandleReq(SSvrConn* pConn) {
|
||||||
tError("%s conn %p read invalid packet", transLabel(pTransInst), pConn);
|
tError("%s conn %p read invalid packet", transLabel(pTransInst), pConn);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (uvFilteByWhiteList(pThrd, pHead->user, pConn->clientIp) == false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (transDecompressMsg((char**)&pHead, msgLen) < 0) {
|
if (transDecompressMsg((char**)&pHead, msgLen) < 0) {
|
||||||
tError("%s conn %p recv invalid packet, failed to decompress", transLabel(pTransInst), pConn);
|
tError("%s conn %p recv invalid packet, failed to decompress", transLabel(pTransInst), pConn);
|
||||||
|
@ -1208,6 +1231,7 @@ void uvHandleRegister(SSvrMsg* msg, SWorkThrd* thrd) {
|
||||||
void uvHandleUpdate(SSvrMsg* msg, SWorkThrd* thrd) {
|
void uvHandleUpdate(SSvrMsg* msg, SWorkThrd* thrd) {
|
||||||
// update white ip
|
// update white ip
|
||||||
bool ret = (msg->func)(msg->arg);
|
bool ret = (msg->func)(msg->arg);
|
||||||
|
|
||||||
taosMemoryFree(msg);
|
taosMemoryFree(msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue