diff options
author | Hiroki Sato <hrs@FreeBSD.org> | 2008-10-30 07:43:17 +0000 |
---|---|---|
committer | Hiroki Sato <hrs@FreeBSD.org> | 2008-10-30 07:43:17 +0000 |
commit | b638279af655611d44255e87528f1d251f4ce12d (patch) | |
tree | 59d5c593436454994ee216525ffb45031d7eb80b /japanese/FreeWnn-server | |
parent | 11bf49d1ea8cec5d45557d4727635d5b81ec6ae1 (diff) | |
download | ports-b638279af655611d44255e87528f1d251f4ce12d.tar.gz ports-b638279af655611d44255e87528f1d251f4ce12d.zip |
Notes
Diffstat (limited to 'japanese/FreeWnn-server')
4 files changed, 109 insertions, 7 deletions
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); |