summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Sautier <sbraz@gentoo.org>2018-07-16 00:11:56 +0200
committerLouis Sautier <sbraz@gentoo.org>2018-07-16 00:40:41 +0200
commit25ec114c14413ef58d51274f8f1ac800b19c650c (patch)
treed6b5eb544f776f3842fa2aca757d7d92c44db164 /net-irc/znc/files/znc-1.7.1-inttest-dir.patch
parentdev-python/numpy: Backport a fix for py3.7 test failures (diff)
downloadgentoo-25ec114c14413ef58d51274f8f1ac800b19c650c.tar.gz
gentoo-25ec114c14413ef58d51274f8f1ac800b19c650c.tar.bz2
gentoo-25ec114c14413ef58d51274f8f1ac800b19c650c.zip
net-irc/znc: bump to 1.7.1_rc1, fixes multiple vulnerabilities
Bug: https://bugs.gentoo.org/661228 Package-Manager: Portage-2.3.42, Repoman-2.3.9
Diffstat (limited to 'net-irc/znc/files/znc-1.7.1-inttest-dir.patch')
-rw-r--r--net-irc/znc/files/znc-1.7.1-inttest-dir.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/net-irc/znc/files/znc-1.7.1-inttest-dir.patch b/net-irc/znc/files/znc-1.7.1-inttest-dir.patch
new file mode 100644
index 000000000000..9aff2a9b64be
--- /dev/null
+++ b/net-irc/znc/files/znc-1.7.1-inttest-dir.patch
@@ -0,0 +1,64 @@
+commit 95f1c7e9081866ea1e716743ea039a74565f80c6
+Author: Louis Sautier <sautier.louis@gmail.com>
+Date: Sun Jul 15 15:36:21 2018 +0200
+
+ Allow integration tests to be run inside a different root
+
+ Based on DarthGandalf's patch submitted in
+ https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15112014e7605d13624297d7601504b5d187a6de
+
+diff --git a/include/znc/znc.h b/include/znc/znc.h
+index ecb2b41a..a791a648 100644
+--- a/include/znc/znc.h
++++ b/include/znc/znc.h
+@@ -251,6 +251,7 @@ class CZNC : private CCoreTranslationMixin {
+ void DisableConfigTimer();
+
+ static void DumpConfig(const CConfig* Config);
++ static CString UnusualRoot();
+
+ private:
+ static CString FormatBindError();
+diff --git a/src/Modules.cpp b/src/Modules.cpp
+index 5aec7805..6f9c34ae 100644
+--- a/src/Modules.cpp
++++ b/src/Modules.cpp
+@@ -1899,9 +1899,10 @@ CModules::ModDirList CModules::GetModDirs() {
+ sDir = CZNC::Get().GetModPath() + "/";
+ ret.push(std::make_pair(sDir, sDir));
+
++ CString sUnusualRoot = CZNC::UnusualRoot();
+ // <moduledir> and <datadir> (<prefix>/lib/znc)
+- ret.push(std::make_pair(_MODDIR_ + CString("/"),
+- _DATADIR_ + CString("/modules/")));
++ ret.push(std::make_pair(sUnusualRoot + _MODDIR_ + CString("/"),
++ sUnusualRoot + _DATADIR_ + CString("/modules/")));
+
+ return ret;
+ }
+diff --git a/src/WebModules.cpp b/src/WebModules.cpp
+index a5841987..f1b8a421 100644
+--- a/src/WebModules.cpp
++++ b/src/WebModules.cpp
+@@ -565,7 +565,7 @@ CString CWebSock::GetSkinPath(const CString& sSkinName) {
+ sRet = CZNC::Get().GetCurPath() + "/webskins/" + sSkin;
+
+ if (!CFile::IsDir(sRet)) {
+- sRet = CString(_SKINDIR_) + "/" + sSkin;
++ sRet = CZNC::UnusualRoot() + CString(_SKINDIR_) + "/" + sSkin;
+ }
+ }
+
+diff --git a/src/znc.cpp b/src/znc.cpp
+index 4e7216ee..dd901497 100644
+--- a/src/znc.cpp
++++ b/src/znc.cpp
+@@ -2130,3 +2130,8 @@ void CZNC::DisableConfigTimer() {
+ m_pConfigTimer = nullptr;
+ }
+ }
++
++CString CZNC::UnusualRoot() {
++ char* szUnusualRoot = getenv("ZNC_UNUSUAL_ROOT");
++ return szUnusualRoot ? szUnusualRoot : "";
++}