diff options
author | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-10 18:20:22 +0000 |
---|---|---|
committer | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-10 18:20:22 +0000 |
commit | c779a874296a088e660b07ff886c7a11fa977f60 (patch) | |
tree | a47b47ac3b8fb4202282120b2dc4dd58313ddf4a | |
parent | d477272a5fd321c30a14bf12604079a8e4346905 (diff) | |
download | zabbix-c779a874296a088e660b07ff886c7a11fa977f60.tar.gz zabbix-c779a874296a088e660b07ff886c7a11fa977f60.tar.xz zabbix-c779a874296a088e660b07ff886c7a11fa977f60.zip |
- support of ListenIP for ZABBIX server (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@3456 97f52cf1-0a1b-0410-bd0e-c28be96e8082
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | misc/conf/zabbix_server.conf | 7 | ||||
-rw-r--r-- | src/zabbix_server/server.c | 11 |
3 files changed, 17 insertions, 2 deletions
@@ -17,6 +17,7 @@ Integrated from 1.1.x 1.1.4 + - support of ListenIP for ZABBIX server (Alexei) - changed PostgreSQL last OID function to pg_last_oid() (Alexei) - fix for start time in graph navigation (Alexei) - minor fix for Spanish translation (Alexei) diff --git a/misc/conf/zabbix_server.conf b/misc/conf/zabbix_server.conf index 25794754..75061a81 100644 --- a/misc/conf/zabbix_server.conf +++ b/misc/conf/zabbix_server.conf @@ -24,11 +24,16 @@ StartPollers=6 # This parameter must be between 2 and 255 StartTrappers=5 -# Listen port for trapping. Default port number is 10051. This parameter +# Listen port for trapper. Default port number is 10051. This parameter # must be between 1024 and 32767 ListenPort=10051 +# Listen interface for trapper. Trapper will listen all network interfaces +# if this parameter is missing. + +#ListenIP=127.0.0.1 + # How often ZABBIX will perform housekeeping procedure # (in hours) # Default value is 1 hour diff --git a/src/zabbix_server/server.c b/src/zabbix_server/server.c index a53ce13d..f6067dd6 100644 --- a/src/zabbix_server/server.c +++ b/src/zabbix_server/server.c @@ -102,6 +102,7 @@ int CONFIG_POLLER_FORKS = POLLER_FORKS; /* For trapper */ int CONFIG_TRAPPERD_FORKS = TRAPPERD_FORKS; int CONFIG_LISTEN_PORT = 10051; +char *CONFIG_LISTEN_IP = NULL; int CONFIG_TRAPPER_TIMEOUT = TRAPPER_TIMEOUT; /**/ /*int CONFIG_NOTIMEWAIT =0;*/ @@ -161,6 +162,7 @@ void init_config(void) {"UnreachablePeriod",&CONFIG_UNREACHABLE_PERIOD,0,TYPE_INT,PARM_OPT,1,3600}, {"UnreachableDelay",&CONFIG_UNREACHABLE_DELAY,0,TYPE_INT,PARM_OPT,1,3600}, {"UnavailableDelay",&CONFIG_UNAVAILABLE_DELAY,0,TYPE_INT,PARM_OPT,1,3600}, + {"ListenIP",&CONFIG_LISTEN_IP,0,TYPE_STRING,PARM_OPT,0,0}, {"ListenPort",&CONFIG_LISTEN_PORT,0,TYPE_INT,PARM_OPT,1024,32768}, /* {"NoTimeWait",&CONFIG_NOTIMEWAIT,0,TYPE_INT,PARM_OPT,0,1},*/ {"DisablePinger",&CONFIG_DISABLE_PINGER,0,TYPE_INT,PARM_OPT,0,1}, @@ -267,7 +269,14 @@ int tcp_listen(const char *host, int port, socklen_t *addrlenp) bzero((char *) &serv_addr, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; - serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); + if(CONFIG_LISTEN_IP == NULL) + { + serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); + } + else + { + serv_addr.sin_addr.s_addr = inet_addr(CONFIG_LISTEN_IP); + } serv_addr.sin_port = htons(port); if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) |