include $(TOPDIR)/rules.mk
PKG_NAME:=asterisk13
-PKG_VERSION:=13.3.2
-PKG_RELEASE:=2
+PKG_VERSION:=13.2.0
+PKG_RELEASE:=4
PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.asterisk.org/pub/telephony/asterisk/releases/
-PKG_MD5SUM:=afc8a5b7fc239c7aa5692b563d7e6ed2
+PKG_MD5SUM:=36033a5faa2f0f9ac3bc34b799e823a2
PKG_BUILD_DIR=$(BUILD_DIR)/asterisk-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=libxml2/host
--- a/configure.ac
+++ b/configure.ac
-@@ -1202,7 +1202,6 @@ AC_LINK_IFELSE(
+@@ -1177,7 +1177,6 @@ AC_LINK_IFELSE(
#include <resolv.h>],
[int foo = res_ninit(NULL);])],
AC_MSG_RESULT(yes)
#include <time.h> /* we want to override localtime_r */
#include <unistd.h>
#include <string.h>
-@@ -540,13 +542,17 @@ extern void *_ast_mem_backtrace_buffer[_
+@@ -514,13 +516,17 @@ extern void *_ast_mem_backtrace_buffer[_
* Ok, this sucks. But if we're already out of mem, we don't
* want the logger to create infinite recursion (and a crash).
*/
--- /dev/null
+--- a/main/tcptls.c
++++ b/main/tcptls.c
+@@ -640,9 +640,15 @@
+ break;
+ }
+ str = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(name, pos));
+- ASN1_STRING_to_UTF8(&str2, str);
++ ret = ASN1_STRING_to_UTF8(&str2, str);
++ if (ret < 0) {
++ continue;
++ }
++
+ if (str2) {
+- if (!strcasecmp(tcptls_session->parent->hostname, (char *) str2)) {
++ if (strlen((char *) str2) != ret) {
++ ast_log(LOG_WARNING, "Invalid certificate common name length (contains NULL bytes?)\n");
++ } else if (!strcasecmp(tcptls_session->parent->hostname, (char *) str2)) {
+ found = 1;
+ }
+ ast_debug(3, "SSL Common Name compare s1='%s' s2='%s'\n", tcptls_session->parent->hostname, str2);