Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libosip2 for openSUSE:Factory checked in at 2021-06-19 23:04:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libosip2 (Old) and /work/SRC/openSUSE:Factory/.libosip2.new.2625 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libosip2" Sat Jun 19 23:04:25 2021 rev:29 rq:900872 version:5.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/libosip2/libosip2.changes 2021-01-31 16:52:07.156711958 +0100 +++ /work/SRC/openSUSE:Factory/.libosip2.new.2625/libosip2.changes 2021-06-19 23:05:06.615862872 +0200 @@ -1,0 +2,15 @@ +Wed May 26 11:56:42 UTC 2021 - Andreas Stieger <andreas.stie...@gmx.de> + +- update to 5.2.1: + * add OSIP_RETRY_LIMIT which may be useful to exosip + * add osip_timersub macro + * fix validate that the API are used with the expected/required + leading char + * fix memory out-of-bound access in broken uncompliant Via header + * fix k= within media being rejected since 5.1.1 [wrong check] +- package license text +- add upstream signing key and validate source signature +- run tests +- drop libosip2-5.0.0.patch, not required + +------------------------------------------------------------------- Old: ---- libosip2-5.0.0.patch libosip2-5.2.0.tar.gz New: ---- libosip2-5.2.1.tar.gz libosip2-5.2.1.tar.gz.sig libosip2.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libosip2.spec ++++++ --- /var/tmp/diff_new_pack.SyA5XB/_old 2021-06-19 23:05:07.103863624 +0200 +++ /var/tmp/diff_new_pack.SyA5XB/_new 2021-06-19 23:05:07.103863624 +0200 @@ -18,18 +18,17 @@ %define soname libosip2-12 Name: libosip2 -Version: 5.2.0 +Version: 5.2.1 Release: 0 Summary: Implementation of SIP (RFC 3261) License: LGPL-2.1-or-later Group: Productivity/Networking/Other URL: https://www.gnu.org/software/osip/osip.html -Source: https://ftp.gnu.org/gnu/osip/libosip2-5.2.0.tar.gz -Patch0: libosip2-5.0.0.patch +Source: https://ftp.gnu.org/gnu/osip/%{name}-%{version}.tar.gz +Source2: https://ftp.gnu.org/gnu/osip/%{name}-%{version}.tar.gz.sig +Source3: https://savannah.gnu.org/people/viewgpg.php?user_id=3960#/%{name}.keyring BuildRequires: docbook2x -BuildRequires: gcc BuildRequires: gperf -BuildRequires: libtool BuildRequires: pkgconfig %description @@ -63,14 +62,11 @@ %prep %setup -q -%patch0 %build -autoreconf -fiv %configure \ --enable-pthread \ --enable-mt \ - --enable-sysv \ --enable-gperf \ --disable-static %make_build @@ -79,13 +75,19 @@ %make_install find %{buildroot} -type f -name "*.la" -delete -print +%check +%make_build check + %post -n %{soname} -p /sbin/ldconfig %postun -n %{soname} -p /sbin/ldconfig %files -n %{soname} +%license COPYING %{_libdir}/lib*.so.* %files devel +%license COPYING +%doc HISTORY NEWS README FEATURES BUGS AUTHORS ChangeLog %{_includedir}/osipparser2 %{_includedir}/osip2 %{_libdir}/lib*.so ++++++ libosip2-5.2.0.tar.gz -> libosip2-5.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/ChangeLog new/libosip2-5.2.1/ChangeLog --- old/libosip2-5.2.0/ChangeLog 2020-11-10 18:36:54.000000000 +0100 +++ new/libosip2-5.2.1/ChangeLog 2021-05-25 11:51:04.000000000 +0200 @@ -1,3 +1,14 @@ +libosip2 (5.2.1) - 2021-05-25 + * fix compilation warning on ANDROID + * add OSIP_RETRY_LIMIT which may be useful to exosip + * add osip_timersub macro + * [windows] automatic usage of debug malloc/free to ease leak detection on windows + * fix validate that the API are used with the expected/required leading char + osip_uri_parse_headers parameter must start by '?' + osip_uri_parse_params parameter must start by ';' + * fix memory out-of-bound access in broken uncompliant Via header + * fix k= within media being rejected since 5.1.1 [wrong check] + libosip2 (5.2.0) - 2020-11-10 * use localtime_r when __USE_POSIX is available * sync versions with libexosip diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/configure new/libosip2-5.2.1/configure --- old/libosip2-5.2.0/configure 2020-11-10 18:33:50.000000000 +0100 +++ new/libosip2-5.2.1/configure 2021-05-25 12:01:40.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libosip2 5.2.0. +# Generated by GNU Autoconf 2.69 for libosip2 5.2.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='libosip2' PACKAGE_TARNAME='libosip2' -PACKAGE_VERSION='5.2.0' -PACKAGE_STRING='libosip2 5.2.0' +PACKAGE_VERSION='5.2.1' +PACKAGE_STRING='libosip2 5.2.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1350,7 +1350,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libosip2 5.2.0 to adapt to many kinds of systems. +\`configure' configures libosip2 5.2.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1421,7 +1421,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libosip2 5.2.0:";; + short | recursive ) echo "Configuration of libosip2 5.2.1:";; esac cat <<\_ACEOF @@ -1547,7 +1547,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libosip2 configure 5.2.0 +libosip2 configure 5.2.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1966,7 +1966,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libosip2 $as_me 5.2.0, which was +It was created by libosip2 $as_me 5.2.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2318,14 +2318,14 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: libosip2 The GNU Open SIP library." >&5 $as_echo "$as_me: libosip2 The GNU Open SIP library." >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Copyright (C) 2001-2020 Aymeric MOIZARD - <amoiz...@antisip.com>" >&5 -$as_echo "$as_me: Copyright (C) 2001-2020 Aymeric MOIZARD - <amoiz...@antisip.com>" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: Copyright (C) 2001-2021 Aymeric MOIZARD - <amoiz...@antisip.com>" >&5 +$as_echo "$as_me: Copyright (C) 2001-2021 Aymeric MOIZARD - <amoiz...@antisip.com>" >&6;} #???current[:revision[:age]]???. So, passing -version-info 3:12:1 sets current to 3, revision to 12, and age to 1 # 1/ increase revision for every source code change [release] # 2/ increase current for every API/ABI change and revert revision to 0 # 3/ always set age to 0 (for public release) -LIBOSIP_SO_VERSION=14:0:0 +LIBOSIP_SO_VERSION=14:1:0 OSIP_VERSION=$VERSION @@ -2854,7 +2854,7 @@ # Define the identity of the package. PACKAGE='libosip2' - VERSION='5.2.0' + VERSION='5.2.1' cat >>confdefs.h <<_ACEOF @@ -14304,7 +14304,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libosip2 $as_me 5.2.0, which was +This file was extended by libosip2 $as_me 5.2.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14370,7 +14370,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libosip2 config.status 5.2.0 +libosip2 config.status 5.2.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/configure.ac new/libosip2-5.2.1/configure.ac --- old/libosip2-5.2.0/configure.ac 2020-11-10 18:33:35.000000000 +0100 +++ new/libosip2-5.2.1/configure.ac 2021-05-25 11:53:39.000000000 +0200 @@ -1,15 +1,15 @@ AC_PREREQ([2.69]) -AC_INIT([libosip2],[5.2.0]) +AC_INIT([libosip2],[5.2.1]) AC_CONFIG_SRCDIR([include/osip2/osip.h]) AC_MSG_NOTICE([libosip2 The GNU Open SIP library.]) -AC_MSG_NOTICE([Copyright (C) 2001-2020 Aymeric MOIZARD - <amoiz...@antisip.com>]) +AC_MSG_NOTICE([Copyright (C) 2001-2021 Aymeric MOIZARD - <amoiz...@antisip.com>]) #???current[:revision[:age]]???. So, passing -version-info 3:12:1 sets current to 3, revision to 12, and age to 1 # 1/ increase revision for every source code change [release] # 2/ increase current for every API/ABI change and revert revision to 0 # 3/ always set age to 0 (for public release) -AC_SUBST(LIBOSIP_SO_VERSION, 14:0:0) +AC_SUBST(LIBOSIP_SO_VERSION, 14:1:0) AC_SUBST(OSIP_VERSION, $VERSION) AC_MSG_RESULT([Configuring ${PACKAGE} ${VERSION}]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/help/doxygen/DoxyFile new/libosip2-5.2.1/help/doxygen/DoxyFile --- old/libosip2-5.2.0/help/doxygen/DoxyFile 2020-11-10 18:35:27.000000000 +0100 +++ new/libosip2-5.2.1/help/doxygen/DoxyFile 2021-05-25 11:56:34.000000000 +0200 @@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 5.2.0 +PROJECT_NUMBER = 5.2.1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/include/osip2/osip_time.h new/libosip2-5.2.1/include/osip2/osip_time.h --- old/libosip2-5.2.0/include/osip2/osip_time.h 2020-07-23 20:32:53.000000000 +0200 +++ new/libosip2-5.2.1/include/osip2/osip_time.h 2021-05-03 21:43:11.000000000 +0200 @@ -62,6 +62,20 @@ #define osip_timerclear(tvp) timerclear(tvp) #endif +#if !defined(timersub) +#define osip_timersub(a, b, result) \ + do { \ + (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ + (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ + if ((result)->tv_usec < 0) { \ + --(result)->tv_sec; \ + (result)->tv_usec += 1000000; \ + } \ + } while (0) +#else +#define osip_timersub(a, b, result) timersub(a, b, result) +#endif + int osip_gettimeofday(struct timeval *tp, void *tz); time_t osip_getsystemtime(time_t *t); void osip_compensatetime(void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/include/osipparser2/osip_port.h new/libosip2-5.2.1/include/osipparser2/osip_port.h --- old/libosip2-5.2.0/include/osipparser2/osip_port.h 2020-07-23 20:32:53.000000000 +0200 +++ new/libosip2-5.2.1/include/osipparser2/osip_port.h 2021-05-03 21:43:11.000000000 +0200 @@ -140,7 +140,13 @@ #else -#if 0 /* for windows test purpose */ +/* Check for memory leaks */ +#if defined(_DEBUG) && defined(WIN32) +#define OSIP_MEMORY_DEBUG +#endif + +#ifdef OSIP_MEMORY_DEBUG +/* for windows test purpose */ #ifndef osip_malloc #define osip_malloc(S) _osip_malloc(S, __FILE__, __LINE__) #endif @@ -356,4 +362,5 @@ #define OSIP_TOOMUCHCALL -51 #define OSIP_WRONG_FORMAT -52 #define OSIP_NOCOMMONCODEC -53 +#define OSIP_RETRY_LIMIT -60 #endif /* _PORT_H_ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/scripts/Makefile.in new/libosip2-5.2.1/scripts/Makefile.in --- old/libosip2-5.2.0/scripts/Makefile.in 2020-11-10 18:33:49.000000000 +0100 +++ new/libosip2-5.2.1/scripts/Makefile.in 2021-05-25 12:01:40.000000000 +0200 @@ -124,7 +124,7 @@ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in compile config.guess \ - config.sub depcomp install-sh ltmain.sh missing mkinstalldirs + config.sub install-sh ltmain.sh missing mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/osip2/osip_time.c new/libosip2-5.2.1/src/osip2/osip_time.c --- old/libosip2-5.2.0/src/osip2/osip_time.c 2020-07-23 20:32:53.000000000 +0200 +++ new/libosip2-5.2.1/src/osip2/osip_time.c 2021-05-03 21:43:11.000000000 +0200 @@ -194,6 +194,9 @@ #endif void osip_compensatetime() { +#ifndef ANDROID + return; +#else static struct timeval last_now_monotonic = {0, 0}; static struct timeval last_now_real = {0, 0}; struct timeval now_monotonic; @@ -201,10 +204,6 @@ struct timeval diff_monotonic; struct timeval diff_real; -#ifndef ANDROID - return; -#endif - _osip_gettimeofday_realtime(&now_real, NULL); osip_gettimeofday(&now_monotonic, NULL); now_monotonic.tv_sec -= offset.tv_sec; @@ -243,6 +242,7 @@ _osip_gettimeofday_realtime(&last_now_real, NULL); osip_gettimeofday(&last_now_monotonic, NULL); last_now_monotonic.tv_sec -= offset.tv_sec; +#endif } time_t osip_getsystemtime(time_t *t) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/osipparser2/osip_port.c new/libosip2-5.2.1/src/osipparser2/osip_port.c --- old/libosip2-5.2.0/src/osipparser2/osip_port.c 2020-11-10 17:20:11.000000000 +0100 +++ new/libosip2-5.2.1/src/osipparser2/osip_port.c 2021-05-03 21:43:11.000000000 +0200 @@ -1293,7 +1293,8 @@ #endif -#if 0 /* for windows test purpose */ +#ifdef OSIP_MEMORY_DEBUG +/* for windows test purpose */ #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/osipparser2/osip_uri.c new/libosip2-5.2.1/src/osipparser2/osip_uri.c --- old/libosip2-5.2.0/src/osipparser2/osip_uri.c 2020-07-23 20:32:53.000000000 +0200 +++ new/libosip2-5.2.1/src/osipparser2/osip_uri.c 2021-05-03 21:43:11.000000000 +0200 @@ -375,6 +375,9 @@ const char *_and; const char *equal; + if (headers[0] != '?') /* This API can only be used with a starting '?' char */ + return OSIP_SYNTAXERROR; + /* find '=' wich is the separator for one header */ /* find ';' wich is the separator for multiple headers */ @@ -462,6 +465,9 @@ const char *comma; const char *equal; + if (params[0] != ';') /* This API can only be used with a starting '?' char */ + return OSIP_SYNTAXERROR; + /* find '=' wich is the separator for one param */ /* find ';' wich is the separator for multiple params */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/osipparser2/osip_via.c new/libosip2-5.2.1/src/osipparser2/osip_via.c --- old/libosip2-5.2.0/src/osipparser2/osip_via.c 2020-07-23 20:32:53.000000000 +0200 +++ new/libosip2-5.2.1/src/osipparser2/osip_via.c 2021-01-31 20:44:53.000000000 +0100 @@ -169,7 +169,7 @@ while (0 == strncmp(host, " ", 1)) { host++; - if (strlen(host) == 1) + if (strlen(host) <= 1) return OSIP_SYNTAXERROR; /* via is malformed */ } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/osipparser2/sdp_message.c new/libosip2-5.2.1/src/osipparser2/sdp_message.c --- old/libosip2-5.2.0/src/osipparser2/sdp_message.c 2020-07-23 20:32:53.000000000 +0200 +++ new/libosip2-5.2.1/src/osipparser2/sdp_message.c 2020-12-04 18:03:48.000000000 +0100 @@ -1292,7 +1292,10 @@ else { sdp_media_t *last_sdp_media = (sdp_media_t *) osip_list_get(&sdp->m_medias, i - 1); - if (last_sdp_media != NULL) { /* fixed Jan 10,2020: avoid a possible memory leak with k appearing several times after media line */ + /* fixed Jan 10,2020: avoid a possible memory leak with k appearing several times after media line */ + /* fixed Nov 04,2020: wrong test was applied. Any media k= line was being rejected */ + if (last_sdp_media->k_key != NULL) { + /* I believe such condition cannot happen any more: the method can't be called twice on a media */ sdp_key_free(k_header); return -1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/sip-malformed20 new/libosip2-5.2.1/src/test/res/sip-malformed20 --- old/libosip2-5.2.0/src/test/res/sip-malformed20 1970-01-01 01:00:00.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/sip-malformed20 2020-12-04 17:58:16.000000000 +0100 @@ -0,0 +1,23 @@ +INVITE sip:wat...@boston.bell-tel.com SIP/2.0 +Via: SIP/2.0/UDP kton.bell-tel.com +From: A. Bell <sip:a.g.b...@bell-tel.com>;tag=3 +To: T. Watson <sip:wat...@bell-tel.com> +Call-ID: 662606...@kton.bell-tel.com +CSeq: 1 INVITE +Contact: <sip:a.g.b...@kton.bell-tel.com> +Subject: TWO KEY IN SDP +Content-Type: application/sdp +Content-Length: 265 + +v=0 +o=bell 53655765 2353687637 IN IP4 128.3.4.5 +s=Mr. Watson, come here. +c=IN IP4 kton.bell-tel.com +t=3149328600 0 +m=audio 3456 RTP/AVP 0 3 4 5 +k=clear:KEY1 +a=rtpmap:0 PCMU/8000 +a=rtpmap:3 GSM/8000 +a=rtpmap:4 G723/8000 +a=rtpmap:5 DVI4/8000 +k=clear:KEY2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/sip-malformed20~ new/libosip2-5.2.1/src/test/res/sip-malformed20~ --- old/libosip2-5.2.0/src/test/res/sip-malformed20~ 1970-01-01 01:00:00.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/sip-malformed20~ 2020-12-04 16:31:32.000000000 +0100 @@ -0,0 +1,22 @@ +INVITE sip:wat...@boston.bell-tel.com SIP/2.0 +Via: SIP/2.0/UDP kton.bell-tel.com +From: A. Bell <sip:a.g.b...@bell-tel.com>;tag=3 +To: T. Watson <sip:wat...@bell-tel.com> +Call-ID: 662606...@kton.bell-tel.com +CSeq: 1 INVITE +Contact: <sip:a.g.b...@kton.bell-tel.com> +Subject: Mr. Watson, come here. +Content-Type: application/sdp +Content-Length: 251 + +v=0 +o=bell 53655765 2353687637 IN IP4 128.3.4.5 +s=Mr. Watson, come here. +c=IN IP4 kton.bell-tel.com +t=3149328600 0 +m=audio 3456 RTP/AVP 0 3 4 5 +k=clear:KEY1 +a=rtpmap:0 PCMU/8000 +a=rtpmap:3 GSM/8000 +a=rtpmap:4 G723/8000 +a=rtpmap:5 DVI4/8000 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/sip-malformed21 new/libosip2-5.2.1/src/test/res/sip-malformed21 --- old/libosip2-5.2.0/src/test/res/sip-malformed21 1970-01-01 01:00:00.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/sip-malformed21 2021-01-31 20:45:51.000000000 +0100 @@ -0,0 +1,129 @@ +MESSAGE sip:ominjeonaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@165.213.114.67 SIP/2.0 +Via: SIP/2.0/UDP 165.213.114.66:10507; viaparm +Via: SIP/2.0/UDP 165.213.114.66:10507; viaparm +Via: SIP/2.0/UDP 165.213.114.66:10507; viaparm +Accept: +Content-Type: +Content-Type: +www-authenticate: +Via: +to: +route: +record-route: +Call-ID: +User-Agent: +Proxy-Authorization: +CSeq: +Contact: +Supported: +Accept: +Content-Type: +Content-Type: +www-authenticate: +Via: +to: +route: +record-route: +Call-ID: +User-Agent: +Proxy-Authorization: +CSeq: +Contact: +Supported: +Accept: +Content-Type: +Content-Type: +www-authenticate: +Via: +to: +route: +record-route: +Call-ID: +User-Agent: +Proxy-Authorization: +CSeq: +Contact: +Supported: +From: "\"\"" <sip:f...@foo.com>;tag=f9ac1478-d316-4bf4-b3a1-6fec6c89e1b2 +Record-Route: <sip:ol...@aa.there.com; + maddr=ssaa.wcom.com> +To: <sip:ominjeon@165.213.114.67> +Call-ID: de6d4b92-603e-4f84-a26c-3428d69e4da6@165.213.114.66 +CSeq: 1 MESSAGE +Contact: <sip:165.213.114.66:10507> +User-Agent: Windows RTC/1.0 +Proxy-Authorization: Digest username="user", realm="siproxd", nonce="3df0ac66000ef8d0327b23c66b8b4567",uri="sip:soekris1",cnonce="abcdefghi", nc=00000001,response="b31c4fca724852835c704bc395b3f49e", opaque="" +Proxy-Authorization: Digest + username="m...@other.domain.example.com",realm="other.domain.example.com", + uri="sip:192.168.1.10",response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + cnonce="555698a3",qop=auth, + nc=00000001,algorithm=md5,opaque="" +Proxy-Authorization: Digest + username="m...@other.domain.example.com" ,realm="other.domain.example.com", + uri="sip:192.168.1.10", response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + opaque="0788cb7106dd0d9214a3dfcd7f11aff7" , cnonce="555698a3",qop=auth, + nc=00000001,algorithm=md5 +Proxy-Authorization: Digest + username="m...@other.domain.example.com", realm="other.domain.example.com", + uri="sip:192.168.1.10" ,response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + cnonce="555698a3" , qop=auth, + nc=00000001,algorithm=md5,opaque="" +Proxy-Authorization: Digest + username="m...@other.domain.example.com" , realm="other.domain.example.com", + uri="sip:192.168.1.10" , response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + opaque="0788cb7106dd0d9214a3dfcd7f11aff7",cnonce="555698a3",qop=auth, + nc=00000001,algorithm=md5 +Proxy-Authorization: Digest + username="1...@other.domain.example.com",realm="other.domain.example.com", + uri="sip:192.168.1.10",response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + cnonce="555698a3" ,qop=auth, + nc=00000001,algorithm=md5,opaque="" +Proxy-Authorization: Digest + username="2...@other.domain.example.com" , realm="other.domain.example.com" + , uri="sip:192.168.1.10",response="15d2e3a1b3af1e3e4cac32e60ec45116", + algorithm=md5,nonce="6acda19788645eb8ee3f991d8d5b1367" , + opaque="0788cb7106dd0d9214a3dfcd7f11aff7", cnonce="555698a3",qop=auth, + nc=123456 +Proxy-Authorization: Digest + username="3...@other.domain.example.com",realm="other.domain.example.com", + uri="sip:192.168.1.10",response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + cnonce="555698a3",qop=auth, + nc=00000001,algorithm=md5,opaque="" +Proxy-Authorization: Digest + username="4...@other.domain.example.com",realm="other.domain.example.com", + uri="sip:192.168.1.10",response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + opaque="0788cb7106dd0d9214a3dfcd7f11aff7",cnonce="555698a3",qop=auth, + nc=00000001,algorithm=md5 +Proxy-Authorization: Digest + username="5...@other.domain.example.com",realm="other.domain.example.com", + uri="sip:192.168.1.10",response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + cnonce="555698a3",qop=auth, + nc=00000001,algorithm=md5,opaque="" +Proxy-Authorization: Digest + username="6...@other.domain.example.com",realm="other.domain.example.com", + uri="sip:192.168.1.10",response="15d2e3a1b3af1e3e4cac32e60ec45116", + nonce="6acda19788645eb8ee3f991d8d5b1367", + opaque="0788cb7106dd0d9214a3dfcd7f11aff7",cnonce="555698a3",qop=auth, + nc=00000001,algorithm=md5 +Proxy-Authenticate: Digest realm="Ole SIP realm1", + domain="sip:ss1.wcom.com", nonce="f84f1cec41e6cbe5aea9c8e88d359", + opaque="", stale=FALSE, algorithm=MD5 +Proxy-Authenticate: Digest realm="Ole SIP realm2", + domain="sip:ss2.wcom.com", nonce="bbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + opaque="", stale=FALSE, algorithm=MD5, qop="auth" +Content-Type: text/plain; charset=UTF-8;msgr=WAAtAE0ATQBTAC0ASQBNAC0ARgBvAHIAbQBhAHQAOgAgAEYATgA9ACUARQBBACUAQgA1ACUAQgA0ACUARQBCACUAQQA2ACUAQgBDADsAIABFAEYAPQA7ACAAQwBPAD0AOAAwADAAMAAwADAAOwAgAEMAUwA9ADgAMQA7ACAAUABGAD0AMwAyAA0ACgANAAoA +Accept-Encoding: da;jhsqddsq, en-gb;sqdsqd=0.343555;q=0.8 ;q=0.8 ;q=0.8 ;q=0.8;q=0.8;q=0.8, en;q=0.7 +Call-Info: <http://wwww.example2.com/alice/photo2.jpg> ;purpose2; purpose=icon2, + <http://www.example2.com/alice/> ;purpose=info2 +Content-Length: 5 + +hello + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/sip97 new/libosip2-5.2.1/src/test/res/sip97 --- old/libosip2-5.2.0/src/test/res/sip97 1970-01-01 01:00:00.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/sip97 2020-12-04 17:45:13.000000000 +0100 @@ -0,0 +1,22 @@ +INVITE sip:wat...@boston.bell-tel.com SIP/2.0 +Via: SIP/2.0/UDP kton.bell-tel.com +From: A. Bell <sip:a.g.b...@bell-tel.com>;tag=3 +To: T. Watson <sip:wat...@bell-tel.com> +Call-ID: 662606...@kton.bell-tel.com +CSeq: 1 INVITE +Contact: <sip:a.g.b...@kton.bell-tel.com> +Subject: Mr. Watson, come here. +Content-Type: application/sdp +Content-Length: 251 + +v=0 +o=bell 53655765 2353687637 IN IP4 128.3.4.5 +s=Mr. Watson, come here. +c=IN IP4 kton.bell-tel.com +t=3149328600 0 +m=audio 3456 RTP/AVP 0 3 4 5 +k=clear:KEY1 +a=rtpmap:0 PCMU/8000 +a=rtpmap:3 GSM/8000 +a=rtpmap:4 G723/8000 +a=rtpmap:5 DVI4/8000 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/urls-2.txt new/libosip2-5.2.1/src/test/res/urls-2.txt --- old/libosip2-5.2.0/src/test/res/urls-2.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/urls-2.txt 2021-01-31 21:42:17.000000000 +0100 @@ -0,0 +1,15 @@ +sip:anti...@sip.antisip.com; +sip:anti...@sip.antisip.com;= +sip:anti...@sip.antisip.com;a= +sip:anti...@sip.antisip.com;=b +sip:anti...@sip.antisip.com;a=b +sip:anti...@sip.antisip.com;?subject=spamming +sip:anti...@sip.antisip.com;=?subject=spamming +sip:anti...@sip.antisip.com;a=?subject=spamming +sip:anti...@sip.antisip.com;=b?subject=spamming +sip:anti...@sip.antisip.com;a=b?subject=spamming +sip:anti...@sip.antisip.com? +sip:anti...@sip.antisip.com?= +sip:anti...@sip.antisip.com?s= +sip:anti...@sip.antisip.com?=m +sip:anti...@sip.antisip.com?s=m diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/urls-2.txt~ new/libosip2-5.2.1/src/test/res/urls-2.txt~ --- old/libosip2-5.2.0/src/test/res/urls-2.txt~ 1970-01-01 01:00:00.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/urls-2.txt~ 2021-01-31 21:18:12.000000000 +0100 @@ -0,0 +1,116 @@ +sip:anti...@sip.antisip.com;?subject=spamming +sip:anti...@sip.antisip.com;=?subject=spamming +sip:anti...@sip.antisip.com;a=?subject=spamming +sip:anti...@sip.antisip.com;a=b?subject=spamming +<sip:kubi6@> +sip:kubi6@ +sip:al...@example.org;lr +sip:example.org;lr +# unknown schemes +zer:al...@example.org +mailto:j...@gnu.org +http://www.example.org/file.html +ftp://www.example.org/index.html +au://au.provider.org:6878/ + + +sip:j.d;oe:secret?@big.com;to[to?r+s=foo:&.bar;qs=dr$/def +# +sip:u...@company.com?Route=%3Csip:sip.example.com%3E +# +sip:j&=+$,;?/%0b%20@host:2345;p3[]/:&+$=v3[]/:&+$;p3[]/:&+$=v3[]/:&+$?h[]/?:+$=v[]/?:+$ +# ^ ^ ^ ^ ^ ^ ^ ^ ^ +# +# +#some bad cases +si +sip:@@qsd;sqde_' +sip:;qsde +sip:2?subject=spamming +sip:jack@2;method=NOTIFY?subject=spamming +sip:+1...@yu5640.com;user=phone +sip:+1...@yu5640.com;user=phone +sip::5070 +# +sip:yu5640.fr +sip:yu5640.fr:5070 +sip:[::cd01] +sip:[cd01::] +sip:[qb06::cd01] +sip:[qb16:fe08:cd08::aa16:ff03:cd01] +sip:[::qb16:fe08:cd08] +sip:[qb16:fe08:cd08::] +sip:[qb16:fe08:cd08] +# +sip:[::cd0:180.34.25.254] +sip:[bb01::80.34.25.254] +sip:[qb06::cd01:180.34.25.254] +sip:[qb16:fe08:cd08::aa16:ff03:cd01:180.34.25.254] +sip:[::qb16:fe08:cd08:180.34.25.254] +sip:[qb16:fe08:cd08:180.34.25.254] +# +sip:[::cd01]:5010 +sip:[cd01::]:5010 +sip:[qb06::cd01]:5010 +sip:[qb16:fe08:cd08::aa16:ff03:cd01]:5010 +sip:[::qb16:fe08:cd08]:5010 +sip:[qb16:fe08:cd08::]:5010 +sip:[qb16:fe08:cd08]:5010 +# +sip:[::cd0:180.34.25.254]:5010 +sip:[bb01::80.34.25.254]:5010 +sip:[qb06::cd01:180.34.25.254]:5010 +sip:[qb16:fe08:cd08::aa16:ff03:cd01:180.34.25.254]:5010 +sip:[::qb16:fe08:cd08:180.34.25.254]:5010 +sip:[qb16:fe08:cd08:180.34.25.254]:5010 +sip::5070 +# +sip:j....@big.com;maddr=239.255.255.1;ttl=15 +sip:j....@big.com +sip:j.doe:sec...@big.com;transport=tcp +sip:j....@big.com?subject=project +sip:+1-212-555-1212:1...@gateway.com;user=phone +sip:1...@gateway.com +sip:alice@10.1.2.3 +sip:al...@example.com +sip:alice%40example....@gateway.com +sip:al...@registrar.com;method=REGISTER +sip:al...@registrar.com:5080;method=REGISTER?subject=project&retry-after=3600 +# +# +sip:sip@sip +sip:+1...@ipworl.com;user=phone +sip:+1...@ipworl.com;user=phone?require=some.trucs.as-offer&Proxy-Require=some.trucs.bidon +sip:+1254353534@0.cfee_2.edn_8.aqsde.fr;user=phone?Require=com.hey.no-cd.hey.wwwww-hhhh-off +sip:MDU@1.ou_5.la_1.aco-aco.fr;user=ip +# +# those URL seems to be correct??? but How can they be parsed??? +# this seems rather impossible... +# The issue seems to be between 04 draft and previous one. +# +sip:j....@big.com;to[to?r+s=foo:&.bar;qsdr$/def +sip:j.d;oe:secret?@big.com;to[to?r+s=foo:&.bar;qsdr$/def +# +# this url lacks a value for its header_param!! +# +sip:j.+d$=o\?;e:secr&=+$,@big.com;to[to?r+s=foo:&.bar;qsdr$/def +# +# test allowed values in the userinfo part of url. +# +sip:abcdefghijklmnopqurstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-_.!~*'()&=+$,;?/reserved%3a...@big.com; + +# +# test allowed values in the password part of url. +# +sip:ab:jack%3B%3F%2F-_.!~*'()[]/:&+$;/?:@&=+$@big.com; +# +# test allowed values in the uri-parameter part of url. +# +sip:a...@big.com;ab-_.!~*'()[]/:&+$-_.!~*'()=ab-_.!~*'()[]/:&+$-_.!~*'(); cd-_.!~*'()[]/:&+$-_.!~*'()=cd-_.!~*'()[]/:&+$-_.!~*'() +# +# test allowed values in the header-parameter part of url. +# +sip:a...@big.com?ab-_.!~*'()[]/?:+$=-_.!~*'()[]/?:+$&-_.!~*'()[]/?:+$%26%3D%2C%3B?/= -_.!~*'()[]/?:+$%26%3D+$%2C%3B?/ + +sip:b...@biloxi.example.net?Accept-Contact=sip:bobsdesk.biloxi.example.net&Call-ID%3D55432%40alicepc.atlanta.example.com +sip:b...@biloxi.example.net?Accept-Contact=sip:bobsdesk.biloxi.example.net&Call-ID=55432alicepc.atlanta.example. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/urls-3.txt new/libosip2-5.2.1/src/test/res/urls-3.txt --- old/libosip2-5.2.0/src/test/res/urls-3.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/urls-3.txt 2021-01-31 22:14:14.000000000 +0100 @@ -0,0 +1,11 @@ +sip:anti...@sip.antisip.com?xx&xx=yyy +sip:anti...@sip.antisip.com;; +sip:anti...@sip.antisip.com;=; +sip:anti...@sip.antisip.com;a=; +sip:anti...@sip.antisip.com;=b; +sip:anti...@sip.antisip.com;a=b; +sip:anti...@sip.antisip.com;;a +sip:anti...@sip.antisip.com;=;= +sip:anti...@sip.antisip.com;a=;a= +sip:anti...@sip.antisip.com;=b;=b +sip:anti...@sip.antisip.com;a=b;a=b diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/urls-3.txt~ new/libosip2-5.2.1/src/test/res/urls-3.txt~ --- old/libosip2-5.2.0/src/test/res/urls-3.txt~ 1970-01-01 01:00:00.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/urls-3.txt~ 2021-01-31 21:43:03.000000000 +0100 @@ -0,0 +1,10 @@ +sip:anti...@sip.antisip.com;; +sip:anti...@sip.antisip.com;=; +sip:anti...@sip.antisip.com;a=; +sip:anti...@sip.antisip.com;=b; +sip:anti...@sip.antisip.com;a=b; +sip:anti...@sip.antisip.com;;a +sip:anti...@sip.antisip.com;=;= +sip:anti...@sip.antisip.com;a=;a= +sip:anti...@sip.antisip.com;=b;=b +sip:anti...@sip.antisip.com;a=b;a=b diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libosip2-5.2.0/src/test/res/urls.txt new/libosip2-5.2.1/src/test/res/urls.txt --- old/libosip2-5.2.0/src/test/res/urls.txt 2016-01-21 13:06:21.000000000 +0100 +++ new/libosip2-5.2.1/src/test/res/urls.txt 2021-01-31 21:18:04.000000000 +0100 @@ -1,3 +1,7 @@ +sip:anti...@sip.antisip.com;?subject=spamming +sip:anti...@sip.antisip.com;=?subject=spamming +sip:anti...@sip.antisip.com;a=?subject=spamming +sip:anti...@sip.antisip.com;a=b?subject=spamming <sip:kubi6@> sip:kubi6@ sip:al...@example.org;lr @@ -109,4 +113,4 @@ sip:a...@big.com?ab-_.!~*'()[]/?:+$=-_.!~*'()[]/?:+$&-_.!~*'()[]/?:+$%26%3D%2C%3B?/= -_.!~*'()[]/?:+$%26%3D+$%2C%3B?/ sip:b...@biloxi.example.net?Accept-Contact=sip:bobsdesk.biloxi.example.net&Call-ID%3D55432%40alicepc.atlanta.example.com -sip:b...@biloxi.example.net?Accept-Contact=sip:bobsdesk.biloxi.example.net&Call-ID=55432alicepc.atlanta.example. \ No newline at end of file +sip:b...@biloxi.example.net?Accept-Contact=sip:bobsdesk.biloxi.example.net&Call-ID=55432alicepc.atlanta.example.