Date: Tuesday, November 1, 2022 @ 13:22:09
Author: felixonmars
Revision: 459846
archrelease: copy trunk to staging-x86_64
Added:
lynx/repos/staging-x86_64/
lynx/repos/staging-x86_64/CVE-2021-38165.diff
(from rev 459845, lynx/trunk/CVE-2021-38165.diff)
lynx/repos/staging-x86_64/PKGBUILD
(from rev 459845, lynx/trunk/PKGBUILD)
lynx/repos/staging-x86_64/keys/
---------------------+
CVE-2021-38165.diff | 34 ++++++++++++++++++++++++++++++++++
PKGBUILD | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 82 insertions(+)
Copied: lynx/repos/staging-x86_64/CVE-2021-38165.diff (from rev 459845,
lynx/trunk/CVE-2021-38165.diff)
===================================================================
--- staging-x86_64/CVE-2021-38165.diff (rev 0)
+++ staging-x86_64/CVE-2021-38165.diff 2022-11-01 13:22:09 UTC (rev 459846)
@@ -0,0 +1,34 @@
+--- a/WWW/Library/Implementation/HTTP.c
++++ b/WWW/Library/Implementation/HTTP.c
+@@ -764,6 +764,23 @@ static char *StripIpv6Brackets(char *host)
+ }
+ #endif
+
++/*
++ * Remove user/password, if any, from the given host-string.
++ */
++#ifdef USE_SSL
++static char *StripUserAuthents(char *host)
++{
++ char *p = strchr(host, '@');
++
++ if (p != NULL) {
++ char *q = host;
++
++ while ((*q++ = *++p) != '\0') ;
++ }
++ return host;
++}
++#endif
++
+ /* Load Document from HTTP Server HTLoadHTTP()
+ * ==============================
+ *
+@@ -959,6 +976,7 @@ static int HTLoadHTTP(const char *arg,
+ /* get host we're connecting to */
+ ssl_host = HTParse(url, "", PARSE_HOST);
+ ssl_host = StripIpv6Brackets(ssl_host);
++ ssl_host = StripUserAuthents(ssl_host);
+ #if defined(USE_GNUTLS_FUNCS)
+ ret = gnutls_server_name_set(handle->gnutls_state,
+ GNUTLS_NAME_DNS,
Copied: lynx/repos/staging-x86_64/PKGBUILD (from rev 459845,
lynx/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2022-11-01 13:22:09 UTC (rev 459846)
@@ -0,0 +1,48 @@
+# Maintainer: Pierre Schmitz <[email protected]>
+# Contributor: Douglas Soares de Andrade <[email protected]>
+# Contributor: Tom Newsom <[email protected]>
+
+pkgname=lynx
+pkgver=2.8.9
+_relver=${pkgver}rel.1
+pkgrel=6
+pkgdesc="A text browser for the World Wide Web"
+url="https://lynx.invisible-island.net/"
+arch=('x86_64')
+license=('GPL')
+depends=('openssl' 'libidn' 'ncurses')
+backup=('etc/lynx.cfg')
+options=('!lto')
+source=("https://invisible-mirror.net/archives/lynx/tarballs/${pkgname}${_relver}.tar.bz2"{,.asc}
+ 'CVE-2021-38165.diff')
+sha256sums=('387f193d7792f9cfada14c60b0e5c0bff18f227d9257a39483e14fa1aaf79595'
+ 'SKIP'
+ '693f025a6886b555cc8d7b655de8e62bd8af870a74909e6a4b6cec6e3736dd0d')
+validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB')
+
+prepare() {
+ cd "${srcdir}/${pkgname}${_relver}"
+ patch --forward --strip=1 --input="${srcdir}/CVE-2021-38165.diff"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}${_relver}"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-ssl=/usr \
+ --enable-nls \
+ --enable-ipv6 \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}${_relver}"
+ make DESTDIR="${pkgdir}" install
+
+ # FS#20404 - points to local help
+ sed -i -e
"s|^HELPFILE.*$|HELPFILE:file:///usr/share/doc/lynx/lynx_help/lynx_help_main.html|"
"${pkgdir}/etc/lynx.cfg"
+
+ install -d "${pkgdir}/usr/share/doc/lynx"
+ cp -rf lynx_help "${pkgdir}/usr/share/doc/lynx"
+}