From: Yozo TODA Subject: japanese/canna updating to 3.8 (Re: japanese/Wnn and japanese/canna) To: ports@openbsd.org Cc: Marc Espie , Yozo TODA Date: Sat, 27 Jun 2026 22:27:45 +0900 > canna's latest version is 3.8, living on https://canna-input.github.io/. > I'm trying to update japanese/canna/ to 3.8. Here is my effort to update japanese/canna to 3.8. The diff contents may be cumbersome to read, so, I added the tarball for the updated files. Some changes to propose: - choose single package instead of keeping multi packages - moving dictionary files to /var/db/canna/ (I noticed after some work that the original place is /var/dict/canna/) Please check if this update works... Trying to use canna with kinput2, I found that kinput2 does not work (always crash right after start). -- yozo. diff -urN -x CVS canna/Makefile 3.8/Makefile --- canna/Makefile Sat Jun 20 12:59:49 2026 +++ 3.8/Makefile Sat Jun 27 17:38:10 2026 @@ -1,65 +1,30 @@ -BROKEN= fails to build after move to LLVM 22 -COMMENT-main= canna (kana-kanji converter) libraries -COMMENT-dict= canna (kana-kanji converter) dictionaries -COMMENT-server= canna (kana-kanji converter) server +COMMENT= japanese input system -DISTNAME= Canna35b2 +CANNA_TAG= release-3.8 +DIST_TUPLE+= github canna-input canna ${CANNA_TAG} . -PKGNAME-main= cannalib-3.5b2 -PKGNAME-dict= cannadict-3.5b2 -PKGNAME-server= cannaserver-3.5b2 +SHARED_LIBS+= RKC 1.2 +SHARED_LIBS+= RKC16 1.2 +SHARED_LIBS+= canna 1.2 +SHARED_LIBS+= canna16 1.2 -REVISION-main = 6 -REVISION-dict = 1 -REVISION-server = 8 - -SHARED_LIBS= RKC 1.0 \ - RKC16 1.0 \ - canna 1.0 \ - canna16 1.0 - CATEGORIES= japanese -SITES = ftp://ftp.sra.co.jp/pub/misc/canna/ - -SITES.p= http://www.jaist.ac.jp/~fujieda/canna/ -PATCHFILES.p= Canna35b2-unoff1.patch.gz Canna35b2-unoff2.patch.gz \ - Canna35b2-hack1.patch.gz -PATCH_DIST_STRIP= -p1 - MAINTAINER= Marc Espie -HOMEPAGE = http://www.nec.co.jp/canna/ +HOMEPAGE= https://canna-input.github.io/ +# https://github.com/canna-input/canna/blob/main/COPYRIGHT PERMIT_PACKAGE= Yes -MULTI_PACKAGES=-main -dict -server +WANTLIB+= c -CFLAGS_base-clang = -Wno-error=int-conversion - -BUILD_DEPENDS= japanese/nkf - -PREFIX-dict= ${VARBASE}/dict -LIB_DEPENDS-server= japanese/canna -WANTLIB-server= c canna - -SUBST_VARS= DICT_DIR CONFIGURE_STYLE=imake -CANNAOWNER= daemon -CANNAGROUP= daemon -DICT_DIR= ${VARBASE}/dict/canna -DIFF_ARGS= -U 2 - -MAKE_ENV+= CANNAOWNER=${CANNAOWNER} CANNAGROUP=${CANNAGROUP} \ - DICT_DIR=${DICT_DIR} CANNA_SPOOL=${VARBASE}/spool/canna - -MAKE_FLAGS= LIBRKC_VERSION=$(LIBRKC_VERSION) \ - LIBRKC16_VERSION=$(LIBRKC16_VERSION) \ - LIBcanna_VERSION=$(LIBcanna_VERSION) \ - LIBcanna16_VERSION=$(LIBcanna16_VERSION) \ - COPTS="${COPTS} ${CFLAGS}" - +## either LOCALSTATEDIR or VARBASE, sync with patch-Canna_conf +MAKE_ENV+= CANNAOWNER=daemon CANNAGROUP=daemon \ + LOCALSTATEDIR=${LOCALSTATEDIR} NO_TEST= Yes +WRKDIST= ${WRKDIR}/canna-${CANNA_TAG} .include diff -urN -x CVS canna/distinfo 3.8/distinfo --- canna/distinfo Sun Jan 18 12:14:16 2015 +++ 3.8/distinfo Wed Jun 17 17:02:57 2026 @@ -1,8 +1,2 @@ -SHA256 (Canna35b2-hack1.patch.gz) = i9UUdYEsbtSYZNjPOnU+EAmhEKzqQJaqRaGCEsfSNHg= -SHA256 (Canna35b2-unoff1.patch.gz) = IXZWdrxOrmJPgDh/g+xm3dAiVtcqhMtWFCwF/2AYeQQ= -SHA256 (Canna35b2-unoff2.patch.gz) = JMNRfemO3kA2Enfm+DnJvkUuThjGYSvtqy+KlvtiD7U= -SHA256 (Canna35b2.tar.gz) = 6zVUs2FeAjr5j68ytjVlC5YQUVk2m0DaruSr5TomUqs= -SIZE (Canna35b2-hack1.patch.gz) = 8384 -SIZE (Canna35b2-unoff1.patch.gz) = 21443 -SIZE (Canna35b2-unoff2.patch.gz) = 11375 -SIZE (Canna35b2.tar.gz) = 1333329 +SHA256 (canna-input-canna-release-3.8.tar.gz) = pUJacwnwPcqhgRsk1n3iWZHhKJcFOFnJSzAxI72P0kg= +SIZE (canna-input-canna-release-3.8.tar.gz) = 2973395 diff -urN -x CVS canna/patches/patch-Canna_conf 3.8/patches/patch-Canna_conf --- canna/patches/patch-Canna_conf Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-Canna_conf Thu Jun 25 14:47:30 2026 @@ -1,154 +1,32 @@ Index: Canna.conf --- Canna.conf.orig +++ Canna.conf -@@ -129,19 +129,19 @@ - */ +@@ -150,7 +150,7 @@ XCOMM cannaManDir = $(cannaPrefix)/share/man + cannaManDir = $(cannaPrefix)/man + cannaIncDir = $(cannaPrefix)/include/canna --cannaBinDir = /usr/local/canna/bin --cannaSrvDir = /usr/local/canna/bin --cannaLibDir = /usr/local/canna/lib --cannaManDir = /usr/local/canna/man --cannaIncDir = /usr/local/canna/include/canna --libCannaDir = /usr/lib -+cannaBinDir = ${BINDIR} -+cannaSrvDir = ${BINDIR} -+cannaLibDir = ${USRLIBDIR} -+cannaManDir = ${MANPATH} -+cannaIncDir = ${INCDIR}/canna -+libCannaDir = ${USRLIBDIR} +-libCannaDir = DefLibCannaDir ++libCannaDir = ${LOCALBASE}/lib + ErrDir = DefErrDir --ErrDir = /usr/spool/canna -+ErrDir = ${CANNA_SPOOL} + /* µì¥С¼¥¸¥ç¥ó¤Ȥθߴ¹API¤ò̵¸ú¤ˤ¹¤ë¾ì¹ç¤Ï0¤ÈÄêµÁ¤·¤Ƥ¯¤À¤µ¤¤ */ +@@ -175,8 +175,8 @@ ErrDir = DefErrDir + #endif - wcharDefinition = -DCANNA_WCHAR - Wlib = --JapaneseLocale = japanese -+JapaneseLocale = ja_JP.eucJP -cannaOwner = bin -cannaGroup = bin +cannaOwner = ${CANNAOWNER} +cannaGroup = ${CANNAGROUP} - cannaOwnerGroup = -o $(cannaOwner) -g $(cannaGroup) -@@ -149,5 +149,10 @@ cannaOwnerGroup = -o $(cannaOwner) -g $(cannaGroup) - pointerIntegerDef = - --cannaDsoRev = 1 -+cannaDsoRev = 1.0 -+LIBRKC_VERSION= 1.0 -+LIBRKC16_VERSION= 1.0 -+LIBcanna_VERSION= 1.0 -+LIBcanna16_VERSION = 1.0 -+ - /* SunOS 4.x ¤򤪻Ȥ¤¤ÎÊý¤Ç shared object ¤òÍøÍѤ¹¤ë¾ì¹ç¤ˤÏ - cannaDsoRev = 1.1 -@@ -205,5 +210,5 @@ dontHaveRename = 0 + #ifdef InstallAsUser + cannaOwnerGroup = +@@ -243,7 +243,7 @@ cannaLight = 1 + /* #define UseInstalledLibCanna YES */ #define UseInstalledLibCanna NO -DicDir = $(cannaLibDir)/dic -+DicDir = ${DICT_DIR} ++DicDir = ${LOCALSTATEDIR}/db - #ifdef NeXT -@@ -232,5 +237,5 @@ DicDir = $(cannaLibDir)/dic - #if UseInstalledLibCanna - # if DoSharedLib -- DEPCANNALIB = $(libCannaDir)/libcanna.$(sharedLibExtension) -+ DEPCANNALIB = $(libCannaDir)/libcanna.so.$(LIBcanna_VERSION) - # else - #ifdef __EMX__ -@@ -243,5 +248,5 @@ DicDir = $(cannaLibDir)/dic - #else /* ! UseInstalledLibCanna */ - # if DoSharedLib -- DEPCANNALIB = $(CANNASRC)/libcanna.$(sharedLibExtension) -+ DEPCANNALIB = $(CANNASRC)/libcanna.so.$(LIBcanna_VERSION) - # else - #ifdef __EMX__ -@@ -256,5 +261,5 @@ DicDir = $(cannaLibDir)/dic - #if UseInstalledLibCanna - # if DoSharedLib -- DEPCANNALIB16 = $(libCannaDir)/libcanna16.$(sharedLibExtension) -+ DEPCANNALIB16 = $(libCannaDir)/libcanna16.so.$(LIBcanna16_VERSION) - # else - DEPCANNALIB16 = $(libCannaDir)/libcanna16.a -@@ -263,5 +268,5 @@ DicDir = $(cannaLibDir)/dic - #else /* ! UseInstalledLibCanna */ - # if DoSharedLib -- DEPCANNALIB16 = $(CANNASRC)/libcanna16.$(sharedLibExtension) -+ DEPCANNALIB16 = $(CANNASRC)/libcanna16.so.$(LIBcanna16_VERSION) - # else - DEPCANNALIB16 = $(CANNASRC)/libcanna16.a -@@ -327,11 +332,15 @@ clean:: @@\ - #endif - #define InstallManPageLong(file,destdir,dest) @@\ --ConvertPathName(file.tmp,file.$(MANSRCSUFF)) @@\ --install.man:: file.tmp @@\ -+ConvertPathName(file.jtmp,file.jmn) @@\ -+ConvertPathName(file.tmp,file.man) @@\ -+install.man:: file.tmp file.jtmp @@\ -+ MakeDir($(DESTDIR)destdir/ja/man$(MANSUFFIX)) @@\ - MakeDir($(DESTDIR)destdir/man$(MANSUFFIX)) @@\ - $(INSTALL) -c $(INSTMANFLAGS) file.tmp $(DESTDIR)destdir/man$(MANSUFFIX)/dest.$(MANSUFFIX) @@\ -- $(RM) file.tmp @@\ -+ nkf -w file.jtmp > file.j$(MANSUFFIX); \ @@\ -+ $(INSTALL) -c $(INSTMANFLAGS) file.j$(MANSUFFIX) $(DESTDIR)destdir/ja/man$(MANSUFFIX)/dest.$(MANSUFFIX) @@\ -+ $(RM) file.tmp file.jtmp file.j$(MANSUFFIX) @@\ - clean:: @@\ -- $(RM) file.tmp -+ $(RM) file.tmp file.jtmp file.j$(MANSUFFIX) + /* ¤³¤³¤«¤鲼¤ÏÊѹ¹ÉÔÍפǤ¹ */ - #ifdef InstallManPage -@@ -345,11 +354,15 @@ InstallManPageLong(file,destdir,file) - #endif - #define InstallLibManPageLong(file,destdir,dest) @@\ --ConvertPathName(file.tmp,file.$(MANSRCSUFF)) @@\ --install.man:: file.tmp @@\ -+ConvertPathName(file.jtmp,file.jmn) @@\ -+ConvertPathName(file.tmp,file.man) @@\ -+install.man:: file.tmp file.jtmp @@\ -+ MakeDir($(DESTDIR)destdir/ja/man$(LIBMANSUFFIX)) @@\ - MakeDir($(DESTDIR)destdir/man$(LIBMANSUFFIX)) @@\ - $(INSTALL) -c $(INSTMANFLAGS) file.tmp $(DESTDIR)destdir/man$(LIBMANSUFFIX)/dest.$(LIBMANSUFFIX) @@\ -- $(RM) file.tmp @@\ -+ nkf -w file.jtmp > file.j$(LIBMANSUFFIX); \ @@\ -+ $(INSTALL) -c $(INSTMANFLAGS) file.j$(LIBMANSUFFIX) $(DESTDIR)destdir/ja/man$(LIBMANSUFFIX)/dest.$(LIBMANSUFFIX) @@\ -+ $(RM) file.tmp file.jtmp file.j$(LIBMANSUFFIX) @@\ - clean:: @@\ -- $(RM) file.tmp -+ $(RM) file.tmp file.jtmp file.j$(LIBMANSUFFIX) - - #ifdef InstallLibManPage -@@ -364,11 +377,14 @@ InstallLibManPageLong(file,destdir,file) - #define InstallLibManPageAliases(file,destdir,aliases) @@\ - install.man:: @@\ -- @(TMP=/tmp/tmp.$$$$; \ @@\ -- $(RM) $${TMP}; \ @@\ -- echo .so `basename destdir/man$(LIBMANSUFFIX)`/file.$(LIBMANSUFFIX) > $${TMP}; \ @@\ -- for i in aliases; do (set -x; \ @@\ -- $(INSTALL) -c $(INSTMANFLAGS) $${TMP} $(DESTDIR)destdir/man$(LIBMANSUFFIX)/$$i.$(LIBMANSUFFIX)); \ @@\ -- done; \ @@\ -- $(RM) $${TMP}) -+ cd $(DESTDIR)/destdir/man$(LIBMANSUFFIX); \ @@\ -+ for i in aliases; do \ @@\ -+ $(RM) $$i.$(LIBMANSUFFIX); \ @@\ -+ $(LN) file.$(LIBMANSUFFIX) $$i.$(LIBMANSUFFIX); \ @@\ -+ done; \ @@\ -+ cd $(DESTDIR)/destdir/ja/man$(LIBMANSUFFIX); \ @@\ -+ for i in aliases; do \ @@\ -+ $(RM) $$i.$(LIBMANSUFFIX); \ @@\ -+ $(LN) file.$(LIBMANSUFFIX) $$i.$(LIBMANSUFFIX); \ @@\ -+ done - #ifndef MakeDirectoriesLong - #define MakeDirectoriesLong(step,dirs,owner,group) @@\ -@@ -456,2 +472,11 @@ dst:: Canna.conf @@\ - echo "#endif") > $@ - #endif -+ -+#ifdef LinkFileList -+#undef LinkFileList -+#endif -+#define LinkFileList(step,list,dir,sub) @@\ -+step:: list @@\ -+ @MakeFlagsToShellFlags(i,set +e); \ @@\ -+ echo " cd" dir; cd dir && \ @@\ -+ for i in list; do (set -x; $(LN) -f sub/$$i .); done diff -urN -x CVS canna/patches/patch-Imakefile 3.8/patches/patch-Imakefile --- canna/patches/patch-Imakefile Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-Imakefile Thu Jan 1 09:00:00 1970 @@ -1,22 +0,0 @@ ---- Imakefile.orig Wed Nov 27 08:01:34 1996 -+++ Imakefile Sat Apr 22 03:10:07 2000 -@@ -61,5 +61,5 @@ instserver:: - do \ - (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \ -- $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \ -+ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \ - done - -@@ -69,5 +69,5 @@ instclient:: - do \ - (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \ -- $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \ -+ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \ - done - -@@ -77,4 +77,4 @@ instsgs:: - do \ - (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \ -- $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \ -+ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \ - done diff -urN -x CVS canna/patches/patch-canna_widedef_h 3.8/patches/patch-canna_widedef_h --- canna/patches/patch-canna_widedef_h Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-canna_widedef_h Wed Jun 17 18:18:17 2026 @@ -1,17 +1,12 @@ ---- canna/widedef.h.orig Fri Nov 29 14:00:55 1996 -+++ canna/widedef.h Sun Jan 15 15:32:57 2006 -@@ -62,5 +62,13 @@ - #endif /* HAVE_WCHAR_OPERATION */ +Index: canna/widedef.h +--- canna/widedef.h.orig ++++ canna/widedef.h +@@ -31,7 +31,7 @@ + #endif --#if defined(__FreeBSD__) || defined(__NetBSD__) -+#if defined(__OpenBSD__) -+#define _WCHAR_T_DEFINED_ -+# ifdef WCHAR16 -+typedef unsigned short wchar_t; -+# else -+typedef unsigned long wchar_t; -+# endif -+# define _WCHAR_T -+#elif defined(__FreeBSD__) || defined(__NetBSD__) - # ifdef _BSD_WCHAR_T_ - # undef _BSD_WCHAR_T_ + #if (defined(__FreeBSD__) && __FreeBSD_version < 500000) \ +- || defined(__NetBSD__) || defined(__OpenBSD__) ++ || defined(__NetBSD__) + # include + #endif + diff -urN -x CVS canna/patches/patch-cmd_catdic_Imakefile 3.8/patches/patch-cmd_catdic_Imakefile --- canna/patches/patch-cmd_catdic_Imakefile Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-cmd_catdic_Imakefile Thu Jan 1 09:00:00 1970 @@ -1,44 +0,0 @@ ---- cmd/catdic/Imakefile.orig Mon Dec 2 12:38:14 1996 -+++ cmd/catdic/Imakefile Sat Apr 22 03:10:08 2000 -@@ -76,22 +76,22 @@ install:: - #else - install:: -- $(RM) $(cannaBinDir)/cpdic -- $(RM) $(cannaBinDir)/lsdic -- $(RM) $(cannaBinDir)/mkdic -- $(RM) $(cannaBinDir)/mvdic -- $(RM) $(cannaBinDir)/rmdic -- $(RM) $(cannaBinDir)/syncdic -- $(RM) $(cannaBinDir)/chmoddic -- $(RM) $(cannaBinDir)/addwords -- $(RM) $(cannaBinDir)/delwords -- $(RM) $(cannaBinDir)/cannakill -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/cpdic -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/lsdic -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/mkdic -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/mvdic -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/rmdic -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/syncdic -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/addwords -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/delwords -- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/cannakill -+ $(RM) $(DESTDIR)$(cannaBinDir)/cpdic -+ $(RM) $(DESTDIR)$(cannaBinDir)/lsdic -+ $(RM) $(DESTDIR)$(cannaBinDir)/mkdic -+ $(RM) $(DESTDIR)$(cannaBinDir)/mvdic -+ $(RM) $(DESTDIR)$(cannaBinDir)/rmdic -+ $(RM) $(DESTDIR)$(cannaBinDir)/syncdic -+ $(RM) $(DESTDIR)$(cannaBinDir)/chmoddic -+ $(RM) $(DESTDIR)$(cannaBinDir)/addwords -+ $(RM) $(DESTDIR)$(cannaBinDir)/delwords -+ $(RM) $(DESTDIR)$(cannaBinDir)/cannakill -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic cpdic -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic lsdic -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic mkdic -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic mvdic -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic rmdic -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic syncdic -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic addwords -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic delwords -+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic cannakill - #endif diff -urN -x CVS canna/patches/patch-dic_ideo_grammar_Imakefile 3.8/patches/patch-dic_ideo_grammar_Imakefile --- canna/patches/patch-dic_ideo_grammar_Imakefile Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-dic_ideo_grammar_Imakefile Thu Jan 1 09:00:00 1970 @@ -1,11 +0,0 @@ ---- dic/ideo/grammar/Imakefile.orig Wed Nov 27 08:14:45 1996 -+++ dic/ideo/grammar/Imakefile Fri Aug 29 16:52:05 2008 -@@ -86,5 +86,5 @@ InstallMultipleFlags($(ALLDIC),$(CANNADICDIR),-m 0664 - - install:: -- $(CHGRP) $(cannaGroup) $(CANNADICDIR) -- $(CHOWN) $(cannaOwner) $(CANNADICDIR) -- $(CHMOD) ug+w $(CANNADICDIR) -+ $(CHGRP) $(cannaGroup) $(DESTDIR)$(CANNADICDIR) -+ $(CHOWN) $(cannaOwner) $(DESTDIR)$(CANNADICDIR) -+ $(CHMOD) ug+w $(DESTDIR)$(CANNADICDIR) diff -urN -x CVS canna/patches/patch-dic_ideo_pubdic_pod_c 3.8/patches/patch-dic_ideo_pubdic_pod_c --- canna/patches/patch-dic_ideo_pubdic_pod_c Thu Jul 20 02:16:46 2023 +++ 3.8/patches/patch-dic_ideo_pubdic_pod_c Thu Jan 1 09:00:00 1970 @@ -1,22 +0,0 @@ -Index: dic/ideo/pubdic/pod.c ---- dic/ideo/pubdic/pod.c.orig -+++ dic/ideo/pubdic/pod.c -@@ -26,4 +26,5 @@ static char rcsid[] = "$Id: pod.c,v 1.41 1994/05/31 11 - - #include -+#include - - #define bzero(a, c) memset(a, 0, c) -@@ -52,5 +53,5 @@ static int list_kinds; - static int copy_frequency, extract_kana = 0; - static long specific_kind; --static FILE *in1 = stdin, *in2 = stdin; -+static FILE *in1, *in2; - static char *common_out, *old_out, *new_out, *hinshi_table, *bunrui; - static char *description_table; -@@ -1378,4 +1379,5 @@ char *argv[]; - #endif - -+ in1 = in2 = stdin; - (void)internkind(kihonh); /* ´ðËܼ­½ñÍѡ£1L ¤Ȥ·¤ÆÅÐϿ */ - parseargs(argc, argv); diff -urN -x CVS canna/patches/patch-dic_ideo_words_Imakefile 3.8/patches/patch-dic_ideo_words_Imakefile --- canna/patches/patch-dic_ideo_words_Imakefile Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-dic_ideo_words_Imakefile Thu Jan 1 09:00:00 1970 @@ -1,21 +0,0 @@ ---- dic/ideo/words/Imakefile.orig Sat Apr 22 03:10:06 2000 -+++ dic/ideo/words/Imakefile Sat Apr 22 03:10:08 2000 -@@ -70,11 +70,11 @@ InstallNonExec(dics.dir,$(CANNADICDIR)) - - install:: -- $(CHGRP) $(cannaGroup) $(CANNADICDIR) -- $(CHOWN) $(cannaOwner) $(CANNADICDIR) -- $(CHMOD) ug+w $(CANNADICDIR) -- $(CHGRP) $(cannaGroup) $(DicDir) -- $(CHOWN) $(cannaOwner) $(DicDir) -- $(CHMOD) ug+w $(DicDir) -- $(CHMOD) -w $(CANNADICDIR)/dics.dir -+ $(CHGRP) $(cannaGroup) $(DESTDIR)$(CANNADICDIR) -+ $(CHOWN) $(cannaOwner) $(DESTDIR)$(CANNADICDIR) -+ $(CHMOD) ug+w $(DESTDIR)$(CANNADICDIR) -+ $(CHGRP) $(cannaGroup) $(DESTDIR)$(DicDir) -+ $(CHOWN) $(cannaOwner) $(DESTDIR)$(DicDir) -+ $(CHMOD) ug+w $(DESTDIR)$(DicDir) -+ $(CHMOD) -w $(DESTDIR)$(CANNADICDIR)/dics.dir - - #ifndef USE_OBSOLETE_STYLE_FILENAME diff -urN -x CVS canna/patches/patch-lib_RKC16_Imakefile 3.8/patches/patch-lib_RKC16_Imakefile --- canna/patches/patch-lib_RKC16_Imakefile Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-lib_RKC16_Imakefile Thu Jan 1 09:00:00 1970 @@ -1,22 +0,0 @@ ---- lib/RKC16/Imakefile.orig Thu Dec 29 13:41:34 2005 -+++ lib/RKC16/Imakefile Thu Dec 29 13:42:02 2005 -@@ -24,5 +24,5 @@ - #if ProjectX > 5 - #define LibName RKC16 --#define SoRev cannaDsoRev -+#define SoRev LIBRKC16_VERSION - #define SHLIBDIR libCannaDir - #define USRLIBDIR libCannaDir -@@ -40,9 +40,9 @@ LibraryObjectRule() - #if DoSharedLib - #if DoNormalLib --SharedLibraryTarget(RKC16,$(cannaDsoRev),$(OBJS),shared,..) -+SharedLibraryTarget(RKC16,$(LIBRKC16_VERSION),$(OBJS),shared,..) - #else --SharedLibraryTarget(RKC16,$(cannaDsoRev),$(OBJS),.,.) -+SharedLibraryTarget(RKC16,$(LIBRKC16_VERSION),$(OBJS),.,.) - #endif --InstallSharedLibrary(RKC16,$(cannaDsoRev),$(libCannaDir)) -+InstallSharedLibrary(RKC16,$(LIBRKC16_VERSION),$(libCannaDir)) - #endif /* DoSharedLib */ - #else /* !engineSwitch */ diff -urN -x CVS canna/patches/patch-lib_RKC_Imakefile 3.8/patches/patch-lib_RKC_Imakefile --- canna/patches/patch-lib_RKC_Imakefile Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-lib_RKC_Imakefile Thu Jan 1 09:00:00 1970 @@ -1,32 +0,0 @@ ---- lib/RKC/Imakefile.orig Thu Dec 29 13:35:34 2005 -+++ lib/RKC/Imakefile Thu Dec 29 13:39:34 2005 -@@ -27,5 +27,5 @@ - #if ProjectX > 5 - #define LibName RKC --#define SoRev cannaDsoRev -+#define SoRev LIBRKC_VERSION - #define SHLIBDIR libCannaDir - #define USRLIBDIR libCannaDir -@@ -43,17 +43,17 @@ LibraryObjectRule() - #if DoSharedLib - #if DoNormalLib --SharedLibraryTarget(RKC,$(cannaDsoRev),$(OBJS),shared,..) -+SharedLibraryTarget(RKC,$(LIBRKC_VERSION),$(OBJS),shared,..) - #else --SharedLibraryTarget(RKC,$(cannaDsoRev),$(OBJS),.,.) -+SharedLibraryTarget(RKC,$(LIBRKC_VERSION),$(OBJS),.,.) - #endif --InstallSharedLibrary(RKC,$(cannaDsoRev),$(libCannaDir)) -+InstallSharedLibrary(RKC,$(LIBRKC_VERSION),$(libCannaDir)) - - install:: - $(RM) $(libCannaDir)/libRKC.so -- ln $(libCannaDir)/libRKC.so.$(cannaDsoRev) $(libCannaDir)/libRKC.so -+ ln $(libCannaDir)/libRKC.so.$(LIBRKC_VERSION) $(libCannaDir)/libRKC.so - - AllTarget(libRKC.so) - --libRKC.so: libRKC.so.$(cannaDsoRev) -+libRKC.so: libRKC.so.$(LIBRKC_VERSION) - $(RM) $@ - ln $? $@ diff -urN -x CVS canna/patches/patch-lib_RKC_rkc_c 3.8/patches/patch-lib_RKC_rkc_c --- canna/patches/patch-lib_RKC_rkc_c Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-lib_RKC_rkc_c Thu Jan 1 09:00:00 1970 @@ -1,10 +0,0 @@ -Index: lib/RKC/rkc.c ---- lib/RKC/rkc.c.orig -+++ lib/RKC/rkc.c -@@ -254,5 +254,5 @@ int clientcx, type ; - int RkwSetUserInfo pro((char *, char *, char *)); - --RkUserInfo *uinfo; -+extern RkUserInfo *uinfo; - - int diff -urN -x CVS canna/patches/patch-lib_RKC_rkc_h 3.8/patches/patch-lib_RKC_rkc_h --- canna/patches/patch-lib_RKC_rkc_h Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-lib_RKC_rkc_h Thu Jan 1 09:00:00 1970 @@ -1,23 +0,0 @@ ---- lib/RKC/rkc.h.orig Tue Mar 26 21:12:48 2002 -+++ lib/RKC/rkc.h Tue Mar 26 21:13:15 2002 -@@ -46,10 +46,14 @@ - # include - # endif --# ifndef __EMX__ --# ifndef bzero --# define bzero(buf, size) memset((char *)(buf), 0x00, (size)) --# endif --# ifndef bcopy --# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size)) -+# ifdef __OpenBSD__ -+# include -+# else -+# ifndef __EMX__ -+# ifndef bzero -+# define bzero(buf, size) memset((char *)(buf), 0x00, (size)) -+# endif -+# ifndef bcopy -+# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size)) -+# endif - # endif - # endif diff -urN -x CVS canna/patches/patch-lib_RK_RKintern_h 3.8/patches/patch-lib_RK_RKintern_h --- canna/patches/patch-lib_RK_RKintern_h Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-lib_RK_RKintern_h Thu Jan 1 09:00:00 1970 @@ -1,17 +0,0 @@ ---- lib/RK/RKintern.h.orig Tue Mar 26 20:37:35 2002 -+++ lib/RK/RKintern.h Tue Mar 26 20:38:02 2002 -@@ -105,7 +105,11 @@ extern void free(); - # include - # endif --# ifndef __EMX__ --# define bzero(buf, size) memset((char *)(buf), 0x00, (size)) --# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size)) -+# ifdef __OpenBSD__ -+# include -+# else -+# ifndef __EMX__ -+# define bzero(buf, size) memset((char *)(buf), 0x00, (size)) -+# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size)) -+# endif - # endif - #endif diff -urN -x CVS canna/patches/patch-lib_RK_dd_c 3.8/patches/patch-lib_RK_dd_c --- canna/patches/patch-lib_RK_dd_c Thu Jan 1 09:00:00 1970 +++ 3.8/patches/patch-lib_RK_dd_c Wed Jun 17 17:52:36 2026 @@ -0,0 +1,12 @@ +Index: lib/RK/dd.c +--- lib/RK/dd.c.orig ++++ lib/RK/dd.c +@@ -739,7 +739,7 @@ _RkRealizeDD(dd) + int ret = -1; + int tmpres; + int fdes; +- long tloc; ++ time_t tloc; + #ifdef __EMX__ + struct stat statbuf; + #endif diff -urN -x CVS canna/patches/patch-lib_canna16_Imakefile 3.8/patches/patch-lib_canna16_Imakefile --- canna/patches/patch-lib_canna16_Imakefile Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-lib_canna16_Imakefile Thu Jan 1 09:00:00 1970 @@ -1,22 +0,0 @@ ---- lib/canna16/Imakefile.orig Thu Dec 29 13:41:34 2005 -+++ lib/canna16/Imakefile Thu Dec 29 13:42:33 2005 -@@ -59,5 +59,5 @@ - #if ProjectX > 5 - #define LibName canna16 --#define SoRev cannaDsoRev -+#define SoRev LIBcanna16_VERSION - #define SHLIBDIR libCannaDir - #define USRLIBDIR libCannaDir -@@ -73,9 +73,9 @@ LibraryObjectRule() - #if DoSharedLib - #if DoNormalLib --SharedLibraryTarget(canna16,$(cannaDsoRev),$(OBJS),shared,..) -+SharedLibraryTarget(canna16,$(LIBcanna16_VERSION),$(OBJS),shared,..) - #else --SharedLibraryTarget(canna16,$(cannaDsoRev),$(OBJS),.,.) -+SharedLibraryTarget(canna16,$(LIBcanna16_VERSION),$(OBJS),.,.) - #endif --InstallSharedLibrary(canna16,$(cannaDsoRev),$(libCannaDir)) -+InstallSharedLibrary(canna16,$(LIBcanna16_VERSION),$(libCannaDir)) - #endif /* DoSharedLib */ - diff -urN -x CVS canna/patches/patch-lib_canna_Imakefile 3.8/patches/patch-lib_canna_Imakefile --- canna/patches/patch-lib_canna_Imakefile Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-lib_canna_Imakefile Thu Jan 1 09:00:00 1970 @@ -1,22 +0,0 @@ ---- lib/canna/Imakefile.orig Thu Dec 29 13:41:34 2005 -+++ lib/canna/Imakefile Thu Dec 29 13:42:20 2005 -@@ -57,5 +57,5 @@ - #if ProjectX > 5 - #define LibName canna --#define SoRev cannaDsoRev -+#define SoRev LIBcanna_VERSION - #define SHLIBDIR libCannaDir - #define USRLIBDIR libCannaDir -@@ -71,9 +71,9 @@ LibraryObjectRule() - #if DoSharedLib - #if DoNormalLib --SharedLibraryTarget(canna,$(cannaDsoRev),$(OBJS),shared,..) -+SharedLibraryTarget(canna,$(LIBcanna_VERSION),$(OBJS),shared,..) - #else --SharedLibraryTarget(canna,$(cannaDsoRev),$(OBJS),.,.) -+SharedLibraryTarget(canna,$(LIBcanna_VERSION),$(OBJS),.,.) - #endif --InstallSharedLibrary(canna,$(cannaDsoRev),$(libCannaDir)) -+InstallSharedLibrary(canna,$(LIBcanna_VERSION),$(libCannaDir)) - #endif /* DoSharedLib */ - diff -urN -x CVS canna/patches/patch-lib_canna_canna_h 3.8/patches/patch-lib_canna_canna_h --- canna/patches/patch-lib_canna_canna_h Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-lib_canna_canna_h Thu Jan 1 09:00:00 1970 @@ -1,17 +0,0 @@ ---- lib/canna/canna.h.orig Mon Dec 2 03:20:15 1996 -+++ lib/canna/canna.h Fri Aug 29 16:52:05 2008 -@@ -110,7 +110,11 @@ extern CANNA_wcstombs pro((char *, wchar_t *, int)); - # include - # endif --# ifndef __EMX__ --# define bzero(buf, size) memset((char *)(buf), 0x00, (size)) --# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size)) -+# ifdef __OpenBSD__ -+# include -+# else -+# ifndef __EMX__ -+# define bzero(buf, size) memset((char *)(buf), 0x00, (size)) -+# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size)) -+# endif - # endif - #endif diff -urN -x CVS canna/patches/patch-lib_canna_lisp_c 3.8/patches/patch-lib_canna_lisp_c --- canna/patches/patch-lib_canna_lisp_c Thu Jan 1 09:00:00 1970 +++ 3.8/patches/patch-lib_canna_lisp_c Wed Jun 17 18:13:39 2026 @@ -0,0 +1,12 @@ +Index: lib/canna/lisp.c +--- lib/canna/lisp.c.orig ++++ lib/canna/lisp.c +@@ -1707,7 +1707,7 @@ list *addr; + } + markcopycell(&newatom->plist); + if (newatom->ftype == EXPR || newatom->ftype == MACRO) { +- markcopycell((int *)&newatom->func); ++ markcopycell((list *)&newatom->func); + } + addr = &newatom->hlink; + goto redo; diff -urN -x CVS canna/patches/patch-server_IR_h 3.8/patches/patch-server_IR_h --- canna/patches/patch-server_IR_h Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-server_IR_h Thu Jan 1 09:00:00 1970 @@ -1,28 +0,0 @@ ---- server/IR.h.orig Tue Mar 26 20:33:53 2002 -+++ server/IR.h Tue Mar 26 20:34:33 2002 -@@ -32,13 +32,17 @@ - # include - # endif --# ifndef __EMX__ --# ifndef bcopy --# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size)) --# endif --# ifndef bzero --# define bzero(buf, size) memset((char *)(buf), 0x00, (size)) --# endif -+# ifdef __OpenBSD__ -+# include - # else --# include -+# ifndef __EMX__ -+# ifndef bcopy -+# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size)) -+# endif -+# ifndef bzero -+# define bzero(buf, size) memset((char *)(buf), 0x00, (size)) -+# endif -+# else -+# include -+# endif - # endif - #endif diff -urN -x CVS canna/patches/patch-server_convert_c 3.8/patches/patch-server_convert_c --- canna/patches/patch-server_convert_c Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-server_convert_c Thu Jan 1 09:00:00 1970 @@ -1,23 +0,0 @@ ---- server/convert.c.orig Mon Dec 2 12:01:34 1996 -+++ server/convert.c Fri Aug 29 16:52:05 2008 -@@ -54,4 +54,6 @@ static char rcs_id[] = "@(#) 102.1 $Id: convert.c,v 6. - #define ACK3 3 - #define CHECK_ACK_BUF_SIZE (ACK_BUFSIZE + (SIZEOFLONG * 2) ) -+#define IR_INT_MAX 32767 -+#define IR_INT_INVAL(x) ((unsigned int)x > IR_INT_MAX) - - extern int errno; -@@ -1779,4 +1781,6 @@ int size ; - - req->namelen = (int)L4TOL(buf + SIZE4); -+ if( IR_INT_INVAL(req->namelen) ) -+ return( -1 ); - ir_debug( Dmsg(10,"req->namelen =%d\n", req->namelen ); ) - -@@ -1786,4 +1790,6 @@ int size ; - if( req->namelen > 0 ){ - req->name = buf + SIZE8 ; -+ if( req->name[req->namelen - 1] != 0 ) -+ return( -1 ); - } - ir_debug( Dmsg(10,"req->namelen =%d\n", req->namelen ); ) diff -urN -x CVS canna/patches/patch-server_misc_c 3.8/patches/patch-server_misc_c --- canna/patches/patch-server_misc_c Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-server_misc_c Thu Jan 1 09:00:00 1970 @@ -1,27 +0,0 @@ ---- server/misc.c.orig Mon Jul 3 17:58:30 2000 -+++ server/misc.c Mon Jul 3 18:01:42 2000 -@@ -650,17 +650,19 @@ int cxnum ; - if (client->username && client->username[0]) { - if (client->groupname && client->groupname[0]) { -- sprintf(dichome, "%s/%s:%s/%s:%s", -+ if (snprintf(dichome, sizeof(dichome), "%s/%s:%s/%s:%s", - DDUSER, client->username, - DDGROUP, client->groupname, -- DDPATH); -+ DDPATH) >= sizeof(dichome)) -+ return -1; - } - else { -- sprintf(dichome, "%s/%s:%s", -+ if (snprintf(dichome, sizeof(dichome), "%s/%s:%s", - DDUSER, client->username, -- DDPATH); -+ DDPATH) >= sizeof(dichome)) -+ return -1; - } - } - else { -- strcpy(dichome, DDPATH); -+ strlcpy(dichome, DDPATH, sizeof(dichome)); - } - diff -urN -x CVS canna/patches/patch-server_util_c 3.8/patches/patch-server_util_c --- canna/patches/patch-server_util_c Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-server_util_c Thu Jan 1 09:00:00 1970 @@ -1,20 +0,0 @@ ---- server/util.c.orig Wed Nov 6 05:09:47 1996 -+++ server/util.c Wed Mar 12 14:59:07 2003 -@@ -218,4 +218,17 @@ Ushort *ws; - } - -+const Ushort * -+ushortmemchr(ws, ch, len) -+const Ushort *ws; -+int ch; -+size_t len; -+{ -+ const Ushort *p, *end; -+ for (p = ws, end = ws + len; p < end; ++p) -+ if (*p == (Ushort)ch) -+ return p; -+ return NULL; -+} -+ - int - ushortstrcpy(wd, ws) diff -urN -x CVS canna/patches/patch-server_wconvert_c 3.8/patches/patch-server_wconvert_c --- canna/patches/patch-server_wconvert_c Sat Mar 12 04:24:42 2022 +++ 3.8/patches/patch-server_wconvert_c Thu Jan 1 09:00:00 1970 @@ -1,320 +0,0 @@ ---- server/wconvert.c.orig Wed Nov 27 02:27:28 1996 -+++ server/wconvert.c Wed Mar 12 14:59:07 2003 -@@ -101,4 +101,5 @@ extern reqproc ExtensionWideVector[]; - - extern void DispDebug() ; -+extern const Ushort *ushortmemchr pro((const Ushort *, int, size_t)); - extern int canna_server_hi ; - extern int canna_server_lo ; -@@ -1323,5 +1324,8 @@ ClientPtr *clientp ; - int cxnum = Request.type18.context, stat = -1; - int requestsize = Request.type18.size, retval; -+ size_t datasize = Request.type18.datalen - SIZEOFSHORT * 2; - -+ if (datasize == 0 || req->data[datasize - 1] != 0) -+ goto protoerr; - if (validcontext(cxnum, client, wListDictionary)) { - if (requestsize <= sizeof(local_buffer) || -@@ -1360,4 +1364,5 @@ ClientPtr *clientp ; - } - -+protoerr: - retval = SendType6Reply(client, wListDictionary, EXTPROTO, stat, - dicnames, namesize(dicnames, stat)); -@@ -1471,8 +1476,13 @@ ClientPtr *clientp ; - int cxnum = Request.type18.context, stat = BADCONT; - int dirlen, requestsize = Request.type18.size, retval; -+ size_t datasize = Request.type18.datalen - SIZEOFSHORT * 2; - -+ if (datasize == 0 || req->data[datasize - 1] != 0) -+ goto protoerr; - if (validcontext(cxnum, client, wGetWordTextDictionary)) { - dirname = req->data ; - dirlen = strlen(dirname) + 1 ; -+ if (dirlen == datasize) -+ goto protoerr; - dicname = &(req->data[dirlen]) ; - if (dirlen > 1) { -@@ -1516,4 +1526,5 @@ ClientPtr *clientp ; - } - } -+protoerr: - retval = SendType7Reply(client, wGetWordTextDictionary, EXTPROTO, - stat, stat > 0 ? stat + 1 : 0, infobuf); -@@ -2097,10 +2108,10 @@ ClientPtr *clientp; - - if (validcontext(cxnum, client, wThrough)) { -- buf = malloc((int)Request.type20.bufsize); -+ content_size = Request.type20.datalen - (SIZEOFINT * 2 + SIZEOFSHORT); -+ buf = malloc(content_size); - if (buf) { -- content_size = Request.type20.datalen - (SIZEOFINT * 2 + SIZEOFSHORT); - bcopy(Request.type20.buf, buf, content_size); - stat = size = RkThrough(cxnum, Request.type20.command, -- buf, content_size, (int)Request.type20.bufsize); -+ buf, content_size, content_size); - } - } -@@ -2297,4 +2308,7 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq1 start!!\n") ); - -+ if (Request.type1.datalen != 0) -+ return( -1 ); -+ - return( 0 ) ; - } -@@ -2306,4 +2320,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq2 start!!\n") ); - -+ if (Request.type2.datalen != SIZEOFSHORT) -+ return( -1 ); - buf += HEADER_SIZE; Request.type2.context = S2TOS(buf); - ir_debug( Dmsg(10, "req->context =%d\n", Request.type2.context) ); -@@ -2318,4 +2334,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq3 start!!\n") ); - -+ if (Request.type3.datalen != SIZEOFSHORT * 2) -+ return( -1 ); - buf += HEADER_SIZE; Request.type3.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type3.buflen = S2TOS(buf); -@@ -2335,4 +2353,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq4 start!!\n") ); - -+ if (Request.type4.datalen < SIZEOFSHORT * 4) -+ return( -1 ); - buf += HEADER_SIZE; Request.type4.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type4.begin = S2TOS(buf); -@@ -2340,5 +2360,9 @@ BYTE *buf ; - buf += SIZEOFSHORT; Request.type4.yomilen = S2TOS(buf); - Request.type4.yomi = (Ushort *)(buf += SIZEOFSHORT) ; -- len = Request.type4.datalen - SIZEOFSHORT * 4; -+ len = Request.type4.yomilen + 1; -+ if (Request.type4.datalen != SIZEOFSHORT * (4 + len) -+ || len == 0 -+ || Request.type4.yomi[len - 1] != 0) -+ return( -1 ); - for (data = Request.type4.yomi, i = 0; i < len; i++, data++) - *data = ntohs((unsigned short)*data); /* ¤Á¤ç¤äȤä¤À¤ʤ¢ */ -@@ -2360,4 +2384,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq5 start!!\n") ); - -+ if (Request.type5.datalen != SIZEOFSHORT * 2 + SIZEOFINT) -+ return( -1 ); - buf += HEADER_SIZE; Request.type5.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type5.size = S2TOS(buf); -@@ -2376,4 +2402,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq6 start!!\n") ); - -+ if (Request.type6.datalen != SIZEOFSHORT * 3) -+ return( -1 ); - buf += HEADER_SIZE; Request.type6.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type6.number = S2TOS(buf); -@@ -2392,4 +2420,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq7 start!!\n") ); - -+ if (Request.type7.datalen != SIZEOFSHORT * 3) -+ return( -1 ); - buf += HEADER_SIZE; Request.type7.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type7.number = S2TOS(buf); -@@ -2408,4 +2438,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq8 start!!\n") ); - -+ if (Request.type8.datalen != SIZEOFSHORT * 4) -+ return( -1 ); - buf += HEADER_SIZE; Request.type8.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type8.curbun = S2TOS(buf); -@@ -2426,4 +2458,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq9 start!!\n") ); - -+ if (Request.type9.datalen != SIZEOFSHORT * 4) -+ return( -1 ); - buf += HEADER_SIZE; Request.type9.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type9.number = S2TOS(buf); -@@ -2443,7 +2477,11 @@ BYTE *buf ; - { - register int i ; -+ int rest; - - ir_debug( Dmsg(10, "ProcWideReq10 start!!\n") ); - -+ rest = Request.type10.datalen - (SIZEOFSHORT * 2 + SIZEOFINT); -+ if (rest < 0) -+ return( -1 ); - buf += HEADER_SIZE; Request.type10.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type10.number = S2TOS(buf); -@@ -2453,4 +2491,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "req->mode =%d\n", Request.type10.mode) ); - -+ if (rest != Request.type10.number * SIZEOFSHORT) -+ return( -1 ); - buf += SIZEOFINT; Request.type10.kouho = (short *)buf; /* short? */ - for (i = 0; i < Request.type10.number; i++) { -@@ -2469,10 +2509,16 @@ BYTE *buf ; - int i, len ; - -- ir_debug( Dmsg(10, "ProcWideReq10 start!!\n") ); -+ ir_debug( Dmsg(10, "ProcWideReq11 start!!\n") ); - -+ if (Request.type11.datalen < SIZEOFSHORT * 2) -+ return( -1 ); - buf += HEADER_SIZE; Request.type11.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type11.curbun = S2TOS(buf); - buf += SIZEOFSHORT; Request.type11.yomi = (Ushort *)buf; -+ if (Request.type11.datalen % SIZEOFSHORT != 0) -+ return( -1 ); - len = ((int)Request.type11.datalen - SIZEOFSHORT * 2) / SIZEOFSHORT ; -+ if (len == 0 || Request.type11.yomi[len - 1] != 0) -+ return( -1 ); - for (data = Request.type11.yomi, i = 0; i < len; i++, data++) - *data = ntohs( *data ); /* ¤ʤ󤫤ä¤À */ -@@ -2491,14 +2537,24 @@ BYTE *buf ; - { - register Ushort *data; -- int i, len ; -+ int i, len, rest; - - ir_debug( Dmsg(10, "ProcWideReq12 start!!\n") ); - -+ rest = Request.type12.datalen - SIZEOFSHORT; -+ if (rest < 0) -+ return( -1 ); - buf += HEADER_SIZE; Request.type12.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type12.datainfo = (Ushort *)buf; -+ if (!ushortmemchr((Ushort *)buf, 0, rest / SIZEOFSHORT)) -+ return( -1 ); - len = ushortstrlen((Ushort *)buf) + 1; -+ rest -= len * SIZEOFSHORT; -+ if (rest <= 0) -+ return( -1 ); - for( data = Request.type12.datainfo, i = 0; i < len; i++, data++ ) - *data = ntohs( *data ); /* ¤ʤ󤫤ä¤À */ - buf += len * SIZEOFSHORT; -+ if (buf[rest - 1] != '\0') -+ return( -1 ); - Request.type12.dicname = (char *)buf; - ir_debug( Dmsg(10, "req->context =%d\n", Request.type12.context) ); -@@ -2518,22 +2574,35 @@ BYTE *buf ; - { - register Ushort *data; -- int i ,len ; -+ int i ,len, rest; - - ir_debug( Dmsg(10, "ProcWideReq13 start!!\n") ); - -+ rest = Request.type13.datalen - SIZEOFSHORT; -+ if (rest < 0) -+ return( -1 ); - buf += HEADER_SIZE; Request.type13.context = S2TOS(buf); - len = SIZEOFSHORT ; - buf += len; - Request.type13.dicname = (char *)buf; -+ if (!memchr(buf, 0, rest)) -+ return( -1 ); - len = strlen( (char *)buf ) + 1; -+ rest -= len; -+ if (rest % SIZEOFSHORT -+ || rest < SIZEOFSHORT * 3) -+ return( -1 ); - buf += len; - Request.type13.yomi = (Ushort *)buf; - len = ((int)Request.type13.datalen - len - SIZEOFSHORT * 4) / SIZEOFSHORT; -+ if (ushortmemchr((Ushort *)buf, 0, len) != (Ushort *)buf + len - 1) -+ return( -1 ); - for( data = Request.type13.yomi, i = 0; i < len; i++, data++) - *data = ntohs( *data ); -- buf += (ushortstrlen((Ushort *)buf) + 1) * SIZEOFSHORT; -+ buf += len * SIZEOFSHORT; - Request.type13.yomilen = S2TOS(buf); - buf += SIZEOFSHORT; Request.type13.kouhosize = S2TOS(buf); - buf += SIZEOFSHORT; Request.type13.hinshisize = S2TOS(buf); -+ if (Request.type13.yomilen != len - 1) -+ return( -1 ); - ir_debug( Dmsg(10, "req->context =%d\n", Request.type13.context) ); - ir_debug( Dmsg(10, "req->dicname =%s\n", Request.type13.dicname) ); -@@ -2557,4 +2626,7 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq14 start!!\n") ); - -+ if (Request.type14.datalen <= SIZEOFINT + SIZEOFSHORT -+ || Request.type14.datalen % SIZEOFSHORT) -+ return( -1 ); - buf += HEADER_SIZE; Request.type14.mode = L4TOL(buf); - buf += SIZEOFINT; Request.type14.context = S2TOS(buf); -@@ -2562,4 +2634,6 @@ BYTE *buf ; - len = ((int)Request.type14.datalen - SIZEOFSHORT - SIZEOFINT) - / SIZEOFSHORT; -+ if (Request.type14.yomi[len - 1] != 0) -+ return( -1 ); - for (data = Request.type14.yomi, i = 0; i < len; i++, data++) - *data = ntohs( *data ); /* ¤ʤ󤫤ä¤À */ -@@ -2578,9 +2652,15 @@ ProcWideReq15(buf) - BYTE *buf ; - { -+ int rest; - ir_debug( Dmsg(10, "ProcWideReq15 start!!\n") ); - -+ rest = Request.type15.datalen - (SIZEOFINT + SIZEOFSHORT); -+ if (rest <= 0) -+ return( -1 ); - buf += HEADER_SIZE; Request.type15.mode = L4TOL(buf); - buf += SIZEOFINT; Request.type15.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type15.dicname = (char *)buf; -+ if (buf[rest - 1] != 0) -+ return( -1 ); - ir_debug( Dmsg(10, "req->mode =%d\n", Request.type15.mode) ); - ir_debug( Dmsg(10, "req->context =%d\n", Request.type15.context) ); -@@ -2598,4 +2678,7 @@ BYTE *buf ; - - buf += HEADER_SIZE; -+ if (Request.type17.datalen < SIZEOFCHAR * 2 -+ || buf[Request.type17.datalen - SIZEOFCHAR * 2] != 0) -+ return( -1 ); - Request.type17.dicname = (char *)buf; - Request.type17.mode = (char)*(buf + Request.type17.datalen - SIZEOFCHAR) ; -@@ -2614,4 +2697,6 @@ BYTE *buf ; - ir_debug( Dmsg(10, "ProcWideReq18 start!!\n") ); - -+ if (Request.type18.datalen < SIZEOFSHORT * 2) -+ return( -1 ); - buf += HEADER_SIZE; Request.type18.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type18.data = (char *)buf; -@@ -2631,10 +2716,16 @@ ProcWideReq19(buf) - BYTE *buf ; - { -+ int rest; - ir_debug( Dmsg(10, "ProcWideReq19 start!!\n") ); - -+ rest = Request.type20.datalen - (SIZEOFSHORT + SIZEOFINT * 2); -+ if (rest < 0) -+ return( -1 ); - buf += HEADER_SIZE; Request.type20.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type20.command = L4TOL(buf); - buf += SIZEOFINT; Request.type20.bufsize = L4TOL(buf); - buf += SIZEOFINT; Request.type20.buf = (char *)buf; -+ if (Request.type20.bufsize != rest) -+ return( -1 ); - ir_debug( Dmsg(10, "req->context =%d\n", Request.type20.context) ); - ir_debug( Dmsg(10, "req->command =%d\n", Request.type20.command) ); -@@ -2648,13 +2739,23 @@ ProcWideReq20(buf) - BYTE *buf ; - { -+ BYTE *bufend; - ir_debug( Dmsg(10, "ProcWideReq20 start!!\n") ); - -+ if (Request.type21.datalen < SIZEOFINT + SIZEOFSHORT) -+ return( -1 ); - buf += HEADER_SIZE; Request.type21.mode = L4TOL(buf); -+ bufend = buf + Request.type21.datalen; - buf += SIZEOFINT; Request.type21.context = S2TOS(buf); - buf += SIZEOFSHORT; Request.type21.dirname = (char *)buf; -+ if (!memchr(buf, 0, bufend - buf)) -+ return( -1 ); - buf += strlen((char *)buf) + 1; - Request.type21.srcdic = (char *)buf; -+ if (!memchr(buf, 0, bufend - buf)) -+ return( -1 ); - buf += strlen((char *)buf) + 1; - Request.type21.dstdic = (char *)buf; -+ if (*(bufend - 1) != 0) -+ return( -1 ); - - ir_debug( Dmsg(10, "req->mode =%d\n", Request.type21.mode) ); diff -urN -x CVS canna/pkg/DESCR 3.8/pkg/DESCR --- canna/pkg/DESCR Thu Jan 1 09:00:00 1970 +++ 3.8/pkg/DESCR Mon Jun 22 04:15:44 2026 @@ -0,0 +1,4 @@ +Canna is a Japanese input system for UNIX/Linux. It consists of a kana-to-kanji +conversion engine (cannaserver) and a user interface engine (libcanna). +You can also use Canna in X11 (via "kinput2" XIM server), +Emacs (with an appropreate patch) or other applications. diff -urN -x CVS canna/pkg/DESCR-dict 3.8/pkg/DESCR-dict --- canna/pkg/DESCR-dict Sun Jun 11 10:53:46 2000 +++ 3.8/pkg/DESCR-dict Thu Jan 1 09:00:00 1970 @@ -1,4 +0,0 @@ -Canna is a Kana-Kanji conversion engine. -This package holds the basic Canna conversion dictionaries. - -Those dictionaries install under ${DICT_DIR}. diff -urN -x CVS canna/pkg/DESCR-main 3.8/pkg/DESCR-main --- canna/pkg/DESCR-main Wed Nov 22 06:17:31 2006 +++ 3.8/pkg/DESCR-main Thu Jan 1 09:00:00 1970 @@ -1,18 +0,0 @@ -Canna is a Kana-Kanji conversion engine. -This package holds the Canna libraries. -For a fully functional system, you need access to a server, -or to install the cannaserver and cannadict packages as well. - -Kana-kanji conversion is usually started with '^o'. - -In theory, canna supports Mule (Multi-lingual emacs) and kinput2. - -From NetBSD: - To use from Mule (CANNA version), in .emacs file: - - (if (and (boundp 'CANNA) CANNA) ; Is it CANNA MULE? - (progn - (load-library "canna") - (canna) )) - -The nvi-m17n-*-canna package supports canna. diff -urN -x CVS canna/pkg/DESCR-server 3.8/pkg/DESCR-server --- canna/pkg/DESCR-server Sat Jul 12 01:18:51 2014 +++ 3.8/pkg/DESCR-server Thu Jan 1 09:00:00 1970 @@ -1,5 +0,0 @@ -Canna is a Kana-Kanji conversion engine. -This package holds the server and related utility. - -cannaserver is started as daemon. This package needs -the Canna dictionaries (cannadict package) to be functional. diff -urN -x CVS canna/pkg/PLIST 3.8/pkg/PLIST --- canna/pkg/PLIST Thu Jan 1 09:00:00 1970 +++ 3.8/pkg/PLIST Thu Jun 25 14:52:32 2026 @@ -0,0 +1,257 @@ +canna/ +canna/bin/ +canna/bin/addwords +@bin canna/bin/canlisp +@bin canna/bin/cannacheck +@bin canna/bin/cannastat +@bin canna/bin/catdic +@bin canna/bin/chkconc +canna/bin/chmoddic +canna/bin/cpdic +@bin canna/bin/crfreq +@bin canna/bin/crxdic +@bin canna/bin/crxgram +@bin canna/bin/cshost +@bin canna/bin/ctow +canna/bin/delwords +@bin canna/bin/dicar +canna/bin/dpbindic +@bin canna/bin/dpromdic +@bin canna/bin/dpxdic +@bin canna/bin/forcpp +@bin canna/bin/kpdic +canna/bin/lsdic +@bin canna/bin/mergeword +canna/bin/mkbindic +canna/bin/mkdic +canna/bin/mkromdic +canna/bin/mvdic +canna/bin/rmdic +@bin canna/bin/splitword +canna/bin/syncdic +@bin canna/bin/wtoc +canna/include/ +canna/include/canna/ +canna/include/canna/RK.h +canna/include/canna/jrkanji.h +canna/include/canna/keydef.h +canna/include/canna/mfdef.h +canna/include/canna/pubconf.h +canna/include/canna/sysdep.h +@mandir canna/man/ +canna/man/ja/ +canna/man/ja/man1/ +@man canna/man/ja/man1/addwords.1 +@man canna/man/ja/man1/cannacheck.1 +@man canna/man/ja/man1/cannakill.1 +@man canna/man/ja/man1/cannaserver.1 +@man canna/man/ja/man1/cannastat.1 +@man canna/man/ja/man1/catdic.1 +@man canna/man/ja/man1/chmoddic.1 +@man canna/man/ja/man1/cpdic.1 +@man canna/man/ja/man1/cshost.1 +@man canna/man/ja/man1/ctow.1 +@man canna/man/ja/man1/delwords.1 +@man canna/man/ja/man1/dicar.1 +@man canna/man/ja/man1/dpbindic.1 +@man canna/man/ja/man1/dpromdic.1 +@man canna/man/ja/man1/lsdic.1 +@man canna/man/ja/man1/mkbindic.1 +@man canna/man/ja/man1/mkdic.1 +@man canna/man/ja/man1/mkromdic.1 +@man canna/man/ja/man1/mvdic.1 +@man canna/man/ja/man1/rmdic.1 +@man canna/man/ja/man1/splitword.1 +@man canna/man/ja/man1/wtoc.1 +canna/man/ja/man3/ +@man canna/man/ja/man3/RkBgnBun.3 +@man canna/man/ja/man3/RkCloseRoma.3 +@man canna/man/ja/man3/RkCvtEuc.3 +@man canna/man/ja/man3/RkCvtHan.3 +@man canna/man/ja/man3/RkCvtHira.3 +@man canna/man/ja/man3/RkCvtKana.3 +@man canna/man/ja/man3/RkCvtRoma.3 +@man canna/man/ja/man3/RkCvtZen.3 +@man canna/man/ja/man3/RkDefineDic.3 +@man canna/man/ja/man3/RkDeleteDic.3 +@man canna/man/ja/man3/RkEndBun.3 +@man canna/man/ja/man3/RkEnlarge.3 +@man canna/man/ja/man3/RkFinalize.3 +@man canna/man/ja/man3/RkGetDicList.3 +@man canna/man/ja/man3/RkGetKanji.3 +@man canna/man/ja/man3/RkGetLex.3 +@man canna/man/ja/man3/RkGetStat.3 +@man canna/man/ja/man3/RkGetYomi.3 +@man canna/man/ja/man3/RkGoto.3 +@man canna/man/ja/man3/RkInitialize.3 +@man canna/man/ja/man3/RkIntro.3 +@man canna/man/ja/man3/RkLeft.3 +@man canna/man/ja/man3/RkMapPhonogram.3 +@man canna/man/ja/man3/RkMapRoma.3 +@man canna/man/ja/man3/RkMountDic.3 +@man canna/man/ja/man3/RkNext.3 +@man canna/man/ja/man3/RkNfer.3 +@man canna/man/ja/man3/RkOpenRoma.3 +@man canna/man/ja/man3/RkPrev.3 +@man canna/man/ja/man3/RkRemountDic.3 +@man canna/man/ja/man3/RkResize.3 +@man canna/man/ja/man3/RkRight.3 +@man canna/man/ja/man3/RkShorten.3 +@man canna/man/ja/man3/RkStoreYomi.3 +@man canna/man/ja/man3/RkUnmountDic.3 +@man canna/man/ja/man3/RkXfer.3 +@man canna/man/ja/man3/XKanjiControl.3 +@man canna/man/ja/man3/XLookupKanjiString.3 +@man canna/man/ja/man3/cannalib.3 +@man canna/man/ja/man3/jrKanjiControl.3 +@man canna/man/ja/man3/jrKanjiString.3 +@man canna/man/ja/man3/uilib.3 +canna/man/man1/ +@man canna/man/man1/addwords.1 +@man canna/man/man1/cannacheck.1 +@man canna/man/man1/cannakill.1 +@man canna/man/man1/cannaserver.1 +@man canna/man/man1/cannastat.1 +@man canna/man/man1/catdic.1 +@man canna/man/man1/chmoddic.1 +@man canna/man/man1/cpdic.1 +@man canna/man/man1/cshost.1 +@man canna/man/man1/ctow.1 +@man canna/man/man1/delwords.1 +@man canna/man/man1/dicar.1 +@man canna/man/man1/dpbindic.1 +@man canna/man/man1/dpromdic.1 +@man canna/man/man1/lsdic.1 +@man canna/man/man1/mkbindic.1 +@man canna/man/man1/mkdic.1 +@man canna/man/man1/mkromdic.1 +@man canna/man/man1/mvdic.1 +@man canna/man/man1/rmdic.1 +@man canna/man/man1/splitword.1 +@man canna/man/man1/wtoc.1 +canna/man/man3/ +@man canna/man/man3/RkBgnBun.3 +@man canna/man/man3/RkCloseRoma.3 +@man canna/man/man3/RkCvtEuc.3 +@man canna/man/man3/RkCvtHan.3 +@man canna/man/man3/RkCvtHira.3 +@man canna/man/man3/RkCvtKana.3 +@man canna/man/man3/RkCvtRoma.3 +@man canna/man/man3/RkCvtZen.3 +@man canna/man/man3/RkDefineDic.3 +@man canna/man/man3/RkDeleteDic.3 +@man canna/man/man3/RkEndBun.3 +@man canna/man/man3/RkEnlarge.3 +@man canna/man/man3/RkFinalize.3 +@man canna/man/man3/RkGetDicList.3 +@man canna/man/man3/RkGetKanji.3 +@man canna/man/man3/RkGetLex.3 +@man canna/man/man3/RkGetStat.3 +@man canna/man/man3/RkGetYomi.3 +@man canna/man/man3/RkGoto.3 +@man canna/man/man3/RkInitialize.3 +@man canna/man/man3/RkIntro.3 +@man canna/man/man3/RkLeft.3 +@man canna/man/man3/RkMapPhonogram.3 +@man canna/man/man3/RkMapRoma.3 +@man canna/man/man3/RkMountDic.3 +@man canna/man/man3/RkNext.3 +@man canna/man/man3/RkNfer.3 +@man canna/man/man3/RkOpenRoma.3 +@man canna/man/man3/RkPrev.3 +@man canna/man/man3/RkRemountDic.3 +@man canna/man/man3/RkResize.3 +@man canna/man/man3/RkRight.3 +@man canna/man/man3/RkShorten.3 +@man canna/man/man3/RkStoreYomi.3 +@man canna/man/man3/RkUnmountDic.3 +@man canna/man/man3/RkXfer.3 +@man canna/man/man3/XKanjiControl.3 +@man canna/man/man3/XLookupKanjiString.3 +@man canna/man/man3/cannalib.3 +@man canna/man/man3/jrKanjiControl.3 +@man canna/man/man3/jrKanjiString.3 +@man canna/man/man3/uilib.3 +canna/sbin/ +canna/sbin/cannakill +@bin canna/sbin/cannaserver +canna/share/ +canna/share/canna/ +canna/share/canna/default.canna +canna/share/canna/dic/ +canna/share/canna/dic/default.cbp +canna/share/canna/dic/english.cbp +canna/share/canna/dic/jdaemon.cbp +canna/share/canna/dic/just.cbp +canna/share/canna/dic/kaisoku.cbp +canna/share/canna/dic/kana.cbp +canna/share/canna/dic/lan5.cbp +canna/share/canna/dic/matsu.cbp +canna/share/canna/dic/newjis.cbp +canna/share/canna/dic/romaji.cbp +canna/share/canna/dic/sokuon.cbp +canna/share/canna/dic/tut.cbp +canna/share/canna/dic/vje.cbp +canna/share/canna/dic/wx2+.cbp +canna/share/canna/sample/ +canna/share/canna/sample/1.1.canna +canna/share/canna/sample/1.2.canna +canna/share/canna/sample/fixer.canna +canna/share/canna/sample/jdemon.canna +canna/share/canna/sample/just.canna +canna/share/canna/sample/lan5.canna +canna/share/canna/sample/matsu.canna +canna/share/canna/sample/modes.canna +canna/share/canna/sample/sample.canna +canna/share/canna/sample/skk.canna +canna/share/canna/sample/src/ +canna/share/canna/sample/src/default.ctd +canna/share/canna/sample/src/english.ctd +canna/share/canna/sample/src/is.c +canna/share/canna/sample/src/jdaemon.ctd +canna/share/canna/sample/src/just.ctd +canna/share/canna/sample/src/kaisoku.ctd +canna/share/canna/sample/src/kana.ctd +canna/share/canna/sample/src/lan5.ctd +canna/share/canna/sample/src/matsu.ctd +canna/share/canna/sample/src/newjis.ctd +canna/share/canna/sample/src/romaji.ctd +canna/share/canna/sample/src/sokuon.ctd +canna/share/canna/sample/src/tut.ctd +canna/share/canna/sample/src/vje.ctd +canna/share/canna/sample/src/wx2+.ctd +canna/share/canna/sample/tut.canna +canna/share/canna/sample/unix.canna +canna/share/canna/sample/verbose.canna +canna/share/canna/sample/vje.canna +canna/share/canna/sample/wx2+.canna +@static-lib lib/libRKC.a +@lib lib/libRKC.so.${LIBRKC_VERSION} +@static-lib lib/libRKC16.a +@lib lib/libRKC16.so.${LIBRKC16_VERSION} +@static-lib lib/libcanna.a +@lib lib/libcanna.so.${LIBcanna_VERSION} +@static-lib lib/libcanna16.a +@lib lib/libcanna16.so.${LIBcanna16_VERSION} +@cwd /var/db +@owner daemon +@group daemon +canna/ +canna/bushu.cld +canna/chimei.ctd +canna/dics.dir +canna/fuzokugo.cbd +canna/hojomwd.ctd +canna/hojoswd.ctd +canna/iroha.cbd +canna/iroha.cld +canna/jigyosyo.cld +canna/kanasmpl.ctd +canna/katakana.ctd +canna/keishiki.ctd +canna/necgaiji.ctd +canna/number.ctd +canna/software.ctd +canna/suffix.ctd +canna/zipcode.cbd +canna/zipcode.cld diff -urN -x CVS canna/pkg/PLIST-dict 3.8/pkg/PLIST-dict --- canna/pkg/PLIST-dict Sat Mar 12 04:24:42 2022 +++ 3.8/pkg/PLIST-dict Thu Jan 1 09:00:00 1970 @@ -1,36 +0,0 @@ -@mode 0755 -@owner daemon -@group daemon -canna/ -@mode -@owner -canna/canna/ -@mode u+w,g+w -@owner daemon -canna/canna/bushu.cld -@mode -@owner -canna/canna/chimei.ctd -canna/canna/dics.dir -@mode u+w,g+w -@owner daemon -canna/canna/fuzokugo.cbd -canna/canna/fuzokugo.cld -@mode -@owner -canna/canna/hojomwd.ctd -canna/canna/hojoswd.ctd -@mode u+w,g+w -@owner daemon -canna/canna/iroha.cbd -canna/canna/iroha.cld -@mode -@owner -canna/canna/kanasmpl.ctd -canna/canna/katakana.ctd -canna/canna/keishiki.ctd -canna/canna/necgaiji.ctd -canna/canna/number.ctd -canna/canna/software.ctd -canna/canna/suffix.ctd -@unexec echo "Remove /var/spool/canna manually" diff -urN -x CVS canna/pkg/PLIST-main 3.8/pkg/PLIST-main --- canna/pkg/PLIST-main Sat Mar 12 04:24:42 2022 +++ 3.8/pkg/PLIST-main Thu Jan 1 09:00:00 1970 @@ -1,150 +0,0 @@ -@pkgpath japanese/canna -include/canna/ -include/canna/RK.h -include/canna/jrkanji.h -include/canna/keydef.h -include/canna/mfdef.h -lib/default.canna -lib/dic/ -lib/dic/default.cbp -lib/dic/english.cbp -lib/dic/jdaemon.cbp -lib/dic/just.cbp -lib/dic/kaisoku.cbp -lib/dic/kana.cbp -lib/dic/lan5.cbp -lib/dic/matsu.cbp -lib/dic/newjis.cbp -lib/dic/romaji.cbp -lib/dic/sokuon.cbp -lib/dic/tut.cbp -lib/dic/vje.cbp -lib/dic/wx2+.cbp -lib/engine.cf -lib/libRKC.a -@lib lib/libRKC.so.${LIBRKC_VERSION} -lib/libRKC16.a -@lib lib/libRKC16.so.${LIBRKC16_VERSION} -lib/libcanna.a -@lib lib/libcanna.so.${LIBcanna_VERSION} -lib/libcanna16.a -@lib lib/libcanna16.so.${LIBcanna16_VERSION} -lib/sample/ -lib/sample/1.1.canna -lib/sample/1.2.canna -lib/sample/default.canna -lib/sample/fixer.canna -lib/sample/jdemon.canna -lib/sample/just.canna -lib/sample/lan5.canna -lib/sample/matsu.canna -lib/sample/modes.canna -lib/sample/sample.canna -lib/sample/skk.canna -lib/sample/src/ -lib/sample/src/Makefile -lib/sample/src/default.ctd -lib/sample/src/english.ctd -lib/sample/src/is.c -lib/sample/src/jdaemon.ctd -lib/sample/src/just.ctd -lib/sample/src/kaisoku.ctd -lib/sample/src/kana.ctd -lib/sample/src/lan5.ctd -lib/sample/src/matsu.ctd -lib/sample/src/newjis.ctd -lib/sample/src/romaji.ctd -lib/sample/src/sokuon.ctd -lib/sample/src/tut.ctd -lib/sample/src/vje.ctd -lib/sample/src/wx2+.ctd -lib/sample/tut.canna -lib/sample/unix.canna -lib/sample/vje.canna -lib/sample/wx2+.canna -man/ja/ -man/ja/man3/ -@man man/ja/man3/RkCloseRoma.3 -@man man/ja/man3/RkCvtEuc.3 -@man man/ja/man3/RkCvtHan.3 -@man man/ja/man3/RkCvtHira.3 -@man man/ja/man3/RkCvtKana.3 -@man man/ja/man3/RkCvtRoma.3 -@man man/ja/man3/RkCvtZen.3 -@man man/ja/man3/RkDefineDic.3 -@man man/ja/man3/RkDeleteDic.3 -@man man/ja/man3/RkEndBun.3 -@man man/ja/man3/RkEnlarge.3 -@man man/ja/man3/RkFinalize.3 -@man man/ja/man3/RkGetDicList.3 -@man man/ja/man3/RkGetKanji.3 -@man man/ja/man3/RkGetLex.3 -@man man/ja/man3/RkGetStat.3 -@man man/ja/man3/RkGetYomi.3 -@man man/ja/man3/RkGoto.3 -@man man/ja/man3/RkInitialize.3 -@man man/ja/man3/RkIntro.3 -@man man/ja/man3/RkLeft.3 -@man man/ja/man3/RkMapPhonogram.3 -@man man/ja/man3/RkMapRoma.3 -@man man/ja/man3/RkMountD.3 -@man man/ja/man3/RkNext.3 -@man man/ja/man3/RkNfer.3 -@man man/ja/man3/RkOpenRoma.3 -@man man/ja/man3/RkPrev.3 -@man man/ja/man3/RkRemountDic.3 -@man man/ja/man3/RkResize.3 -@man man/ja/man3/RkRgnBun.3 -@man man/ja/man3/RkRight.3 -@man man/ja/man3/RkShorten.3 -@man man/ja/man3/RkStoreYomi.3 -@man man/ja/man3/RkUnmountDic.3 -@man man/ja/man3/RkXfer.3 -@man man/ja/man3/XKanjiControl.3 -@man man/ja/man3/XLookupKanjiString.3 -@man man/ja/man3/cannalib.3 -@man man/ja/man3/jrKanjiControl.3 -@man man/ja/man3/jrKanjiString.3 -@man man/ja/man3/uilib.3 -@man man/man3/RkCloseRoma.3 -@man man/man3/RkCvtEuc.3 -@man man/man3/RkCvtHan.3 -@man man/man3/RkCvtHira.3 -@man man/man3/RkCvtKana.3 -@man man/man3/RkCvtRoma.3 -@man man/man3/RkCvtZen.3 -@man man/man3/RkDefineDic.3 -@man man/man3/RkDeleteDic.3 -@man man/man3/RkEndBun.3 -@man man/man3/RkEnlarge.3 -@man man/man3/RkFinalize.3 -@man man/man3/RkGetDicList.3 -@man man/man3/RkGetKanji.3 -@man man/man3/RkGetLex.3 -@man man/man3/RkGetStat.3 -@man man/man3/RkGetYomi.3 -@man man/man3/RkGoto.3 -@man man/man3/RkInitialize.3 -@man man/man3/RkIntro.3 -@man man/man3/RkLeft.3 -@man man/man3/RkMapPhonogram.3 -@man man/man3/RkMapRoma.3 -@man man/man3/RkMountD.3 -@man man/man3/RkNext.3 -@man man/man3/RkNfer.3 -@man man/man3/RkOpenRoma.3 -@man man/man3/RkPrev.3 -@man man/man3/RkRemountDic.3 -@man man/man3/RkResize.3 -@man man/man3/RkRgnBun.3 -@man man/man3/RkRight.3 -@man man/man3/RkShorten.3 -@man man/man3/RkStoreYomi.3 -@man man/man3/RkUnmountDic.3 -@man man/man3/RkXfer.3 -@man man/man3/XKanjiControl.3 -@man man/man3/XLookupKanjiString.3 -@man man/man3/cannalib.3 -@man man/man3/jrKanjiControl.3 -@man man/man3/jrKanjiString.3 -@man man/man3/uilib.3 diff -urN -x CVS canna/pkg/PLIST-server 3.8/pkg/PLIST-server --- canna/pkg/PLIST-server Sat Mar 12 04:24:42 2022 +++ 3.8/pkg/PLIST-server Thu Jan 1 09:00:00 1970 @@ -1,84 +0,0 @@ -bin/addwords -@bin bin/canlisp -@bin bin/cannacheck -bin/cannakill -@mode u+s,g+s -@owner daemon -@group daemon -@bin bin/cannaserver -@mode -@owner -@group -@bin bin/cannastat -@bin bin/catdic -bin/cpdic -@bin bin/crfreq -@bin bin/crxdic -@bin bin/crxgram -@bin bin/cshost -@bin bin/ctow -bin/delwords -@bin bin/dicar -bin/dpbindic -@bin bin/dpromdic -@bin bin/dpxdic -@bin bin/forcpp -@bin bin/forsort -@bin bin/kpdic -bin/lsdic -@bin bin/mergeword -bin/mkbindic -bin/mkdic -bin/mkromdic -bin/mvdic -bin/rmdic -@bin bin/splitword -bin/syncdic -@bin bin/wtoc -man/ja/man1/ -@man man/ja/man1/addwords.1 -@man man/ja/man1/cannacheck.1 -@man man/ja/man1/cannakill.1 -@man man/ja/man1/cannaserver.1 -@man man/ja/man1/cannastat.1 -@man man/ja/man1/catdic.1 -@man man/ja/man1/cpdic.1 -@man man/ja/man1/cshost.1 -@man man/ja/man1/ctow.1 -@man man/ja/man1/delwords.1 -@man man/ja/man1/dicar.1 -@man man/ja/man1/dpbindic.1 -@man man/ja/man1/dpromdic.1 -@man man/ja/man1/lsdic.1 -@man man/ja/man1/mkbindic.1 -@man man/ja/man1/mkdic.1 -@man man/ja/man1/mkromdic.1 -@man man/ja/man1/mvdic.1 -@man man/ja/man1/rmdic.1 -@man man/ja/man1/splitword.1 -@man man/ja/man1/wtoc.1 -@man man/man1/addwords.1 -@man man/man1/cannacheck.1 -@man man/man1/cannakill.1 -@man man/man1/cannaserver.1 -@man man/man1/cannastat.1 -@man man/man1/catdic.1 -@man man/man1/cpdic.1 -@man man/man1/cshost.1 -@man man/man1/ctow.1 -@man man/man1/delwords.1 -@man man/man1/dicar.1 -@man man/man1/dpbindic.1 -@man man/man1/dpromdic.1 -@man man/man1/lsdic.1 -@man man/man1/mkbindic.1 -@man man/man1/mkdic.1 -@man man/man1/mkromdic.1 -@man man/man1/mvdic.1 -@man man/man1/rmdic.1 -@man man/man1/splitword.1 -@man man/man1/wtoc.1 -@mode 0775 -@owner daemon -@group daemon -@sample /var/spool/canna/