Blame
Date:
Fri Dec 16 05:00:21 2022
UTC
Message:
Daily backup
11
2022-06-12
text=!! Patched Source%0a%0a!!! Upstream Source%0a%0aYou can choose to use the upstream source code, but you must apply patches to get it to build properly.%0a%0a'''WARNING''': If you are on OpenBSD 7.0, you must patch znc-1.8.2 to avoid a threading bug that causes segfaults and to fix a bug in the schat module.%0a%0aFirst, download the latest stable release:%0a%0a[@%0a$ cd ~%0a$ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a@]%0a%0aWe recommend you verify the [[gpg/verify|gpg signature]]:%0a%0a[@%0a$ doas pkg_add gnupg%0a$ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a$ gpg2 --recv-key D5823CACB477191CAC0075555AE420CC0209989E%0a$ gpg2 --verify znc-1.8.2.tar.gz.sig znc-1.8.2.tar.gz%0a@]%0a%0aNext, [[tar/usage|extract and unzip]] the files:%0a%0a[@%0a$ tar xvzf znc-1.8.2.tar.gz %0a@]%0a%0a!!! Patches%0a%0aDue to a bug in OpenBSD 6.9, we have applied a custom patch to ZNC to avoid segfaults on multicore servers:%0a%0a[@%0adiff -ru znc-1.8.2-old/src/main.cpp znc-1.8.2-new/src/main.cpp%0a--- znc-1.8.2-old/src/main.cpp Mon Sep 7 18:57:50 2020%0a+++ znc-1.8.2-new/src/main.cpp Thu Dec 24 17:04:37 2020%0a@@ -292,6 +292,7 @@%0a }%0a %0a int main(int argc, char** argv) {%0a+ pthread_attr_t a; pthread_attr_init(&a);%0a CString sConfig;%0a CString sDataDir = "";%0a@]%0a%0aThe schat module also needs patching for [[libressl/intro|libreSSL]]:%0a%0a[@%0a--- modules/schat.cpp.orig%0a+++ modules/schat.cpp%0a@@ -25,8 +25,8 @@%0a #include %3cznc/User.h>%0a #include %3cznc/IRCNetwork.h>%0a %0a-#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERSION_NUMBER) || \%0a- OPENSSL_VERSION_NUMBER %3c 0x10100007%0a+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER %3c 0x10100007 || \%0a+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER %3c 0x3040000fL)%0a /* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher accessor was added 2%0a weeks before the public release.%0a See openssl/openssl@e92813234318635639dba0168c7ef5568757449b.%0a */%0a@]%0a%0a@@crypt.cpp@@ also needs to be patched:%0a%0a[@%0aDH_set0_pqg() has been available since LibreSSL version 2.7. This version%0awon't compile with opaque DH in LibreSSL 3.5.%0a%0aIndex: modules/crypt.cpp%0a--- modules/crypt.cpp.orig%0a+++ modules/crypt.cpp%0a@@ -68,7 +68,7 @@ class CCryptMod : public CModule {%0a CString m_sPrivKey;%0a CString m_sPubKey;%0a%0a-#if OPENSSL_VERSION_NUMBER %3c 0X10100000L || defined(LIBRESSL_VERSION_NUMBER)%0a+#if OPENSSL_VERSION_NUMBER %3c 0X10100000L%0a static int DH_set0_pqg(DH* dh, BIGNUM* p, BIGNUM* q, BIGNUM* g) {%0a /* If the fields p and g in dh are nullptr, the corresponding input%0a * parameters MUST be non-nullptr. q may remain nullptr.%0a@]%0a%0a[@%0adiff -u znc-1.8.2/CMakeLists.txt.orig znc-1.8.2/CMakeLists.txt%0a--- znc-1.8.2/CMakeLists.txt.orig Mon Sep 7 18:57:50 2020%0a+++ znc-1.8.2/CMakeLists.txt Fri May 6 03:50:26 2022%0a@@ -44,6 +44,7 @@%0a include(TestCXX11)%0a set(CMAKE_CXX_STANDARD 11)%0a set(CMAKE_CXX_STANDARD_REQUIRED true)%0a+set(CMAKE_CXX_FLAGS "-DHAVE_OPAQUE_SSL" CACHE STRING "compile flags" FORCE)%0a if(NOT CYGWIN)%0a # We don't want to use -std=gnu++11 instead of -std=c++11, but among other%0a # things, -std=c++11 on cygwin defines __STRICT_ANSI__ which makes cygwin%0a@]%0a %0aIRCNow provides a patched version of ZNC:%0a%0a[@%0a$ cd ~%0a$ ftp https://ircnow.org/software/znc-1.8.2b.tar.gz%0a@]%0a%0aOn OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the web.%0a%0aFor [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(z)ip, and (f)ile.%0a%0a[@%0a$ tar xvzf znc-1.8.2b.tar.gz%0a@]%0a
14
2022-06-12
diff:1654994917:1654474686:=2,31d1%0a%3c %0a%3c !!! Upstream Source%0a%3c %0a%3c You can choose to use the upstream source code, but you must apply patches to get it to build properly.%0a%3c %0a%3c '''WARNING''': If you are on OpenBSD 7.0, you must patch znc-1.8.2 to avoid a threading bug that causes segfaults and to fix a bug in the schat module.%0a%3c %0a%3c First, download the latest stable release:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz%0a%3c @]%0a%3c %0a%3c We recommend you verify the [[gpg/verify|gpg signature]]:%0a%3c %0a%3c [@%0a%3c $ doas pkg_add gnupg%0a%3c $ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig%0a%3c $ gpg2 --recv-key D5823CACB477191CAC0075555AE420CC0209989E%0a%3c $ gpg2 --verify znc-1.8.2.tar.gz.sig znc-1.8.2.tar.gz%0a%3c @]%0a%3c %0a%3c Next, [[tar/usage|extract and unzip]] the files:%0a%3c %0a%3c [@%0a%3c $ tar xvzf znc-1.8.2.tar.gz %0a%3c @]%0a%3c %0a%3c !!! Patches%0a
17
2022-06-07
diff:1654474686:1654474686:=1,84d0%0a%3c !! Patched Source%0a%3c %0a%3c Due to a bug in OpenBSD 6.9, we have applied a custom patch to ZNC to avoid segfaults on multicore servers:%0a%3c %0a%3c [@%0a%3c diff -ru znc-1.8.2-old/src/main.cpp znc-1.8.2-new/src/main.cpp%0a%3c --- znc-1.8.2-old/src/main.cpp Mon Sep 7 18:57:50 2020%0a%3c +++ znc-1.8.2-new/src/main.cpp Thu Dec 24 17:04:37 2020%0a%3c @@ -292,6 +292,7 @@%0a%3c }%0a%3c %0a%3c int main(int argc, char** argv) {%0a%3c + pthread_attr_t a; pthread_attr_init(&a);%0a%3c CString sConfig;%0a%3c CString sDataDir = "";%0a%3c @]%0a%3c %0a%3c The schat module also needs patching for [[libressl/intro|libreSSL]]:%0a%3c %0a%3c [@%0a%3c --- modules/schat.cpp.orig%0a%3c +++ modules/schat.cpp%0a%3c @@ -25,8 +25,8 @@%0a%3c #include %3cznc/User.h>%0a%3c #include %3cznc/IRCNetwork.h>%0a%3c %0a%3c -#if !defined(OPENSSL_VERSION_NUMBER) || defined(LIBRESSL_VERSION_NUMBER) || \%0a%3c - OPENSSL_VERSION_NUMBER %3c 0x10100007%0a%3c +#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER %3c 0x10100007 || \%0a%3c + (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER %3c 0x3040000fL)%0a%3c /* SSL_SESSION was made opaque in OpenSSL 1.1.0, cipher accessor was added 2%0a%3c weeks before the public release.%0a%3c See openssl/openssl@e92813234318635639dba0168c7ef5568757449b.%0a%3c */%0a%3c @]%0a%3c %0a%3c @@crypt.cpp@@ also needs to be patched:%0a%3c %0a%3c [@%0a%3c DH_set0_pqg() has been available since LibreSSL version 2.7. This version%0a%3c won't compile with opaque DH in LibreSSL 3.5.%0a%3c %0a%3c Index: modules/crypt.cpp%0a%3c --- modules/crypt.cpp.orig%0a%3c +++ modules/crypt.cpp%0a%3c @@ -68,7 +68,7 @@ class CCryptMod : public CModule {%0a%3c CString m_sPrivKey;%0a%3c CString m_sPubKey;%0a%3c %0a%3c -#if OPENSSL_VERSION_NUMBER %3c 0X10100000L || defined(LIBRESSL_VERSION_NUMBER)%0a%3c +#if OPENSSL_VERSION_NUMBER %3c 0X10100000L%0a%3c static int DH_set0_pqg(DH* dh, BIGNUM* p, BIGNUM* q, BIGNUM* g) {%0a%3c /* If the fields p and g in dh are nullptr, the corresponding input%0a%3c * parameters MUST be non-nullptr. q may remain nullptr.%0a%3c @]%0a%3c %0a%3c [@%0a%3c diff -u znc-1.8.2/CMakeLists.txt.orig znc-1.8.2/CMakeLists.txt%0a%3c --- znc-1.8.2/CMakeLists.txt.orig Mon Sep 7 18:57:50 2020%0a%3c +++ znc-1.8.2/CMakeLists.txt Fri May 6 03:50:26 2022%0a%3c @@ -44,6 +44,7 @@%0a%3c include(TestCXX11)%0a%3c set(CMAKE_CXX_STANDARD 11)%0a%3c set(CMAKE_CXX_STANDARD_REQUIRED true)%0a%3c +set(CMAKE_CXX_FLAGS "-DHAVE_OPAQUE_SSL" CACHE STRING "compile flags" FORCE)%0a%3c if(NOT CYGWIN)%0a%3c # We don't want to use -std=gnu++11 instead of -std=c++11, but among other%0a%3c # things, -std=c++11 on cygwin defines __STRICT_ANSI__ which makes cygwin%0a%3c @]%0a%3c %0a%3c IRCNow provides a patched version of ZNC:%0a%3c %0a%3c [@%0a%3c $ cd ~%0a%3c $ ftp https://ircnow.org/software/znc-1.8.2b.tar.gz%0a%3c @]%0a%3c %0a%3c On OpenBSD, [[ftp/usage|ftp]] can also be used to download files from the web.%0a%3c %0a%3c For [[tar/usage|tar]], the options xvzf stand for e(x)tract, (v)erbose, un(z)ip, and (f)ile.%0a%3c %0a%3c [@%0a%3c $ tar xvzf znc-1.8.2b.tar.gz%0a%3c @]%0a