Sun Oct 25 12:17:36 2015 UTC ()
Pull upstream fix to avoid libcanna crash triggered by set-key command.

Reported by Takeshi Nakayama in PR pkg/50368.
Also update comment in patch-lib_RK_ncache.c to mention about
the upstream fix in the same commit.

Bump PKGREVISION.


(tsutsui)
diff -r1.12 -r1.13 pkgsrc/inputmethod/canna/distinfo
diff -r1.15 -r1.16 pkgsrc/inputmethod/canna-lib/Makefile
diff -r1.1 -r1.2 pkgsrc/inputmethod/canna/patches/patch-lib_RK_ncache.c
diff -r0 -r1.1 pkgsrc/inputmethod/canna/patches/patch-lib_canna_keydef.c

cvs diff -r1.12 -r1.13 pkgsrc/inputmethod/canna/distinfo (expand / switch to unified diff)

--- pkgsrc/inputmethod/canna/distinfo 2015/10/18 03:58:31 1.12
+++ pkgsrc/inputmethod/canna/distinfo 2015/10/25 12:17:36 1.13
@@ -1,23 +1,24 @@ @@ -1,23 +1,24 @@
1$NetBSD: distinfo,v 1.12 2015/10/18 03:58:31 tsutsui Exp $ 1$NetBSD: distinfo,v 1.13 2015/10/25 12:17:36 tsutsui Exp $
2 2
3SHA1 (Canna37p3.tar.bz2) = e39eece7c70c669dd46dd74b26121a60a2496fde 3SHA1 (Canna37p3.tar.bz2) = e39eece7c70c669dd46dd74b26121a60a2496fde
4RMD160 (Canna37p3.tar.bz2) = 33e5eb9e2dc144835db838612897e652acbc60ed 4RMD160 (Canna37p3.tar.bz2) = 33e5eb9e2dc144835db838612897e652acbc60ed
5SHA512 (Canna37p3.tar.bz2) = 82846f2393aa2654dd2c97a93178098b8bd11e5409b584447f1b6fdf303adacc9802e2293cafd98b68af8b69622625ed00aa9712bf270feaa119adfdf4211158 5SHA512 (Canna37p3.tar.bz2) = 82846f2393aa2654dd2c97a93178098b8bd11e5409b584447f1b6fdf303adacc9802e2293cafd98b68af8b69622625ed00aa9712bf270feaa119adfdf4211158
6Size (Canna37p3.tar.bz2) = 1263065 bytes 6Size (Canna37p3.tar.bz2) = 1263065 bytes
7SHA1 (patch-Canna.conf) = 81b46285a2b91c07b8497dc6669eb26552391a6c 7SHA1 (patch-Canna.conf) = 81b46285a2b91c07b8497dc6669eb26552391a6c
8SHA1 (patch-Imakefile) = a70dee63ce9ce392b29b76df70479fee45e1a2b9 8SHA1 (patch-Imakefile) = a70dee63ce9ce392b29b76df70479fee45e1a2b9
9SHA1 (patch-canna_widedef.h) = c52cbbe5b55fc4fca6a501eef50fbf5bb878e514 9SHA1 (patch-canna_widedef.h) = c52cbbe5b55fc4fca6a501eef50fbf5bb878e514
10SHA1 (patch-canuum_Imakefile) = 5f4e7970a92d514ec538e4591eaa4f46843654a3 10SHA1 (patch-canuum_Imakefile) = 5f4e7970a92d514ec538e4591eaa4f46843654a3
11SHA1 (patch-canuum_canna.c) = a543a720fba9e2f770d6397d6b05352cfa58f300 11SHA1 (patch-canuum_canna.c) = a543a720fba9e2f770d6397d6b05352cfa58f300
12SHA1 (patch-canuum_config.h.in) = 98547954e459bd85e5b03fc86f34fb5d1e3eed4b 12SHA1 (patch-canuum_config.h.in) = 98547954e459bd85e5b03fc86f34fb5d1e3eed4b
13SHA1 (patch-canuum_configure) = c08efb73bb7d93d8c539873c1337be54ed864902 13SHA1 (patch-canuum_configure) = c08efb73bb7d93d8c539873c1337be54ed864902
14SHA1 (patch-canuum_configure.in) = a1a6a821b9e9f9baef450ad340cb57a6f20a6989 14SHA1 (patch-canuum_configure.in) = a1a6a821b9e9f9baef450ad340cb57a6f20a6989
15SHA1 (patch-canuum_jhlp.c) = 1d15186608f116cc4fb3e6a9691bb1b701d8b0ec 15SHA1 (patch-canuum_jhlp.c) = 1d15186608f116cc4fb3e6a9691bb1b701d8b0ec
16SHA1 (patch-canuum_printf.c) = c05ef114fae689855989d5d5eded2f734c62e12e 16SHA1 (patch-canuum_printf.c) = c05ef114fae689855989d5d5eded2f734c62e12e
17SHA1 (patch-canuum_termcap.c) = 958015b3bf4e9f89703e198c1ed28d51ae3f8c4e 17SHA1 (patch-canuum_termcap.c) = 958015b3bf4e9f89703e198c1ed28d51ae3f8c4e
18SHA1 (patch-canuum_termio.c) = df9e68c8fb564ee4c4367acf6b042c253d17e525 18SHA1 (patch-canuum_termio.c) = df9e68c8fb564ee4c4367acf6b042c253d17e525
19SHA1 (patch-cmd_cmd.tmpl) = f6ec97c273aa84eb84bdd24cbe16aaf7e696e041 19SHA1 (patch-cmd_cmd.tmpl) = f6ec97c273aa84eb84bdd24cbe16aaf7e696e041
20SHA1 (patch-dic_phono_Imakefile) = 4e1210517317b57796cad5b350de41e1f0d8157d 20SHA1 (patch-dic_phono_Imakefile) = 4e1210517317b57796cad5b350de41e1f0d8157d
21SHA1 (patch-lib_RKC_convert.c) = f196cfa3db3ef163c1869ca6bfd3f22170997aef 21SHA1 (patch-lib_RKC_convert.c) = f196cfa3db3ef163c1869ca6bfd3f22170997aef
22SHA1 (patch-lib_RK_dd.c) = 8055a2a3902e7d4d0cc1d782295c2879311750ec 22SHA1 (patch-lib_RK_dd.c) = 8055a2a3902e7d4d0cc1d782295c2879311750ec
23SHA1 (patch-lib_RK_ncache.c) = f322d8b0c23e3b00b6d605ec2a044ac637a3cbfe 23SHA1 (patch-lib_RK_ncache.c) = e792592500e7db85a6b2370c4ea9eb533d97bda0
 24SHA1 (patch-lib_canna_keydef.c) = af14140f58bf8a6214a7fb9d5d73347c1b3cdd85

cvs diff -r1.15 -r1.16 pkgsrc/inputmethod/canna-lib/Makefile (expand / switch to unified diff)

--- pkgsrc/inputmethod/canna-lib/Makefile 2015/10/18 03:58:31 1.15
+++ pkgsrc/inputmethod/canna-lib/Makefile 2015/10/25 12:17:36 1.16
@@ -1,15 +1,16 @@ @@ -1,15 +1,16 @@
1# $NetBSD: Makefile,v 1.15 2015/10/18 03:58:31 tsutsui Exp $ 1# $NetBSD: Makefile,v 1.16 2015/10/25 12:17:36 tsutsui Exp $
2 2
 3PKGREVISION= 1
3CANNA_MODULE= lib 4CANNA_MODULE= lib
4 5
5.include "../../inputmethod/canna/Makefile.common" 6.include "../../inputmethod/canna/Makefile.common"
6 7
7# (1) Change SUBDIRS. 8# (1) Change SUBDIRS.
8# (2) Don't install `forcpp', `kpdic'. 9# (2) Don't install `forcpp', `kpdic'.
9# 10#
10post-patch: 11post-patch:
11 @${MV} ${WRKSRC}/Imakefile ${WRKSRC}/Imakefile.orig 12 @${MV} ${WRKSRC}/Imakefile ${WRKSRC}/Imakefile.orig
12 @${SED} -e 's|\(SUBDIRS = lib canna\).*\( misc\)|\1 cmd/forcpp cmd/kpdic dic/phono\2|' \ 13 @${SED} -e 's|\(SUBDIRS = lib canna\).*\( misc\)|\1 cmd/forcpp cmd/kpdic dic/phono\2|' \
13 -e 's|\(SGSDIR = \).*|\1 lib canna dic/phono misc doc|' \ 14 -e 's|\(SGSDIR = \).*|\1 lib canna dic/phono misc doc|' \
14 ${WRKSRC}/Imakefile.orig > ${WRKSRC}/Imakefile 15 ${WRKSRC}/Imakefile.orig > ${WRKSRC}/Imakefile
15.for f in forcpp kpdic 16.for f in forcpp kpdic

cvs diff -r1.1 -r1.2 pkgsrc/inputmethod/canna/patches/patch-lib_RK_ncache.c (expand / switch to unified diff)

--- pkgsrc/inputmethod/canna/patches/patch-lib_RK_ncache.c 2015/10/18 03:58:31 1.1
+++ pkgsrc/inputmethod/canna/patches/patch-lib_RK_ncache.c 2015/10/25 12:17:36 1.2
@@ -1,15 +1,16 @@ @@ -1,15 +1,16 @@
1$NetBSD: patch-lib_RK_ncache.c,v 1.1 2015/10/18 03:58:31 tsutsui Exp $ 1$NetBSD: patch-lib_RK_ncache.c,v 1.2 2015/10/25 12:17:36 tsutsui Exp $
2 2
3Fix crash problem of cannaserver. 3Pull upstream fix to avoid crash problem of cannaserver.
 4 https://osdn.jp/cvs/view/canna/canna/lib/RK/ncache.c?view=log#rev1.3
4 5
5--- lib/RK/ncache.c.orig 2003-09-17 08:50:52.000000000 +0000 6--- lib/RK/ncache.c.orig 2003-09-17 08:50:52.000000000 +0000
6+++ lib/RK/ncache.c 7+++ lib/RK/ncache.c
7@@ -27,7 +27,7 @@ static char rcsid[]="$Id: ncache.c,v 1.2 8@@ -27,7 +27,7 @@ static char rcsid[]="$Id: ncache.c,v 1.2
8 #include "RKintern.h" 9 #include "RKintern.h"
9  10
10 #define NCHASH 101 11 #define NCHASH 101
11-#define hash(x) ((int)((x)%NCHASH)) 12-#define hash(x) ((int)((x)%NCHASH))
12+#define hash(x) ((int)(((unsigned long)(x))%NCHASH)) 13+#define hash(x) ((int)(((unsigned long)(x))%NCHASH))
13  14
14 static struct ncache Nchash[NCHASH]; 15 static struct ncache Nchash[NCHASH];
15 static struct ncache Ncfree; 16 static struct ncache Ncfree;

File Added: pkgsrc/inputmethod/canna/patches/patch-lib_canna_keydef.c
$NetBSD: patch-lib_canna_keydef.c,v 1.1 2015/10/25 12:17:36 tsutsui Exp $

Pull upstream fix to avoid crash on set-key in ~/.canna (PR pkg/50368).
 https://osdn.jp/cvs/view/canna/canna/lib/canna/keydef.c?view=log#rev1.3

--- lib/canna/keydef.c.orig	2003-09-17 08:50:53.000000000 +0000
+++ lib/canna/keydef.c
@@ -444,12 +444,9 @@ static unsigned int
 createHashKey(data1, data2, which_seq)
 unsigned char *data1;
 unsigned char data2;
-int which_seq;
+unsigned int which_seq;
 {
-  unsigned int hashKey;
-
-  hashKey = (int)(((POINTERINT)data1 + (POINTERINT)data2) % which_seq);
-  return hashKey;
+  return (unsigned int)(((canna_uintptr_t)data1 + (canna_uintptr_t)data2) % which_seq);
 }
 
 /* 機能シーケンスを割り出す */