From 8b8716357348d4e41ab939b29c3b535866874b9f Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sun, 11 Feb 2018 00:21:54 -0600 Subject: main/lighttpd: modernise, fix char signedness bug --- main/lighttpd/APKBUILD | 30 ++++++++++++++---------- main/lighttpd/char-signedness.patch | 46 +++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 12 deletions(-) create mode 100644 main/lighttpd/char-signedness.patch (limited to 'main') diff --git a/main/lighttpd/APKBUILD b/main/lighttpd/APKBUILD index 37ce247b7e..69c6ea66c9 100644 --- a/main/lighttpd/APKBUILD +++ b/main/lighttpd/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Natanael Copa pkgname=lighttpd pkgver=1.4.48 -pkgrel=0 +pkgrel=1 pkgdesc="A secure, fast, compliant and very flexible web-server" url="http://www.lighttpd.net/" arch="all" @@ -23,7 +23,8 @@ source="http://download.lighttpd.net/lighttpd/releases-1.4.x/$pkgname-$pkgver.ta mime-types.conf mod_cgi.conf mod_fastcgi.conf - mod_fastcgi_fpm.conf" + mod_fastcgi_fpm.conf + char-signedness.patch" builddir="$srcdir/$pkgname-$pkgver" build() { @@ -47,30 +48,34 @@ build() { --with-ldap \ --with-openssl \ --with-libev \ - --with-lua \ - || return 1 + --with-lua make } +check() { + cd "$builddir" + make check +} + package() { cd "$builddir" - make DESTDIR="$pkgdir" install || return 1 + make DESTDIR="$pkgdir" install # create dirs install -d -m755 -o lighttpd -g lighttpd \ - "$pkgdir"/var/log/lighttpd/ || return 1 + "$pkgdir"/var/log/lighttpd/ install -d -m755 \ "$pkgdir"/etc/lighttpd/ \ - "$pkgdir"/var/www/localhost/htdocs || return 1 + "$pkgdir"/var/www/localhost/htdocs # lighttpd install -D -m755 "$srcdir"/lighttpd.initd \ - "$pkgdir"/etc/init.d/lighttpd || return 1 + "$pkgdir"/etc/init.d/lighttpd install -D -m644 "$srcdir"/lighttpd.confd \ - "$pkgdir"/etc/conf.d/lighttpd || return 1 + "$pkgdir"/etc/conf.d/lighttpd install -D -m644 "$srcdir"/lighttpd.logrotate \ - "$pkgdir"/etc/logrotate.d/lighttpd || return 1 + "$pkgdir"/etc/logrotate.d/lighttpd # config files local i; for i in lighttpd.conf mime-types.conf mod_cgi.conf \ @@ -84,7 +89,7 @@ _mv_mod() { mkdir -p "$subpkgdir"/usr/lib/lighttpd while [ $# -gt 0 ]; do mv "$pkgdir"/usr/lib/lighttpd/$1.so \ - "$subpkgdir"/usr/lib/lighttpd/ || return 1 + "$subpkgdir"/usr/lib/lighttpd/ shift done } @@ -107,4 +112,5 @@ f2f3c5c7731550237fd75a8de66275f427eaf897cffff7ac7ef44178328ad8fad6c4ec6654759bfc a3f2f5763885d7e4f510491b24164e34aaf62bb02daa12991575dc64335c12668355af5bb8d6ce191eb4e9cce95324b1f7c9ba61b323b4e7b50a1e03e021afcf mime-types.conf 27cc638d8068dcf47bd9db44943d1db6c6f4e8e6abd6b42af7cea004b1c093440068541d98c68f8bea70b956713adaf8ed59a4b642dea826ee8620a05f8cfde5 mod_cgi.conf 1d15b84c03fb648a0e67ab5c5411b85478b4454c44bc2959cc96d1700eeadd7ff429520a5f1550db6527267646622dccd3d47d3fd1258869fccaf5c22d4ad4b2 mod_fastcgi.conf -f9efc4b70d825600f5356c30e57d0b6cac11c01739337f7192c09c2cfd96cb76c8328b11d818ea4c2addc1a6d253975b84700106ae75854d55d0df73e220bd2b mod_fastcgi_fpm.conf" +f9efc4b70d825600f5356c30e57d0b6cac11c01739337f7192c09c2cfd96cb76c8328b11d818ea4c2addc1a6d253975b84700106ae75854d55d0df73e220bd2b mod_fastcgi_fpm.conf +ce35c1d65d7b4fedd1fcfadd8a5e906d5efa8dcda318a4fa69958b708c2df329f708591f43b12adaaac4da6a2913d0cc8f9745e636e7f2016c1075bcd52c6bb2 char-signedness.patch" diff --git a/main/lighttpd/char-signedness.patch b/main/lighttpd/char-signedness.patch new file mode 100644 index 0000000000..43f7f5faf5 --- /dev/null +++ b/main/lighttpd/char-signedness.patch @@ -0,0 +1,46 @@ + +Added by gstrauss 16 days ago + + ID d4083effab0f9bf76528d5c47198b17e7471ed13 + Parent 0c95ed37 + Child 37f9b60d + +[core] fix base64 decode when char is unsigned (fixes #2848) + +thx, codehero + +x-ref: +"buffer_append_base64_decode() broken on compilers where char is assumed unsigned" +https://redmine.lighttpd.net/issues/2848 + +diff --git a/src/base64.c b/src/base64.c +index f39dbaa2..3034181a 100644 +--- a/src/base64.c ++++ b/src/base64.c +@@ -11,7 +11,7 @@ + + /* BASE64_STANDARD: "A-Z a-z 0-9 + /" maps to 0-63, pad with "=" */ + static const char base64_standard_table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; +-static const char base64_standard_reverse_table[] = { ++static const signed char base64_standard_reverse_table[] = { + /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, /* 0x00 - 0x0F */ + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, /* 0x10 - 0x1F */ +@@ -25,7 +25,7 @@ static const char base64_standard_reverse_table[] = { + + /* BASE64_URL: "A-Z a-z 0-9 - _" maps to 0-63, pad with "." */ + static const char base64_url_table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_."; +-static const char base64_url_reverse_table[] = { ++static const signed char base64_url_reverse_table[] = { + /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, /* 0x00 - 0x0F */ + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, /* 0x10 - 0x1F */ +@@ -42,7 +42,7 @@ unsigned char* buffer_append_base64_decode(buffer *out, const char* in, size_t i + size_t out_pos = 0; /* current output character (position) that is decoded. can contain partial result */ + unsigned int group = 0; /* how many base64 digits in the current group were decoded already. each group has up to 4 digits */ + size_t i; +- const char *base64_reverse_table; ++ const signed char *base64_reverse_table; + + switch (charset) { + case BASE64_STANDARD: -- cgit v1.2.3