Commit 001256dd authored by nikolajev's avatar nikolajev
Browse files

DiameterCodec update

parent 2bb5aec4
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -3688,13 +3688,12 @@ void DiameterHeader::PreDecodeField(int field_id, Buffer& buffer) throw (DecodeE
	{
		case id_cmdcode:
			unsigned char buff = Get_cmdflags().Get_r_bit().GetValue().at(0); 
			int nV_flag =  (buff >> 7);
			if(nV_flag)
			int nRequest_flag =  (buff >> 7);
#ifdef DIAMETER_ONLY
			if(Get_cmdcode().GetHypChosenId() == DiameterCommandCode::id_known_code)
					Get_cmdcode().Get_known_code().SetRequest();
				Get_cmdcode().Get_known_code().SetRequest(nRequest_flag);
#else
				Get_cmdcode().SetRequest();
			Get_cmdcode().SetRequest(nRequest_flag);
#endif
			break;
		break;
+1 −1
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ T3DEVLIB_BASIC_DEFINITION (LibDiameter_TypesAndValues, UTF8String, Charstring);
		
		void Encode (Buffer& buffer) throw (EncodeError);
		void Decode (Buffer& buffer) throw (DecodeError);
		void SetRequest(){m_bIsRequest = true;}
		void SetRequest(int nRequest){m_bIsRequest = (nRequest != 0);}
	};

//cannot contain -1 as enum id !!!!
+0 −5
Original line number Diff line number Diff line
@@ -2516,7 +2516,6 @@ void ServerVal_List::PreEncodeField (int field_id, Buffer& buffer) throw (Encode
void ServerVal_List::PreDecodeField (int id, Buffer& buffer) throw (DecodeError)
{
	static Regex reg_content ("^((?:" SIPREG_TOKEN "(?:" SIPREG_SLASH SIPREG_TOKEN ")?)|" SIPREG_COMMENT ")");
	debug_log_PreDecodeField(DEBUG_LOG_FILE, "ServerVal_List", id);
	reg_content.AssertMatch(buffer, this);
	SetHypFieldLength(reg_content.GetMatchedLength());
}
@@ -2525,9 +2524,6 @@ void ServerVal_List::PostDecodeField (int id, Buffer& buffer) throw (DecodeError
{
	static Regex reg_content("^((?:" SIPREG_TOKEN "(?:" SIPREG_SLASH SIPREG_TOKEN ")?)|" SIPREG_COMMENT ")");
	static Regex reg_separator ("^" SIPREG_LWS);
	debug_log_PostDecodeField(DEBUG_LOG_FILE, "ServerVal_List", id);

	debug_log(DEBUG_LOG_FILE, GetField(id).GetValue());

	if (reg_separator.Match (buffer))
		reg_separator.MovePast (buffer);
@@ -2541,7 +2537,6 @@ void ServerVal_List::PostDecodeField (int id, Buffer& buffer) throw (DecodeError
void Supported::PreDecodeField (int id, Buffer& buffer) throw (DecodeError)
{
	static Regex reg_content ("^" SIPREG_TOKEN);

	switch (id){
		case id_optionsTags:
			if (reg_content.Match (buffer) || Get_optionsTags().GetSize() > 0)