Add srtp lib package
This patch adds support for the Secure Real-time Transport Protocol (SRTP) library libsrtp. This is needed for closing #8915 ticket. Signed-off-by: Victor Seva <linuxmaniac@torreviejawireless.org> git-svn-id: svn://svn.openwrt.org/openwrt/packages@29807 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
c3d62a22d7
commit
79c9e8681d
63
libs/srtp/Makefile
Normal file
63
libs/srtp/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
#
|
||||
# Copyright (C) 2011 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:=srtp
|
||||
PKG_VERSION:=1.4.4
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
|
||||
PKG_SOURCE_URL:=@SF/srtp
|
||||
PKG_MD5SUM:=9b449edb011c934ca97009e7e0566d22
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
|
||||
define Package/libsrtp
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=Secure Real-time Transport Protocol (SRTP) library
|
||||
URL:=http://sourceforge.net/projects/srtp
|
||||
MAINTAINER:=Victor Seva <linuxmaniac@torreviejawireless.com>
|
||||
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/Configure
|
||||
$(call Build/Configure/Default, \
|
||||
--disable-stdout \
|
||||
--enable-syslog \
|
||||
)
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" all install
|
||||
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))
|
59
libs/srtp/patches/1003_fix_mips_namespace_collision.patch
Normal file
59
libs/srtp/patches/1003_fix_mips_namespace_collision.patch
Normal file
@ -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
|
||||
@@ -338,7 +338,7 @@
|
||||
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);
|
||||
@@ -350,33 +350,33 @@
|
||||
policy.allow_repeat_tx = 0;
|
||||
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 );
|
||||
}
|
||||
|
33
libs/srtp/patches/1005_fix_data_alignment.patch
Normal file
33
libs/srtp/patches/1005_fix_data_alignment.patch
Normal file
@ -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
|
||||
@@ -1195,7 +1195,6 @@
|
||||
* These packets were made with the default SRTP policy.
|
||||
*/
|
||||
|
||||
-
|
||||
err_status_t
|
||||
srtp_validate() {
|
||||
uint8_t srtp_plaintext_ref[28] = {
|
||||
@@ -1204,14 +1203,14 @@
|
||||
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,
|
94
libs/srtp/patches/1007_update_Doxyfile.patch
Normal file
94
libs/srtp/patches/1007_update_Doxyfile.patch
Normal file
@ -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 @@
|
||||
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 @@
|
||||
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 @@
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
-%\clearemptydoublepage
|
||||
-
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{arabic}
|
||||
-
|
||||
-
|
||||
+\hypersetup{pageanchor=true}
|
55
libs/srtp/patches/1008_shared-lib.patch
Normal file
55
libs/srtp/patches/1008_shared-lib.patch
Normal file
@ -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 @@
|
||||
# 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 @@
|
||||
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
|
||||
@@ -198,6 +201,11 @@
|
||||
cp $(srcdir)/crypto/include/*.h $(DESTDIR)$(includedir)/srtp
|
||||
if [ "$(srcdir)" != "." ]; then cp crypto/include/*.h $(DESTDIR)$(includedir)/srtp; fi
|
||||
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 -f $(DESTDIR)$(includedir)/srtp/*.h
|
||||
@@ -206,7 +214,7 @@
|
||||
|
||||
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;
|
4
libs/srtp/patches/series
Normal file
4
libs/srtp/patches/series
Normal file
@ -0,0 +1,4 @@
|
||||
1003_fix_mips_namespace_collision.patch
|
||||
1005_fix_data_alignment.patch
|
||||
1007_update_Doxyfile.patch
|
||||
1008_shared-lib.patch
|
Loading…
x
Reference in New Issue
Block a user