Loading codec/c++/sip_codets.cpp +25 −9 Original line number Diff line number Diff line Loading @@ -1163,6 +1163,10 @@ void MessageHeader::PreDecodeField (Buffer& buffer) throw (DecodeError) const SipHeaderMap::Entry& hdr = SipHeaderMap::GetByName(reg_header_name.GetMatchedString (1)); int id = hdr.mIdMessageHeader; std::cerr << "biiiiiip " << reg_header_name.GetMatchedString(1) << std::endl; // check that this field is not duplicated if (IsPresent(id)) { switch (id) { Loading Loading @@ -1218,7 +1222,6 @@ void MessageHeader::PreDecodeField (Buffer& buffer) throw (DecodeError) void MessageHeader::PostDecodeField (int id, Buffer& buffer) throw (DecodeError) { static Regex reg_crlf ("^\r\n"); reg_crlf.AssertMatch (buffer, this); buffer.SetPosition(buffer.GetPosition() + reg_crlf.GetMatchedLength()); } Loading Loading @@ -1842,6 +1845,14 @@ void Method_List::PostDecodeField (int id, Buffer& buffer) throw (DecodeError) } void CredentialsList::PreDecode (Buffer& buffer) throw (DecodeError) { SetHypSize (GetSize() + 1); SetHypAppend (1); } void CredentialsList::PreDecodeField (int id, Buffer& buffer) throw (DecodeError) { } // TODO: Add CredentialsList PreEncode Loading Loading @@ -3701,6 +3712,7 @@ void MinSE::PreEncodeField (int field_id, Buffer& buffer) throw (EncodeError) } } void MinSE::PreDecodeField (int id, Buffer& buffer) throw (DecodeError) { static Regex reg_delta_sec ("^[0-9]+"); Loading Loading @@ -3899,16 +3911,20 @@ void MessageBody::PreEncode (Buffer& buffer) throw (EncodeError) } } void SessionExpires::PreDecodeField (int id, Buffer& buffer) throw (DecodeError) { //std::cout << "SessionExpires::PreDecodeField: " << id << std::endl; static Regex reg_semicolon ("^" SIPREG_SEMI); if (id == id_seParam) { if(reg_semicolon.Match(buffer)) { SetHypFieldIsPresent (id, 1); } else { SetHypFieldIsPresent (id, 0); } static Regex reg_delta_sec ("^[0-9]+"); static Regex reg_separator ("^" SIPREG_SEMI); switch (id) { case id_deltaSec: reg_delta_sec.AssertMatch (buffer, this); SetHypFieldLength (id, reg_delta_sec.GetMatchedLength()); break; case id_seParam: SetHypFieldIsPresent (id, reg_separator.Match (buffer) ? 1 : 0); break; } } Loading Loading
codec/c++/sip_codets.cpp +25 −9 Original line number Diff line number Diff line Loading @@ -1163,6 +1163,10 @@ void MessageHeader::PreDecodeField (Buffer& buffer) throw (DecodeError) const SipHeaderMap::Entry& hdr = SipHeaderMap::GetByName(reg_header_name.GetMatchedString (1)); int id = hdr.mIdMessageHeader; std::cerr << "biiiiiip " << reg_header_name.GetMatchedString(1) << std::endl; // check that this field is not duplicated if (IsPresent(id)) { switch (id) { Loading Loading @@ -1218,7 +1222,6 @@ void MessageHeader::PreDecodeField (Buffer& buffer) throw (DecodeError) void MessageHeader::PostDecodeField (int id, Buffer& buffer) throw (DecodeError) { static Regex reg_crlf ("^\r\n"); reg_crlf.AssertMatch (buffer, this); buffer.SetPosition(buffer.GetPosition() + reg_crlf.GetMatchedLength()); } Loading Loading @@ -1842,6 +1845,14 @@ void Method_List::PostDecodeField (int id, Buffer& buffer) throw (DecodeError) } void CredentialsList::PreDecode (Buffer& buffer) throw (DecodeError) { SetHypSize (GetSize() + 1); SetHypAppend (1); } void CredentialsList::PreDecodeField (int id, Buffer& buffer) throw (DecodeError) { } // TODO: Add CredentialsList PreEncode Loading Loading @@ -3701,6 +3712,7 @@ void MinSE::PreEncodeField (int field_id, Buffer& buffer) throw (EncodeError) } } void MinSE::PreDecodeField (int id, Buffer& buffer) throw (DecodeError) { static Regex reg_delta_sec ("^[0-9]+"); Loading Loading @@ -3899,16 +3911,20 @@ void MessageBody::PreEncode (Buffer& buffer) throw (EncodeError) } } void SessionExpires::PreDecodeField (int id, Buffer& buffer) throw (DecodeError) { //std::cout << "SessionExpires::PreDecodeField: " << id << std::endl; static Regex reg_semicolon ("^" SIPREG_SEMI); if (id == id_seParam) { if(reg_semicolon.Match(buffer)) { SetHypFieldIsPresent (id, 1); } else { SetHypFieldIsPresent (id, 0); } static Regex reg_delta_sec ("^[0-9]+"); static Regex reg_separator ("^" SIPREG_SEMI); switch (id) { case id_deltaSec: reg_delta_sec.AssertMatch (buffer, this); SetHypFieldLength (id, reg_delta_sec.GetMatchedLength()); break; case id_seParam: SetHypFieldIsPresent (id, reg_separator.Match (buffer) ? 1 : 0); break; } } Loading