Hello List,
I'm on my way to complete my plugin. One of the last issues I must deal with 
is fragmentation.
I've implemented it following the scheme suggested in the Dev Guide. No way!
The following instruction is executed:
------------------------------------------------------------------------------------------------------------------------
if (check_col (pinfo->cinfo, COL_INFO)
    if (frag_msg)
        col_append_fstr(pinfo->cinfo, COL_INFO, "(Message reassembled)");
-------------------------------------------------------------------------------------------------------------------------
where *frag_msg* is a fragment_data pointer initialized at this point:
--------------------------------------------------------------------------------------------------------------------------
frag_msg = fragment_add_seq_check(tvb, offset, pinfo, mg_seqid, 
msg_fragment_table, msg_reassembled_table, pkth->seq - msg_num, 
!(flags&EOM_FLAG))
---------------------------------------------------------------------------------------------------------------------------
Now, the problems are:
A) Even if actually the last fragmented packet has COL_INFO = "Message 
Reassmebled" I do not see the whole content in the hex pane (like, for 
instance, IP reassembled packets)
B) When I reload (or change) the capture file it throws a SIGSEGV in 
fragment_table_init(&msg_reassembled_table), precisely:
fragment_table_init()->g_hash_table_size()->range_copy()->g_free()->free()
Why?! I think it has to do with offset values i use in 
process_reassambled(..) and in fragment_add_seq_check(...)
So, does offset have to change depending on whether it's the first packet or 
not?
Because the first packet has a( PKT+MSG) header the others don't  (they have 
just PKT header), so I guess while the first packet must include both 
headers (then the offset must be 0 because we have to "insert" the whole tvb 
into msg_fragment_table) the others must be inserted skipping PKT header 
(then offset = 16).
I've had a look at both the code in reassemble.c and other dissectors, and 
it looks like it works like mine, but I must be wrong somewhere! The 
question is, where? : D
thanx
_________________________________________________________________
SMS + facili! Prova un nuovo modo, più comodo, di inviare SMS! 
http://join2.msn.com/?page=messenger/mm&ST=1&pgmarket=it-it