Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: unblock Please unblock skksearch/0.0-20 to enable hardening flags for wheezy. Changes: * Use dpkg-buildflags to support hardening flags * debian/patches/*: Add DEP-3 header fields, and renumbered * Update copyright-format version to 1.0 * Update Vcs-* to anonscm.debian.org * Update Standards-Version to 3.9.3 Note that the diff has increased because of renaming debian/patches/*, but there isn't a new patch. See also the attached debdiff. unblock skksearch/0.0-20 Thanks, -- Tatsuya Kinoshita
diffstat for skksearch-0.0 skksearch-0.0
changelog | 10 ++
control | 6 -
copyright | 4 -
patches/010_conf-file.patch | 74 ++++++++++++++++++++
patches/020_plain-search.patch | 18 +++++
patches/030_db4.3.patch | 96 +++++++++++++++++++++++++++
patches/040_dic-bufsize.patch | 17 ++++
patches/050_build-warnings.patch | 49 +++++++++++++
patches/clean-build-errors-and-warnings.diff | 50 --------------
patches/conf-file.diff | 73 --------------------
patches/db4.3.diff | 95 --------------------------
patches/dic-bufsize.diff | 16 ----
patches/plain-search.diff | 67 ------------------
patches/series | 10 +-
rules | 9 +-
15 files changed, 281 insertions(+), 313 deletions(-)
diff -Nru skksearch-0.0/debian/changelog skksearch-0.0/debian/changelog
--- skksearch-0.0/debian/changelog 2011-05-10 21:43:02.000000000 +0900
+++ skksearch-0.0/debian/changelog 2012-07-08 13:28:42.000000000 +0900
@@ -1,3 +1,13 @@
+skksearch (0.0-20) unstable; urgency=low
+
+ * Use dpkg-buildflags to support hardening flags
+ * debian/patches/*: Add DEP-3 header fields, and renumbered
+ * Update copyright-format version to 1.0
+ * Update Vcs-* to anonscm.debian.org
+ * Update Standards-Version to 3.9.3
+
+ -- Tatsuya Kinoshita <tats@debian.org> Sun, 08 Jul 2012 13:28:30 +0900
+
skksearch (0.0-19) unstable; urgency=low
[ Tatsuya Kinoshita ]
diff -Nru skksearch-0.0/debian/control skksearch-0.0/debian/control
--- skksearch-0.0/debian/control 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/control 2012-07-08 13:24:37.000000000 +0900
@@ -3,9 +3,9 @@
Priority: extra
Maintainer: Tatsuya Kinoshita <tats@debian.org>
Build-Depends: cdbs, debhelper (>= 6), libdb-dev, libcdb-dev
-Standards-Version: 3.9.2
-Vcs-Git: git://git.debian.org/git/collab-maint/skksearch.git
-Vcs-Browser: http://git.debian.org/?p=collab-maint/skksearch.git
+Standards-Version: 3.9.3
+Vcs-Git: git://anonscm.debian.org/collab-maint/skksearch.git
+Vcs-Browser: http://anonscm.debian.org/git/collab-maint/skksearch.git
Package: skksearch
Architecture: any
diff -Nru skksearch-0.0/debian/copyright skksearch-0.0/debian/copyright
--- skksearch-0.0/debian/copyright 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/copyright 2012-07-08 13:24:37.000000000 +0900
@@ -1,4 +1,4 @@
-Format: http://dep.debian.net/deps/dep5
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: skksearch
Source: http://www.sato.kuis.kyoto-u.ac.jp/~sakurada/hack/skk/skksearch-0.0.tar.gz
Comment: The upstream site no longer exists.
@@ -15,7 +15,7 @@
version 2, can be found in `/usr/share/common-licenses/GPL-2'.
Files: debian/*
-Copyright: 2006-2011, Tatsuya Kinoshita <tats@debian.org>
+Copyright: 2006-2012, Tatsuya Kinoshita <tats@debian.org>
2006-2007, Noritada Kobayashi <nori1@dolphin.c.u-tokyo.ac.jp>
2005-2006, Kenshi Muto <kmuto@debian.org>
2005, Matej Vela <vela@debian.org>
diff -Nru skksearch-0.0/debian/patches/010_conf-file.patch skksearch-0.0/debian/patches/010_conf-file.patch
--- skksearch-0.0/debian/patches/010_conf-file.patch 1970-01-01 09:00:00.000000000 +0900
+++ skksearch-0.0/debian/patches/010_conf-file.patch 2012-07-08 13:24:27.000000000 +0900
@@ -0,0 +1,74 @@
+Description: Add support for a configuration file
+Origin: http://lists.debian.or.jp/debian-users/200011/msg00532.html
+Author: Fumitoshi UKAI <ukai@debian.or.jp>
+
+Index: skksearch-0.0/main.c
+===================================================================
+--- skksearch-0.0.orig/main.c Fri Dec 8 11:03:41 2000
++++ skksearch-0.0/main.c Fri Dec 8 11:04:31 2000
+@@ -67,11 +67,12 @@
+ char *p;
+ int errflag = 0;
+ int terminal = 0;
++ char *conf = NULL;
+ extern char *optarg;
+ extern int optind;
+
+ /* process arguments */
+- while ((c = getopt(argc, argv, "l:f:sit")) != EOF) {
++ while ((c = getopt(argc, argv, "l:f:sic:t")) != EOF) {
+ switch (c) {
+ case 'l':
+ loglevel = atoi(optarg);
+@@ -84,13 +85,16 @@
+ break;
+ case 't':
+ terminal = 1;
++ case 'c':
++ conf = optarg;
++ break;
+ case '?':
+ errflag = 1;
+ }
+ }
+ if (errflag) {
+ fprintf(stderr,
+- "usage: %s [-l digit] [-f logfile] [-s] dictinary1 ... \n",
++ "usage: %s [-l digit] [-f logfile] [-s] [-c config] [dictinary1 ...] \n",
+ argv[0]);
+ exit(1);
+ }
+@@ -107,6 +111,33 @@
+ for (i = 0; i < dicnum; i++) {
+ err(LOG_DEBUG, "openning dictionary %s", argv[optind + i]);
+ diclist[i] = dic_open(argv[optind + i]);
++ }
++ if (conf != NULL) {
++ FILE *fp;
++ char line[1024];
++ char *p;
++ fp = fopen(conf, "r");
++ if (fp == NULL) {
++ err(LOG_ERR, "cannot open config file `%s'\n", conf);
++ exit(1);
++ }
++ while ((p = fgets(line, sizeof(line), fp)) != NULL) {
++ if (p[0] == '#' || p[0] == '\n')
++ continue;
++ p[strlen(p)-1] = '\0'; /* chop */
++ if (i >= MAXDICNUM) {
++ err(LOG_ERR, "too many dicts in config file\n");
++ exit(1);
++ }
++ err(LOG_DEBUG, "openning dictionary %s", p);
++ dicnum++;
++ diclist[i++] = dic_open(p);
++ }
++ fclose(fp);
++ }
++ if (dicnum == 0) {
++ err(LOG_ERR, "no dict specified\n");
++ exit(1);
+ }
+
+ /* main loop */
diff -Nru skksearch-0.0/debian/patches/020_plain-search.patch skksearch-0.0/debian/patches/020_plain-search.patch
--- skksearch-0.0/debian/patches/020_plain-search.patch 1970-01-01 09:00:00.000000000 +0900
+++ skksearch-0.0/debian/patches/020_plain-search.patch 2012-07-08 13:24:27.000000000 +0900
@@ -0,0 +1,18 @@
+Description: Prevent an infinite loop in dic_plain_search
+Origin: http://mail.ring.gr.jp/skk/200309/msg00003.html
+Bug-Debian: http://bugs.debian.org/209217
+Author: KIHARA Hideto <deton@m1.interq.or.jp>
+
+Index: skksearch-0.0/dic_plain.c
+===================================================================
+--- skksearch-0.0.orig/dic_plain.c Fri Dec 15 18:06:06 2000
++++ skksearch-0.0/dic_plain.c Sat Feb 22 23:04:10 2003
+@@ -118,7 +118,7 @@
+ while (1) {
+ fseek(fp, (end + begin) / 2, SEEK_SET); /* center */
+ fgets(buf, DIC_BUFSIZE, fp); /* Skip */
+- if ((half = ftell(fp)) == end) {
++ if ((half = ftell(fp)) >= end) {
+ break; /* goto linear search */
+ }
+ fgets(buf, DIC_BUFSIZE, fp);
diff -Nru skksearch-0.0/debian/patches/030_db4.3.patch skksearch-0.0/debian/patches/030_db4.3.patch
--- skksearch-0.0/debian/patches/030_db4.3.patch 1970-01-01 09:00:00.000000000 +0900
+++ skksearch-0.0/debian/patches/030_db4.3.patch 2012-07-08 13:24:27.000000000 +0900
@@ -0,0 +1,96 @@
+Description: Port to Berkeley DB 4.3
+Bug-Debian: http://bugs.debian.org/248521
+Author: Matej Vela <vela@debian.org>
+
+Index: skksearch-0.0/dic_db.c
+===================================================================
+--- skksearch-0.0.orig/dic_db.c 2005-11-12 19:49:38.000000000 +0100
++++ skksearch-0.0/dic_db.c 2005-11-12 19:55:03.000000000 +0100
+@@ -23,19 +23,21 @@
+
+ /* BerkeleyDB environment */
+ int env_initialized = 0;
+-DB_ENV env;
+-void errcall(const char *, char *);
++DB_ENV *env;
++void errcall(const DB_ENV *, const char *, const char *);
+
+
+ struct dic *dic_db_open(struct dic *d, char *path) {
++ int ret;
+ struct dic_db_internal *internal;
+
+ if (!env_initialized) {
+- env.db_errcall = errcall;
+- if ((errno = db_appinit(NULL, NULL, &env, DB_USE_ENVIRON)) != 0) {
+- err(LOG_ERR, "dic_db_open: db_appinit failed\n");
++ if ((ret = db_env_create(&env, 0)) != 0
++ || (ret = env->open(env, NULL, 0, DB_USE_ENVIRON)) != 0) {
++ err(LOG_ERR, "dic_db_open: %s\n", db_strerror(ret));
+ exit(1);
+ }
++ env->set_errcall(env, errcall);
+ env_initialized = 1;
+ }
+
+@@ -45,10 +47,10 @@
+ }
+ memset(internal, 0, sizeof(struct dic_db_internal));
+
+- if ((errno =
+- db_open(path, DB_UNKNOWN, DB_RDONLY, 0, &env, NULL, &(internal->db)))
+- != 0) {
+- err(LOG_ERR, "dic_db_open(%s): %s\n", path, strerror(errno));
++ if ((ret = db_create(&(internal->db), env, 0)) != 0
++ || (ret = internal->db->open(internal->db, NULL, path, NULL,
++ DB_UNKNOWN, DB_RDONLY, 0)) != 0) {
++ err(LOG_ERR, "dic_db_open(%s): %s\n", path, db_strerror(ret));
+ exit(1);
+ }
+ d->internal = (void *)internal;
+@@ -58,6 +60,7 @@
+ }
+
+ char *dic_db_search(struct dic *d, char *keystr, int keylen) {
++ int ret;
+ struct dic_db_internal *internal = (struct dic_db_internal *)(d->internal);
+ DB *db = internal->db;
+ DBT key;
+@@ -71,23 +74,24 @@
+ data.ulen = DIC_BUFSIZE - 1; /* -1 for '\0' */
+ data.flags = DB_DBT_USERMEM;
+
+- if ((errno = db->get(db, NULL, &key, &data, 0)) == DB_NOTFOUND) {
++ if ((ret = db->get(db, NULL, &key, &data, 0)) == DB_NOTFOUND) {
+ return NULL;
+- } else if (errno == 0) { /* found */
++ } else if (ret == 0) { /* found */
+ *((char *)(data.data) + data.size) = '\0';
+ return (char *)(data.data);
+ } else {
+ err(LOG_WARNING, "dic_db_search: %s (may be too long entry)\n",
+- strerror(errno));
++ db_strerror(ret));
+ return NULL;
+ }
+ }
+
+
+ int dic_db_close(struct dic *d) {
++ int ret;
+ DB *db = ((struct dic_db_internal *)(d->internal))->db;
+- if ((errno = db->close(db, 0)) != 0) {
+- err(LOG_ERR, "dic_db_close: %s\n", strerror(errno));
++ if ((ret = db->close(db, 0)) != 0) {
++ err(LOG_ERR, "dic_db_close: %s\n", db_strerror(ret));
+ exit(1);
+ }
+ free(d->internal);
+@@ -96,6 +100,6 @@
+ }
+
+
+-void errcall(const char *foo, char *message) {
++void errcall(const DB_ENV *dbenv, const char *foo, const char *message) {
+ err(LOG_ERR, "dic_db: %s\n", message);
+ }
diff -Nru skksearch-0.0/debian/patches/040_dic-bufsize.patch skksearch-0.0/debian/patches/040_dic-bufsize.patch
--- skksearch-0.0/debian/patches/040_dic-bufsize.patch 1970-01-01 09:00:00.000000000 +0900
+++ skksearch-0.0/debian/patches/040_dic-bufsize.patch 2012-07-08 13:24:27.000000000 +0900
@@ -0,0 +1,17 @@
+Description: Increase DIC_BUFSIZE to support long entries
+Bug-Debian: http://bugs.debian.org/376855
+Author: SATOH Fumiyasu <fumiya@samba.gr.jp>
+
+Index: skksearch-0.0/dic.h
+===================================================================
+--- skksearch-0.0.orig/dic.h
++++ skksearch-0.0/dic.h
+@@ -12,7 +12,7 @@
+ * GNU General Public License for more details.
+ */
+
+-#define DIC_BUFSIZE 1024
++#define DIC_BUFSIZE 4096
+
+ struct dic {
+ char buf[DIC_BUFSIZE];
diff -Nru skksearch-0.0/debian/patches/050_build-warnings.patch skksearch-0.0/debian/patches/050_build-warnings.patch
--- skksearch-0.0/debian/patches/050_build-warnings.patch 1970-01-01 09:00:00.000000000 +0900
+++ skksearch-0.0/debian/patches/050_build-warnings.patch 2012-07-08 13:24:27.000000000 +0900
@@ -0,0 +1,49 @@
+Description: Clean build errors and warnings from gcc 4.1.1
+Author: Noritada Kobayashi <nori1@dolphin.c.u-tokyo.ac.jp>
+
+Index: skksearch-0.0/main.c
+===================================================================
+--- skksearch-0.0.orig/main.c 2007-04-23 21:41:05.000000000 +0900
++++ skksearch-0.0/main.c 2007-04-23 21:41:05.000000000 +0900
+@@ -15,6 +15,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+
+ #include "config.h"
+
+@@ -60,11 +61,10 @@
+ void searchdicts();
+
+
+-main(int argc, char *argv[]) {
++int main(int argc, char *argv[]) {
+ int c;
+ int s;
+ int i;
+- char *p;
+ int errflag = 0;
+ int terminal = 0;
+ char *conf = NULL;
+Index: skksearch-0.0/dic_cdb.c
+===================================================================
+--- skksearch-0.0.orig/dic_cdb.c 2007-04-23 21:40:22.000000000 +0900
++++ skksearch-0.0/dic_cdb.c 2007-04-23 21:48:04.000000000 +0900
+@@ -15,6 +15,7 @@
+ #include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <unistd.h>
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <string.h>
+@@ -42,7 +43,7 @@
+ }
+
+ char *dic_cdb_search(struct dic *d, char *key, int keylen) {
+- int dlen;
++ unsigned int dlen;
+ int fd = ((struct dic_cdb_internal *)(d->internal))->fd;
+ char *buf = d->buf;
+
diff -Nru skksearch-0.0/debian/patches/clean-build-errors-and-warnings.diff skksearch-0.0/debian/patches/clean-build-errors-and-warnings.diff
--- skksearch-0.0/debian/patches/clean-build-errors-and-warnings.diff 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/patches/clean-build-errors-and-warnings.diff 1970-01-01 09:00:00.000000000 +0900
@@ -1,50 +0,0 @@
-clean-build-errors-and-warnings.diff by Noritada Kobayashi
-<nori1@dolphin.c.u-tokyo.ac.jp>
-
-Clean build errors and warnings from gcc.
-Index: skksearch-0.0/main.c
-===================================================================
---- skksearch-0.0.orig/main.c 2007-04-23 21:41:05.000000000 +0900
-+++ skksearch-0.0/main.c 2007-04-23 21:41:05.000000000 +0900
-@@ -15,6 +15,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <unistd.h>
-
- #include "config.h"
-
-@@ -60,11 +61,10 @@
- void searchdicts();
-
-
--main(int argc, char *argv[]) {
-+int main(int argc, char *argv[]) {
- int c;
- int s;
- int i;
-- char *p;
- int errflag = 0;
- int terminal = 0;
- char *conf = NULL;
-Index: skksearch-0.0/dic_cdb.c
-===================================================================
---- skksearch-0.0.orig/dic_cdb.c 2007-04-23 21:40:22.000000000 +0900
-+++ skksearch-0.0/dic_cdb.c 2007-04-23 21:48:04.000000000 +0900
-@@ -15,6 +15,7 @@
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <unistd.h>
- #include <fcntl.h>
- #include <errno.h>
- #include <string.h>
-@@ -42,7 +43,7 @@
- }
-
- char *dic_cdb_search(struct dic *d, char *key, int keylen) {
-- int dlen;
-+ unsigned int dlen;
- int fd = ((struct dic_cdb_internal *)(d->internal))->fd;
- char *buf = d->buf;
-
diff -Nru skksearch-0.0/debian/patches/conf-file.diff skksearch-0.0/debian/patches/conf-file.diff
--- skksearch-0.0/debian/patches/conf-file.diff 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/patches/conf-file.diff 1970-01-01 09:00:00.000000000 +0900
@@ -1,73 +0,0 @@
-conf-file.diff by Takao KAWAMURA <kawamura@debian.org>
-
-Add support for a configuration file.
-Index: skksearch-0.0/main.c
-===================================================================
---- skksearch-0.0.orig/main.c Fri Dec 8 11:03:41 2000
-+++ skksearch-0.0/main.c Fri Dec 8 11:04:31 2000
-@@ -67,11 +67,12 @@
- char *p;
- int errflag = 0;
- int terminal = 0;
-+ char *conf = NULL;
- extern char *optarg;
- extern int optind;
-
- /* process arguments */
-- while ((c = getopt(argc, argv, "l:f:sit")) != EOF) {
-+ while ((c = getopt(argc, argv, "l:f:sic:t")) != EOF) {
- switch (c) {
- case 'l':
- loglevel = atoi(optarg);
-@@ -84,13 +85,16 @@
- break;
- case 't':
- terminal = 1;
-+ case 'c':
-+ conf = optarg;
-+ break;
- case '?':
- errflag = 1;
- }
- }
- if (errflag) {
- fprintf(stderr,
-- "usage: %s [-l digit] [-f logfile] [-s] dictinary1 ... \n",
-+ "usage: %s [-l digit] [-f logfile] [-s] [-c config] [dictinary1 ...] \n",
- argv[0]);
- exit(1);
- }
-@@ -107,6 +111,33 @@
- for (i = 0; i < dicnum; i++) {
- err(LOG_DEBUG, "openning dictionary %s", argv[optind + i]);
- diclist[i] = dic_open(argv[optind + i]);
-+ }
-+ if (conf != NULL) {
-+ FILE *fp;
-+ char line[1024];
-+ char *p;
-+ fp = fopen(conf, "r");
-+ if (fp == NULL) {
-+ err(LOG_ERR, "cannot open config file `%s'\n", conf);
-+ exit(1);
-+ }
-+ while ((p = fgets(line, sizeof(line), fp)) != NULL) {
-+ if (p[0] == '#' || p[0] == '\n')
-+ continue;
-+ p[strlen(p)-1] = '\0'; /* chop */
-+ if (i >= MAXDICNUM) {
-+ err(LOG_ERR, "too many dicts in config file\n");
-+ exit(1);
-+ }
-+ err(LOG_DEBUG, "openning dictionary %s", p);
-+ dicnum++;
-+ diclist[i++] = dic_open(p);
-+ }
-+ fclose(fp);
-+ }
-+ if (dicnum == 0) {
-+ err(LOG_ERR, "no dict specified\n");
-+ exit(1);
- }
-
- /* main loop */
diff -Nru skksearch-0.0/debian/patches/db4.3.diff skksearch-0.0/debian/patches/db4.3.diff
--- skksearch-0.0/debian/patches/db4.3.diff 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/patches/db4.3.diff 1970-01-01 09:00:00.000000000 +0900
@@ -1,95 +0,0 @@
-db4.3.dpatch by Matej Vela <vela@debian.org>
-
-Port to Berkeley DB 4.3-4.6.
-Index: skksearch-0.0/dic_db.c
-===================================================================
---- skksearch-0.0.orig/dic_db.c 2005-11-12 19:49:38.000000000 +0100
-+++ skksearch-0.0/dic_db.c 2005-11-12 19:55:03.000000000 +0100
-@@ -23,19 +23,21 @@
-
- /* BerkeleyDB environment */
- int env_initialized = 0;
--DB_ENV env;
--void errcall(const char *, char *);
-+DB_ENV *env;
-+void errcall(const DB_ENV *, const char *, const char *);
-
-
- struct dic *dic_db_open(struct dic *d, char *path) {
-+ int ret;
- struct dic_db_internal *internal;
-
- if (!env_initialized) {
-- env.db_errcall = errcall;
-- if ((errno = db_appinit(NULL, NULL, &env, DB_USE_ENVIRON)) != 0) {
-- err(LOG_ERR, "dic_db_open: db_appinit failed\n");
-+ if ((ret = db_env_create(&env, 0)) != 0
-+ || (ret = env->open(env, NULL, 0, DB_USE_ENVIRON)) != 0) {
-+ err(LOG_ERR, "dic_db_open: %s\n", db_strerror(ret));
- exit(1);
- }
-+ env->set_errcall(env, errcall);
- env_initialized = 1;
- }
-
-@@ -45,10 +47,10 @@
- }
- memset(internal, 0, sizeof(struct dic_db_internal));
-
-- if ((errno =
-- db_open(path, DB_UNKNOWN, DB_RDONLY, 0, &env, NULL, &(internal->db)))
-- != 0) {
-- err(LOG_ERR, "dic_db_open(%s): %s\n", path, strerror(errno));
-+ if ((ret = db_create(&(internal->db), env, 0)) != 0
-+ || (ret = internal->db->open(internal->db, NULL, path, NULL,
-+ DB_UNKNOWN, DB_RDONLY, 0)) != 0) {
-+ err(LOG_ERR, "dic_db_open(%s): %s\n", path, db_strerror(ret));
- exit(1);
- }
- d->internal = (void *)internal;
-@@ -58,6 +60,7 @@
- }
-
- char *dic_db_search(struct dic *d, char *keystr, int keylen) {
-+ int ret;
- struct dic_db_internal *internal = (struct dic_db_internal *)(d->internal);
- DB *db = internal->db;
- DBT key;
-@@ -71,23 +74,24 @@
- data.ulen = DIC_BUFSIZE - 1; /* -1 for '\0' */
- data.flags = DB_DBT_USERMEM;
-
-- if ((errno = db->get(db, NULL, &key, &data, 0)) == DB_NOTFOUND) {
-+ if ((ret = db->get(db, NULL, &key, &data, 0)) == DB_NOTFOUND) {
- return NULL;
-- } else if (errno == 0) { /* found */
-+ } else if (ret == 0) { /* found */
- *((char *)(data.data) + data.size) = '\0';
- return (char *)(data.data);
- } else {
- err(LOG_WARNING, "dic_db_search: %s (may be too long entry)\n",
-- strerror(errno));
-+ db_strerror(ret));
- return NULL;
- }
- }
-
-
- int dic_db_close(struct dic *d) {
-+ int ret;
- DB *db = ((struct dic_db_internal *)(d->internal))->db;
-- if ((errno = db->close(db, 0)) != 0) {
-- err(LOG_ERR, "dic_db_close: %s\n", strerror(errno));
-+ if ((ret = db->close(db, 0)) != 0) {
-+ err(LOG_ERR, "dic_db_close: %s\n", db_strerror(ret));
- exit(1);
- }
- free(d->internal);
-@@ -96,6 +100,6 @@
- }
-
-
--void errcall(const char *foo, char *message) {
-+void errcall(const DB_ENV *dbenv, const char *foo, const char *message) {
- err(LOG_ERR, "dic_db: %s\n", message);
- }
diff -Nru skksearch-0.0/debian/patches/dic-bufsize.diff skksearch-0.0/debian/patches/dic-bufsize.diff
--- skksearch-0.0/debian/patches/dic-bufsize.diff 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/patches/dic-bufsize.diff 1970-01-01 09:00:00.000000000 +0900
@@ -1,16 +0,0 @@
-dic-bufsize.dpatch by SATOH Fumiyasu <fumiya@samba.gr.jp>
-
-Increase DIC_BUFSIZE (Debian bug#376855).
-Index: skksearch-0.0/dic.h
-===================================================================
---- skksearch-0.0.orig/dic.h
-+++ skksearch-0.0/dic.h
-@@ -12,7 +12,7 @@
- * GNU General Public License for more details.
- */
-
--#define DIC_BUFSIZE 1024
-+#define DIC_BUFSIZE 4096
-
- struct dic {
- char buf[DIC_BUFSIZE];
diff -Nru skksearch-0.0/debian/patches/plain-search.diff skksearch-0.0/debian/patches/plain-search.diff
--- skksearch-0.0/debian/patches/plain-search.diff 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/patches/plain-search.diff 1970-01-01 09:00:00.000000000 +0900
@@ -1,67 +0,0 @@
-plain-search.dpatch by KIHARA Hideto <deton@m1.interq.or.jp>
-
-Fix end condition in binary search algorithm for plain dictionaries (#209217).
-
-Received: from [146.82.138.7] (helo=master.debian.org) by nu.ike.tottori-u.ac.jp with esmtp (Exim 3.36 #1 (Debian)) for ml@kawamura.net id 19ut2u-0001MC-00; Thu, 04 Sep 2003 21:17:04 +0900
-Received: from a15-c1.data-hotel.net [203.174.65.19] by master.debian.org with smtp (Exim 3.35 1 (Debian)) id 19ut2q-0000vR-00; Thu, 04 Sep 2003 07:17:00 -0500
-Received: (qmail 71944 invoked by alias); 4 Sep 2003 21:16:44 +0900
-Mailing-List: contact skk-help@ring.gr.jp; run by ezmlm
-Precedence: bulk
-X-No-Archive: yes
-List-Post: <mailto:skk@ring.gr.jp>
-Reply-To: skk@ring.gr.jp
-List-Help: <mailto:skk-help@ring.gr.jp>
-List-Unsubscribe: <mailto:skk-unsubscribe@ring.gr.jp>
-List-Subscribe: <mailto:skk-subscribe@ring.gr.jp>
-Delivered-To: mailing list skk@ring.gr.jp
-Received: (qmail 71354 invoked from network); 4 Sep 2003 21:15:58 +0900
-Date: Thu, 4 Sep 2003 21:16:41 +0900
-From: KIHARA Hideto <deton@m1.interq.or.jp>
-To: skk@ring.gr.jp
-Message-ID: <20030904121641.GA2684@m1.interq.or.jp>
-Mime-Version: 1.0
-User-Agent: Mutt/1.4.1i-ja.1
-Subject: [skk 5028] patch for skksearch
-X-Bogosity: No, tests=bogofilter, spamicity=0.000004, version=0.14.4
-X-UIDL: ''7"!Le8!!?#@!!?06"!
-Content-Type: text/plain; charset="ISO-2022-JP"
-Content-Transfer-Encoding: 7bit
-
-skksearch-0.0用のパッチです。
-配布元のページはもう無くなってしまったようですが、
-Debianのパッケージに入っていて、
-はまってる人をたまに見かけるので、SKK MLにも流しておきます。
-# 2ちゃんねるの方には2月ごろに流したんですが。
-
-* 現象
-「あg」のような読みを検索するとskksearchが暴走してCPUを食いつぶす。
-
-* 発生条件
-okuri-ari entriesが空のplain辞書(SKK-JISYO.JIS2等)が
-検索対象辞書に含まれるときに、
-「あg」のようにokuri-nasi entriesよりも辞書順で小さい読みを検索すると、
-無限ループにはまる。
-
-CDB形式の辞書の場合は発生しない。
-
-* 原因
-okuri-ari entriesが空の場合に、ファイル中の位置が
-okuri-ari entriesの終了位置より後になるが、
-==で比較しているためループを抜けない。
-
-* パッチ
-==を>=に変更。
-
-Index: skksearch-0.0/dic_plain.c
-===================================================================
---- skksearch-0.0.orig/dic_plain.c Fri Dec 15 18:06:06 2000
-+++ skksearch-0.0/dic_plain.c Sat Feb 22 23:04:10 2003
-@@ -118,7 +118,7 @@
- while (1) {
- fseek(fp, (end + begin) / 2, SEEK_SET); /* center */
- fgets(buf, DIC_BUFSIZE, fp); /* Skip */
-- if ((half = ftell(fp)) == end) {
-+ if ((half = ftell(fp)) >= end) {
- break; /* goto linear search */
- }
- fgets(buf, DIC_BUFSIZE, fp);
diff -Nru skksearch-0.0/debian/patches/series skksearch-0.0/debian/patches/series
--- skksearch-0.0/debian/patches/series 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/patches/series 2012-07-08 13:24:27.000000000 +0900
@@ -1,5 +1,5 @@
-conf-file.diff
-db4.3.diff
-dic-bufsize.diff
-plain-search.diff
-clean-build-errors-and-warnings.diff
+010_conf-file.patch
+020_plain-search.patch
+030_db4.3.patch
+040_dic-bufsize.patch
+050_build-warnings.patch
diff -Nru skksearch-0.0/debian/rules skksearch-0.0/debian/rules
--- skksearch-0.0/debian/rules 2011-05-03 23:35:48.000000000 +0900
+++ skksearch-0.0/debian/rules 2012-07-08 13:08:04.000000000 +0900
@@ -6,8 +6,13 @@
DEB_INSTALL_DOCS_ALL :=
DEB_INSTALL_MANPAGES_skksearch := debian/skksearch.8
-CFLAGS := -Wall -g -O$(if $(findstring noopt,$(DEB_BUILD_OPTIONS)),0,2)
-DEB_MAKE_BUILD_TARGET := CFLAGS='$(CFLAGS) -DSYSLOG' LDFLAGS='-lcdb -ldb'
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+dpkg_buildflags = DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS) dpkg-buildflags
+CFLAGS=$(shell $(dpkg_buildflags) --get CFLAGS)
+CPPFLAGS=$(shell $(dpkg_buildflags) --get CPPFLAGS)
+LDFLAGS=$(shell $(dpkg_buildflags) --get LDFLAGS)
+
+DEB_MAKE_BUILD_TARGET := CFLAGS='$(CFLAGS) $(CPPFLAGS) -DSYSLOG' LDFLAGS='$(LDFLAGS) -lcdb -ldb'
DEB_MAKE_INSTALL_TARGET :=
DEB_MAKE_CHECK_TARGET :=
Attachment:
pgpA9d7iJBqmh.pgp
Description: PGP signature