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.

Reply via email to