policy.cpp
来自「特别好玩有启发的东西」· C++ 代码 · 共 1,712 行 · 第 1/3 页
CPP
1,712 行
return -1;
if(1 != dbop->get_line_value())//how many records?
return -1;
//HTTPProxy policy initializing:9 bools
int col[8] = {2,3,4,5,6,7,8,9};
std::string strTmp;
std::vector<int> vecColNo(col,col+8);
std::vector<std::string> vecHttpProValue;
dbop->GetMultiFieldValue(vecColNo,vecHttpProValue);
//TimeOut
strTmp = vecHttpProValue.operator[](2);
if(NULL ==strTmp.c_str())
return -1;
else TimeOut = (short)atoi(strTmp.c_str());//should judge the validity of the string?
//brecord:whether to record the content
strTmp = vecHttpProValue.operator[](3);
if(NULL == strTmp.c_str())
return -1;
else bRecord = atoi(strTmp.c_str());
//bAuth:should verify the user's identity?
strTmp = vecHttpProValue.operator[](4);
if(NULL == strTmp.c_str())
return -1;
else bAuth = atoi(strTmp.c_str());
//bTime
strTmp = vecHttpProValue.operator[](5);
if(NULL == strTmp.c_str())
return -1;
else bTime = atoi(strTmp.c_str());
//bKeyWordFlt
strTmp = vecHttpProValue.operator[](6);
if(NULL == strTmp.c_str())
return -1;
else bKeyWordFlt= atoi(strTmp.c_str());
//bUrl:
strTmp = vecHttpProValue.operator[](7);
if(NULL == strTmp.c_str())
return -1;
else bUrl= atoi(strTmp.c_str());
//bIP
strTmp = vecHttpProValue.operator[](8);
if(NULL == strTmp.c_str())
return -1;
else bIP= atoi(strTmp.c_str());
//bPort
strTmp = vecHttpProValue.operator[](9);
if(NULL == strTmp.c_str())
return -1;
else bPort= atoi(strTmp.c_str());
//2-time segment
if(bTime)
if(0 != fltTime(dbop,tTimeSegt,HTTP,PROXY))
return -1;
//3-content key words filter
if(bKeyWordFlt)
if(0 != fltKeyWord(dbop,tKeyWordvec,CONTENT,HTTP,PROXY))
return -1;
//4-Url
if(bUrl)
if(0 != fltUrl(dbop, tUrlVec,HTTP,PROXY))
return -1;
//5-IP
if(bIP)
if(0 != fltIP(dbop,tIPVec,HTTP,PROXY))
return -1;
//6-Port
if(bPort)
if(0 != fltPort(dbop,tPortVec,HTTP,PROXY))
return -1;
return 0;
}
void CHttpProxyPolicy::Clear()
{//clear ? release the vector<std::string>??
//tTimeSegt.clear();
tKeyWordvec.clear();
tUrlVec.clear();
tIPVec.clear();
tPortVec.clear();
}
/*****************************************************************************
name :CSmtpProxyPolicy::Load
usage :initialize the smtp proxy policy.
calls :none
be called :netstrobe main frame;
table visited: :none
table repaired :none;
input :CDB_Operator
output :none
return value :0-runing succeed; 1-runing failed.
others :none.
*****************************************************************************/
int CSmtpProxyPolicy::Load(CDB_Operator* dbop, char** pResult)
{
//initialize the CSmtpP alone. param pResult is not used now.
//a-timeOut
//b-bRecord
//c-isWithAttachment
//d-bAuth
//e-bTime(time segment)
//f-IsSubjectFilter
//g-bAddress
//h-bAttachName;
//i-bContent;
//-bUse
//policy talbe-------total 10.
//1-SMTPPolicy table
if(! dbop->exec_sql("select * from HTTPProxy"))
return -1;
if(dbop->IsEmpty())
return -1;
if(1 != dbop->get_line_value())//how many records?
return -1;
//HTTPProxy policy initializing:9 bools
int col[10] = {2,3,4,5,6,7,8,9,10,11};
std::string strTmp;
std::vector<int> vecColNo(col,col+10);
std::vector<std::string> vecHttpProValue;
dbop->GetMultiFieldValue(vecColNo,vecHttpProValue);
//TimeOut
strTmp = vecHttpProValue.operator[](2);
if(NULL ==strTmp.c_str())
return -1;
else TimeOut = (short)atoi(strTmp.c_str());//should judge the validity of the string?
//brecord:whether to record the content
strTmp = vecHttpProValue.operator[](3);
if(NULL == strTmp.c_str())
return -1;
else bRecord = atoi(strTmp.c_str());
//bWithAttach:whether to record the content
strTmp = vecHttpProValue.operator[](4);
if(NULL == strTmp.c_str())
return -1;
else bWithAttach = atoi(strTmp.c_str());
//bAuth:should verify the user's identity?
strTmp = vecHttpProValue.operator[](5);
if(NULL == strTmp.c_str())
return -1;
else bAuth = atoi(strTmp.c_str());
//bTime
strTmp = vecHttpProValue.operator[](6);
if(NULL == strTmp.c_str())
return -1;
else bTime = atoi(strTmp.c_str());
//bKeyWordFlt
strTmp = vecHttpProValue.operator[](7);
if(NULL == strTmp.c_str())
return -1;
else bSubject = atoi(strTmp.c_str());
//bEmailAddress:
strTmp = vecHttpProValue.operator[](8);
if(NULL == strTmp.c_str())
return -1;
else bEmailAddress = atoi(strTmp.c_str());
//bAttachName
strTmp = vecHttpProValue.operator[](9);
if(NULL == strTmp.c_str())
return -1;
else bAttachName = atoi(strTmp.c_str());
//bContent
strTmp = vecHttpProValue.operator[](10);
if(NULL == strTmp.c_str())
return -1;
else bContent = atoi(strTmp.c_str());
//bUse
strTmp = vecHttpProValue.operator[](11);
if(NULL == strTmp.c_str())
return -1;
else bUse = atoi(strTmp.c_str());
//2-time segment
if(bTime)
if(0 != fltTime(dbop,tTimeSegt,SMTP,PROXY))
return -1;
//3-Subject key words filter
if(bSubject)
if(0 != fltKeyWord(dbop,tSubjectVec,SUBJECT,SMTP,PROXY))
return -1;
//4-email address filter:
if(bEmailAddress){
if(0 != fltAddress(dbop,tSenderAddrVec,SENDER, SMTP,PROXY))
return -1;
if(0 != fltAddress(dbop,tRcptAddrVec,RECEIPIENT, SMTP,PROXY))
return -1;
if(0 != fltAddress(dbop,tCcAddrVec,CCRECEIPIENT, SMTP,PROXY))
return -1;
if(0 != fltAddress(dbop,tBccAddrVec,BCCRECEIPIENT, SMTP,PROXY))
return -1;
}
//5-bAttachName
if(bAttachName)
if(0 != fltKeyWord(dbop,tAtthNameVec,ATTACHNAME,SMTP,PROXY))
return -1;
//5-bContent
if(bContent)
if(0 != fltKeyWord(dbop,tContentVec,CONTENT,SMTP,PROXY))
return -1;
return 0;
}
void CSmtpProxyPolicy::Clear()
{
tAtthNameVec.clear();
tBccAddrVec.clear();
tCcAddrVec.clear();
tContentVec.clear();
tRcptAddrVec.clear();
tSenderAddrVec.clear();
tSubjectVec.clear();
//tTimeSegt.clear();
}
/*****************************************************************************
name :CSmtpPubPolicy::Load
usage :initialize the smtp proxy policy.
calls :none
be called :netstrobe main frame;
table visited: :none
table repaired :none
input :CDB_Operator
output :none
return value :0-runing succeed; 1-runing failed.
others :none.
*****************************************************************************/
int CSmtpPubPolicy::Load(CDB_Operator* dbop, char * * pResult)
{
//initialize the CSmtpP alone. param pResult is not used now.
//a-timeOut
//b-bRecord
//c-isWithAttachment
//d-bAuth
//e-bTime(time segment)
//f-IsSubjectFilter
//g-bAddress
//h-bAttachName;
//i-bContent;
//-bUse
//policy talbe-------total 10.
//1-SMTPPub table
if(! dbop->exec_sql("select * from HTTPProxy"))
return -1;
if(dbop->IsEmpty())
return -1;
if(1 != dbop->get_line_value())//how many records?
return -1;
//HTTPProxy policy initializing:9 bools
int col[10] = {2,3,4,5,6,7,8,9,10,11};
std::string strTmp;
std::vector<int> vecColNo(col,col+10);
std::vector<std::string> vecHttpProValue;
dbop->GetMultiFieldValue(vecColNo,vecHttpProValue);
//TimeOut
strTmp = vecHttpProValue.operator[](2);
if(NULL ==strTmp.c_str())
return -1;
else TimeOut = (short)atoi(strTmp.c_str());//should judge the validity of the string?
//brecord:whether to record the content
strTmp = vecHttpProValue.operator[](3);
if(NULL == strTmp.c_str())
return -1;
else bRecord = atoi(strTmp.c_str());
//bWithAttach:whether to record the content
strTmp = vecHttpProValue.operator[](4);
if(NULL == strTmp.c_str())
return -1;
else bWithAttach = atoi(strTmp.c_str());
//bAuth:should verify the user's identity?
strTmp = vecHttpProValue.operator[](5);
if(NULL == strTmp.c_str())
return -1;
else bAuth = atoi(strTmp.c_str());
//bTime
strTmp = vecHttpProValue.operator[](6);
if(NULL == strTmp.c_str())
return -1;
else bTime = atoi(strTmp.c_str());
//bKeyWordFlt
strTmp = vecHttpProValue.operator[](7);
if(NULL == strTmp.c_str())
return -1;
else bSubject = atoi(strTmp.c_str());
//bEmailAddress:
strTmp = vecHttpProValue.operator[](8);
if(NULL == strTmp.c_str())
return -1;
else bEmailAddress = atoi(strTmp.c_str());
//bAttachName
strTmp = vecHttpProValue.operator[](9);
if(NULL == strTmp.c_str())
return -1;
else bAttachName = atoi(strTmp.c_str());
//bContent
strTmp = vecHttpProValue.operator[](10);
if(NULL == strTmp.c_str())
return -1;
else bContent = atoi(strTmp.c_str());
//bUse
strTmp = vecHttpProValue.operator[](11);
if(NULL == strTmp.c_str())
return -1;
else bUse = atoi(strTmp.c_str());
//2-time segment
if(bTime)
if(0 != fltTime(dbop,tTimeSegt,SMTP,PUB))
return -1;
//3-Subject key words filter
if(bSubject)
if(0 != fltKeyWord(dbop,tSubjectVec,SUBJECT,SMTP,PUB))
return -1;
//4-email address filter:
if(bEmailAddress){
if(0 != fltAddress(dbop,tSenderAddrVec,SENDER, SMTP,PUB))
return -1;
if(0 != fltAddress(dbop,tRcptAddrVec,RECEIPIENT, SMTP,PUB))
return -1;
if(0 != fltAddress(dbop,tCcAddrVec,CCRECEIPIENT, SMTP,PUB))
return -1;
if(0 != fltAddress(dbop,tBccAddrVec,BCCRECEIPIENT, SMTP,PUB))
return -1;
}
//5-bAttachName
if(bAttachName)
if(0 != fltKeyWord(dbop,tAtthNameVec,ATTACHNAME,SMTP,PUB))
return -1;
//5-bContent
if(bContent)
if(0 != fltKeyWord(dbop,tContentVec,CONTENT,SMTP,PUB))
return -1;
return 0;
}
void CSmtpPubPolicy::Clear()
{
tAtthNameVec.clear();
tBccAddrVec.clear();
tCcAddrVec.clear();
tContentVec.clear();
tRcptAddrVec.clear();
tSenderAddrVec.clear();
tSubjectVec.clear();
//tTimeSegt.clear();
}
/*****************************************************************************
name :CPop3ProxyPolicy::Load
usage :initialize the smtp proxy policy.
calls :none
be called :netstrobe main frame;
table visited: :none
table repaired :none
input :CDB_Operator
output :none
return value :0-runing succeed; 1-runing failed.
others :none.
*****************************************************************************/
int CPop3ProxyPolicy::Load(CDB_Operator* dbop, char * * pResult)
{
//initialize the CPop3ProxyPolicy alone. param pResult is not used now.
//a-timeOut
//b-bRecord
//c-isWithAttachment
//d-bAuth
//e-bTime(time segment)
//f-IsSubjectFilter
//g-bAddress
//h-bAttachName;
//i-bContent;
//-bUse
//policy talbe-------total 10.
//1-SMTPPub table
if(! dbop->exec_sql("select * from HTTPProxy"))
return -1;
if(dbop->IsEmpty())
return -1;
if(1 != dbop->get_line_value())//how many records?
return -1;
//HTTPProxy policy initializing:9 bools
int col[10] = {2,3,4,5,6,7,8,9,10,11};
std::string strTmp;
std::vector<int> vecColNo(col,col+10);
std::vector<std::string> vecHttpProValue;
dbop->GetMultiFieldValue(vecColNo,vecHttpProValue);
//TimeOut
strTmp = vecHttpProValue.operator[](2);
if(NULL ==strTmp.c_str())
return -1;
else TimeOut = (short)atoi(strTmp.c_str());//should judge the validity of the string?
//brecord:whether to record the content
strTmp = vecHttpProValue.operator[](3);
if(NULL == strTmp.c_str())
return -1;
else bRecord = atoi(strTmp.c_str());
//bWithAttach:whether to record the content
strTmp = vecHttpProValue.operator[](4);
if(NULL == strTmp.c_str())
return -1;
else bWithAttach = atoi(strTmp.c_str());
//bAuth:should verify the user's identity?
strTmp = vecHttpProValue.operator[](5);
if(NULL == strTmp.c_str())
return -1;
else bAuth = atoi(strTmp.c_str());
//bTime
strTmp = vecHttpProValue.operator[](6);
if(NULL == strTmp.c_str())
return -1;
else bTime = atoi(strTmp.c_str());
//bKeyWordFlt
strTmp = vecHttpProValue.operator[](7);
if(NULL == strTmp.c_str())
return -1;
else bSubject = atoi(strTmp.c_str());
//bEmailAddress:
strTmp = vecHttpProValue.operator[](8);
if(NULL == strTmp.c_str())
return -1;
else bEmailAddress = atoi(strTmp.c_str());
//bAttachName
strTmp = vecHttpProValue.operator[](9);
if(NULL == strTmp.c_str())
return -1;
else bAttachName = atoi(strTmp.c_str());
//bContent
strTmp = vecHttpProValue.operator[](10);
if(NULL == strTmp.c_str())
return -1;
else bContent = atoi(strTmp.c_str());
//bUse
strTmp = vecHttpProValue.operator[](11);
if(NULL == strTmp.c_str())
return -1;
else bUse = atoi(strTmp.c_str());
//2-time segment
if(bTime)
if(0 != fltTime(dbop,tTimeSegt,POP3,PROXY))
return -1;
//3-Subject key words filter
if(bSubject)
if(0 != fltKeyWord(dbop,tSubjectVec,SUBJECT,POP3,PROXY))
return -1;
//4-email address filter:
if(bEmailAddress){
if(0 != fltAddress(dbop,tSenderAddrVec,SENDER, POP3,PROXY))
return -1;
if(0 != fltAddress(dbop,tRcptAddrVec,RECEIPIENT, POP3,PROXY))
return -1;
if(0 != fltAddress(dbop,tCcAddrVec,CCRECEIPIENT, POP3,PROXY))
return -1;
if(0 != fltAddress(dbop,tBccAddrVec,BCCRECEIPIENT, POP3,PROXY))
return -1;
}
//5-bAttachName
if(bAttachName)
if(0 != fltKeyWord(dbop,tAtthNameVec,ATTACHNAME,POP3,PROXY))
return -1;
//5-bContent
if(bContent)
if(0 != fltKeyWord(dbop,tContentVec,CONTENT,POP3,PROXY))
return -1;
return 0;
}
void CPop3ProxyPolicy::Clear()
{
;
}
/*****************************************************************************
name :CPop3PubPolicy::Load
usage :initialize the smtp proxy policy.
calls :none
be called :netstrobe main frame;
table visited: :none
table repaired :none
input :CDB_Operator
output :none
return value :0-runing succeed; 1-runing failed.
others :none.
*****************************************************************************/
int CPop3PubPolicy::Load(CDB_Operator* dbop, char * * pResult)
{
//initialize the CPop3PubPolicy alone. param pResult is not used now.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?