From Peter Johansson:
the supplied patch fixes a problem where the options value should really be used from the conversation found (using conversation_lookup_hashtable(...) to create a new conversation based on the already stored conversation template (the CONVERSATION_TEMPLATE bit is set in the stored conversation) rather from the options argument passed to the function(s). This solves a problem that otherwise shows itself where "DISSECTOR_ASSERT(!(conv->options & CONVERSATION_TEMPLATE) && "Use the conversation_create_from_template function when the CONVERSATION_TEMPLATE bit is set in the options mask");" fails sometimes. svn path=/trunk/; revision=18825
This commit is contained in:
parent
b380600ab9
commit
6bdffa496e
|
@ -790,9 +790,9 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type
|
|||
* don't get packets in a given direction coming from more than one
|
||||
* address, unless the CONVERSATION_TEMPLATE option is set.)
|
||||
*/
|
||||
if (!(options & NO_ADDR_B) && ptype != PT_UDP)
|
||||
if (!(conversation->options & NO_ADDR_B) && ptype != PT_UDP)
|
||||
{
|
||||
if(!(options & CONVERSATION_TEMPLATE))
|
||||
if(!(conversation->options & CONVERSATION_TEMPLATE))
|
||||
{
|
||||
conversation_set_addr2(conversation, addr_b);
|
||||
}
|
||||
|
@ -829,7 +829,7 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type
|
|||
* conversation.
|
||||
*/
|
||||
if (ptype != PT_UDP) {
|
||||
if(!(options & CONVERSATION_TEMPLATE))
|
||||
if(!(conversation->options & CONVERSATION_TEMPLATE))
|
||||
{
|
||||
conversation_set_addr2(conversation, addr_a);
|
||||
}
|
||||
|
@ -881,9 +881,9 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type
|
|||
* get packets in a given direction coming from more than one port,
|
||||
* unless the CONVERSATION_TEMPLATE option is set.)
|
||||
*/
|
||||
if (!(options & NO_PORT_B) && ptype != PT_UDP)
|
||||
if (!(conversation->options & NO_PORT_B) && ptype != PT_UDP)
|
||||
{
|
||||
if(!(options & CONVERSATION_TEMPLATE))
|
||||
if(!(conversation->options & CONVERSATION_TEMPLATE))
|
||||
{
|
||||
conversation_set_port2(conversation, port_b);
|
||||
}
|
||||
|
@ -921,7 +921,7 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type
|
|||
*/
|
||||
if (ptype != PT_UDP)
|
||||
{
|
||||
if(!(options & CONVERSATION_TEMPLATE))
|
||||
if(!(conversation->options & CONVERSATION_TEMPLATE))
|
||||
{
|
||||
conversation_set_port2(conversation, port_a);
|
||||
}
|
||||
|
@ -963,11 +963,11 @@ find_conversation(guint32 frame_num, address *addr_a, address *addr_b, port_type
|
|||
*/
|
||||
if (ptype != PT_UDP)
|
||||
{
|
||||
if(!(options & CONVERSATION_TEMPLATE))
|
||||
if(!(conversation->options & CONVERSATION_TEMPLATE))
|
||||
{
|
||||
if (!(options & NO_ADDR_B))
|
||||
if (!(conversation->options & NO_ADDR_B))
|
||||
conversation_set_addr2(conversation, addr_b);
|
||||
if (!(options & NO_PORT_B))
|
||||
if (!(conversation->options & NO_PORT_B))
|
||||
conversation_set_port2(conversation, port_b);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue