|
Bugzilla – Full Text Bug Listing |
| Summary: | srtp-devel missed file /usr/include/srtp/config.h | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 12.3 | Reporter: | Vladimir Anufriev <avn> |
| Component: | Development | Assignee: | Stanislav Brabec <sbrabec> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | meissner |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | openSUSE 12.3 | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Vladimir Anufriev
2013-09-10 16:45:36 UTC
They attempt to include autoconf style config.h. It is bad, as it is not intended to be a public include (it causes symbol conflicts). There is a new development of srtp in Cisco repositories: https://github.com/cisco/libsrtp It contains security fix (bug 828009). I'll check whether it fixes also this bug and whether it makes sense to switch for openSUSE 13.1. New upstream does not address this issue. Debian does not address this issue. Fedora addresses this issue, but in a bit hacky way - rename config.h to config-32/64.h and create a new dedicated file. This does not change anything on the fact, that include file named config.h (even worse, "config.h" with quotes, i. e. prefer build-time local file) is a bad idea. I have upgraded to Cisco repository (which is not a branch but a regular development migration from CVS to GIT) Then I have created a fix, that installs config.h and rewrites all potentially colliding symbols and include file references to a safe form. Project: https://build.opensuse.org/package/show/home:sbrabec:branches:network:telephony/libsrtp Packages: http://download.opensuse.org/repositories/home:/sbrabec:/branches:/network:/telephony/ Could you test whether you can compile asterisk with it? (Or send me a link to Build Service project.) Vladimir Anufriev wrote: configure:27417: checking for srtp_init in -lsrtp configure:27442: gcc -o conftest -g -O2 conftest.c -lsrtp -lm >&5 /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libsrtp.so: undefined reference to `ekt_alloc' /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libsrtp.so: undefined reference to `ekt_octets_after_base_tag' /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libsrtp.so: undefined reference to `ekt_stream_init_from_policy' /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libsrtp.so: undefined reference to `ekt_write_data' /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libsrtp.so: undefined reference to `srtp_stream_init_from_ekt' collect2: error: ld returned 1 exit status It is my fault. The libsrtp-automake.patch needs deeper changes to incorporate the new source files. I just finished fixing of headers to be able to compile asterisk-1.8.23.1. Not only that srtp/config.h was incorrect, but also /usr/share/openh323/openh323u.mak from openh323-devel-1.19.0.1 was broken, and pointed to the build directories instead of install directories. Now I can compile asterisk configured by ./configure --with-srtp without any change. Please test, whether it compiles and works in a real world use. Thanks. Note: You may need to install also openh323-debugsource. Asterisk refers to source files, and is is the easiest way to provide source files. From the e-mail: Now it is compiled ok. Functionality I'll check later because of it needs more work. I think that your packages may be included in factory line of OpenSuse and updates for 12.3. Created maintenance requests: obs maintenance request id 202073 for openh323 (12.2, 12.3) obs maintenance request id 202074 for srtp (12.3; just the header fix and nothing else) Submitted to network:telephony and waiting for review and re-sending to Factory: openh323: obs request id 202064 libsrtp: obs request id 202067 (upgrade, fix and all above mentioned changes) srtp: osc drop request id 202068 (rename is not implemented in OBS, drop and create new project with a different name) this debugsource dependency is very ugly. what files does it need from there, and why are they not in -devel? Yes, it is ugly. That is why I added it only as a Suggests, the weakest dependency possible. The problem is in the /usr/share/openh323/openh323u.mak, which contains variable OH323_SRCDIR. And OH323_SRCDIR is used in the LIBRARY_MAKEFILE rule below. If the OH323_SRCDIR is set to non-existing directory, then for example compilation of asterisk fails. openh323-debuginfo provides files that make asterisk build process happy. Maybe it could be solved by a detailed analysis of the exact purpose of the OH323_SRCDIR and then rewriting of openh323u.mak and/or providing needed source files in the devel package. This is an autogenerated message for OBS integration: This bug (839475) was mentioned in https://build.opensuse.org/request/show/202932 Factory / openh323 openSUSE-RU-2013:1581-1: An update that has one recommended fix can now be installed. Category: recommended (low) Bug References: 839475 CVE References: Sources used: openSUSE 12.3 (src): srtp-1.4.4-2.8.1 openSUSE-RU-2013:1585-1: An update that has one recommended fix can now be installed. Category: recommended (low) Bug References: 839475 CVE References: Sources used: openSUSE 12.3 (src): openh323-1.19.0.1-252.4.1 openSUSE 12.2 (src): openh323-1.19.0.1-249.4.1 |