Date: Tuesday, April 25, 2017 @ 14:20:33 Author: arodseth Revision: 225302
archrelease: copy trunk to community-x86_64, community-i686 Added: netsurf/repos/community-i686/PKGBUILD (from rev 225301, netsurf/trunk/PKGBUILD) netsurf/repos/community-i686/netsurf.sh (from rev 225301, netsurf/trunk/netsurf.sh) netsurf/repos/community-i686/openssl.patch (from rev 225301, netsurf/trunk/openssl.patch) netsurf/repos/community-x86_64/PKGBUILD (from rev 225301, netsurf/trunk/PKGBUILD) netsurf/repos/community-x86_64/netsurf.sh (from rev 225301, netsurf/trunk/netsurf.sh) netsurf/repos/community-x86_64/openssl.patch (from rev 225301, netsurf/trunk/openssl.patch) Deleted: netsurf/repos/community-i686/PKGBUILD netsurf/repos/community-i686/netsurf.sh netsurf/repos/community-i686/openssl.patch netsurf/repos/community-x86_64/PKGBUILD netsurf/repos/community-x86_64/netsurf.sh netsurf/repos/community-x86_64/openssl.patch --------------------------------+ /PKGBUILD | 144 +++++++++++++++++++++++++++++++++++++++ /netsurf.sh | 14 +++ /openssl.patch | 144 +++++++++++++++++++++++++++++++++++++++ community-i686/PKGBUILD | 71 ------------------- community-i686/netsurf.sh | 7 - community-i686/openssl.patch | 72 ------------------- community-x86_64/PKGBUILD | 71 ------------------- community-x86_64/netsurf.sh | 7 - community-x86_64/openssl.patch | 72 ------------------- 9 files changed, 302 insertions(+), 300 deletions(-) Deleted: community-i686/PKGBUILD =================================================================== --- community-i686/PKGBUILD 2017-04-25 14:20:20 UTC (rev 225301) +++ community-i686/PKGBUILD 2017-04-25 14:20:33 UTC (rev 225302) @@ -1,71 +0,0 @@ -# $Id$ -# Maintainer: Alexander F Rødseth <xypr...@archlinux.org> -# Contributor: Paulo Matias <matiasΘarchlinux-br·org> -# Contributor: Georgij Kondratjev <sm...@bk.ru> -# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> - -pkgname=netsurf -pkgver=3.6 -pkgrel=2 -pkgdesc='Lightweight and fast web browser' -arch=('x86_64' 'i686') -url='http://www.netsurf-browser.org/' -license=('MIT' 'GPL2') -depends=('libmng' 'librsvg' 'curl' 'lcms' 'desktop-file-utils' - 'libnsbmp>=0.1.4' 'libnsgif>=0.1.4' 'libcss>=0.6.1' - 'libdom>=0.3.1' 'libnsutils>=0.0.3' 'libutf8proc>=1.3.1' - 'gtk3' 'duktape') -makedepends=('re2c' 'netsurf-buildsystem' 'perl-html-parser' 'nsgenbind>=0.3' - 'inetutils' 'libutf8proc>1.3.1' 'git' 'setconf' 'check' 'gtk3' - 'duktape') -# git.netsurf-browser.org has an invalid https sertificate -source=("git://git.netsurf-browser.org/netsurf.git#tag=release/$pkgver" - 'openssl.patch' - 'netsurf.sh') -sha256sums=('SKIP' - '0601ca86e59a40aa6feaaab9db0e79c4952b018c724f7255279d902a79d090d9' - 'f2e2f61f1864da57cafa74ffdbefac2f9e1d55d9627e82ef923d4931684c5c49') - -prepare() { - cd "$pkgname" - - patch -p1 -i "$srcdir/openssl.patch" - sed 's:netsurf-gtk:netsurf:' -i frontends/gtk/res/netsurf-gtk.desktop - sed 's:libutf8proc/::' -i utils/idna.c - sed 's:UTF8PROC_CCC_VIRAMA:UTF8PROC_BIDI_CLASS_EN:' -i utils/idna.c - sed 's:utf8proc_normalise:utf8proc_reencode:' -i utils/idna.c - setconf Makefile.defaults NETSURF_USE_DUKTAPE YES - setconf Makefile.defaults NETSURF_UA_FORMAT_STRING \ - '"NetSurf/%d.%d (%s; Arch Linux)"' -} - -build() { - make -C "$pkgname" \ - NETSURF_GTK_MAJOR=3 \ - TARGET=gtk \ - LIBDIR=lib \ - INCLUDEDIR=include \ - PREFIX=/usr -} - -package() { - cd "$pkgname" - - make install LIBDIR=lib INCLUDEDIR=include PREFIX=/usr TARGET=gtk \ - NETSURF_GTK_MAJOR=3 DESTDIR="$pkgdir" - - # Launcher script - install -Dm755 "../$pkgname.sh" "$pkgdir/usr/bin/$pkgname" - - # Desktop icon and shortcut - install -Dm644 "frontends/gtk/res/$pkgname.xpm" \ - "$pkgdir/usr/share/pixmaps/$pkgname.xpm" - install -Dm644 "frontends/gtk/res/$pkgname-gtk.desktop" \ - "$pkgdir/usr/share/applications/$pkgname.desktop" - - # License - install -Dm644 COPYING \ - "$pkgdir/usr/share/licenses/$pkgname/COPYING" -} - -# vim:set ts=2 sw=2 et: Copied: netsurf/repos/community-i686/PKGBUILD (from rev 225301, netsurf/trunk/PKGBUILD) =================================================================== --- community-i686/PKGBUILD (rev 0) +++ community-i686/PKGBUILD 2017-04-25 14:20:33 UTC (rev 225302) @@ -0,0 +1,72 @@ +# $Id$ +# Maintainer: Alexander F Rødseth <xypr...@archlinux.org> +# Contributor: Paulo Matias <matiasΘarchlinux-br·org> +# Contributor: Georgij Kondratjev <sm...@bk.ru> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> + +pkgname=netsurf +pkgver=3.6 +pkgrel=3 +pkgdesc='Lightweight and fast web browser' +arch=('x86_64' 'i686') +url='http://www.netsurf-browser.org/' +license=('MIT' 'GPL2') +depends=('libmng' 'librsvg' 'curl' 'lcms' 'desktop-file-utils' + 'libnsbmp>=0.1.4' 'libnsgif>=0.1.4' 'libcss>=0.6.1' + 'libdom>=0.3.1' 'libnsutils>=0.0.3' 'libutf8proc>=1.3.1' + 'gtk3' 'duktape') +makedepends=('re2c' 'netsurf-buildsystem' 'perl-html-parser' 'nsgenbind>=0.3' + 'inetutils' 'libutf8proc>1.3.1' 'git' 'setconf' 'check' 'gtk3' + 'duktape') +# git.netsurf-browser.org has an invalid https certificate +source=("git://git.netsurf-browser.org/netsurf.git#commit=c56ecfd924b16d15bf74385c4d556a6b7002e8a6" + 'openssl.patch' + 'netsurf.sh') +sha256sums=('SKIP' + '0601ca86e59a40aa6feaaab9db0e79c4952b018c724f7255279d902a79d090d9' + 'f2e2f61f1864da57cafa74ffdbefac2f9e1d55d9627e82ef923d4931684c5c49') + +prepare() { + cd "$pkgname" + + patch -p1 -i "$srcdir/openssl.patch" + + sed 's:netsurf-gtk:netsurf:' -i frontends/gtk/res/netsurf-gtk.desktop + sed 's:libutf8proc/::' -i utils/idna.c + sed 's:UTF8PROC_CCC_VIRAMA:UTF8PROC_BIDI_CLASS_EN:' -i utils/idna.c + sed 's:utf8proc_normalise:utf8proc_reencode:' -i utils/idna.c + setconf Makefile.defaults NETSURF_USE_DUKTAPE YES + setconf Makefile.defaults NETSURF_UA_FORMAT_STRING \ + '"NetSurf/%d.%d (%s; Arch Linux)"' +} + +build() { + make -C "$pkgname" \ + NETSURF_GTK_MAJOR=3 \ + TARGET=gtk \ + LIBDIR=lib \ + INCLUDEDIR=include \ + PREFIX=/usr +} + +package() { + cd "$pkgname" + + make install LIBDIR=lib INCLUDEDIR=include PREFIX=/usr TARGET=gtk \ + NETSURF_GTK_MAJOR=3 DESTDIR="$pkgdir" + + # Launcher script + install -Dm755 "../$pkgname.sh" "$pkgdir/usr/bin/$pkgname" + + # Desktop icon and shortcut + install -Dm644 "frontends/gtk/res/$pkgname.xpm" \ + "$pkgdir/usr/share/pixmaps/$pkgname.xpm" + install -Dm644 "frontends/gtk/res/$pkgname-gtk.desktop" \ + "$pkgdir/usr/share/applications/$pkgname.desktop" + + # License + install -Dm644 COPYING \ + "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +# vim:set ts=2 sw=2 et: Deleted: community-i686/netsurf.sh =================================================================== --- community-i686/netsurf.sh 2017-04-25 14:20:20 UTC (rev 225301) +++ community-i686/netsurf.sh 2017-04-25 14:20:33 UTC (rev 225302) @@ -1,7 +0,0 @@ -#!/bin/sh -shortname=`echo $LANG | cut -b1-2` -if [[ -d /usr/share/netsurf/$shortname ]]; then - /usr/bin/netsurf-gtk3 "$@" -else - LANG=en /usr/bin/netsurf-gtk3 "$@" -fi Copied: netsurf/repos/community-i686/netsurf.sh (from rev 225301, netsurf/trunk/netsurf.sh) =================================================================== --- community-i686/netsurf.sh (rev 0) +++ community-i686/netsurf.sh 2017-04-25 14:20:33 UTC (rev 225302) @@ -0,0 +1,7 @@ +#!/bin/sh +shortname=`echo $LANG | cut -b1-2` +if [[ -d /usr/share/netsurf/$shortname ]]; then + /usr/bin/netsurf-gtk3 "$@" +else + LANG=en /usr/bin/netsurf-gtk3 "$@" +fi Deleted: community-i686/openssl.patch =================================================================== --- community-i686/openssl.patch 2017-04-25 14:20:20 UTC (rev 225301) +++ community-i686/openssl.patch 2017-04-25 14:20:33 UTC (rev 225302) @@ -1,72 +0,0 @@ -From e8a9e3744523671228fef385ce7e1e11f93283b0 Mon Sep 17 00:00:00 2001 -From: Vincent Sanders <vi...@kyllikki.org> -Date: Sun, 20 Nov 2016 12:14:36 +0000 -Subject: fix openSSL 1.1.0 X509 certificate handling - ---- -diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c -index 66970ef..7ddf512 100644 ---- a/content/fetchers/curl.c -+++ b/content/fetchers/curl.c -@@ -128,6 +128,26 @@ static char fetch_error_buffer[CURL_ERROR_SIZE]; - static char fetch_proxy_userpwd[100]; - - -+/* OpenSSL 1.0.x to 1.1.0 certificate reference counting changed */ -+#if (OPENSSL_VERSION_NUMBER < 0x1010000fL) -+static int ns_X509_up_ref(X509 *cert) -+{ -+ cert->references++; -+ return 1; -+} -+ -+static void ns_X509_free(X509 *cert) -+{ -+ cert->references--; -+ if (cert->references == 0) { -+ X509_free(cert); -+ } -+} -+#else -+#define ns_X509_up_ref X509_up_ref -+#define ns_X509_free X509_free -+#endif -+ - /** - * Initialise a cURL fetcher. - */ -@@ -438,7 +458,7 @@ fetch_curl_verify_callback(int verify_ok, X509_STORE_CTX *x509_ctx) - */ - if (!fetch->cert_data[depth].cert) { - fetch->cert_data[depth].cert = X509_STORE_CTX_get_current_cert(x509_ctx); -- fetch->cert_data[depth].cert->references++; -+ ns_X509_up_ref(fetch->cert_data[depth].cert); - fetch->cert_data[depth].err = X509_STORE_CTX_get_error(x509_ctx); - } - -@@ -815,10 +835,7 @@ static void fetch_curl_free(void *vf) - } - - for (i = 0; i < MAX_CERTS && f->cert_data[i].cert; i++) { -- f->cert_data[i].cert->references--; -- if (f->cert_data[i].cert->references == 0) { -- X509_free(f->cert_data[i].cert); -- } -+ ns_X509_free(f->cert_data[i].cert); - } - - free(f); -@@ -986,10 +1003,7 @@ curl_start_cert_validate(struct curl_fetch_info *f, - X509_get_pubkey(certs[depth].cert)); - - /* and clean up */ -- certs[depth].cert->references--; -- if (certs[depth].cert->references == 0) { -- X509_free(certs[depth].cert); -- } -+ ns_X509_free(certs[depth].cert); - } - - msg.type = FETCH_CERT_ERR; --- -cgit v0.9.0.3-65-g4555 Copied: netsurf/repos/community-i686/openssl.patch (from rev 225301, netsurf/trunk/openssl.patch) =================================================================== --- community-i686/openssl.patch (rev 0) +++ community-i686/openssl.patch 2017-04-25 14:20:33 UTC (rev 225302) @@ -0,0 +1,72 @@ +From e8a9e3744523671228fef385ce7e1e11f93283b0 Mon Sep 17 00:00:00 2001 +From: Vincent Sanders <vi...@kyllikki.org> +Date: Sun, 20 Nov 2016 12:14:36 +0000 +Subject: fix openSSL 1.1.0 X509 certificate handling + +--- +diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c +index 66970ef..7ddf512 100644 +--- a/content/fetchers/curl.c ++++ b/content/fetchers/curl.c +@@ -128,6 +128,26 @@ static char fetch_error_buffer[CURL_ERROR_SIZE]; + static char fetch_proxy_userpwd[100]; + + ++/* OpenSSL 1.0.x to 1.1.0 certificate reference counting changed */ ++#if (OPENSSL_VERSION_NUMBER < 0x1010000fL) ++static int ns_X509_up_ref(X509 *cert) ++{ ++ cert->references++; ++ return 1; ++} ++ ++static void ns_X509_free(X509 *cert) ++{ ++ cert->references--; ++ if (cert->references == 0) { ++ X509_free(cert); ++ } ++} ++#else ++#define ns_X509_up_ref X509_up_ref ++#define ns_X509_free X509_free ++#endif ++ + /** + * Initialise a cURL fetcher. + */ +@@ -438,7 +458,7 @@ fetch_curl_verify_callback(int verify_ok, X509_STORE_CTX *x509_ctx) + */ + if (!fetch->cert_data[depth].cert) { + fetch->cert_data[depth].cert = X509_STORE_CTX_get_current_cert(x509_ctx); +- fetch->cert_data[depth].cert->references++; ++ ns_X509_up_ref(fetch->cert_data[depth].cert); + fetch->cert_data[depth].err = X509_STORE_CTX_get_error(x509_ctx); + } + +@@ -815,10 +835,7 @@ static void fetch_curl_free(void *vf) + } + + for (i = 0; i < MAX_CERTS && f->cert_data[i].cert; i++) { +- f->cert_data[i].cert->references--; +- if (f->cert_data[i].cert->references == 0) { +- X509_free(f->cert_data[i].cert); +- } ++ ns_X509_free(f->cert_data[i].cert); + } + + free(f); +@@ -986,10 +1003,7 @@ curl_start_cert_validate(struct curl_fetch_info *f, + X509_get_pubkey(certs[depth].cert)); + + /* and clean up */ +- certs[depth].cert->references--; +- if (certs[depth].cert->references == 0) { +- X509_free(certs[depth].cert); +- } ++ ns_X509_free(certs[depth].cert); + } + + msg.type = FETCH_CERT_ERR; +-- +cgit v0.9.0.3-65-g4555 Deleted: community-x86_64/PKGBUILD =================================================================== --- community-x86_64/PKGBUILD 2017-04-25 14:20:20 UTC (rev 225301) +++ community-x86_64/PKGBUILD 2017-04-25 14:20:33 UTC (rev 225302) @@ -1,71 +0,0 @@ -# $Id$ -# Maintainer: Alexander F Rødseth <xypr...@archlinux.org> -# Contributor: Paulo Matias <matiasΘarchlinux-br·org> -# Contributor: Georgij Kondratjev <sm...@bk.ru> -# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> - -pkgname=netsurf -pkgver=3.6 -pkgrel=2 -pkgdesc='Lightweight and fast web browser' -arch=('x86_64' 'i686') -url='http://www.netsurf-browser.org/' -license=('MIT' 'GPL2') -depends=('libmng' 'librsvg' 'curl' 'lcms' 'desktop-file-utils' - 'libnsbmp>=0.1.4' 'libnsgif>=0.1.4' 'libcss>=0.6.1' - 'libdom>=0.3.1' 'libnsutils>=0.0.3' 'libutf8proc>=1.3.1' - 'gtk3' 'duktape') -makedepends=('re2c' 'netsurf-buildsystem' 'perl-html-parser' 'nsgenbind>=0.3' - 'inetutils' 'libutf8proc>1.3.1' 'git' 'setconf' 'check' 'gtk3' - 'duktape') -# git.netsurf-browser.org has an invalid https sertificate -source=("git://git.netsurf-browser.org/netsurf.git#tag=release/$pkgver" - 'openssl.patch' - 'netsurf.sh') -sha256sums=('SKIP' - '0601ca86e59a40aa6feaaab9db0e79c4952b018c724f7255279d902a79d090d9' - 'f2e2f61f1864da57cafa74ffdbefac2f9e1d55d9627e82ef923d4931684c5c49') - -prepare() { - cd "$pkgname" - - patch -p1 -i "$srcdir/openssl.patch" - sed 's:netsurf-gtk:netsurf:' -i frontends/gtk/res/netsurf-gtk.desktop - sed 's:libutf8proc/::' -i utils/idna.c - sed 's:UTF8PROC_CCC_VIRAMA:UTF8PROC_BIDI_CLASS_EN:' -i utils/idna.c - sed 's:utf8proc_normalise:utf8proc_reencode:' -i utils/idna.c - setconf Makefile.defaults NETSURF_USE_DUKTAPE YES - setconf Makefile.defaults NETSURF_UA_FORMAT_STRING \ - '"NetSurf/%d.%d (%s; Arch Linux)"' -} - -build() { - make -C "$pkgname" \ - NETSURF_GTK_MAJOR=3 \ - TARGET=gtk \ - LIBDIR=lib \ - INCLUDEDIR=include \ - PREFIX=/usr -} - -package() { - cd "$pkgname" - - make install LIBDIR=lib INCLUDEDIR=include PREFIX=/usr TARGET=gtk \ - NETSURF_GTK_MAJOR=3 DESTDIR="$pkgdir" - - # Launcher script - install -Dm755 "../$pkgname.sh" "$pkgdir/usr/bin/$pkgname" - - # Desktop icon and shortcut - install -Dm644 "frontends/gtk/res/$pkgname.xpm" \ - "$pkgdir/usr/share/pixmaps/$pkgname.xpm" - install -Dm644 "frontends/gtk/res/$pkgname-gtk.desktop" \ - "$pkgdir/usr/share/applications/$pkgname.desktop" - - # License - install -Dm644 COPYING \ - "$pkgdir/usr/share/licenses/$pkgname/COPYING" -} - -# vim:set ts=2 sw=2 et: Copied: netsurf/repos/community-x86_64/PKGBUILD (from rev 225301, netsurf/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2017-04-25 14:20:33 UTC (rev 225302) @@ -0,0 +1,72 @@ +# $Id$ +# Maintainer: Alexander F Rødseth <xypr...@archlinux.org> +# Contributor: Paulo Matias <matiasΘarchlinux-br·org> +# Contributor: Georgij Kondratjev <sm...@bk.ru> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> + +pkgname=netsurf +pkgver=3.6 +pkgrel=3 +pkgdesc='Lightweight and fast web browser' +arch=('x86_64' 'i686') +url='http://www.netsurf-browser.org/' +license=('MIT' 'GPL2') +depends=('libmng' 'librsvg' 'curl' 'lcms' 'desktop-file-utils' + 'libnsbmp>=0.1.4' 'libnsgif>=0.1.4' 'libcss>=0.6.1' + 'libdom>=0.3.1' 'libnsutils>=0.0.3' 'libutf8proc>=1.3.1' + 'gtk3' 'duktape') +makedepends=('re2c' 'netsurf-buildsystem' 'perl-html-parser' 'nsgenbind>=0.3' + 'inetutils' 'libutf8proc>1.3.1' 'git' 'setconf' 'check' 'gtk3' + 'duktape') +# git.netsurf-browser.org has an invalid https certificate +source=("git://git.netsurf-browser.org/netsurf.git#commit=c56ecfd924b16d15bf74385c4d556a6b7002e8a6" + 'openssl.patch' + 'netsurf.sh') +sha256sums=('SKIP' + '0601ca86e59a40aa6feaaab9db0e79c4952b018c724f7255279d902a79d090d9' + 'f2e2f61f1864da57cafa74ffdbefac2f9e1d55d9627e82ef923d4931684c5c49') + +prepare() { + cd "$pkgname" + + patch -p1 -i "$srcdir/openssl.patch" + + sed 's:netsurf-gtk:netsurf:' -i frontends/gtk/res/netsurf-gtk.desktop + sed 's:libutf8proc/::' -i utils/idna.c + sed 's:UTF8PROC_CCC_VIRAMA:UTF8PROC_BIDI_CLASS_EN:' -i utils/idna.c + sed 's:utf8proc_normalise:utf8proc_reencode:' -i utils/idna.c + setconf Makefile.defaults NETSURF_USE_DUKTAPE YES + setconf Makefile.defaults NETSURF_UA_FORMAT_STRING \ + '"NetSurf/%d.%d (%s; Arch Linux)"' +} + +build() { + make -C "$pkgname" \ + NETSURF_GTK_MAJOR=3 \ + TARGET=gtk \ + LIBDIR=lib \ + INCLUDEDIR=include \ + PREFIX=/usr +} + +package() { + cd "$pkgname" + + make install LIBDIR=lib INCLUDEDIR=include PREFIX=/usr TARGET=gtk \ + NETSURF_GTK_MAJOR=3 DESTDIR="$pkgdir" + + # Launcher script + install -Dm755 "../$pkgname.sh" "$pkgdir/usr/bin/$pkgname" + + # Desktop icon and shortcut + install -Dm644 "frontends/gtk/res/$pkgname.xpm" \ + "$pkgdir/usr/share/pixmaps/$pkgname.xpm" + install -Dm644 "frontends/gtk/res/$pkgname-gtk.desktop" \ + "$pkgdir/usr/share/applications/$pkgname.desktop" + + # License + install -Dm644 COPYING \ + "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +# vim:set ts=2 sw=2 et: Deleted: community-x86_64/netsurf.sh =================================================================== --- community-x86_64/netsurf.sh 2017-04-25 14:20:20 UTC (rev 225301) +++ community-x86_64/netsurf.sh 2017-04-25 14:20:33 UTC (rev 225302) @@ -1,7 +0,0 @@ -#!/bin/sh -shortname=`echo $LANG | cut -b1-2` -if [[ -d /usr/share/netsurf/$shortname ]]; then - /usr/bin/netsurf-gtk3 "$@" -else - LANG=en /usr/bin/netsurf-gtk3 "$@" -fi Copied: netsurf/repos/community-x86_64/netsurf.sh (from rev 225301, netsurf/trunk/netsurf.sh) =================================================================== --- community-x86_64/netsurf.sh (rev 0) +++ community-x86_64/netsurf.sh 2017-04-25 14:20:33 UTC (rev 225302) @@ -0,0 +1,7 @@ +#!/bin/sh +shortname=`echo $LANG | cut -b1-2` +if [[ -d /usr/share/netsurf/$shortname ]]; then + /usr/bin/netsurf-gtk3 "$@" +else + LANG=en /usr/bin/netsurf-gtk3 "$@" +fi Deleted: community-x86_64/openssl.patch =================================================================== --- community-x86_64/openssl.patch 2017-04-25 14:20:20 UTC (rev 225301) +++ community-x86_64/openssl.patch 2017-04-25 14:20:33 UTC (rev 225302) @@ -1,72 +0,0 @@ -From e8a9e3744523671228fef385ce7e1e11f93283b0 Mon Sep 17 00:00:00 2001 -From: Vincent Sanders <vi...@kyllikki.org> -Date: Sun, 20 Nov 2016 12:14:36 +0000 -Subject: fix openSSL 1.1.0 X509 certificate handling - ---- -diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c -index 66970ef..7ddf512 100644 ---- a/content/fetchers/curl.c -+++ b/content/fetchers/curl.c -@@ -128,6 +128,26 @@ static char fetch_error_buffer[CURL_ERROR_SIZE]; - static char fetch_proxy_userpwd[100]; - - -+/* OpenSSL 1.0.x to 1.1.0 certificate reference counting changed */ -+#if (OPENSSL_VERSION_NUMBER < 0x1010000fL) -+static int ns_X509_up_ref(X509 *cert) -+{ -+ cert->references++; -+ return 1; -+} -+ -+static void ns_X509_free(X509 *cert) -+{ -+ cert->references--; -+ if (cert->references == 0) { -+ X509_free(cert); -+ } -+} -+#else -+#define ns_X509_up_ref X509_up_ref -+#define ns_X509_free X509_free -+#endif -+ - /** - * Initialise a cURL fetcher. - */ -@@ -438,7 +458,7 @@ fetch_curl_verify_callback(int verify_ok, X509_STORE_CTX *x509_ctx) - */ - if (!fetch->cert_data[depth].cert) { - fetch->cert_data[depth].cert = X509_STORE_CTX_get_current_cert(x509_ctx); -- fetch->cert_data[depth].cert->references++; -+ ns_X509_up_ref(fetch->cert_data[depth].cert); - fetch->cert_data[depth].err = X509_STORE_CTX_get_error(x509_ctx); - } - -@@ -815,10 +835,7 @@ static void fetch_curl_free(void *vf) - } - - for (i = 0; i < MAX_CERTS && f->cert_data[i].cert; i++) { -- f->cert_data[i].cert->references--; -- if (f->cert_data[i].cert->references == 0) { -- X509_free(f->cert_data[i].cert); -- } -+ ns_X509_free(f->cert_data[i].cert); - } - - free(f); -@@ -986,10 +1003,7 @@ curl_start_cert_validate(struct curl_fetch_info *f, - X509_get_pubkey(certs[depth].cert)); - - /* and clean up */ -- certs[depth].cert->references--; -- if (certs[depth].cert->references == 0) { -- X509_free(certs[depth].cert); -- } -+ ns_X509_free(certs[depth].cert); - } - - msg.type = FETCH_CERT_ERR; --- -cgit v0.9.0.3-65-g4555 Copied: netsurf/repos/community-x86_64/openssl.patch (from rev 225301, netsurf/trunk/openssl.patch) =================================================================== --- community-x86_64/openssl.patch (rev 0) +++ community-x86_64/openssl.patch 2017-04-25 14:20:33 UTC (rev 225302) @@ -0,0 +1,72 @@ +From e8a9e3744523671228fef385ce7e1e11f93283b0 Mon Sep 17 00:00:00 2001 +From: Vincent Sanders <vi...@kyllikki.org> +Date: Sun, 20 Nov 2016 12:14:36 +0000 +Subject: fix openSSL 1.1.0 X509 certificate handling + +--- +diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c +index 66970ef..7ddf512 100644 +--- a/content/fetchers/curl.c ++++ b/content/fetchers/curl.c +@@ -128,6 +128,26 @@ static char fetch_error_buffer[CURL_ERROR_SIZE]; + static char fetch_proxy_userpwd[100]; + + ++/* OpenSSL 1.0.x to 1.1.0 certificate reference counting changed */ ++#if (OPENSSL_VERSION_NUMBER < 0x1010000fL) ++static int ns_X509_up_ref(X509 *cert) ++{ ++ cert->references++; ++ return 1; ++} ++ ++static void ns_X509_free(X509 *cert) ++{ ++ cert->references--; ++ if (cert->references == 0) { ++ X509_free(cert); ++ } ++} ++#else ++#define ns_X509_up_ref X509_up_ref ++#define ns_X509_free X509_free ++#endif ++ + /** + * Initialise a cURL fetcher. + */ +@@ -438,7 +458,7 @@ fetch_curl_verify_callback(int verify_ok, X509_STORE_CTX *x509_ctx) + */ + if (!fetch->cert_data[depth].cert) { + fetch->cert_data[depth].cert = X509_STORE_CTX_get_current_cert(x509_ctx); +- fetch->cert_data[depth].cert->references++; ++ ns_X509_up_ref(fetch->cert_data[depth].cert); + fetch->cert_data[depth].err = X509_STORE_CTX_get_error(x509_ctx); + } + +@@ -815,10 +835,7 @@ static void fetch_curl_free(void *vf) + } + + for (i = 0; i < MAX_CERTS && f->cert_data[i].cert; i++) { +- f->cert_data[i].cert->references--; +- if (f->cert_data[i].cert->references == 0) { +- X509_free(f->cert_data[i].cert); +- } ++ ns_X509_free(f->cert_data[i].cert); + } + + free(f); +@@ -986,10 +1003,7 @@ curl_start_cert_validate(struct curl_fetch_info *f, + X509_get_pubkey(certs[depth].cert)); + + /* and clean up */ +- certs[depth].cert->references--; +- if (certs[depth].cert->references == 0) { +- X509_free(certs[depth].cert); +- } ++ ns_X509_free(certs[depth].cert); + } + + msg.type = FETCH_CERT_ERR; +-- +cgit v0.9.0.3-65-g4555