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 + -
显示快捷键?