libsrtp: import from oldpackages
authorJiri Slachta <slachta@cesnet.cz>
Thu, 17 Jul 2014 18:36:30 +0000 (20:36 +0200)
committerJiri Slachta <slachta@cesnet.cz>
Thu, 17 Jul 2014 18:36:30 +0000 (20:36 +0200)
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
libs/libsrtp/Makefile [new file with mode: 0644]
libs/libsrtp/patches/1003_fix_mips_namespace_collision.patch [new file with mode: 0644]
libs/libsrtp/patches/1005_fix_data_alignment.patch [new file with mode: 0644]
libs/libsrtp/patches/1007_update_Doxyfile.patch [new file with mode: 0644]
libs/libsrtp/patches/1008_shared-lib.patch [new file with mode: 0644]

diff --git a/libs/libsrtp/Makefile b/libs/libsrtp/Makefile
new file mode 100644 (file)
index 0000000..3288447
--- /dev/null
@@ -0,0 +1,54 @@
+#
+# Copyright (C) 2011-2012 OpenWrt.org
+# Copyright (C) 2011 Victor Seva <linuxmaniac@torreviejawireless.org>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libsrtp
+PKG_VERSION:=1.4.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=srtp-$(PKG_VERSION).tgz
+PKG_SOURCE_URL:=@SF/srtp
+PKG_MD5SUM:=9b449edb011c934ca97009e7e0566d22
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/srtp
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+TARGET_CFLAGS += $(FPIC)
+CONFIGURE_ARGS += --disable-stdout --enable-syslog
+
+define Package/libsrtp
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Secure Real-time Transport Protocol (SRTP) library
+  URL:=http://sourceforge.net/projects/srtp
+  MAINTAINER:=Jiri Slachta <slachta@cesnet.cz>
+endef
+
+define Package/libsrtp/description
+Open-source implementation of the Secure Real-time Transport
+Protocol (SRTP) originally authored by Cisco Systems, Inc.
+It is available under a BSD-style license.
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/srtp $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsrtp.{a,so*} $(1)/usr/lib/
+endef
+
+
+define Package/libsrtp/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsrtp.so.* \
+               $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libsrtp))
diff --git a/libs/libsrtp/patches/1003_fix_mips_namespace_collision.patch b/libs/libsrtp/patches/1003_fix_mips_namespace_collision.patch
new file mode 100644 (file)
index 0000000..534ea4b
--- /dev/null
@@ -0,0 +1,59 @@
+Description: Fix MIPS namespace collision
+Author: Thiemo Seufer <ths@networkno.de>
+Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=24;bug=439976
+Bug-Debian: http://bugs.debian.org/439976
+Last-Update: 2010-02-28
+--- a/test/srtp_driver.c
++++ b/test/srtp_driver.c
+@@ -314,7 +314,7 @@ main (int argc, char *argv[]) {
+   if (do_codec_timing) {
+     srtp_policy_t policy;
+     int ignore;
+-    double mips = mips_estimate(1000000000, &ignore);
++    double mips_est = mips_estimate(1000000000, &ignore);
+     crypto_policy_set_rtp_default(&policy.rtp);
+     crypto_policy_set_rtcp_default(&policy.rtcp);
+@@ -323,33 +323,33 @@ main (int argc, char *argv[]) {
+     policy.key  = test_key;
+     policy.next = NULL;
+-    printf("mips estimate: %e\n", mips);
++    printf("mips estimate: %e\n", mips_est);
+     printf("testing srtp processing time for voice codecs:\n");
+     printf("codec\t\tlength (octets)\t\tsrtp instructions/second\n");
+     printf("G.711\t\t%d\t\t\t%e\n", 80, 
+-           (double) mips * (80 * 8) / 
++           (double) mips_est * (80 * 8) / 
+          srtp_bits_per_second(80, &policy) / .01 );
+     printf("G.711\t\t%d\t\t\t%e\n", 160, 
+-           (double) mips * (160 * 8) / 
++           (double) mips_est * (160 * 8) / 
+          srtp_bits_per_second(160, &policy) / .02);
+     printf("G.726-32\t%d\t\t\t%e\n", 40, 
+-           (double) mips * (40 * 8) / 
++           (double) mips_est * (40 * 8) / 
+          srtp_bits_per_second(40, &policy) / .01 );
+     printf("G.726-32\t%d\t\t\t%e\n", 80, 
+-           (double) mips * (80 * 8) / 
++           (double) mips_est * (80 * 8) / 
+          srtp_bits_per_second(80, &policy) / .02);
+     printf("G.729\t\t%d\t\t\t%e\n", 10, 
+-           (double) mips * (10 * 8) / 
++           (double) mips_est * (10 * 8) / 
+          srtp_bits_per_second(10, &policy) / .01 );
+     printf("G.729\t\t%d\t\t\t%e\n", 20, 
+-           (double) mips * (20 * 8) /
++           (double) mips_est * (20 * 8) /
+          srtp_bits_per_second(20, &policy) / .02 );
+     printf("Wideband\t%d\t\t\t%e\n", 320, 
+-           (double) mips * (320 * 8) /
++           (double) mips_est * (320 * 8) /
+          srtp_bits_per_second(320, &policy) / .01 );
+     printf("Wideband\t%d\t\t\t%e\n", 640, 
+-           (double) mips * (640 * 8) /
++           (double) mips_est * (640 * 8) /
+          srtp_bits_per_second(640, &policy) / .02 );
+   }
diff --git a/libs/libsrtp/patches/1005_fix_data_alignment.patch b/libs/libsrtp/patches/1005_fix_data_alignment.patch
new file mode 100644 (file)
index 0000000..4cb8889
--- /dev/null
@@ -0,0 +1,33 @@
+Description: Fix data alignment
+Author: "Martin Guy" <martinwguy@yahoo.it>
+Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;bug=470505
+Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=1912057&group_id=38894&atid=423799
+Bug-Debian: http://bugs.debian.org/470505
+Last-Update: 2011-05-30
+--- a/test/srtp_driver.c
++++ b/test/srtp_driver.c
+@@ -1129,7 +1129,6 @@ mips_estimate(int num_trials, int *ignor
+  * These packets were made with the default SRTP policy.
+  */
+-
+ err_status_t
+ srtp_validate() {
+   unsigned char test_key[30] = {
+@@ -1144,14 +1143,14 @@ srtp_validate() {
+     0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 
+     0xab, 0xab, 0xab, 0xab
+   };
+-  uint8_t srtp_plaintext[38] = {
++  uint8_t srtp_plaintext[38] __attribute__((aligned(4))) = {
+     0x80, 0x0f, 0x12, 0x34, 0xde, 0xca, 0xfb, 0xad, 
+     0xca, 0xfe, 0xba, 0xbe, 0xab, 0xab, 0xab, 0xab,
+     0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 0xab, 
+     0xab, 0xab, 0xab, 0xab, 0x00, 0x00, 0x00, 0x00, 
+     0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+   };
+-  uint8_t srtp_ciphertext[38] = {
++  uint8_t srtp_ciphertext[38] __attribute__((aligned(4))) = {
+     0x80, 0x0f, 0x12, 0x34, 0xde, 0xca, 0xfb, 0xad, 
+     0xca, 0xfe, 0xba, 0xbe, 0x4e, 0x55, 0xdc, 0x4c,
+     0xe7, 0x99, 0x78, 0xd8, 0x8c, 0xa4, 0xd2, 0x15, 
diff --git a/libs/libsrtp/patches/1007_update_Doxyfile.patch b/libs/libsrtp/patches/1007_update_Doxyfile.patch
new file mode 100644 (file)
index 0000000..8108d7d
--- /dev/null
@@ -0,0 +1,94 @@
+Description: Update Doxyfile and header template
+Author: Jonas Smedegaard <dr@jones.dk>
+Last-Update: 2010-02-28
+--- a/doc/Makefile.in
++++ b/doc/Makefile.in
+@@ -25,6 +25,7 @@ libsrtpdoc: 
+               echo "*** Sorry, can't build doc outside source dir"; exit 1; \
+       fi
+       sed 's/LIBSRTPVERSION/$(version)/' header.template > header.tex
++      doxygen -u
+       doxygen
+       sed 's/\subsection/\section/' latex/index.tex > latex/index.tmp
+       mv latex/index.tmp latex/index.tex
+@@ -38,7 +39,7 @@ cryptodoc: clean
+       cp latex/refman.pdf crypto.pdf
+ clean:
+-      rm -rf latex/ header.tex
++      rm -rf latex/ header.tex Doxyfile.bak
+       for a in * ; do                                 \
+               if [ -f "$$a~" ] ; then rm -f $$a~; fi; \
+         done;
+--- a/doc/header.template
++++ b/doc/header.template
+@@ -6,28 +6,40 @@
+ % 
+ \documentclass[letterpaper]{book}
+ \usepackage{makeidx}
+-\usepackage{fancyhdr}
+ \usepackage{graphicx}
+ \usepackage{multicol}
+ \usepackage{float}
++\usepackage{listings}
++\usepackage{color}
++\usepackage{ifthen}
++\usepackage[table]{xcolor}
+ \usepackage{textcomp}
+ \usepackage{alltt}
+-\usepackage{times}
+-\usepackage{graphicx}
+-\ifx\pdfoutput\undefined
+-\usepackage[ps2pdf,
++\usepackage{ifpdf}
++\ifpdf
++\usepackage[pdftex,
+             pagebackref=true,
+             colorlinks=true,
+-            linkcolor=blue
++            linkcolor=blue,
++            unicode
+            ]{hyperref}
+ \else
+-\usepackage[pdftex,
++\usepackage[ps2pdf,
+             pagebackref=true,
+             colorlinks=true,
+-            linkcolor=blue
++            linkcolor=blue,
++            unicode
+            ]{hyperref}
++\usepackage{pspicture}
+ \fi
++\usepackage[utf8]{inputenc}
++\usepackage{mathptmx}
++\usepackage[scaled=.90]{helvet}
++\usepackage{courier}
++\usepackage{sectsty}
++\usepackage[titles]{tocloft}
+ \usepackage{doxygen}
++\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=3,numbers=left }
+ \makeindex
+ \setcounter{tocdepth}{1}
+ \renewcommand{\footrulewidth}{0.4pt}
+@@ -59,7 +71,9 @@
+ \selectfont
++\renewcommand{\familydefault}{\sfdefault}
+ \begin{document}
++\hypersetup{pageanchor=false}
+ \begin{titlepage}
+ \vspace*{4cm}
+ %\begin{center}
+@@ -107,9 +121,6 @@ This reference material in this documena
+ \clearemptydoublepage
+ \pagenumbering{roman}
+ \tableofcontents
+-%\clearemptydoublepage
+-
+ \clearemptydoublepage
+ \pagenumbering{arabic}
+-
+-
++\hypersetup{pageanchor=true}
diff --git a/libs/libsrtp/patches/1008_shared-lib.patch b/libs/libsrtp/patches/1008_shared-lib.patch
new file mode 100644 (file)
index 0000000..96a13ca
--- /dev/null
@@ -0,0 +1,55 @@
+Description: Hack build routines to compile shared library
+Author: loki_val and solar
+Origin: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-libs/libsrtp/files/libsrtp-1.4.4-shared.patch
+Last-Update: 2010-03-19
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -15,7 +15,7 @@
+ .PHONY: all test build_table_apps
+-all: test 
++all: libsrtp.so test
+ runtest: build_table_apps test
+       @echo "running libsrtp test applications..."
+@@ -67,7 +67,7 @@ libdir = @libdir@
+ # implicit rules for object files and test apps
+ %.o: %.c
+-      $(COMPILE) -c $< -o $@
++      $(COMPILE) -fPIC -c $< -o $@
+ %$(EXE): %.c
+       $(COMPILE) $(LDFLAGS) $< -o $@ $(SRTPLIB) $(LIBS)
+@@ -105,6 +105,9 @@ libsrtp.a: $(srtpobj) $(cryptobj) $(gdoi
+       ar cr libsrtp.a $^
+       $(RANLIB) libsrtp.a
++libsrtp.so: $(srtpobj) $(cryptobj) $(gdoi)
++      $(CC) $(LDFLAGS) -shared -Wl,-soname,libsrtp.so.0 -o libsrtp.so.0.0  $^
++
+ # libcryptomath.a contains general-purpose routines that are used to
+ # generate tables and verify cryptoalgorithm implementations - this
+ # library is not meant to be included in production code
+@@ -197,6 +200,11 @@ install:
+       cp include/*.h $(DESTDIR)$(includedir)/srtp  
+       cp crypto/include/*.h $(DESTDIR)$(includedir)/srtp
+       if [ -f libsrtp.a ]; then cp libsrtp.a $(DESTDIR)$(libdir)/; fi
++      if [ -f libsrtp.so.0.0 ]; then \
++              cp libsrtp.so.0.0 $(DESTDIR)$(libdir)/; \
++              ln -s libsrtp.so.0.0 $(DESTDIR)$(libdir)/libsrtp.so.0; \
++              ln -s libsrtp.so.0.0 $(DESTDIR)$(libdir)/libsrtp.so; \
++      fi
+ uninstall:
+       rm -rf $(DESTDIR)$(includedir)/srtp
+@@ -204,7 +212,7 @@ uninstall:
+ clean:
+       rm -rf $(cryptobj) $(srtpobj) $(cryptomath) TAGS \
+-        libcryptomath.a libsrtp.a core *.core test/core
++        libcryptomath.a libsrtp.a libsrtp.so.0.0 core *.core test/core
+       for a in * */* */*/*; do                        \
+               if [ -f "$$a~" ] ; then rm -f $$a~; fi; \
+         done;