--- /dev/null
+#
+# 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))
--- /dev/null
+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 );
+ }
+
--- /dev/null
+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,
--- /dev/null
+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}
--- /dev/null
+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;