728ae7
%global shortname srtp
728ae7
%global cvsver 20101004cvs
728ae7
728ae7
Name:		lib%{shortname}
728ae7
Version:	1.4.4
08d52a
Release:	11.%{cvsver}%{?dist}
728ae7
Summary:	An implementation of the Secure Real-time Transport Protocol (SRTP)
728ae7
Group:		System Environment/Libraries
728ae7
License:	BSD
728ae7
URL:		http://srtp.sourceforge.net
728ae7
# Upstream 1.4.4 tarball is a bit dated, need to use cvs
728ae7
# cvs -d:pserver:anonymous@srtp.cvs.sourceforge.net:/cvsroot/srtp co -P srtp
728ae7
# tar cvfj srtp-1.4.4-20101004cvs.tar.bz2 srtp/
728ae7
Source0:	%{shortname}-%{version}-%{cvsver}.tar.bz2
728ae7
# Pkgconfig goodness
728ae7
Source1:	libsrtp.pc
728ae7
# Universal config.h
728ae7
Source2:	config.h
728ae7
728ae7
# Seriously. Who doesn't do shared libs these days?
728ae7
# And how does Chromium always manage to find these projects and use them?
728ae7
Patch0:		libsrtp-1.4.4-shared.patch
728ae7
08d52a
# Security fixes
08d52a
Patch100:	libsrtp-global-buffer-overflow.patch
08d52a
Patch101:	libsrtp-CVE-2013-2139.patch
08d52a
Patch102:	libsrtp-CVE-2015-6360.patch
08d52a
08d52a
728ae7
%description
728ae7
This package provides an implementation of the Secure Real-time
728ae7
Transport Protocol (SRTP), the Universal Security Transform (UST), and
728ae7
a supporting cryptographic kernel. 
728ae7
728ae7
%package devel
728ae7
Summary:	Development files for %{name}
728ae7
Group:		Development/Libraries
728ae7
Requires:	%{name} = %{version}-%{release}
728ae7
Requires:	pkgconfig
728ae7
728ae7
%description devel
728ae7
The %{name}-devel package contains libraries and header files for
728ae7
developing applications that use %{name}.
728ae7
728ae7
%prep
728ae7
%setup -q -n %{shortname}
728ae7
%patch0 -p1 -b .shared
728ae7
08d52a
%patch100 -p1 -b .global-buffer-overflow
08d52a
%patch101 -p1 -b .CVE-2013-2139
08d52a
%patch102 -p1 -b .CVE-2015-6360
08d52a
728ae7
# Fix end-of-line encoding
728ae7
sed -i 's/\r//g' doc/draft-irtf-cfrg-icm-00.txt
728ae7
728ae7
%if 0%{?rhel} > 0
728ae7
%ifarch ppc64
728ae7
sed -i 's/-z noexecstack//' Makefile.in
728ae7
%endif
728ae7
%endif
728ae7
728ae7
%build
728ae7
export CFLAGS="%{optflags} -fPIC"
728ae7
%configure --disable-static
728ae7
make %{?_smp_mflags}
728ae7
728ae7
%install
728ae7
make install DESTDIR=%{buildroot}
728ae7
find %{buildroot} -name '*.la' -exec rm -f {} ';'
728ae7
pushd %{buildroot}%{_libdir}
728ae7
ln -sf libsrtp.so.0.0.0 libsrtp.so
728ae7
ln -sf libsrtp.so.0.0.0 libsrtp.so.0
728ae7
popd
728ae7
728ae7
# Install the pkg-config file
728ae7
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
728ae7
install -m0644 %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig/
728ae7
# Fill in the variables
728ae7
sed -i "s|@PREFIX@|%{_prefix}|g" %{buildroot}%{_libdir}/pkgconfig/libsrtp.pc
728ae7
sed -i "s|@LIBDIR@|%{_libdir}|g" %{buildroot}%{_libdir}/pkgconfig/libsrtp.pc
728ae7
sed -i "s|@INCLUDEDIR@|%{_includedir}|g" %{buildroot}%{_libdir}/pkgconfig/libsrtp.pc
728ae7
728ae7
# Handle multilib issues with config.h
728ae7
mv %{buildroot}%{_includedir}/%{shortname}/config.h %{buildroot}%{_includedir}/%{shortname}/config-%{__isa_bits}.h
728ae7
cp -a %{SOURCE2} %{buildroot}%{_includedir}/%{shortname}/config.h
728ae7
728ae7
%post -p /sbin/ldconfig
728ae7
%postun -p /sbin/ldconfig
728ae7
728ae7
%files
728ae7
%defattr(-,root,root,-)
728ae7
%doc CHANGES LICENSE README TODO VERSION doc/*.txt doc/*.pdf
728ae7
%{_libdir}/*.so.*
728ae7
728ae7
%files devel
728ae7
%defattr(-,root,root,-)
728ae7
%{_includedir}/%{shortname}/
728ae7
%{_libdir}/pkgconfig/libsrtp.pc
728ae7
%{_libdir}/*.so
728ae7
728ae7
%changelog
08d52a
* Wed Feb 19 2020 Jan Grulich <jgrulich@redhat.com> - 1.4.4-11.20101004cvs
08d52a
- Fix global buffer overflow
08d52a
  Resolves: bz#1301202
08d52a
08d52a
- Fix improper handling of CSRC count and extension header length in RTP header
08d52a
  Resolves: bz#1323705
08d52a
08d52a
- Fix buffer overflow in application of crypto profiles
08d52a
  Resolves: bz#1141897
08d52a
728ae7
* Tue Sep 16 2014 Jan Grulich <jgrulich@redhat.com> - 1.4.4-10.20101004cvs
728ae7
- Add detection for aarch64
728ae7
  Resolves: bz#1141907
728ae7
728ae7
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 1.4.4-9.20101004cvs
728ae7
- Mass rebuild 2014-01-24
728ae7
728ae7
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.4.4-8.20101004cvs
728ae7
- Mass rebuild 2013-12-27
728ae7
728ae7
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.4-7.20101004cvs
728ae7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
728ae7
728ae7
* Tue Sep 25 2012 Karsten Hopp <karsten@redhat.com> 1.4.4-6.20101004cvs
728ae7
- use __PPC64__, not __ppc64__ which is undefined on PPC64 arch
728ae7
728ae7
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.4-5.20101004cvs
728ae7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
728ae7
728ae7
* Tue Feb 21 2012 Tom Callaway <spot@fedoraproject.org> - 1.4.4-4.20101004cvs
728ae7
- handle config.h multilib (bz787537)
728ae7
728ae7
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.4-3.20101004cvs
728ae7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
728ae7
728ae7
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.4-2.20101004cvs
728ae7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
728ae7
728ae7
* Tue Jan 25 2011 Jeffrey C. Ollie <jeff@ocjtech.us>
728ae7
- Don't use '-z noexecstack' option for linker on PPC64 (EL6)
728ae7
728ae7
* Mon Oct  4 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.4.4-1.20101004cvs
728ae7
- initial package