aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-06-03 10:25:28 +0300
committerTimo Teräs <timo.teras@iki.fi>2014-06-03 10:26:58 +0300
commit72dfeb01ba1e25b20d8c063aef48a8e34c45e162 (patch)
tree0650b8c79028107a233c568f806e74f7e80c960b
parent010ee3097b80bbd2fe64f0b420f942cb4507d266 (diff)
downloadalpine_aports-72dfeb01ba1e25b20d8c063aef48a8e34c45e162.tar.bz2
alpine_aports-72dfeb01ba1e25b20d8c063aef48a8e34c45e162.tar.xz
alpine_aports-72dfeb01ba1e25b20d8c063aef48a8e34c45e162.zip
main/musl: upgrade to git snapshot of 2014-06-03
-rw-r--r--main/musl/0002-76f440cf-to-d85d261e.patch89
-rw-r--r--main/musl/APKBUILD6
2 files changed, 94 insertions, 1 deletions
diff --git a/main/musl/0002-76f440cf-to-d85d261e.patch b/main/musl/0002-76f440cf-to-d85d261e.patch
new file mode 100644
index 0000000000..67e2e46ed5
--- /dev/null
+++ b/main/musl/0002-76f440cf-to-d85d261e.patch
@@ -0,0 +1,89 @@
1diff --git a/src/multibyte/wcsrtombs.c b/src/multibyte/wcsrtombs.c
2index 5cf8f3e..30be415 100644
3--- a/src/multibyte/wcsrtombs.c
4+++ b/src/multibyte/wcsrtombs.c
5@@ -21,8 +21,13 @@ size_t wcsrtombs(char *restrict s, const wchar_t **restrict ws, size_t n, mbstat
6 }
7 return n;
8 }
9- while (n>=4 && **ws) {
10- if (**ws >= 0x80u) {
11+ while (n>=4) {
12+ if (**ws-1u >= 0x7fu) {
13+ if (!**ws) {
14+ *s = 0;
15+ *ws = 0;
16+ return N-n;
17+ }
18 l = wcrtomb(s, **ws, 0);
19 if (!(l+1)) return -1;
20 s += l;
21@@ -33,8 +38,13 @@ size_t wcsrtombs(char *restrict s, const wchar_t **restrict ws, size_t n, mbstat
22 }
23 (*ws)++;
24 }
25- while (n && **ws) {
26- if (**ws >= 0x80u) {
27+ while (n) {
28+ if (**ws-1u >= 0x7fu) {
29+ if (!**ws) {
30+ *s = 0;
31+ *ws = 0;
32+ return N-n;
33+ }
34 l = wcrtomb(buf, **ws, 0);
35 if (!(l+1)) return -1;
36 if (l>n) return N-n;
37@@ -47,7 +57,5 @@ size_t wcsrtombs(char *restrict s, const wchar_t **restrict ws, size_t n, mbstat
38 }
39 (*ws)++;
40 }
41- if (n) *s = 0;
42- *ws = 0;
43- return N-n;
44+ return N;
45 }
46diff --git a/src/network/dns_parse.c b/src/network/dns_parse.c
47index aa0d39f..0c7a601 100644
48--- a/src/network/dns_parse.c
49+++ b/src/network/dns_parse.c
50@@ -6,6 +6,7 @@ int __dns_parse(const unsigned char *r, int rlen, int (*callback)(void *, int, c
51 const unsigned char *p;
52 int len;
53
54+ if (rlen<12) return -1;
55 if ((r[3]&15)) return 0;
56 p = r+12;
57 qdcount = r[4]*256 + r[5];
58@@ -13,13 +14,13 @@ int __dns_parse(const unsigned char *r, int rlen, int (*callback)(void *, int, c
59 if (qdcount+ancount > 64) return -1;
60 while (qdcount--) {
61 while (p-r < rlen && *p-1U < 127) p++;
62- if (*p>193 || (*p==193 && p[1]>254) || p>r+506)
63+ if (*p>193 || (*p==193 && p[1]>254) || p>r+rlen-6)
64 return -1;
65 p += 5 + !!*p;
66 }
67 while (ancount--) {
68 while (p-r < rlen && *p-1U < 127) p++;
69- if (*p>193 || (*p==193 && p[1]>254) || p>r+506)
70+ if (*p>193 || (*p==193 && p[1]>254) || p>r+rlen-6)
71 return -1;
72 p += 1 + !!*p;
73 len = p[8]*256 + p[9];
74diff --git a/src/network/lookup_name.c b/src/network/lookup_name.c
75index 8d41627..0292093 100644
76--- a/src/network/lookup_name.c
77+++ b/src/network/lookup_name.c
78@@ -151,7 +151,10 @@ static int name_from_dns(struct address buf[static MAXADDRS], char canon[static
79 for (i=0; i<nq; i++)
80 __dns_parse(abuf[i], alens[i], dns_parse_callback, &ctx);
81
82- return ctx.cnt;
83+ if (ctx.cnt) return ctx.cnt;
84+ if (alens[0] < 4 || (abuf[0][3] & 15) == 2) return EAI_AGAIN;
85+ if ((abuf[0][3] & 15) == 3) return EAI_NONAME;
86+ return EAI_FAIL;
87 }
88
89 int __lookup_name(struct address buf[static MAXADDRS], char canon[static 256], const char *name, int family, int flags)
diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD
index f44f100d7c..12a2f43857 100644
--- a/main/musl/APKBUILD
+++ b/main/musl/APKBUILD
@@ -2,7 +2,7 @@
2# Maintainer: Timo Teräs <timo.teras@iki.fi> 2# Maintainer: Timo Teräs <timo.teras@iki.fi>
3pkgname=musl 3pkgname=musl
4pkgver=1.1.1 4pkgver=1.1.1
5pkgrel=1 5pkgrel=2
6pkgdesc="the musl c library (libc) implementation" 6pkgdesc="the musl c library (libc) implementation"
7url="http://www.musl-libc.org/" 7url="http://www.musl-libc.org/"
8arch="all" 8arch="all"
@@ -14,6 +14,7 @@ install=""
14subpackages="$pkgname-dev $pkgname-utils" 14subpackages="$pkgname-dev $pkgname-utils"
15source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz 15source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz
16 0001-v1.1.1-to-76f440cf.patch 16 0001-v1.1.1-to-76f440cf.patch
17 0002-76f440cf-to-d85d261e.patch
17 1001-add-basic-dns-record-parsing-functions.patch 18 1001-add-basic-dns-record-parsing-functions.patch
18 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch 19 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch
19 1003-implement-y-and-C-specifiers-in-strptime.patch 20 1003-implement-y-and-C-specifiers-in-strptime.patch
@@ -120,6 +121,7 @@ utils() {
120 121
121md5sums="dbc08d311148e095016d9bbf6c7ffda6 musl-1.1.1.tar.gz 122md5sums="dbc08d311148e095016d9bbf6c7ffda6 musl-1.1.1.tar.gz
122d4a40fe1656115b2956065ab48e0b372 0001-v1.1.1-to-76f440cf.patch 123d4a40fe1656115b2956065ab48e0b372 0001-v1.1.1-to-76f440cf.patch
1240b0dce47217fe25eeb82a7f70e15629f 0002-76f440cf-to-d85d261e.patch
123a3810683ef61ac27e2f6ec9801280c81 1001-add-basic-dns-record-parsing-functions.patch 125a3810683ef61ac27e2f6ec9801280c81 1001-add-basic-dns-record-parsing-functions.patch
12483c3bd2a50b1de5ef948704d3f4e0583 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch 12683c3bd2a50b1de5ef948704d3f4e0583 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch
125fc3feec4104a4b25781df92dd96b9eec 1003-implement-y-and-C-specifiers-in-strptime.patch 127fc3feec4104a4b25781df92dd96b9eec 1003-implement-y-and-C-specifiers-in-strptime.patch
@@ -132,6 +134,7 @@ cb82d21fed17a116b44b830adba71c5a getconf.c
13245f92f8d59cf84d765de698a9578dbf4 iconv.c" 13445f92f8d59cf84d765de698a9578dbf4 iconv.c"
133sha256sums="9dd75d6512e44d5a13254e246db56c90365894b05bab2b1127e44a31e4fd7c36 musl-1.1.1.tar.gz 135sha256sums="9dd75d6512e44d5a13254e246db56c90365894b05bab2b1127e44a31e4fd7c36 musl-1.1.1.tar.gz
13440f241a8aa59621d8a9e6a616df27c38e0a622243bf7346cc98ec1c37454e92a 0001-v1.1.1-to-76f440cf.patch 13640f241a8aa59621d8a9e6a616df27c38e0a622243bf7346cc98ec1c37454e92a 0001-v1.1.1-to-76f440cf.patch
137d0f4dbc8f0e72df02fcb12e75f829d50909c6da222a5f6a13a0e0c991f91d56e 0002-76f440cf-to-d85d261e.patch
135758390768b1bc4159d56908ca332b9640cd0552ed3b4b2b8d4a6d499c54c11a1 1001-add-basic-dns-record-parsing-functions.patch 138758390768b1bc4159d56908ca332b9640cd0552ed3b4b2b8d4a6d499c54c11a1 1001-add-basic-dns-record-parsing-functions.patch
1361c25880095e869b827f02997e864fdf4bf157a4e923e52d97dbd05e657aedb70 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch 1391c25880095e869b827f02997e864fdf4bf157a4e923e52d97dbd05e657aedb70 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch
137c22338bc33e8c0c22b280c392b37a0903e13562e671f5ebade09ed5b1d33e2ae 1003-implement-y-and-C-specifiers-in-strptime.patch 140c22338bc33e8c0c22b280c392b37a0903e13562e671f5ebade09ed5b1d33e2ae 1003-implement-y-and-C-specifiers-in-strptime.patch
@@ -144,6 +147,7 @@ d9b644ec20bc33e81a7c52b9fcf7973d835923a69faf50f03db45534b811bd96 getopt_long.c
144f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 iconv.c" 147f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 iconv.c"
145sha512sums="5182deb80a35c8a4009d71098c95a16e5ab9bd03186443917652f0c521d2980183e203256493a69e8230b6a0c4848ca8e44de9e8c851a511cd37d0d41f91b14f musl-1.1.1.tar.gz 148sha512sums="5182deb80a35c8a4009d71098c95a16e5ab9bd03186443917652f0c521d2980183e203256493a69e8230b6a0c4848ca8e44de9e8c851a511cd37d0d41f91b14f musl-1.1.1.tar.gz
14630906a5f7a01ff05693e5a2e72f6c7e75ff7939c28a32b9e777d14d59412bb9df603a09aa8dd693e9a0b70525474a62f7bc657425032a3a5f4b339667e6f62ec 0001-v1.1.1-to-76f440cf.patch 14930906a5f7a01ff05693e5a2e72f6c7e75ff7939c28a32b9e777d14d59412bb9df603a09aa8dd693e9a0b70525474a62f7bc657425032a3a5f4b339667e6f62ec 0001-v1.1.1-to-76f440cf.patch
150358f3828367f5a86806ce5be5842c2be44c1a7919133ab83a7c549bc55be847fee2a938c201782db771ff6a5a994cab6ee7c2050f6ae564f4993c0b3825faa36 0002-76f440cf-to-d85d261e.patch
147dad965258daf69371b844f76bfe5a914b0eca0ca76f3fc340b8fd7acf598b5f87bbe6d68b1f43ed0293ee0ed3bfd85d5173ccc169aa6265646248d5b8a906708 1001-add-basic-dns-record-parsing-functions.patch 151dad965258daf69371b844f76bfe5a914b0eca0ca76f3fc340b8fd7acf598b5f87bbe6d68b1f43ed0293ee0ed3bfd85d5173ccc169aa6265646248d5b8a906708 1001-add-basic-dns-record-parsing-functions.patch
14872cf33738d2cf31f6ec02312bc494d754c17470b519172bb8bd7e2e29ac3b119023088a2b3fbc0dbc2fddd0078ccbae62096106cae361f8c31d6a9950043af25 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch 15272cf33738d2cf31f6ec02312bc494d754c17470b519172bb8bd7e2e29ac3b119023088a2b3fbc0dbc2fddd0078ccbae62096106cae361f8c31d6a9950043af25 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch
14948082d2348de40bc6b455266c5552a62e1e75f926e69116c61c8a3cb35fefdff136dc771bf25ee7d43c959834921221112ed7afcc45fcadbcf07562510786916 1003-implement-y-and-C-specifiers-in-strptime.patch 15348082d2348de40bc6b455266c5552a62e1e75f926e69116c61c8a3cb35fefdff136dc771bf25ee7d43c959834921221112ed7afcc45fcadbcf07562510786916 1003-implement-y-and-C-specifiers-in-strptime.patch