Author: alexander Date: 2007-10-19 07:47:15 -0600 (Fri, 19 Oct 2007) New Revision: 2120
Added: branches/minimal/packages/speech-dispatcher/speech-dispatcher-0.6.4-host-1.patch Modified: branches/minimal/packages/speech-dispatcher/Makefile Log: Merged the previous commit to the minimal branch Modified: branches/minimal/packages/speech-dispatcher/Makefile =================================================================== --- branches/minimal/packages/speech-dispatcher/Makefile 2007-10-19 13:46:00 UTC (rev 2119) +++ branches/minimal/packages/speech-dispatcher/Makefile 2007-10-19 13:47:15 UTC (rev 2120) @@ -8,6 +8,7 @@ URL-$(FILE)= http://www.freebsoft.org/pub/projects/speechd/$(FILE) SHA-$(FILE)= 9350cffa71bb1d960cefe0dae66af5bfe9036570 +PATCH1= $(DIR)-host-1.patch # Targets include $(ROOT)/scripts/functions @@ -20,6 +21,7 @@ $(std_build) compile-stage2: + patch -Np1 -i ../$(PATCH1) sed -i -e 's/LogLevel 3/LogLevel 0/' \ -e 's/# DefaultLanguage "en"/DefaultLanguage "en"/' \ -e 's/^AddModule/#Addmodule/' \ Added: branches/minimal/packages/speech-dispatcher/speech-dispatcher-0.6.4-host-1.patch =================================================================== --- branches/minimal/packages/speech-dispatcher/speech-dispatcher-0.6.4-host-1.patch (rev 0) +++ branches/minimal/packages/speech-dispatcher/speech-dispatcher-0.6.4-host-1.patch 2007-10-19 13:47:15 UTC (rev 2120) @@ -0,0 +1,154 @@ +diff -ur speech-dispatcher-0.6.4/config/speechd.conf.in speech-dispatcher-0.6.4.new/config/speechd.conf.in +--- speech-dispatcher-0.6.4/config/speechd.conf.in 2007-07-14 11:31:39.000000000 +0600 ++++ speech-dispatcher-0.6.4.new/config/speechd.conf.in 2007-10-19 19:29:25.000000000 +0600 +@@ -4,6 +4,11 @@ + + # -----SYSTEM OPTIONS----- + ++# IP address on which Speech Dispatcher should be available ++# to clients ++ ++Host 127.0.0.1 ++ + # Port on which Speech Dispatcher should be available + # to clients. + +diff -ur speech-dispatcher-0.6.4/src/server/config.c speech-dispatcher-0.6.4.new/src/server/config.c +--- speech-dispatcher-0.6.4/src/server/config.c 2007-06-22 02:23:29.000000000 +0600 ++++ speech-dispatcher-0.6.4.new/src/server/config.c 2007-10-19 19:29:25.000000000 +0600 +@@ -191,6 +191,18 @@ + } + + ++DOTCONF_CB(cb_Host) ++{ ++ in_addr_t ip; ++ assert(cmd->data.str != NULL); ++ ++ ip = inet_addr(cmd->data.str); ++ if(ip == -1) FATAL("Invalid IP address in the Host directive!"); ++ SpeechdOptions.host = ip; ++ SpeechdOptions.host_set = 1; ++ return NULL; ++} ++ + DOTCONF_CB(cb_LogFile) + { + assert(cmd->data.str != NULL); +@@ -350,6 +362,7 @@ + + cl_spec_section = NULL; + ++ ADD_CONFIG_OPTION(Host, ARG_STR); + ADD_CONFIG_OPTION(Port, ARG_INT); + ADD_CONFIG_OPTION(LogFile, ARG_STR); + ADD_CONFIG_OPTION(CustomLogFile, ARG_LIST); +@@ -402,6 +415,9 @@ + if (!SpeechdOptions.log_level_set) SpeechdOptions.log_level = 3; + if (!SpeechdOptions.port_set) SpeechdOptions.port = SPEECHD_DEFAULT_PORT; + ++ /* for compatibility with old buggy versions - INADDR_LOOPBACK is more secure */ ++ if (!SpeechdOptions.host_set) SpeechdOptions.host = htonl(INADDR_ANY); ++ + logfile = stderr; + custom_logfile = NULL; + } +diff -ur speech-dispatcher-0.6.4/src/server/options.c speech-dispatcher-0.6.4.new/src/server/options.c +--- speech-dispatcher-0.6.4/src/server/options.c 2006-07-25 17:46:19.000000000 +0600 ++++ speech-dispatcher-0.6.4.new/src/server/options.c 2007-10-19 19:29:25.000000000 +0600 +@@ -34,11 +34,12 @@ + assert(argv); + assert(argv[0]); + +- printf("Usage: %s [-{d|s}] [-l {1|2|3|4|5}] [-p=port] | [-v] | [-h]\n", argv[0]); ++ printf("Usage: %s [-{d|s}] [-l {1|2|3|4|5}] [-H=host] [-p=port] | [-v] | [-h]\n", argv[0]); + printf("Speech Dispatcher -- Common interface for Speech Synthesis (GNU GPL)\n\n"); + printf("-d, --run-daemon - Run as a daemon\n" + "-s, --run-single - Run as single application\n" + "-l, --log-level - Set log level (1..5)\n" ++ "-H, --host - Specify IP address to listen on\n" + "-p, --port - Specify a port number\n" + "-P, --pid-file - Set path to pid file\n" + "-v, --version - Report version of this program\n" +@@ -71,6 +72,14 @@ + SpeechdOptions.param = val; \ + } + ++#define SPD_OPTION_SET_IP(param) \ ++ ip = inet_addr(optarg); \ ++ if(ip != -1){ \ ++ SpeechdOptions.param ## _set = 1; \ ++ SpeechdOptions.param = ip; \ ++ } ++ ++ + #define SPD_OPTION_SET_STR(param) \ + SpeechdOptions.param = optarg + +@@ -81,6 +90,7 @@ + int c_opt; + int option_index; + int val; ++ in_addr_t ip; + + assert (argc>0); + assert(argv); +@@ -101,6 +111,9 @@ + case 'l': + SPD_OPTION_SET_INT(log_level); + break; ++ case 'H': ++ SPD_OPTION_SET_IP(host); ++ break; + case 'p': + SPD_OPTION_SET_INT(port); + break; +@@ -123,3 +136,4 @@ + } + } + #undef SPD_OPTION_SET_INT ++#undef SPD_OPTION_SET_IP +diff -ur speech-dispatcher-0.6.4/src/server/options.h speech-dispatcher-0.6.4.new/src/server/options.h +--- speech-dispatcher-0.6.4/src/server/options.h 2006-07-11 22:12:27.000000000 +0600 ++++ speech-dispatcher-0.6.4.new/src/server/options.h 2007-10-19 19:29:25.000000000 +0600 +@@ -27,6 +27,7 @@ + {"run-daemon", 0, 0, 'd'}, + {"run-single", 0, 0, 's'}, + {"log-level", 1, 0, 'l'}, ++ {"host", 1, 0, 'H'}, + {"port", 1, 0, 'p'}, + {"pid-file", 1, 0, 'P'}, + {"version", 0, 0, 'v'}, +@@ -34,7 +35,7 @@ + {0, 0, 0, 0} + }; + +-static char* spd_short_options = "dsl:p:P:vh"; ++static char* spd_short_options = "dsl:H:p:P:vh"; + + void options_print_help(char *argv[]); + void options_print_version(void); +diff -ur speech-dispatcher-0.6.4/src/server/speechd.c speech-dispatcher-0.6.4.new/src/server/speechd.c +--- speech-dispatcher-0.6.4/src/server/speechd.c 2007-06-22 02:30:57.000000000 +0600 ++++ speech-dispatcher-0.6.4.new/src/server/speechd.c 2007-10-19 19:29:53.000000000 +0600 +@@ -654,7 +654,7 @@ + } + + server_address.sin_family = AF_INET; +- server_address.sin_addr.s_addr = htonl(INADDR_ANY); ++ server_address.sin_addr.s_addr = SpeechdOptions.host; + server_address.sin_port = htons(SpeechdOptions.port); + + MSG(3,"Openning socket connection"); +diff -ur speech-dispatcher-0.6.4/src/server/speechd.h speech-dispatcher-0.6.4.new/src/server/speechd.h +--- speech-dispatcher-0.6.4/src/server/speechd.h 2007-06-22 02:31:01.000000000 +0600 ++++ speech-dispatcher-0.6.4.new/src/server/speechd.h 2007-10-19 19:29:25.000000000 +0600 +@@ -108,6 +108,8 @@ + struct{ + int port, port_set; + int log_level, log_level_set; ++ in_addr_t host; ++ int host_set; + char *pid_file; + int max_history_messages; /* Maximum of messages in history before they expire */ + }SpeechdOptions; -- http://linuxfromscratch.org/mailman/listinfo/livecd FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
