aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--UPDATING10
-rw-r--r--japanese/FreeWnn-lib/Makefile2
-rw-r--r--japanese/FreeWnn-lib/files/patch-Wnn-jd-jserverrc11
-rw-r--r--japanese/FreeWnn-lib/files/patch-Wnn-jd-serverdefs (renamed from japanese/FreeWnn-lib/files/patch-serverdefs)4
-rw-r--r--japanese/FreeWnn-server/Makefile6
-rw-r--r--japanese/FreeWnn-server/files/patch-Wnn-jserver-de.c67
-rw-r--r--japanese/FreeWnn-server/files/patch-Wnn-jserver-de_header.h19
-rw-r--r--japanese/FreeWnn-server/files/patch-Wnn-jserver-initjserv.c24
8 files changed, 133 insertions, 10 deletions
diff --git a/UPDATING b/UPDATING
index 2502898b742b..9bb28fa80ca2 100644
--- a/UPDATING
+++ b/UPDATING
@@ -6,6 +6,16 @@ You should get into the habit of checking this file for changes each
time you update your ports collection, before attempting any port
upgrades.
+20081030:
+ AFFECTS: users of japanese/FreeWnn-server
+ AUTHOR: hrs@FreeBSD.org
+
+ The jserver daemon in japanese/FreeWnn-server port now uses "127.0.0.1"
+ as the default listen address for security reason. If you need
+ the wildcard address (INADDR_ANY), you have to explicitly set
+ "listenaddr" to 0.0.0.0 in ${PREFIX}/lib/wnn/ja_JP/jserverrc or
+ add "-a 0.0.0.0" to ${wnn_flags} in /etc/rc.conf.
+
20081026:
AFFECTS: users of www/asterisk-gui
AUTHOR: pneumann@gmail.com
diff --git a/japanese/FreeWnn-lib/Makefile b/japanese/FreeWnn-lib/Makefile
index 88d0ccfa95bc..7532f4f146c9 100644
--- a/japanese/FreeWnn-lib/Makefile
+++ b/japanese/FreeWnn-lib/Makefile
@@ -7,7 +7,7 @@
PORTNAME= FreeWnn
PORTVERSION= 1.1.1.a021
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES?= japanese
MASTER_SITES= ftp://ftp.freewnn.org/pub/%SUBDIR%/ \
${MASTER_SITE_SOURCEFORGE_JP}
diff --git a/japanese/FreeWnn-lib/files/patch-Wnn-jd-jserverrc b/japanese/FreeWnn-lib/files/patch-Wnn-jd-jserverrc
new file mode 100644
index 000000000000..a690aa99e24b
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-Wnn-jd-jserverrc
@@ -0,0 +1,11 @@
+--- Wnn/jd/jserverrc.orig 2008-10-30 15:41:31.000000000 +0900
++++ Wnn/jd/jserverrc 2008-10-30 15:41:47.000000000 +0900
+@@ -29,6 +29,8 @@
+ ; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ ;
+
++listenaddr 127.0.0.1
++
+ max_client 64
+ jserver_dir @LIBDIR/@LANG/dic
+ readfile pubdic/kihon.dic
diff --git a/japanese/FreeWnn-lib/files/patch-serverdefs b/japanese/FreeWnn-lib/files/patch-Wnn-jd-serverdefs
index 38e3b5397ac3..d37852859185 100644
--- a/japanese/FreeWnn-lib/files/patch-serverdefs
+++ b/japanese/FreeWnn-lib/files/patch-Wnn-jd-serverdefs
@@ -1,5 +1,5 @@
---- Wnn/jd/serverdefs.orig Tue May 20 13:56:08 2003
-+++ Wnn/jd/serverdefs Tue May 20 13:56:46 2003
+--- Wnn/jd/serverdefs.orig 2008-10-30 15:08:34.000000000 +0900
++++ Wnn/jd/serverdefs 2008-10-30 15:09:22.000000000 +0900
@@ -30,12 +30,12 @@
;
diff --git a/japanese/FreeWnn-server/Makefile b/japanese/FreeWnn-server/Makefile
index 865db29eaf7c..67e4e5e20deb 100644
--- a/japanese/FreeWnn-server/Makefile
+++ b/japanese/FreeWnn-server/Makefile
@@ -7,7 +7,7 @@
PORTNAME= FreeWnn
PORTVERSION= 1.1.1.a021
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES?= japanese
MASTER_SITES= ftp://ftp.freewnn.org/pub/%SUBDIR%/ \
${MASTER_SITE_SOURCEFORGE_JP}
@@ -17,7 +17,7 @@ PKGNAMESUFFIX= -server
DISTNAME= ${PORTNAME}-1.1.1-a021
MAINTAINER= hrs@FreeBSD.org
-COMMENT?= A Japanese/Chinese/Korean input method (Japanese client libraries)
+COMMENT?= A Japanese/Chinese/Korean input method (Japanese server)
USE_BZIP2= yes
GNU_CONFIGURE= yes
@@ -32,7 +32,7 @@ SUB_LIST= RC_SUBR=${RC_SUBR}
PKGINSTALL= ${WRKDIR}/pkg-install
WNNTYPE?= WNN
-CONFIGURE_ARGS= --enable-library=no ${CONFIGURE_ARGS.${WNNTYPE}}
+CONFIGURE_ARGS= --enable-libraries=no ${CONFIGURE_ARGS.${WNNTYPE}}
# Wnn
LIB_DEPENDS.WNN= wnn.0:${PORTSDIR}/japanese/FreeWnn-lib
diff --git a/japanese/FreeWnn-server/files/patch-Wnn-jserver-de.c b/japanese/FreeWnn-server/files/patch-Wnn-jserver-de.c
new file mode 100644
index 000000000000..7b1e79e93667
--- /dev/null
+++ b/japanese/FreeWnn-server/files/patch-Wnn-jserver-de.c
@@ -0,0 +1,67 @@
+--- Wnn/jserver/de.c.orig 2004-06-19 01:32:41.000000000 +0900
++++ Wnn/jserver/de.c 2008-10-30 15:45:46.000000000 +0900
+@@ -102,9 +102,9 @@
+ #endif
+
+ #ifndef INET6
+-# define OPTIONARGS "Df:s:h:N:p:vu4"
++# define OPTIONARGS "a:Df:s:h:N:p:vu4"
+ #else
+-# define OPTIONARGS "Df:s:h:N:p:vu46"
++# define OPTIONARGS "a:Df:s:h:N:p:vu46"
+ #endif /* INET6 */
+
+ /* Accept Socket */
+@@ -1063,7 +1063,16 @@
+ #else
+ saddr_in.sin_family = AF_INET;
+ saddr_in.sin_port = htons (port);
+- saddr_in.sin_addr.s_addr = htonl (INADDR_ANY);
++ if (!inet_aton(listenaddr, &saddr_in.sin_addr)) {
++ struct hostent *hp;
++ struct in_addr **pptr;
++
++ if ((hp = gethostbyname(listenaddr)) == NULL) {
++ xerror ("could not create inet socket");
++ }
++ pptr = (struct in_addr **)hp->h_addr_list;
++ memcpy(&saddr_in.sin_addr, pptr[0], sizeof(struct in_addr));
++ }
+ if ((sock_d_in = socket (AF_INET, SOCK_STREAM, 0)) == ERROR)
+ #endif
+ {
+@@ -1193,6 +1202,7 @@
+ {"inet", 0, NULL, '4'},
+ {"inet6", 0, NULL, '6'},
+ {"jserverrc", 1, NULL, 'f'},
++ {"listenaddr", 1, NULL, 'a'},
+ {"version", 0, NULL, 'v'},
+ {0, 0, 0, 0}
+ };
+@@ -1209,7 +1219,13 @@
+ break;
+
+ case 'f': /* --jserverrc FILENAME */
+- strcpy (jserverrcfile, optarg);
++ strncpy(jserverrcfile, optarg, sizeof(jserverrcfile) - 1);
++ jserverrcfile[sizeof(jserverrcfile) - 1] = '\0';
++ break;
++
++ case 'a': /* --listenaddr ADDR */
++ strncpy(listenaddr, optarg, sizeof(listenaddr) - 1);
++ listenaddr[sizeof(listenaddr) - 1] = '\0';
+ break;
+
+ case 's':
+@@ -1318,9 +1334,9 @@
+ {
+ fprintf(stderr,
+ #ifdef INET6
+- "usage: %s [-Du46][-f <init_file> -s <log_file(\"-\" for stderr)> -h <pos_file> -N <serverNO> -p <port_base>]\n",
++ "usage: %s [-Du46][-f <init_file> -a <listenaddr> -s <log_file(\"-\" for stderr)> -h <pos_file> -N <serverNO> -p <port_base>]\n",
+ #else
+- "usage: %s [-Du4][-f <init_file> -s <log_file(\"-\" for stderr)> -h <pos_file> -N <serverNO> -p <port_base>]\n",
++ "usage: %s [-Du4][-f <init_file> -a <listenaddr> -s <log_file(\"-\" for stderr)> -h <pos_file> -N <serverNO> -p <port_base>]\n",
+ #endif
+ cmd_name);
+ fprintf(stderr,
diff --git a/japanese/FreeWnn-server/files/patch-Wnn-jserver-de_header.h b/japanese/FreeWnn-server/files/patch-Wnn-jserver-de_header.h
new file mode 100644
index 000000000000..70c8a57c5a73
--- /dev/null
+++ b/japanese/FreeWnn-server/files/patch-Wnn-jserver-de_header.h
@@ -0,0 +1,19 @@
+--- Wnn/jserver/de_header.h.orig 2004-12-30 02:45:32.000000000 +0900
++++ Wnn/jserver/de_header.h 2008-10-30 15:45:17.000000000 +0900
+@@ -52,6 +52,8 @@
+ # endif /* KOREAN */
+ #endif /* CHINESE */
+
++#include <netdb.h>
++
+ #include "jslib.h"
+ #include "commonhd.h"
+ #include "jdata.h"
+@@ -205,6 +207,7 @@
+
+ GLOBAL char jserver_dir[MAXPATHLEN];
+ GLOBAL char jserverrcfile[MAXPATHLEN];
++GLOBAL char listenaddr[NI_MAXHOST];
+ GLOBAL char *hinsi_file_name GLOBAL_VAL(NULL);
+ GLOBAL char lang_dir[MAXPATHLEN];
+
diff --git a/japanese/FreeWnn-server/files/patch-Wnn-jserver-initjserv.c b/japanese/FreeWnn-server/files/patch-Wnn-jserver-initjserv.c
index 6fb5a53487a8..a6bd9d040f95 100644
--- a/japanese/FreeWnn-server/files/patch-Wnn-jserver-initjserv.c
+++ b/japanese/FreeWnn-server/files/patch-Wnn-jserver-initjserv.c
@@ -1,6 +1,22 @@
---- Wnn/jserver/initjserv.c.orig Wed Dec 7 18:33:51 2005
-+++ Wnn/jserver/initjserv.c Wed Dec 7 18:34:43 2005
-@@ -305,7 +305,9 @@
+--- Wnn/jserver/initjserv.c.orig 2003-05-12 03:43:15.000000000 +0900
++++ Wnn/jserver/initjserv.c 2008-10-30 16:01:50.000000000 +0900
+@@ -215,6 +215,15 @@
+ }
+ log_debug ("max_client=%d", max_client);
+ }
++ else if (listenaddr[0] == '\0' && strcmp (code, "listenaddr") == 0)
++ {
++ num = sscanf (data, "%s %s ", code, &listenaddr);
++ if (num != 2)
++ {
++ log_err ("command %s invalid.", code);
++ continue;
++ }
++ }
+ else if (strcmp (code, "max_sticky_env") == 0)
+ {
+ num = sscanf (data, "%s %d ", code, &max_sticky_env);
+@@ -305,7 +314,9 @@
}
fclose (fp);
@@ -10,7 +26,7 @@
return (0);
}
-@@ -340,7 +342,9 @@
+@@ -340,7 +351,9 @@
files[fid].localf = LOCAL;
strcpy (files[fid].name, buffer);