Hi list! :-)
Coming back to past loves, I tried to compile TCPslice with TCP and VoIP tracking support (things I added in 2006: http://marc.info/?l=tcpdump-workers&m=115153193211591&w=2 ) but met the following error: ./sessions.c: In function 'sip_get_address': ./sessions.c:778: error: incompatible type for argument 1 of 'osip_list_eol' ./sessions.c:781: error: incompatible type for argument 1 of 'osip_list_get' make: *** [sessions.o] Error 1 Apparently, changes were made in the Libosip2 API: in osipparser2/osip_message.h the "bodies" field of osip_message_t is not a pointer anymore. Patching TCPslice accordingly was easy, but... I don't see how to test for old/new Libosip2 API; can we assume people have a recent enough Libosip2? It is the case in most compiled packages... It would be better of course if somebody knew of a way to make TCPslice adapt itself to old & new APIs :-) Regards, -- Sebastien Raveau
*** sessions.c.orig 2008-09-01 11:02:25.000000000 +0200 --- sessions.c 2008-09-01 10:03:42.000000000 +0200 *************** *** 327,332 **** --- 327,335 ---- dumper_close(elt->dumper); free(elt); } + # ifdef HAVE_LIBOSIPPARSER2 + parser_init(); + # endif # ifdef HAVE_LIBOOH323C ooH323EpInitialize(OO_CALLMODE_AUDIOCALL, "/dev/null"); ooH323EpDisableAutoAnswer(); *************** *** 775,784 **** return 0; if (osip_strcasecmp(ctt->subtype, "sdp")) return 0; ! for (i = 0; !osip_list_eol(msg->bodies, i); ++i) { sdp = NULL; sdp_message_init(&sdp); ! tmp = ((osip_body_t *)osip_list_get(msg->bodies, i))->body; if (sdp_message_parse(sdp, tmp)) { sdp_message_free(sdp); continue; --- 778,787 ---- return 0; if (osip_strcasecmp(ctt->subtype, "sdp")) return 0; ! for (i = 0; !osip_list_eol(&msg->bodies, i); ++i) { sdp = NULL; sdp_message_init(&sdp); ! tmp = ((osip_body_t *)osip_list_get(&msg->bodies, i))->body; if (sdp_message_parse(sdp, tmp)) { sdp_message_free(sdp); continue;
- This is the tcpdump-workers list. Visit https://cod.sandelman.ca/ to unsubscribe.