On 18/07/13 20:17, John Foley wrote: > I should clarify this better. The legacy crypto is still in the > branch. It's pulled out depending on how you've configured the > library. Can you provide the ./configure options you used to build > the library?
I just ran ./configure && make runtest This is my host Linux smetana 2.6.32-5-sparc64-smp #1 SMP Mon Feb 25 02:19:08 UTC 2013 sparc64 GNU/Linux On master, the first test case fails, it is the same error output from Debian bug 628583, but they all run on the branch: Build done. Please run 'make runtest' to run self tests. running libsrtp test applications... crypto/test/cipher_driver -v >/dev/null crypto/test/kernel_driver -v >/dev/null test/rdbx_driver -v >/dev/null test/srtp_driver -v >/dev/null test/roc_driver -v >/dev/null test/replay_driver -v >/dev/null test/dtls_srtp_driver >/dev/null cd test; /home/pocock/ws/srtp/srtp-git/test/rtpw_test.sh >/dev/null ./rtpw: couldn't open file /usr/share/dict/words /home/pocock/ws/srtp/srtp-git/test/rtpw_test.sh: 64: kill: No such process libsrtp test applications passed. make -C crypto runtest make[1]: Entering directory `/home/pocock/ws/srtp/srtp-git/crypto' test/env # print out information on the build environment CPU set to big-endian (WORDS_BIGENDIAN == 1) CPU set to RISC (CPU_RISC == 1) using native 64-bit type (NO_64_BIT_MATH == 0) using stdout for error reporting (ERR_REPORTING_STDOUT == 1) using /dev/urandom as a random source (DEV_URANDOM == /dev/urandom) running crypto test applications... test `test/aes_calc 000102030405060708090a0b0c0d0e0f 00112233445566778899aabbccddeeff` = 69c4e0d86a7b0430d8cdb78070b4c55a test `test/aes_calc 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f 00112233445566778899aabbccddeeff` = 8ea2b7ca516745bfeafc49904b496089 test/cipher_driver -v >/dev/null test/datatypes_driver -v >/dev/null test/stat_driver >/dev/null test/sha1_driver -v >/dev/null test/kernel_driver -v >/dev/null test/rand_gen -n 256 >/dev/null crypto test applications passed. > > > On 07/18/2013 02:12 PM, John Foley wrote: >> Which test case was failing? It's possible the test case is no >> longer included in the feature-openssl branch. I pulled out all the >> legacy crypto and math from libsrtp in that branch. Have you >> confirmed the failing test case is still run under the >> feature-openssl branch? >> >> >> On 07/18/2013 01:42 PM, Daniel Pocock wrote: >>> >>> Further observation: the feature-openssl branch from git does not >>> have the bus error, test cases run successfully on SPARC >>> >>> >>> >>> >>> >>> On 18/07/13 19:34, Daniel Pocock wrote: >>>> On 18/07/13 17:26, John Foley wrote: >>>>> We've seen BUS errors on some platforms. I'm not confident the >>>>> following patch was ever pushed back to libsrtp. There's a chance this >>>>> may resolve the problem on sparc. Unfortunately I don't have a sparc >>>>> system to try this myself. >>>> >>>> >>>> Thanks for this feedback >>>> >>>> The patch doesn't apply - all but one hunk fails >>>> >>>> I tried it against the Debian source package and I also tried >>>> applying it against the repository >>>> >>>> https://github.com/cisco/libsrtp >>>> >>>> Can you tell me the SVN URL where you got this and I can try >>>> checking it out and building it? >>>> >>>> >>>> >>>> >>>>> Modified: branches/proto/libsrtp_30/srtp/include/srtp.h >>>>> =================================================================== >>>>> --- branches/proto/libsrtp_30/srtp/include/srtp.h 2013-04-24 >>>>> 19:44:23 UTC (rev 1292) >>>>> +++ branches/proto/libsrtp_30/srtp/include/srtp.h 2013-04-29 >>>>> 14:17:03 UTC (rev 1293) >>>>> @@ -52,6 +52,11 @@ >>>>> >>>>> #ifdef _MSC_VER >>>>> #pragma pack(4) >>>>> +#define PACK >>>>> +#elif defined(__GNUC__) >>>>> +#define PACK __attribute__ ((packed)) >>>>> +#else >>>>> +#define PACK >>>>> #endif >>>>> >>>>> #include "crypto_kernel.h" >>>>> >>>>> Modified: branches/proto/libsrtp_30/srtp/include/srtp_priv.h >>>>> =================================================================== >>>>> --- branches/proto/libsrtp_30/srtp/include/srtp_priv.h 2013-04-24 >>>>> 19:44:23 UTC (rev 1292) >>>>> +++ branches/proto/libsrtp_30/srtp/include/srtp_priv.h 2013-04-29 >>>>> 14:17:03 UTC (rev 1293) >>>>> @@ -68,7 +68,7 @@ >>>>> * fully pack the bit fields. >>>>> */ >>>>> >>>>> -typedef struct { >>>>> +typedef struct PACK { >>>>> unsigned char cc : 4; /* CSRC count */ >>>>> unsigned char x : 1; /* header extension flag */ >>>>> unsigned char p : 1; /* padding flag */ >>>>> @@ -82,7 +82,7 @@ >>>>> >>>>> #else /* BIG_ENDIAN */ >>>>> >>>>> -typedef struct { >>>>> +typedef struct PACK { >>>>> unsigned char version : 2; /* protocol version */ >>>>> unsigned char p : 1; /* padding flag */ >>>>> unsigned char x : 1; /* header extension flag */ >>>>> @@ -96,7 +96,7 @@ >>>>> >>>>> #endif >>>>> >>>>> -typedef struct { >>>>> +typedef struct PACK { >>>>> uint16_t profile_specific; /* profile-specific info >>>>> */ >>>>> uint16_t length; /* number of 32-bit words in extension >>>>> */ >>>>> } srtp_hdr_xtnd_t; >>>>> @@ -111,7 +111,7 @@ >>>>> >>>>> #ifndef WORDS_BIGENDIAN >>>>> >>>>> -typedef struct { >>>>> +typedef struct PACK { >>>>> unsigned char rc : 5; /* reception report count */ >>>>> unsigned char p : 1; /* padding flag */ >>>>> unsigned char version : 2; /* protocol version */ >>>>> @@ -120,7 +120,7 @@ >>>>> uint32_t ssrc; /* synchronization source */ >>>>> } srtcp_hdr_t; >>>>> >>>>> -typedef struct { >>>>> +typedef struct PACK { >>>>> unsigned int index : 31; /* srtcp packet index in network order! */ >>>>> unsigned int e : 1; /* encrypted? 1=yes */ >>>>> /* optional mikey/etc go here */ >>>>> @@ -130,7 +130,7 @@ >>>>> >>>>> #else /* BIG_ENDIAN */ >>>>> >>>>> -typedef struct { >>>>> +typedef struct PACK { >>>>> unsigned char version : 2; /* protocol version */ >>>>> unsigned char p : 1; /* padding flag */ >>>>> unsigned char rc : 5; /* reception report count */ >>>>> @@ -139,7 +139,7 @@ >>>>> uint32_t ssrc; /* synchronization source */ >>>>> } srtcp_hdr_t; >>>>> >>>>> -typedef struct { >>>>> +typedef struct PACK { >>>>> unsigned int version : 2; /* protocol version */ >>>>> unsigned int p : 1; /* padding flag */ >>>>> unsigned int count : 5; /* varies by packet type */ >>>>> @@ -147,7 +147,7 @@ >>>>> uint16_t length; /* len of uint32s of packet less header */ >>>>> } rtcp_common_t; >>>>> >>>>> -typedef struct { >>>>> +typedef struct PACK { >>>>> unsigned int e : 1; /* encrypted? 1=yes */ >>>>> unsigned int index : 31; /* srtcp packet index */ >>>>> /* optional mikey/etc go here */ >>>>> >>>>> >>>>> >>>>> On 07/18/2013 10:51 AM, Jonathan Lennox wrote: >>>>>> Sparc failing with "Bus Error" usually indicates an unaligned access. >>>>>> Other platforms tolerate this, but at some performance cost, so it's >>>>>> good to get rid of it across the board. I wouldn't expect it to be a >>>>>> security vulnerability. >>>>>> >>>>>> Can you pull the current GIT repo to see if it fails the same way? >>>>>> >>>>>> On Jul 18, 2013, at 7:47 AM, Daniel Pocock <[email protected]> wrote: >>>>>> >>>>>>> There is a long outstanding bug in Debian for sparc, specifically, bus >>>>>>> error in the test cases: >>>>>>> >>>>>>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628583 >>>>>>> >>>>>>> While the error only appears on sparc it may be indicative of other >>>>>>> problems >>>>>>> >>>>>>> Given concern about the recent CVE-2013-2139 (buffer overflow) it might >>>>>>> also be helpful to try and correct things like this that suggest some >>>>>>> coding issues still exist >>>>>>> >>>>>>> Has anybody already looked at the issue in the past? Does the stack >>>>>>> trace suggest any particular problem? >>>>>>> >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> See everything from the browser to the database with AppDynamics >>>>>>> Get end-to-end visibility with application monitoring from AppDynamics >>>>>>> Isolate bottlenecks and diagnose root cause in seconds. >>>>>>> Start your free trial of AppDynamics Pro today! >>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >>>>>>> _______________________________________________ >>>>>>> Srtp-development mailing list >>>>>>> [email protected] >>>>>>> https://lists.sourceforge.net/lists/listinfo/srtp-development >>>>>> -- >>>>>> Jonathan Lennox >>>>>> [email protected] >>>>>> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> See everything from the browser to the database with AppDynamics >>>>>> Get end-to-end visibility with application monitoring from AppDynamics >>>>>> Isolate bottlenecks and diagnose root cause in seconds. >>>>>> Start your free trial of AppDynamics Pro today! >>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >>>>>> _______________________________________________ >>>>>> Srtp-development mailing list >>>>>> [email protected] >>>>>> https://lists.sourceforge.net/lists/listinfo/srtp-development >>>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> See everything from the browser to the database with AppDynamics >>>>> Get end-to-end visibility with application monitoring from AppDynamics >>>>> Isolate bottlenecks and diagnose root cause in seconds. >>>>> Start your free trial of AppDynamics Pro today! >>>>> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >>>>> >>>>> >>>>> _______________________________________________ >>>>> Srtp-development mailing list >>>>> [email protected] >>>>> https://lists.sourceforge.net/lists/listinfo/srtp-development >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> See everything from the browser to the database with AppDynamics >>>> Get end-to-end visibility with application monitoring from AppDynamics >>>> Isolate bottlenecks and diagnose root cause in seconds. >>>> Start your free trial of AppDynamics Pro today! >>>> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >>>> >>>> >>>> _______________________________________________ >>>> Srtp-development mailing list >>>> [email protected] >>>> https://lists.sourceforge.net/lists/listinfo/srtp-development >>> >> >> >> >> ------------------------------------------------------------------------------ >> See everything from the browser to the database with AppDynamics >> Get end-to-end visibility with application monitoring from AppDynamics >> Isolate bottlenecks and diagnose root cause in seconds. >> Start your free trial of AppDynamics Pro today! >> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Srtp-development mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/srtp-development >

