Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=28dafa73ac5efe54702baacd3a17094adb3a9162
commit 28dafa73ac5efe54702baacd3a17094adb3a9162 Author: Miklos Vajna <[email protected]> Date: Fri Aug 7 10:03:19 2015 +0200 putty-0.62-2-x86_64 - bin, last update was almost 4 years ago diff --git a/source/xapps-extra/putty/CVE-2013-4206.patch b/source/xapps-extra/putty/CVE-2013-4206.patch deleted file mode 100644 index fc9b590..0000000 --- a/source/xapps-extra/putty/CVE-2013-4206.patch +++ /dev/null @@ -1,95 +0,0 @@ -Description: CVE-2013-4206 - Buffer underrun in modmul could corrupt the heap. -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9977 -Bug: http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/vuln-modmul.html -Forwarded: not-needed -Last-Update: 2013-08-07 - -Index: b/sshbn.c -=================================================================== ---- a/sshbn.c -+++ b/sshbn.c -@@ -1018,6 +1018,13 @@ - - pqlen = (p[0] > q[0] ? p[0] : q[0]); - -+ /* -+ * Make sure that we're allowing enough space. The shifting below -+ * will underflow the vectors we allocate if pqlen is too small. -+ */ -+ if (2*pqlen <= mlen) -+ pqlen = mlen/2 + 1; -+ - /* Allocate n of size pqlen, copy p to n */ - n = snewn(pqlen, BignumInt); - i = pqlen - p[0]; -@@ -1864,6 +1871,44 @@ - freebn(b); - freebn(c); - freebn(p); -+ } else if (!strcmp(buf, "modmul")) { -+ Bignum a, b, m, c, p; -+ -+ if (ptrnum != 4) { -+ printf("%d: modmul with %d parameters, expected 4\n", -+ line, ptrnum); -+ exit(1); -+ } -+ a = bignum_from_bytes(ptrs[0], ptrs[1]-ptrs[0]); -+ b = bignum_from_bytes(ptrs[1], ptrs[2]-ptrs[1]); -+ m = bignum_from_bytes(ptrs[2], ptrs[3]-ptrs[2]); -+ c = bignum_from_bytes(ptrs[3], ptrs[4]-ptrs[3]); -+ p = modmul(a, b, m); -+ -+ if (bignum_cmp(c, p) == 0) { -+ passes++; -+ } else { -+ char *as = bignum_decimal(a); -+ char *bs = bignum_decimal(b); -+ char *ms = bignum_decimal(m); -+ char *cs = bignum_decimal(c); -+ char *ps = bignum_decimal(p); -+ -+ printf("%d: fail: %s * %s mod %s gave %s expected %s\n", -+ line, as, bs, ms, ps, cs); -+ fails++; -+ -+ sfree(as); -+ sfree(bs); -+ sfree(ms); -+ sfree(cs); -+ sfree(ps); -+ } -+ freebn(a); -+ freebn(b); -+ freebn(m); -+ freebn(c); -+ freebn(p); - } else if (!strcmp(buf, "pow")) { - Bignum base, expt, modulus, expected, answer; - -Index: b/testdata/bignum.py -=================================================================== ---- a/testdata/bignum.py -+++ b/testdata/bignum.py -@@ -103,6 +103,15 @@ - a, b, p = findprod((1<<i)+1, +1, (i, i+1)) - print "mul", hexstr(a), hexstr(b), hexstr(p) - -+# Simple tests of modmul. -+for ai in range(20, 200, 60): -+ a = sqrt(3<<(2*ai-1)) -+ for bi in range(20, 200, 60): -+ b = sqrt(5<<(2*bi-1)) -+ for m in range(20, 600, 32): -+ m = sqrt(2**(m+1)) -+ print "modmul", hexstr(a), hexstr(b), hexstr(m), hexstr((a*b) % m) -+ - # Simple tests of modpow. - for i in range(64, 4097, 63): - modulus = sqrt(1<<(2*i-1)) | 1 -@@ -113,3 +122,4 @@ - # Test even moduli, which can't be done by Montgomery. - modulus = modulus - 1 - print "pow", hexstr(base), hexstr(expt), hexstr(modulus), hexstr(pow(base, expt, modulus)) -+ print "pow", hexstr(i), hexstr(expt), hexstr(modulus), hexstr(pow(i, expt, modulus)) diff --git a/source/xapps-extra/putty/CVE-2013-4207.patch b/source/xapps-extra/putty/CVE-2013-4207.patch deleted file mode 100644 index 31aa30a..0000000 --- a/source/xapps-extra/putty/CVE-2013-4207.patch +++ /dev/null @@ -1,337 +0,0 @@ -Description: CVE-2013-4207 - Non-coprime values in DSA signatures can cause buffer overflow in modular - inverse. -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9987 -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9989 -Origin: backport, http://svn.tartarus.org/sgt?view=rev&revision=9990 -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9992 -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9995 -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9996 -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9997 -Bug: http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/vuln-bignum-division-by-zero.html -Forwarded: not-needed -Last-Update: 2013-08-07 - -Index: b/sshbn.c -=================================================================== ---- a/sshbn.c -+++ b/sshbn.c -@@ -6,6 +6,7 @@ - #include <assert.h> - #include <stdlib.h> - #include <string.h> -+#include <limits.h> - - #include "misc.h" - -@@ -120,7 +121,11 @@ - - static Bignum newbn(int length) - { -- Bignum b = snewn(length + 1, BignumInt); -+ Bignum b; -+ -+ assert(length >= 0 && length < INT_MAX / BIGNUM_INT_BITS); -+ -+ b = snewn(length + 1, BignumInt); - if (!b) - abort(); /* FIXME */ - memset(b, 0, (length + 1) * sizeof(*b)); -@@ -154,7 +159,11 @@ - - Bignum bn_power_2(int n) - { -- Bignum ret = newbn(n / BIGNUM_INT_BITS + 1); -+ Bignum ret; -+ -+ assert(n >= 0); -+ -+ ret = newbn(n / BIGNUM_INT_BITS + 1); - bignum_set_bit(ret, n, 1); - return ret; - } -@@ -598,6 +607,7 @@ - addend = (BignumDblInt)n << bshift; - - while (addend) { -+ assert(word <= number[0]); - addend += number[word]; - number[word] = (BignumInt) addend & BIGNUM_INT_MASK; - addend >>= BIGNUM_INT_BITS; -@@ -624,6 +634,7 @@ - int i, k; - - m0 = m[0]; -+ assert(m0 >> (BIGNUM_INT_BITS-1) == 1); - if (mlen > 1) - m1 = m[1]; - else -@@ -873,6 +884,7 @@ - len = mod[0]; - r = bn_power_2(BIGNUM_INT_BITS * len); - inv = modinv(mod, r); -+ assert(inv); /* cannot fail, since mod is odd and r is a power of 2 */ - - /* - * Multiply the base by r mod n, to get it into Montgomery -@@ -999,6 +1011,12 @@ - int pqlen, mlen, rlen, i, j; - Bignum result; - -+ /* -+ * The most significant word of mod needs to be non-zero. It -+ * should already be, but let's make sure. -+ */ -+ assert(mod[mod[0]] != 0); -+ - /* Allocate m of size mlen, copy mod to m */ - /* We use big endian internally */ - mlen = mod[0]; -@@ -1103,6 +1121,12 @@ - int mshift; - int plen, mlen, i, j; - -+ /* -+ * The most significant word of mod needs to be non-zero. It -+ * should already be, but let's make sure. -+ */ -+ assert(mod[mod[0]] != 0); -+ - /* Allocate m of size mlen, copy mod to m */ - /* We use big endian internally */ - mlen = mod[0]; -@@ -1178,6 +1202,8 @@ - Bignum result; - int w, i; - -+ assert(nbytes >= 0 && nbytes < INT_MAX/8); -+ - w = (nbytes + BIGNUM_INT_BYTES - 1) / BIGNUM_INT_BYTES; /* bytes->words */ - - result = newbn(w); -@@ -1254,7 +1280,7 @@ - */ - int bignum_byte(Bignum bn, int i) - { -- if (i >= (int)(BIGNUM_INT_BYTES * bn[0])) -+ if (i < 0 || i >= (int)(BIGNUM_INT_BYTES * bn[0])) - return 0; /* beyond the end */ - else - return (bn[i / BIGNUM_INT_BYTES + 1] >> -@@ -1266,7 +1292,7 @@ - */ - int bignum_bit(Bignum bn, int i) - { -- if (i >= (int)(BIGNUM_INT_BITS * bn[0])) -+ if (i < 0 || i >= (int)(BIGNUM_INT_BITS * bn[0])) - return 0; /* beyond the end */ - else - return (bn[i / BIGNUM_INT_BITS + 1] >> (i % BIGNUM_INT_BITS)) & 1; -@@ -1277,7 +1303,7 @@ - */ - void bignum_set_bit(Bignum bn, int bitnum, int value) - { -- if (bitnum >= (int)(BIGNUM_INT_BITS * bn[0])) -+ if (bitnum < 0 || bitnum >= (int)(BIGNUM_INT_BITS * bn[0])) - abort(); /* beyond the end */ - else { - int v = bitnum / BIGNUM_INT_BITS + 1; -@@ -1313,7 +1339,18 @@ - int bignum_cmp(Bignum a, Bignum b) - { - int amax = a[0], bmax = b[0]; -- int i = (amax > bmax ? amax : bmax); -+ int i; -+ -+ /* Annoyingly we have two representations of zero */ -+ if (amax == 1 && a[amax] == 0) -+ amax = 0; -+ if (bmax == 1 && b[bmax] == 0) -+ bmax = 0; -+ -+ assert(amax == 0 || a[amax] != 0); -+ assert(bmax == 0 || b[bmax] != 0); -+ -+ i = (amax > bmax ? amax : bmax); - while (i) { - BignumInt aval = (i > amax ? 0 : a[i]); - BignumInt bval = (i > bmax ? 0 : b[i]); -@@ -1335,6 +1372,8 @@ - int i, shiftw, shiftb, shiftbb, bits; - BignumInt ai, ai1; - -+ assert(shift >= 0); -+ - bits = bignum_bitcount(a) - shift; - ret = newbn((bits + BIGNUM_INT_BITS - 1) / BIGNUM_INT_BITS); - -@@ -1636,9 +1675,26 @@ - Bignum x = copybn(One); - int sign = +1; - -+ assert(number[number[0]] != 0); -+ assert(modulus[modulus[0]] != 0); -+ - while (bignum_cmp(b, One) != 0) { -- Bignum t = newbn(b[0]); -- Bignum q = newbn(a[0]); -+ Bignum t, q; -+ -+ if (bignum_cmp(b, Zero) == 0) { -+ /* -+ * Found a common factor between the inputs, so we cannot -+ * return a modular inverse at all. -+ */ -+ freebn(b); -+ freebn(a); -+ freebn(xp); -+ freebn(x); -+ return NULL; -+ } -+ -+ t = newbn(b[0]); -+ q = newbn(a[0]); - bigdivmod(a, b, t, q); - while (t[0] > 1 && t[t[0]] == 0) - t[0]--; -Index: b/sshdss.c -=================================================================== ---- a/sshdss.c -+++ b/sshdss.c -@@ -257,10 +257,21 @@ - if (!r || !s) - return 0; - -+ if (!bignum_cmp(s, Zero)) { -+ freebn(r); -+ freebn(s); -+ return 0; -+ } -+ - /* - * Step 1. w <- s^-1 mod q. - */ - w = modinv(s, dss->q); -+ if (!w) { -+ freebn(r); -+ freebn(s); -+ return 0; -+ } - - /* - * Step 2. u1 <- SHA(message) * w mod q. -@@ -578,16 +589,32 @@ - SHA512_Init(&ss); - SHA512_Bytes(&ss, digest512, sizeof(digest512)); - SHA512_Bytes(&ss, digest, sizeof(digest)); -- SHA512_Final(&ss, digest512); - -- memset(&ss, 0, sizeof(ss)); -+ while (1) { -+ SHA512_State ss2 = ss; /* structure copy */ -+ SHA512_Final(&ss2, digest512); -+ -+ memset(&ss2, 0, sizeof(ss2)); -+ -+ /* -+ * Now convert the result into a bignum, and reduce it mod q. -+ */ -+ proto_k = bignum_from_bytes(digest512, 64); -+ k = bigmod(proto_k, dss->q); -+ freebn(proto_k); -+ kinv = modinv(k, dss->q); /* k^-1 mod q */ -+ if (!kinv) { /* very unlikely */ -+ freebn(k); -+ /* Perturb the hash to think of a different k. */ -+ SHA512_Bytes(&ss, "x", 1); -+ /* Go round and try again. */ -+ continue; -+ } - -- /* -- * Now convert the result into a bignum, and reduce it mod q. -- */ -- proto_k = bignum_from_bytes(digest512, 64); -- k = bigmod(proto_k, dss->q); -- freebn(proto_k); -+ break; -+ } -+ -+ memset(&ss, 0, sizeof(ss)); - - memset(digest512, 0, sizeof(digest512)); - -@@ -599,7 +626,6 @@ - freebn(gkp); - - hash = bignum_from_bytes(digest, 20); -- kinv = modinv(k, dss->q); /* k^-1 mod q */ - hxr = bigmuladd(dss->x, r, hash); /* hash + x*r */ - s = modmul(kinv, hxr, dss->q); /* s = k^-1 * (hash + x*r) mod q */ - freebn(hxr); -Index: b/sshrsa.c -=================================================================== ---- a/sshrsa.c -+++ b/sshrsa.c -@@ -273,9 +273,18 @@ - bignum_cmp(random, key->modulus) >= 0) { - freebn(random); - continue; -- } else { -- break; - } -+ -+ /* -+ * Also, make sure it has an inverse mod modulus. -+ */ -+ random_inverse = modinv(random, key->modulus); -+ if (!random_inverse) { -+ freebn(random); -+ continue; -+ } -+ -+ break; - } - - /* -@@ -294,7 +303,6 @@ - */ - random_encrypted = crt_modpow(random, key->exponent, - key->modulus, key->p, key->q, key->iqmp); -- random_inverse = modinv(random, key->modulus); - input_blinded = modmul(input, random_encrypted, key->modulus); - ret_blinded = crt_modpow(input_blinded, key->private_exponent, - key->modulus, key->p, key->q, key->iqmp); -@@ -441,6 +449,8 @@ - - freebn(key->iqmp); - key->iqmp = modinv(key->q, key->p); -+ if (!key->iqmp) -+ return 0; - } - - /* -Index: b/sshrsag.c -=================================================================== ---- a/sshrsag.c -+++ b/sshrsag.c -@@ -2,6 +2,8 @@ - * RSA key generation. - */ - -+#include <assert.h> -+ - #include "ssh.h" - - #define RSA_EXPONENT 37 /* we like this prime */ -@@ -92,8 +94,10 @@ - freebn(pm1); - freebn(qm1); - key->private_exponent = modinv(key->exponent, phi_n); -+ assert(key->private_exponent); - pfn(pfnparam, PROGFN_PROGRESS, 3, 4); - key->iqmp = modinv(key->q, key->p); -+ assert(key->iqmp); - pfn(pfnparam, PROGFN_PROGRESS, 3, 5); - - /* diff --git a/source/xapps-extra/putty/CVE-2013-4208.patch b/source/xapps-extra/putty/CVE-2013-4208.patch deleted file mode 100644 index 1231d71..0000000 --- a/source/xapps-extra/putty/CVE-2013-4208.patch +++ /dev/null @@ -1,70 +0,0 @@ -Description: CVE-2013-4208 - Private keys were left in memory after being used by PuTTY tools. -Origin: backport, http://svn.tartarus.org/sgt?view=rev&revision=9919 -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9984 -Origin: backport, http://svn.tartarus.org/sgt?view=rev&revision=9988 -Bug: http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/private-key-not-wiped.html -Forwarded: not-needed -Last-Update: 2013-08-07 - -Index: b/sshdss.c -=================================================================== ---- a/sshdss.c -+++ b/sshdss.c -@@ -111,6 +111,7 @@ - dss->q = getmp(&data, &len); - dss->g = getmp(&data, &len); - dss->y = getmp(&data, &len); -+ dss->x = NULL; - - return dss; - } -@@ -118,10 +119,16 @@ - static void dss_freekey(void *key) - { - struct dss_key *dss = (struct dss_key *) key; -- freebn(dss->p); -- freebn(dss->q); -- freebn(dss->g); -- freebn(dss->y); -+ if (dss->p) -+ freebn(dss->p); -+ if (dss->q) -+ freebn(dss->q); -+ if (dss->g) -+ freebn(dss->g); -+ if (dss->y) -+ freebn(dss->y); -+ if (dss->x) -+ freebn(dss->x); - sfree(dss); - } - -@@ -630,6 +637,7 @@ - s = modmul(kinv, hxr, dss->q); /* s = k^-1 * (hash + x*r) mod q */ - freebn(hxr); - freebn(kinv); -+ freebn(k); - freebn(hash); - - /* -Index: b/sshrsa.c -=================================================================== ---- a/sshrsa.c -+++ b/sshrsa.c -@@ -421,6 +421,7 @@ - pm1 = copybn(key->p); - decbn(pm1); - ed = modmul(key->exponent, key->private_exponent, pm1); -+ freebn(pm1); - cmp = bignum_cmp(ed, One); - sfree(ed); - if (cmp != 0) -@@ -429,6 +430,7 @@ - qm1 = copybn(key->q); - decbn(qm1); - ed = modmul(key->exponent, key->private_exponent, qm1); -+ freebn(qm1); - cmp = bignum_cmp(ed, One); - sfree(ed); - if (cmp != 0) diff --git a/source/xapps-extra/putty/CVE-2013-4852.patch b/source/xapps-extra/putty/CVE-2013-4852.patch deleted file mode 100644 index 5acada0..0000000 --- a/source/xapps-extra/putty/CVE-2013-4852.patch +++ /dev/null @@ -1,77 +0,0 @@ -Description: CVE-2013-4852 - Negative string length in public-key signatures could cause integer - overflow and overwrite all of memory. -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9896 -Origin: upstream, http://svn.tartarus.org/sgt?view=rev&revision=9978 -Bug: http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/vuln-signature-stringlen.html -Bug-Debian: http://bugs.debian.org/718779 -Forwarded: not-needed -Last-Update: 2013-08-07 - -Index: b/import.c -=================================================================== ---- a/import.c -+++ b/import.c -@@ -290,7 +290,7 @@ - if (len < 4) - goto error; - bytes = GET_32BIT(d); -- if (len < 4+bytes) -+ if (bytes < 0 || len-4 < bytes) - goto error; - - ret->start = d + 4; -Index: b/sshdss.c -=================================================================== ---- a/sshdss.c -+++ b/sshdss.c -@@ -43,6 +43,8 @@ - if (*datalen < 4) - return; - *length = GET_32BIT(*data); -+ if (*length < 0) -+ return; - *datalen -= 4; - *data += 4; - if (*datalen < *length) -@@ -70,6 +72,9 @@ - { - Bignum b; - -+ if (*datalen < 20) -+ return NULL; -+ - b = bignum_from_bytes((unsigned char *)*data, 20); - *data += 20; - *datalen -= 20; -@@ -98,7 +103,7 @@ - } - #endif - -- if (!p || memcmp(p, "ssh-dss", 7)) { -+ if (!p || slen != 7 || memcmp(p, "ssh-dss", 7)) { - sfree(dss); - return NULL; - } -Index: b/sshrsa.c -=================================================================== ---- a/sshrsa.c -+++ b/sshrsa.c -@@ -526,6 +526,8 @@ - if (*datalen < 4) - return; - *length = GET_32BIT(*data); -+ if (*length < 0) -+ return; - *datalen -= 4; - *data += 4; - if (*datalen < *length) -@@ -838,6 +840,8 @@ - return 0; - } - in = getmp(&sig, &siglen); -+ if (!in) -+ return 0; - out = modpow(in, rsa->exponent, rsa->modulus); - freebn(in); - diff --git a/source/xapps-extra/putty/FrugalBuild b/source/xapps-extra/putty/FrugalBuild deleted file mode 100644 index 38064b4..0000000 --- a/source/xapps-extra/putty/FrugalBuild +++ /dev/null @@ -1,40 +0,0 @@ -# Compiling Time: 0.01 SBU -# Maintainer: Miklos Vajna <[email protected]> - -pkgname=putty -pkgver=0.62 -pkgrel=2 -pkgdesc="A terminal integrated SSH/Telnet client known from Windows." -url="http://www.chiark.greenend.org.uk/~sgtatham/putty/" -depends=('gtk+2') -groups=('xapps-extra') -archs=('i686' 'x86_64') -up2date="lynx -dump $url|grep -m 1 latest|sed 's/.* \(.*\)\.$/\1/'" -source=(http://the.earth.li/~sgtatham/putty/$pkgver/putty-$pkgver.tar.gz - glib-deprecated-functions.patch) -sha1sums=('5898438614117ee7e3704fc3f30a3c4bf2041380' \ - '6debf39e38e4822f6688ad3c1b6a030a19cef2ff') - -# FSA fix *** -source=(${source[@]} CVE-2013-4206.patch CVE-2013-4207.patch CVE-2013-4208.patch - CVE-2013-4852.patch) -sha1sums=(${sha1sums[@]} '29ba7f5ed90e377a18144423bf1b6e3507519d04' \ - 'f58a5637804d4e88b51c67d4dfadb8d74a3608cf' \ - 'a78da7812ca9ef307681a4a0d3c8082e01965710' \ - 'eb904c3be64e8591490921b271469f7fc5fdceb4') -# *********** - -build() -{ - Fpatchall - cd unix || Fdie - ln -s Makefile.gtk Makefile - Fsed "usr/local" "usr" Makefile - Fsed "INSTALL=install" "INSTALL=install -D" Makefile - Fsed "CFLAGS =" "CFLAGS = $CFLAGS" Makefile - Fmkdir /usr/{bin,share/man/man1} - Fmake - Fmakeinstall -} - -# optimization OK diff --git a/source/xapps-extra/putty/glib-deprecated-functions.patch b/source/xapps-extra/putty/glib-deprecated-functions.patch deleted file mode 100644 index 5c7336b..0000000 --- a/source/xapps-extra/putty/glib-deprecated-functions.patch +++ /dev/null @@ -1,105 +0,0 @@ -Description: Avoid deprecated GLib functions -Author: Colin Watson <[email protected]> -Forwarded: yes -Applied-Upstream: http://bazaar.launchpad.net/+branch/putty/revision/3403 -Last-Update: 2012-01-03 - -Index: b/unix/gtkfont.c -=================================================================== ---- a/unix/gtkfont.c -+++ b/unix/gtkfont.c -@@ -47,6 +47,11 @@ - * I haven't the energy. - */ - -+#if !GLIB_CHECK_VERSION(1,3,7) -+#define g_ascii_strcasecmp g_strcasecmp -+#define g_ascii_strncasecmp g_strncasecmp -+#endif -+ - /* - * Ad-hoc vtable mechanism to allow font structures to be - * polymorphic. -@@ -524,21 +529,21 @@ - style = p; - p += sprintf(p, "%s", components[2][0] ? components[2] : - "regular"); -- if (!g_strcasecmp(components[3], "i")) -+ if (!g_ascii_strcasecmp(components[3], "i")) - p += sprintf(p, " italic"); -- else if (!g_strcasecmp(components[3], "o")) -+ else if (!g_ascii_strcasecmp(components[3], "o")) - p += sprintf(p, " oblique"); -- else if (!g_strcasecmp(components[3], "ri")) -+ else if (!g_ascii_strcasecmp(components[3], "ri")) - p += sprintf(p, " reverse italic"); -- else if (!g_strcasecmp(components[3], "ro")) -+ else if (!g_ascii_strcasecmp(components[3], "ro")) - p += sprintf(p, " reverse oblique"); -- else if (!g_strcasecmp(components[3], "ot")) -+ else if (!g_ascii_strcasecmp(components[3], "ot")) - p += sprintf(p, " other-slant"); -- if (components[4][0] && g_strcasecmp(components[4], "normal")) -+ if (components[4][0] && g_ascii_strcasecmp(components[4], "normal")) - p += sprintf(p, " %s", components[4]); -- if (!g_strcasecmp(components[10], "m")) -+ if (!g_ascii_strcasecmp(components[10], "m")) - p += sprintf(p, " [M]"); -- if (!g_strcasecmp(components[10], "c")) -+ if (!g_ascii_strcasecmp(components[10], "c")) - p += sprintf(p, " [C]"); - if (components[5][0]) - p += sprintf(p, " %s", components[5]); -@@ -550,23 +555,23 @@ - */ - p++; - stylekey = p; -- if (!g_strcasecmp(components[2], "medium") || -- !g_strcasecmp(components[2], "regular") || -- !g_strcasecmp(components[2], "normal") || -- !g_strcasecmp(components[2], "book")) -+ if (!g_ascii_strcasecmp(components[2], "medium") || -+ !g_ascii_strcasecmp(components[2], "regular") || -+ !g_ascii_strcasecmp(components[2], "normal") || -+ !g_ascii_strcasecmp(components[2], "book")) - weightkey = 0; -- else if (!g_strncasecmp(components[2], "demi", 4) || -- !g_strncasecmp(components[2], "semi", 4)) -+ else if (!g_ascii_strncasecmp(components[2], "demi", 4) || -+ !g_ascii_strncasecmp(components[2], "semi", 4)) - weightkey = 1; - else - weightkey = 2; -- if (!g_strcasecmp(components[3], "r")) -+ if (!g_ascii_strcasecmp(components[3], "r")) - slantkey = 0; -- else if (!g_strncasecmp(components[3], "r", 1)) -+ else if (!g_ascii_strncasecmp(components[3], "r", 1)) - slantkey = 2; - else - slantkey = 1; -- if (!g_strcasecmp(components[4], "normal")) -+ if (!g_ascii_strcasecmp(components[4], "normal")) - setwidthkey = 0; - else - setwidthkey = 1; -@@ -774,8 +779,8 @@ - - matched = FALSE; - for (i = 0; i < nfamilies; i++) { -- if (!g_strcasecmp(pango_font_family_get_name(families[i]), -- pango_font_description_get_family(desc))) { -+ if (!g_ascii_strcasecmp(pango_font_family_get_name(families[i]), -+ pango_font_description_get_family(desc))) { - matched = TRUE; - break; - } -@@ -1393,7 +1398,7 @@ - /* - * Otherwise, ordinary strcasecmp. - */ -- return g_strcasecmp(a, b); -+ return g_ascii_strcasecmp(a, b); - } - - static int fontinfo_realname_compare(void *av, void *bv) _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
