diff --git a/contrib/src/pjproject/0019-ignore-down-interfaces.patch b/contrib/src/pjproject/0019-ignore-down-interfaces.patch new file mode 100644 index 0000000000000000000000000000000000000000..3216402ea1ad465096092ddd3bea2474251981f7 --- /dev/null +++ b/contrib/src/pjproject/0019-ignore-down-interfaces.patch @@ -0,0 +1,40 @@ +diff --git a/pjlib/src/pj/ip_helper_generic.c b/pjlib/src/pj/ip_helper_generic.c +index d7bbf725e..2a392d16b 100644 +--- a/pjlib/src/pj/ip_helper_generic.c ++++ b/pjlib/src/pj/ip_helper_generic.c +@@ -97,6 +97,11 @@ static pj_status_t if_enum_by_af(int af, + continue; /* Skip when interface is down */ + } + ++ if ((it->ifa_flags & IFF_RUNNING)==0) { ++ TRACE_((THIS_FILE, " interface is not running")); ++ continue; /* Skip when interface is not running */ ++ } ++ + #if PJ_IP_HELPER_IGNORE_LOOPBACK_IF + if (it->ifa_flags & IFF_LOOPBACK) { + TRACE_((THIS_FILE, " loopback interface")); +@@ -208,6 +213,11 @@ static pj_status_t if_enum_by_af(int af, + continue; /* Skip when interface is down */ + } + ++ if ((iff.ifr_flags & IFF_RUNNING)==0) { ++ TRACE_((THIS_FILE, " interface is not running")); ++ continue; /* Skip when interface is not running */ ++ } ++ + #if PJ_IP_HELPER_IGNORE_LOOPBACK_IF + if (iff.ifr_flags & IFF_LOOPBACK) { + TRACE_((THIS_FILE, " loopback interface")); +@@ -286,6 +296,11 @@ static pj_status_t if_enum_by_af(int af, unsigned *p_cnt, pj_sockaddr ifs[]) + continue; /* Skip when interface is down */ + } + ++ if ((ifreq.ifr_flags & IFF_RUNNING)==0) { ++ TRACE_((THIS_FILE, " interface is not running")); ++ continue; /* Skip when interface is not running */ ++ } ++ + #if PJ_IP_HELPER_IGNORE_LOOPBACK_IF + if (ifreq.ifr_flags & IFF_LOOPBACK) { + TRACE_((THIS_FILE, " loopback interface")); diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak index 330f9c410e8a07c2237358f5be993d183b2b40ec..b1c273450d0e65521661b85ac5d39800ed5bac6c 100644 --- a/contrib/src/pjproject/rules.mak +++ b/contrib/src/pjproject/rules.mak @@ -63,6 +63,7 @@ pjproject: pjproject-$(PJPROJECT_VERSION).tar.gz .sum-pjproject $(APPLY) $(SRC)/pjproject/0016-use-addrinfo-instead-CFHOST.patch $(APPLY) $(SRC)/pjproject/0017-CVE-2020-15260.patch $(APPLY) $(SRC)/pjproject/0018-CVE-2021-21375.patch + $(APPLY) $(SRC)/pjproject/0019-ignore-down-interfaces.patch ifdef HAVE_ANDROID $(APPLY) $(SRC)/pjproject/0001-android.patch endif