diff options
author | Jaco Kroon <jaco@uls.co.za> | 2020-06-30 13:20:56 +0200 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2020-07-01 09:38:32 +0300 |
commit | ff22a39875feb55d1920acdaa282f32e51d9f19e (patch) | |
tree | 037389bd5a248dfde1b177f71ff0391940cc9edc /net-misc | |
parent | net-firewall/ufw: define DISTUTILS_USE_SETUPTOOLS (diff) | |
download | gentoo-ff22a39875feb55d1920acdaa282f32e51d9f19e.tar.gz gentoo-ff22a39875feb55d1920acdaa282f32e51d9f19e.tar.bz2 gentoo-ff22a39875feb55d1920acdaa282f32e51d9f19e.zip |
net-misc/asterisk: USE=-ssl fixes (13.33.0)
Bug: https://bugs.gentoo.org/725888
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/asterisk/asterisk-13.33.0.ebuild | 3 | ||||
-rw-r--r-- | net-misc/asterisk/files/asterisk-13.33.0-nossl.patch | 94 |
2 files changed, 96 insertions, 1 deletions
diff --git a/net-misc/asterisk/asterisk-13.33.0.ebuild b/net-misc/asterisk/asterisk-13.33.0.ebuild index 85e6f8facee2..1e709bfbd068 100644 --- a/net-misc/asterisk/asterisk-13.33.0.ebuild +++ b/net-misc/asterisk/asterisk-13.33.0.ebuild @@ -26,7 +26,8 @@ REQUIRED_USE="gtalk? ( xmpp ) " PATCHES=( - "${FILESDIR}/asterisk-historic-no-var-run-install.patch" + "${FILESDIR}/${PN}-historic-no-var-run-install.patch" + "${FILESDIR}/${PN}-13.33.0-nossl.patch" ) DEPEND="acct-user/asterisk diff --git a/net-misc/asterisk/files/asterisk-13.33.0-nossl.patch b/net-misc/asterisk/files/asterisk-13.33.0-nossl.patch new file mode 100644 index 000000000000..5fb0c5650e54 --- /dev/null +++ b/net-misc/asterisk/files/asterisk-13.33.0-nossl.patch @@ -0,0 +1,94 @@ +From 2513235859fc50e8c28545977702b9b7b439f5f5 Mon Sep 17 00:00:00 2001 +From: Joshua C. Colp <jcolp@sangoma.com> +Date: Wed, 24 Jun 2020 07:25:47 -0300 +Subject: [PATCH] menuselect: Resolve infinite loop in dependency scenario. + +Given a scenario where a module has a dependency on both +an external library and a module if the external library was +available and the module was not an infinite loop would +occur. This happened due to the code changing the dependecy +status to no failure on each dependency checking loop +iteration, resulting in the code thinking that it had +gone from no failure to failure each time triggering another +dependency check. + +This change makes it so that the old dependency status is +preserved throughout the dependency checking allowing it to +determine that after the first iteration the dependency +status does not transition from no failure to failure. + +ASTERISK-28930 + +Change-Id: Iea06d45d9fd6d8bfd068882a0bb7e23a53ec3e84 +--- + +diff --git a/menuselect/menuselect.c b/menuselect/menuselect.c +index 83f6098..a595ce8 100644 +--- a/menuselect/menuselect.c ++++ b/menuselect/menuselect.c +@@ -630,14 +630,14 @@ + struct member *mem; + struct reference *dep; + struct dep_file *dep_file; +- unsigned int changed, old_failure; ++ unsigned int changed; + + AST_LIST_TRAVERSE(&categories, cat, list) { + AST_LIST_TRAVERSE(&cat->members, mem, list) { + if (mem->is_separator) { + continue; + } +- old_failure = mem->depsfailed; ++ mem->depsfailedold = mem->depsfailed; + AST_LIST_TRAVERSE(&mem->deps, dep, list) { + if (dep->member) + continue; +@@ -655,7 +655,7 @@ + break; /* This dependency is not met, so we can stop now */ + } + } +- if (old_failure == SOFT_FAILURE && mem->depsfailed != HARD_FAILURE) ++ if (mem->depsfailedold == SOFT_FAILURE && mem->depsfailed != HARD_FAILURE) + mem->depsfailed = SOFT_FAILURE; + } + } +@@ -673,8 +673,6 @@ + continue; + } + +- old_failure = mem->depsfailed; +- + if (mem->depsfailed == HARD_FAILURE) + continue; + +@@ -693,7 +691,7 @@ + } + } + +- if (mem->depsfailed != old_failure) { ++ if (mem->depsfailed != mem->depsfailedold) { + if ((mem->depsfailed == NO_FAILURE) && mem->was_defaulted) { + mem->enabled = !strcasecmp(mem->defaultenabled, "yes"); + print_debug("Just set %s enabled to %d\n", mem->name, mem->enabled); +@@ -702,6 +700,8 @@ + print_debug("Just set %s enabled to %d\n", mem->name, mem->enabled); + } + changed = 1; ++ /* We need to update the old failed deps for the next loop of this */ ++ mem->depsfailedold = mem->depsfailed; + break; /* This dependency is not met, so we can stop now */ + } + } +diff --git a/menuselect/menuselect.h b/menuselect/menuselect.h +index 78ae8ef..d41859e 100644 +--- a/menuselect/menuselect.h ++++ b/menuselect/menuselect.h +@@ -78,6 +78,8 @@ + unsigned int was_enabled:1; + /*! This module has failed dependencies */ + unsigned int depsfailed:2; ++ /*! Previous failed dependencies when calculating */ ++ unsigned int depsfailedold:2; + /*! This module has failed conflicts */ + unsigned int conflictsfailed:2; + /*! This module's 'enabled' flag was changed by a default only */ |