PKG_NAME:=libpri
PKG_VERSION:=1.6.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.asterisk.org/pub/telephony/libpri/releases
--- /dev/null
+--- a/Makefile
++++ b/Makefile
+@@ -68,7 +68,7 @@ DYNAMIC_OBJS= \
+ $(STATIC_OBJS)
+ CFLAGS ?= -g
+ CFLAGS += $(CPPFLAGS)
+-CFLAGS += -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes
++CFLAGS += -Wall -Wstrict-prototypes -Wmissing-prototypes
+ CFLAGS += -fPIC $(ALERTING) $(LIBPRI_OPT) $(COVERAGE_CFLAGS)
+ INSTALL_PREFIX=$(DESTDIR)
+ INSTALL_BASE=/usr
#
-# Copyright (C) 2006-2018 OpenWrt.org
-# Copyright (C) 2011 Victor Seva <linuxmaniac@torreviejawireless.org>
-# Copyright (C) 2017 - 2018 Jiri Slachta <jiri@slachta.eu>
+# Copyright (C) 2017 OpenWrt.org
+# Copyright (C) 2017 Jiri Slachta <jiri@slachta.eu>
#
# 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.6.0
-PKG_RELEASE:=2
+PKG_VERSION:=2.3.0
+PKG_RELEASE:=1
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/cisco/libsrtp.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=2b091a4fb21c9b06fc5d4b5763bdaec97542fcd7
-PKG_MIRROR_HASH:=7ac6c3113fd7a966c9a9108c185d9425e75a8fdc600e4ccef158e68ee1988c89
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=libsrtp-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/cisco/libsrtp/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=94093a5d04c5f4743e8d81182b76938374df6d393b45322f24960d250b0110e8
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-CONFIGURE_ARGS += \
- --disable-stdout \
- --enable-syslog
-
-define Package/libsrtp
+define Package/libsrtp2
SUBMENU:=Telephony
SECTION:=libs
CATEGORY:=Libraries
- TITLE:=Secure Real-time Transport Protocol (SRTP) library
- DEPENDS:=+libpcap
+ TITLE:=Secure RTP (SRTP) library, v$(PKG_VERSION)
URL:=http://sourceforge.net/projects/srtp
+ DEPENDS:=
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.
+define Package/libsrtp2/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/Install
- $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR=$(PKG_INSTALL_DIR) uninstall
- $(call Build/Install/Default)
+ $(call Build/Install/Default,all shared_library install)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/srtp $(1)/usr/include/
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/srtp2 $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsrtp.{a,so*} $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsrtp2.{a,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsrtp.pc $(1)/usr/lib/pkgconfig/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsrtp2.pc $(1)/usr/lib/pkgconfig/
endef
-
-define Package/libsrtp/install
+define Package/libsrtp2/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/libsrtp.so* \
+ $(PKG_INSTALL_DIR)/usr/lib/libsrtp2.so.* \
$(1)/usr/lib/
endef
-$(eval $(call BuildPackage,libsrtp))
+$(eval $(call BuildPackage,libsrtp2))
--- /dev/null
+--- a/crypto/math/datatypes.c
++++ b/crypto/math/datatypes.c
+@@ -79,7 +79,7 @@ int octet_get_weight(uint8_t octet)
+
+ /* the value MAX_PRINT_STRING_LEN is defined in datatypes.h */
+
+-char bit_string[MAX_PRINT_STRING_LEN];
++static char bit_string[MAX_PRINT_STRING_LEN];
+
+ uint8_t srtp_nibble_to_hex_char(uint8_t nibble)
+ {
+++ /dev/null
---- a/test/srtp_driver.c
-+++ b/test/srtp_driver.c
-@@ -341,7 +341,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);
-@@ -353,33 +353,33 @@ main (int argc, char *argv[]) {
- 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 );
- }
-
+++ /dev/null
---- a/test/srtp_driver.c
-+++ b/test/srtp_driver.c
-@@ -1198,7 +1198,6 @@ mips_estimate(int num_trials, int *ignor
- * These packets were made with the default SRTP policy.
- */
-
--
- err_status_t
- srtp_validate() {
- uint8_t srtp_plaintext_ref[28] = {
-@@ -1207,14 +1206,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
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -20,7 +20,7 @@ HAVE_PKG_CONFIG = @HAVE_PKG_CONFIG@
-
- .PHONY: all shared_library test build_table_apps
-
--all: test
-+all: shared_library test
-
- runtest: build_table_apps test
- @echo "running libsrtp test applications..."
+++ /dev/null
-#
-# Copyright (C) 2017 OpenWrt.org
-# Copyright (C) 2017 Jiri Slachta <jiri@slachta.eu>
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libsrtp2
-PKG_VERSION:=2.2.0
-PKG_RELEASE:=2
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/cisco/libsrtp.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=94ac00d5ac6409e3f6409e4a5edfcdbdaa7fdabe
-PKG_MIRROR_HASH:=0429edcddfe9d36ee47eb221384c528bbe31ee9255e216f9755641c7b6083457
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-
-PKG_LICENSE:=BSD-3-Clause
-PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libsrtp2
- SUBMENU:=Telephony
- SECTION:=libs
- CATEGORY:=Libraries
- TITLE:=Secure RTP (SRTP) library, v$(PKG_VERSION)
- URL:=http://sourceforge.net/projects/srtp
- DEPENDS:=
-endef
-
-define Package/libsrtp2/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/Install
- $(call Build/Install/Default,all shared_library install)
-endef
-
-define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/srtp2 $(1)/usr/include/
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsrtp2.{a,so*} $(1)/usr/lib/
- $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsrtp2.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/libsrtp2/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) \
- $(PKG_INSTALL_DIR)/usr/lib/libsrtp2.so* \
- $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libsrtp2))
+++ /dev/null
---- a/crypto/math/datatypes.c
-+++ b/crypto/math/datatypes.c
-@@ -79,7 +79,7 @@ int octet_get_weight(uint8_t octet)
-
- /* the value MAX_PRINT_STRING_LEN is defined in datatypes.h */
-
--char bit_string[MAX_PRINT_STRING_LEN];
-+static char bit_string[MAX_PRINT_STRING_LEN];
-
- uint8_t srtp_nibble_to_hex_char(uint8_t nibble)
- {
include $(TOPDIR)/rules.mk
PKG_NAME:=re
-PKG_VERSION:=0.6.1
-PKG_RELEASE:=2
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.creytiv.com/pub
-PKG_HASH:=cd5bfc79640411803b200c7531e4ba8a230da3806746d3bd2de970da2060fe43
+PKG_SOURCE_URL:=https://codeload.github.com/baresip/re/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=bf0abfc511b7278462e7d54aaae39e7231b9f35423d5026c8210a322c7c8ef2f
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=docs/COPYING
CATEGORY:=Libraries
DEPENDS:=+libopenssl +zlib
TITLE:=Generic library for real-time communications with async IO support
- URL:=http://www.creytiv.com
+ URL:=https://github.com/baresip/re
endef
# re.mk is used for this and all related packages (rem, restund and baresip).
--- a/mk/re.mk
+++ b/mk/re.mk
-@@ -438,11 +438,6 @@ endif
+@@ -439,11 +439,6 @@ endif
CFLAGS += -DARCH=\"$(ARCH)\"
+++ /dev/null
---- a/src/main/openssl.c
-+++ b/src/main/openssl.c
-@@ -103,6 +103,7 @@ static void dynlock_destroy_handler(struct CRYPTO_dynlock_value *l,
- #endif
-
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #ifdef SIGPIPE
- static void sigpipe_handler(int x)
- {
-@@ -110,10 +111,11 @@ static void sigpipe_handler(int x)
- (void)signal(SIGPIPE, sigpipe_handler);
- }
- #endif
--
-+#endif
-
- int openssl_init(void)
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #if defined (HAVE_PTHREAD) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
- int err, i;
-
-@@ -151,6 +153,7 @@ int openssl_init(void)
-
- SSL_library_init();
- SSL_load_error_strings();
-+#endif
-
- return 0;
- }
-@@ -158,7 +161,9 @@ int openssl_init(void)
-
- void openssl_close(void)
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- ERR_free_strings();
-+#endif
- #if defined (HAVE_PTHREAD) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
- lockv = mem_deref(lockv);
- #endif
---- a/src/tls/openssl/tls.c
-+++ b/src/tls/openssl/tls.c
-@@ -291,8 +291,8 @@ int tls_set_selfsigned(struct tls *tls, const char *cn)
- !X509_set_subject_name(cert, subj))
- goto out;
-
-- if (!X509_gmtime_adj(X509_get_notBefore(cert), -3600*24*365) ||
-- !X509_gmtime_adj(X509_get_notAfter(cert), 3600*24*365*10))
-+ if (!X509_gmtime_adj(X509_getm_notBefore(cert), -3600*24*365) ||
-+ !X509_gmtime_adj(X509_getm_notAfter(cert), 3600*24*365*10))
- goto out;
-
- if (!X509_set_pubkey(cert, key))
include $(TOPDIR)/rules.mk
PKG_NAME:=baresip
-PKG_VERSION:=0.6.4
-PKG_RELEASE:=3
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.creytiv.com/pub
-PKG_HASH:=61710bd1bec406ae1faf167c5743bad8eef9ced5152a3943b94d7e1cf9597581
+PKG_SOURCE_URL:=https://codeload.github.com/baresip/baresip/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=7b008c0a5b4fccfa0a4003f86dc4aaafeaabbdd259ece4757898e9cb5f04fdcf
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=docs/COPYING
SECTION:=net
CATEGORY:=Network
SUBMENU:=Telephony
- URL:=http://www.creytiv.com
+ URL:=https://github.com/baresip/baresip
endef
define Package/baresip
DEPENDS:=+libre +librem
USERID:=$(PKG_NAME)=374:$(PKG_NAME)=374
MENU:=1
+ FILE_MODES:= \
+ /etc/baresip:baresip:baresip:0750 \
+ /etc/baresip/accounts:baresip:baresip:0640 \
+ /etc/baresip/config:baresip:baresip:0640 \
+ /etc/baresip/contacts:baresip:baresip:0640
endef
baresip-mod-alsa := USE_ALSA
BARESIP_MOD_OPTIONS:= \
MOD_AUTODETECT= \
- EXTRA_MODULES="dtmfio" \
$(foreach m,$(baresip-mods),$(baresip-mod-$(m))=$(if $(CONFIG_PACKAGE_baresip-mod-$(subst _,-,$(m))),1))
MAKE_FLAGS+= \
CROSS_COMPILE="$(TARGET_CROSS)" \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
EXTRA_LFLAGS="$(TARGET_LDFLAGS)" \
LD="$(TARGET_CC)" \
LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \
LIBRE_INC="$(STAGING_DIR)/usr/include/re" \
LIBRE_SO="$(STAGING_DIR)/usr/lib" \
- LIBREM_PATH="$(STAGING_DIR)/usr" \
OS=linux \
RELEASE=1 \
SYSROOT="$(shell $(FIND) $(TOOLCHAIN_DIR) -path '*/include/pthread.h' | sed -ne '1s|/include/pthread.h||p')" \
$(INSTALL_DIR) $(1)/etc/baresip
$(SED) '/^#/!s/^/#/' $(PKG_BUILD_DIR)/docs/examples/accounts
$(SED) '/^#module_path/s|^#||;s|/local||' $(PKG_BUILD_DIR)/docs/examples/config
- $(INSTALL_CONF) $(PKG_BUILD_DIR)/docs/examples/{accounts,config,contacts} $(1)/etc/baresip
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/docs/examples/{accounts,config,contacts} $(1)/etc/baresip
$(INSTALL_DIR) $(1)/etc/default
$(INSTALL_CONF) ./files/baresip.default $(1)/etc/default/baresip
$(INSTALL_DIR) $(1)/etc/init.d
/etc/init.d/baresip
endef
-define Package/baresip/postinst
-#!/bin/sh
-if [ -z "$${IPKG_INSTROOT}" ]; then
- chown $(PKG_NAME):$(PKG_NAME) \
- /etc/baresip/accounts \
- /etc/baresip/config \
- /etc/baresip/contacts
-fi
-exit 0
-endef
-
##################
# bareSIP modules
# 1. Name
$(eval $(call BuildPlugin,ctrl_tcp,TCP control interface,ctrl_tcp,))
$(eval $(call BuildPlugin,debug_cmd,Debug commands,debug_cmd,))
$(eval $(call BuildPlugin,dtls_srtp,DTLS-SRTP end-to-end encryption,dtls_srtp,))
-$(eval $(call BuildPlugin,dtmfio,DTMF input/output,dtmfio,))
$(eval $(call BuildPlugin,echo,Echo server module,echo,))
$(eval $(call BuildPlugin,evdev,Linux input driver,evdev,))
$(eval $(call BuildPlugin,fakevideo,Fake video input/output driver,fakevideo,))
--- a/Makefile
+++ b/Makefile
-@@ -45,11 +45,11 @@ endif
+@@ -44,26 +44,15 @@ endif
+ include $(LIBRE_MK)
+ include mk/modules.mk
- CFLAGS += -I. -Iinclude -I$(LIBRE_INC) -I$(SYSROOT)/include
- CFLAGS += -I$(LIBREM_PATH)/include
+-ifndef LIBREM_PATH
+-LIBREM_PATH := $(shell [ -d ../rem ] && echo "../rem")
+-endif
+-
+-
+ CFLAGS += -I. -Iinclude -I$(LIBRE_INC)
+-ifneq ($(LIBREM_PATH),)
+-CFLAGS += -I$(LIBREM_PATH)/include
+-endif
-CFLAGS += -I$(SYSROOT)/local/include/rem -I$(SYSROOT)/include/rem
-+CFLAGS += -I$(SYSROOT)/local/include/rem -I$(SYSROOT_ALT)/include/rem
++CFLAGS += -I$(SYSROOT_ALT)/include/rem
+ ifneq ($(SYSROOT_LOCAL),)
+ CFLAGS += -I$(SYSROOT_LOCAL)/include/rem
+ endif
+
CXXFLAGS += -I. -Iinclude -I$(LIBRE_INC)
- CXXFLAGS += -I$(LIBREM_PATH)/include
+-ifneq ($(LIBREM_PATH),)
+-CXXFLAGS += -I$(LIBREM_PATH)/include
+-endif
-CXXFLAGS += -I$(SYSROOT)/local/include/rem -I$(SYSROOT)/include/rem
-+CXXFLAGS += -I$(SYSROOT)/local/include/rem -I$(SYSROOT_ALT)/include/rem
- CXXFLAGS += $(EXTRA_CXXFLAGS)
-
++CXXFLAGS += -I$(SYSROOT_ALT)/include/rem
+ ifneq ($(SYSROOT_LOCAL),)
+ CXXFLAGS += -I$(SYSROOT_LOCAL)/include/rem
+ endif
+@@ -73,10 +62,6 @@ CXXFLAGS += $(EXTRA_CXXFLAGS)
# XXX: common for C/C++
+ CPPFLAGS += -DHAVE_INTTYPES_H
+
+-ifneq ($(LIBREM_PATH),)
+-CLANG_OPTIONS += -I$(LIBREM_PATH)/include
+-endif
+-
+ ifeq ($(OS),win32)
+ STATIC := yes
+ endif
+@@ -144,10 +129,6 @@ LIB_OBJS := $(OBJS) $(MOD_OBJS)
+ TEST_OBJS := $(patsubst %.c,$(BUILD)/test/%.o,$(filter %.c,$(TEST_SRCS)))
+ TEST_OBJS += $(patsubst %.cpp,$(BUILD)/test/%.o,$(filter %.cpp,$(TEST_SRCS)))
+
+-ifneq ($(LIBREM_PATH),)
+-LIBS += -L$(LIBREM_PATH)
+-endif
+-
+ # Static build: include module linker-flags in binary
+ ifneq ($(STATIC),)
+ LIBS += $(MOD_LFLAGS)
+++ /dev/null
---- a/modules/debug_cmd/debug_cmd.c
-+++ b/modules/debug_cmd/debug_cmd.c
-@@ -56,7 +56,7 @@ static int print_system_info(struct re_printf *pf, void *arg)
-
- #ifdef USE_OPENSSL
- err |= re_hprintf(pf, " OpenSSL: %s\n",
-- SSLeay_version(SSLEAY_VERSION));
-+ OpenSSL_version(OPENSSL_VERSION));
- #endif
-
- return err;
PKG_NAME:=kamailio5
PKG_VERSION:=5.4.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=https://www.kamailio.org/pub/kamailio/$(PKG_VERSION)/src
PKG_SOURCE:=kamailio-$(PKG_VERSION)$(PKG_VARIANT)_src.tar.gz
--- /dev/null
+--- a/src/modules/tls/tls_domain.c
++++ b/src/modules/tls/tls_domain.c
+@@ -27,6 +27,8 @@
+ #include <stdlib.h>
+ #include <openssl/ssl.h>
+ #include <openssl/opensslv.h>
++#include <openssl/bn.h>
++#include <openssl/dh.h>
+
+ #ifndef OPENSSL_NO_ENGINE
+ #include <openssl/engine.h>
+@@ -61,7 +63,7 @@ static void setup_ecdh(SSL_CTX *ctx)
+ {
+ EC_KEY *ecdh;
+
+- if (SSLeay() < 0x1000005fL) {
++ if (OpenSSL_version_num() < 0x1000005fL) {
+ return;
+ }
+
+--- a/src/modules/tls/tls_init.c
++++ b/src/modules/tls/tls_init.c
+@@ -627,14 +627,13 @@ int tls_h_mod_pre_init_f(void)
+ return 0;
+ }
+ LM_DBG("preparing tls env for modules initialization\n");
+-#if OPENSSL_VERSION_NUMBER >= 0x010100000L && !defined(LIBRESSL_VERSION_NUMBER)
+- LM_DBG("preparing tls env for modules initialization (libssl >=1.1)\n");
+- OPENSSL_init_ssl(0, NULL);
+-#else
++#if OPENSSL_VERSION_NUMBER < 0x010100000L || defined(LIBRESSL_VERSION_NUMBER)
+ LM_DBG("preparing tls env for modules initialization (libssl <=1.0)\n");
+ SSL_library_init();
+-#endif
+ SSL_load_error_strings();
++#else
++ LM_DBG("preparing tls env for modules initialization (libssl >=1.1)\n");
++#endif
+ tls_mod_preinitialized=1;
+ return 0;
+ }
+@@ -668,7 +667,7 @@ int tls_h_mod_init_f(void)
+ #if OPENSSL_VERSION_NUMBER < 0x00907000L
+ LM_WARN("You are using an old version of OpenSSL (< 0.9.7). Upgrade!\n");
+ #endif
+- ssl_version=SSLeay();
++ ssl_version=OpenSSL_version_num();
+ /* check if version have the same major minor and fix level
+ * (e.g. 0.9.8a & 0.9.8c are ok, but 0.9.8 and 0.9.9x are not)
+ * - values is represented as 0xMMNNFFPPS: major minor fix patch status
+@@ -680,7 +679,7 @@ int tls_h_mod_init_f(void)
+ " compiled \"%s\" (0x%08lx).\n"
+ " Please make sure a compatible version is used"
+ " (tls_force_run in kamailio.cfg will override this check)\n",
+- SSLeay_version(SSLEAY_VERSION), ssl_version,
++ OpenSSL_version(OPENSSL_VERSION), ssl_version,
+ OPENSSL_VERSION_TEXT, (long)OPENSSL_VERSION_NUMBER);
+ if (cfg_get(tls, tls_cfg, force_run))
+ LM_WARN("tls_force_run turned on, ignoring "
+@@ -857,6 +856,7 @@ int tls_check_sockets(tls_domains_cfg_t* cfg)
+ void tls_h_mod_destroy_f(void)
+ {
+ LM_DBG("tls module final tls destroy\n");
++#if OPENSSL_VERSION_NUMBER < 0x010100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if(tls_mod_preinitialized > 0)
+ ERR_free_strings();
+ /* TODO: free all the ctx'es */
+@@ -869,4 +869,5 @@ void tls_h_mod_destroy_f(void)
+ LM_DBG("executing openssl v1.1+ cleanup\n");
+ OPENSSL_cleanup();
+ #endif
++#endif
+ }
+--- a/src/modules/tls/tls_locking.c
++++ b/src/modules/tls/tls_locking.c
+@@ -140,6 +140,8 @@ unsigned long sr_ssl_id_f()
+ /* returns -1 on error, 0 on success */
+ int tls_init_locks()
+ {
++/* OpenSSL is thread-safe since 1.1.0 */
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ /* init "static" tls locks */
+ n_static_locks=CRYPTO_num_locks();
+ if (n_static_locks<0){
+@@ -167,13 +169,10 @@ int tls_init_locks()
+ CRYPTO_set_locking_callback(locking_f);
+ }
+
+-/* OpenSSL is thread-safe since 1.1.0 */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ /* set "dynamic" locks callbacks */
+ CRYPTO_set_dynlock_create_callback(dyn_create_f);
+ CRYPTO_set_dynlock_lock_callback(dyn_lock_f);
+ CRYPTO_set_dynlock_destroy_callback(dyn_destroy_f);
+-#endif
+
+ /* starting with v1.0.0 openssl does not use anymore getpid(), but address
+ * of errno which can point to same virtual address in a multi-process
+@@ -186,6 +185,7 @@ int tls_init_locks()
+ * (only atomic_inc), fallback to the default use-locks mode
+ * CRYPTO_set_add_lock_callback(atomic_add_f);
+ */
++#endif
+
+ return 0;
+ error:
PKG_NAME:=restund
PKG_VERSION:=0.4.12
-PKG_RELEASE:=7
+PKG_RELEASE:=8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.creytiv.com/pub
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/turn.so \
$(1)/usr/lib/restund/modules
$(INSTALL_DIR) $(1)/etc
- $(INSTALL_CONF) $(PKG_BUILD_DIR)/etc/restund.conf $(1)/etc
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/restund.conf $(1)/etc
$(SED) \
's|^\(module_path\)\([ \t]\+\).*$$$$|\1\2/usr/lib/restund/modules|g' \
$(1)/etc/restund.conf
/etc/restund.conf
endef
-define Package/restund/postinst
-#!/bin/sh
-if [ -z "$${IPKG_INSTROOT}" ]; then
- chown $(PKG_NAME):$(PKG_NAME) /etc/restund.conf
-fi
-exit 0
-endef
-
#
# 1. Name
# 2. Title
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=rtpengine
-PKG_VERSION:=mr8.5.1.2
+PKG_VERSION:=mr8.5.2.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/sipwise/rtpengine/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=ffc85d736ee58c4f74374ebc336fd14e43031be7bbd6acff27447cc25aff9558
+PKG_HASH:=e2c0f94984753f321e1db0a97f81af18f3e9f7005a2ca67766ddef2b6c8d4427
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE
--- /dev/null
+commit 46a64889071cb844550786096c251b804a234016
+Author: Richard Fuchs <rfuchs@sipwise.com>
+Date: Thu Nov 19 11:22:26 2020 -0500
+
+ support kernels >= 5.9.9
+
+ closes #1111
+
+ Change-Id: I81f22bfec93b38a108b671b10bd70bf86fb1270c
+
+diff --git a/kernel-module/xt_RTPENGINE.c b/kernel-module/xt_RTPENGINE.c
+index c12edcd8..3c5e3a89 100644
+--- a/kernel-module/xt_RTPENGINE.c
++++ b/kernel-module/xt_RTPENGINE.c
+@@ -3351,7 +3351,10 @@ static int send_proxy_packet4(struct sk_buff *skb, struct re_address *src, struc
+ uh->check = CSUM_MANGLED_0;
+
+ skb->protocol = htons(ETH_P_IP);
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,9) || \
++ (LINUX_VERSION_CODE >= KERNEL_VERSION(5,4,78) && LINUX_VERSION_CODE < KERNEL_VERSION(5,5,0))
++ if (ip_route_me_harder(par->state->net, par->state->sk, skb, RTN_UNSPEC))
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
+ if (ip_route_me_harder(par->state->net, skb, RTN_UNSPEC))
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)
+ if (ip_route_me_harder(par->net, skb, RTN_UNSPEC))
+@@ -3447,7 +3450,10 @@ static int send_proxy_packet6(struct sk_buff *skb, struct re_address *src, struc
+ uh->check = CSUM_MANGLED_0;
+
+ skb->protocol = htons(ETH_P_IPV6);
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,9,9) || \
++ (LINUX_VERSION_CODE >= KERNEL_VERSION(5,4,78) && LINUX_VERSION_CODE < KERNEL_VERSION(5,5,0))
++ if (ip6_route_me_harder(par->state->net, par->state->sk, skb))
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
+ if (ip6_route_me_harder(par->state->net, skb))
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)
+ if (ip6_route_me_harder(par->net, skb))
include $(TOPDIR)/rules.mk
PKG_NAME:=sipp
-PKG_VERSION:=3.6.0
+PKG_VERSION:=3.6.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/SIPp/sipp/releases/download/v$(PKG_VERSION)
-PKG_HASH:=e47e7b11fec0769cf76b30623a66390333bdb20323c66043ca535460858fa1bb
+PKG_HASH:=6a560e83aff982f331ddbcadfb3bd530c5896cd5b757dd6eb682133cc860ecb1
PKG_LICENSE:=GPL-2.0+ BSD-3-Clause Zlib
PKG_LICENSE_FILES:=LICENSE.txt
-PKG_FIXUP:=autoreconf
-
include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+CMAKE_INSTALL:=1
define Package/sipp
SECTION:=net
CATEGORY:=Network
SUBMENU:=Telephony
- DEPENDS:=$(CXX_DEPENDS) +libncurses +libpthread
+ DEPENDS:=$(CXX_DEPENDS) +libncurses +libpcap +libpthread
TITLE:=test tool / traffic generator for the SIP protocol
URL:=http://sipp.sourceforge.net/
endef
methods.
endef
-CONFIGURE_ARGS+= \
- --enable-epoll \
- --without-gsl \
- --without-pcap \
- --with-rtpstream \
- --without-sctp
+# Otherwise OpenWrt's CPPFLAGS are ignored
+TARGET_CFLAGS += $(TARGET_CPPFLAGS)
+
+# Use "common" options, see build.sh (we don't have gsl though)
+CMAKE_OPTIONS += \
+ -DUSE_GSL= \
+ -DUSE_PCAP=1 \
+ -DUSE_SCTP= \
+ -DUSE_SSL=
define Package/sipp/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/sipp $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sipp $(1)/usr/bin
endef
$(eval $(call BuildPackage,sipp))
--- /dev/null
+--- a/src/screen.cpp
++++ b/src/screen.cpp
+@@ -18,6 +18,7 @@
+ */
+
+ #include <curses.h>
++#include <locale.h>
+
+ #include "screen.hpp"
+ #include "sipp.hpp"
--- /dev/null
+commit 626de652455a6c061d5a045fb226212c1f7eaeb5
+Author: Walter Doekes <walter+github@wjd.nu>
+Date: Fri Sep 18 09:56:40 2020 +0200
+
+ Fix compatibility with older C++ in 3.6.x branch
+
+ - no auto keyword (auto x = 1)
+ - no range based loop (for (*iter) : iterable)
+ - no std::to_string
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 111c137..f1f815a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -32,6 +32,7 @@ file(GLOB all_SRCS
+ "${PROJECT_SOURCE_DIR}/src/*.c"
+ )
+
++include(${CMAKE_ROOT}/Modules/CheckCXXSourceCompiles.cmake)
+ include(${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
+ include(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake)
+ include(${CMAKE_ROOT}/Modules/CheckStructHasMember.cmake)
+@@ -43,6 +44,10 @@ CHECK_STRUCT_HAS_MEMBER("struct udphdr" uh_sport "sys/types.h;netinet/udp.h" HA
+
+ CHECK_SYMBOL_EXISTS(le16toh "endian.h" HAVE_DECL_LE16TOH)
+ CHECK_SYMBOL_EXISTS(le16toh "sys/endian.h" HAVE_DECL_LE16TOH_BSD)
++CHECK_CXX_SOURCE_COMPILES("
++#include <string>
++int main() { std::to_string(1).c_str(); return 0; }
++" HAVE_STD_TOSTRING)
+
+ configure_file("${PROJECT_SOURCE_DIR}/include/config.h.in"
+ "${PROJECT_BINARY_DIR}/config.h" )
+diff --git a/include/config.h.in b/include/config.h.in
+index 8c22504..cf39ea1 100644
+--- a/include/config.h.in
++++ b/include/config.h.in
+@@ -1,5 +1,5 @@
+ /*--------------------------------------------------------------------------
+- * This file is autogenerated from config.h.in
++ * This file is autogenerated from include/config.h.in
+ * during the cmake configuration of your project. If you need to make changes
+ * edit the original file NOT THIS FILE.
+ * --------------------------------------------------------------------------*/
+@@ -18,5 +18,6 @@
+ #endif
+ #cmakedefine HAVE_IP_COMPAT_H @HAVE_IP_COMPAT_H@
+ #cmakedefine HAVE_UDP_UH_PREFIX @HAVE_UDP_UH_PREFIX@
++#cmakedefine HAVE_STD_TOSTRING @HAVE_STD_TOSTRING@
+
+ #endif
+diff --git a/include/screen.hpp b/include/screen.hpp
+index 13a9708..37c8ddf 100644
+--- a/include/screen.hpp
++++ b/include/screen.hpp
+@@ -43,9 +43,12 @@ void print_statistics(int last);
+ extern int key_backspace;
+ extern int key_dc;
+
++typedef std::vector<std::string> string_array;
++
+ class ScreenPrinter {
+ public:
+ ScreenPrinter():
++ M_last(false),
+ M_headless(!isatty(fileno(stdout)))
+ {};
+ void redraw();
+@@ -63,9 +66,9 @@ private:
+ void draw_repartition_detailed(CStat::T_dynamicalRepartition * tabRepartition,
+ int sizeOfTab);
+
+- std::vector<std::string> lines;
++ string_array lines;
+
+- bool M_last = false;
++ bool M_last;
+ };
+
+ extern ScreenPrinter* sp;
+diff --git a/include/sipp.hpp b/include/sipp.hpp
+index 878c99f..b04a619 100644
+--- a/include/sipp.hpp
++++ b/include/sipp.hpp
+@@ -83,6 +83,18 @@
+ #include "ratetask.hpp"
+ #include "watchdog.hpp"
+
++/* Backwards compatibility */
++#ifndef HAVE_STD_TOSTRING
++#include <sstream>
++namespace std {
++template <typename T> string to_string(T value) {
++ ostringstream os;
++ os << value;
++ return os.str();
++}
++}
++#endif
++
+ /*
+ * If this files is included in the Main, then extern definitions
+ * are removed, and the DEFVAL macro becomes '= value;'. Else
+diff --git a/src/screen.cpp b/src/screen.cpp
+index bbf9cd2..5521a44 100644
+--- a/src/screen.cpp
++++ b/src/screen.cpp
+@@ -83,15 +83,15 @@ void print_statistics(int last)
+ void ScreenPrinter::print_closing_stats() {
+ M_last = true;
+ get_lines();
+- for (auto line : lines) {
+- printf("%s\n", line.c_str());
++ for (string_array::iterator it = lines.begin(); it != lines.end(); ++it) {
++ printf("%s\n", (*it).c_str());
+ }
+
+ if (currentScreenToDisplay != DISPLAY_STAT_SCREEN) {
+ currentScreenToDisplay = DISPLAY_STAT_SCREEN;
+ get_lines();
+- for (auto line : lines) {
+- printf("%s\n", line.c_str());
++ for (string_array::iterator it = lines.begin(); it != lines.end(); ++it) {
++ printf("%s\n", (*it).c_str());
+ }
+ }
+
+@@ -100,8 +100,8 @@ void ScreenPrinter::print_closing_stats() {
+ void ScreenPrinter::print_to_file(FILE* f)
+ {
+ get_lines();
+- for (auto line : lines) {
+- fprintf(f, "%s\n", line.c_str());
++ for (string_array::iterator it = lines.begin(); it != lines.end(); ++it) {
++ fprintf(f, "%s\n", (*it).c_str());
+ }
+ }
+
+@@ -114,8 +114,8 @@ void ScreenPrinter::redraw()
+ if (!M_headless) {
+ get_lines();
+ erase();
+- for (auto line : lines) {
+- printw("%s\n", line.c_str());
++ for (string_array::iterator it = lines.begin(); it != lines.end(); ++it) {
++ printw("%s\n", (*it).c_str());
+ }
+
+ if (command_mode) {