diff --git a/contrib/src/pjproject/fix_ioqueue_ipv6_sendto.patch b/contrib/src/pjproject/fix_ioqueue_ipv6_sendto.patch new file mode 100644 index 0000000000000000000000000000000000000000..bc53fd2cb4a82964befbcde117fc5a5e35af517d --- /dev/null +++ b/contrib/src/pjproject/fix_ioqueue_ipv6_sendto.patch @@ -0,0 +1,19 @@ +--- a/pjlib/src/pj/ioqueue_common_abs.c 2015-11-05 23:18:46.000000000 -0500 ++++ b/pjlib/src/pj/ioqueue_common_abs.c 2016-10-21 13:49:09.183662433 -0400 +@@ -1048,5 +1048,6 @@ + * Check that address storage can hold the address parameter. + */ +- PJ_ASSERT_RETURN(addrlen <= (int)sizeof(pj_sockaddr_in), PJ_EBUG); ++ PJ_ASSERT_RETURN((((pj_sockaddr*)addr)->addr.sa_family == pj_AF_INET() && addrlen <= (int)sizeof(pj_sockaddr_in)) || ++ (((pj_sockaddr*)addr)->addr.sa_family == pj_AF_INET6() && addrlen <= (int)sizeof(pj_sockaddr_in6)), PJ_EBUG); + + /* +--- a/pjlib/src/pj/ioqueue_common_abs.h 2013-02-21 06:18:36.000000000 -0500 ++++ b/pjlib/src/pj/ioqueue_common_abs.h 2016-10-21 14:04:04.148928591 -0400 +@@ -64,5 +64,5 @@ + pj_ssize_t written; + unsigned flags; +- pj_sockaddr_in rmt_addr; ++ pj_sockaddr rmt_addr; + int rmt_addrlen; + }; diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak index 95e6cbb45c42e46cf7cb8e2a447f0e406aa4322f..eabe38d0aec68b86eade49878f70fc0ca84c7f47 100644 --- a/contrib/src/pjproject/rules.mak +++ b/contrib/src/pjproject/rules.mak @@ -76,6 +76,7 @@ endif $(APPLY) $(SRC)/pjproject/multiple_listeners.patch $(APPLY) $(SRC)/pjproject/pj_ice_sess.patch $(APPLY) $(SRC)/pjproject/fix_turn_fallback.patch + $(APPLY) $(SRC)/pjproject/fix_ioqueue_ipv6_sendto.patch $(UPDATE_AUTOCONFIG) $(MOVE)