summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2013-01-25 17:43:37 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2013-01-25 17:43:37 +0000
commit6c830c4aac6db9299a58066dffa980241fb0691b (patch)
tree61fe1664c95073ccc651022b867543c5a8df7ed8 /net-analyzer
parent0.9.16 version bump. (diff)
downloadgentoo-2-6c830c4aac6db9299a58066dffa980241fb0691b.tar.gz
gentoo-2-6c830c4aac6db9299a58066dffa980241fb0691b.tar.bz2
gentoo-2-6c830c4aac6db9299a58066dffa980241fb0691b.zip
Version bump; remove old version.
(Portage version: 2.2.0_alpha159/cvs/Linux x86_64, signed Manifest commit with key 1CD13C8AD4301342)
Diffstat (limited to 'net-analyzer')
-rw-r--r--net-analyzer/nrpe/ChangeLog12
-rw-r--r--net-analyzer/nrpe/files/nrpe-2.14-multiline.patch204
-rw-r--r--net-analyzer/nrpe/files/nrpe-2.14-tcpd-et-al.patch75
-rw-r--r--net-analyzer/nrpe/files/nrpe-nagios3-r122
-rw-r--r--net-analyzer/nrpe/files/nrpe.init6
-rw-r--r--net-analyzer/nrpe/files/nrpe.xinetd11
-rw-r--r--net-analyzer/nrpe/nrpe-2.13-r2.ebuild121
-rw-r--r--net-analyzer/nrpe/nrpe-2.14.ebuild123
8 files changed, 415 insertions, 159 deletions
diff --git a/net-analyzer/nrpe/ChangeLog b/net-analyzer/nrpe/ChangeLog
index 14c2e09aba53..ddf462f10a27 100644
--- a/net-analyzer/nrpe/ChangeLog
+++ b/net-analyzer/nrpe/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for net-analyzer/nrpe
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nrpe/ChangeLog,v 1.13 2012/12/16 15:21:39 armin76 Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nrpe/ChangeLog,v 1.14 2013/01/25 17:43:37 flameeyes Exp $
+
+*nrpe-2.14 (25 Jan 2013)
+
+ 25 Jan 2013; Diego E. Pettenò <flameeyes@gentoo.org>
+ +files/nrpe-2.14-multiline.patch, +files/nrpe-2.14-tcpd-et-al.patch,
+ +nrpe-2.14.ebuild, -files/nrpe-nagios3-r1, -files/nrpe.xinetd,
+ -nrpe-2.13-r2.ebuild, files/nrpe.init:
+ Version bump; remove old version.
16 Dec 2012; Raúl Porcel <armin76@gentoo.org> nrpe-2.13-r4.ebuild:
alpha/sparc stable wrt #436738
diff --git a/net-analyzer/nrpe/files/nrpe-2.14-multiline.patch b/net-analyzer/nrpe/files/nrpe-2.14-multiline.patch
new file mode 100644
index 000000000000..3af2ef95baba
--- /dev/null
+++ b/net-analyzer/nrpe/files/nrpe-2.14-multiline.patch
@@ -0,0 +1,204 @@
+Add support for large output
+
+http://opsview-blog.opsera.com/dotorg/2008/08/enhancing-nrpe.htmlIndex: nrpe-2.14/include/common.h
+===================================================================
+Index: nrpe-2.14/include/common.h
+===================================================================
+--- nrpe-2.14.orig/include/common.h
++++ nrpe-2.14/include/common.h
+@@ -41,7 +41,7 @@
+ #define DEFAULT_SOCKET_TIMEOUT 10 /* timeout after 10 seconds */
+ #define DEFAULT_CONNECTION_TIMEOUT 300 /* timeout if daemon is waiting for connection more than this time */
+
+-#define MAX_INPUT_BUFFER 2048 /* max size of most buffers we use */
++#define MAX_INPUT_BUFFER 16384 /* max size of most buffers we use */
+ #define MAX_FILENAME_LENGTH 256
+
+ #define MAX_HOST_ADDRESS_LENGTH 256 /* max size of a host address */
+@@ -55,12 +55,14 @@
+
+ #define QUERY_PACKET 1 /* id code for a packet containing a query */
+ #define RESPONSE_PACKET 2 /* id code for a packet containing a response */
++#define RESPONSE_PACKET_WITH_MORE 3 /* id code for a packet containing a response, with more data to follow */
+
+ #define NRPE_PACKET_VERSION_3 3 /* packet version identifier */
+ #define NRPE_PACKET_VERSION_2 2
+ #define NRPE_PACKET_VERSION_1 1 /* older packet version identifiers (no longer supported) */
+
+ #define MAX_PACKETBUFFER_LENGTH 1024 /* max amount of data we'll send in one query/response */
++ /* WARNING - do not change this as older clients/servers will not work */
+
+ typedef struct packet_struct{
+ int16_t packet_version;
+Index: nrpe-2.14/src/check_nrpe.c
+===================================================================
+--- nrpe-2.14.orig/src/check_nrpe.c
++++ nrpe-2.14/src/check_nrpe.c
+@@ -221,6 +221,11 @@ int main(int argc, char **argv){
+ return STATE_UNKNOWN;
+ }
+
++ /* Altinity patch: Allow multiple packets to be received */
++ /* Indentation not corrected to allow simpler patching */
++ /* START MULTI_PACKET LOOP */
++ do {
++
+ /* wait for the response packet */
+ bytes_to_recv=sizeof(receive_packet);
+ if(use_ssl==FALSE)
+@@ -233,31 +238,24 @@ int main(int argc, char **argv){
+ /* reset timeout */
+ alarm(0);
+
+- /* close the connection */
+-#ifdef HAVE_SSL
+- if(use_ssl==TRUE){
+- SSL_shutdown(ssl);
+- SSL_free(ssl);
+- SSL_CTX_free(ctx);
+- }
+-#endif
+- graceful_close(sd,1000);
+-
+ /* recv() error */
+ if(rc<0){
+ printf("CHECK_NRPE: Error receiving data from daemon.\n");
++ graceful_close(sd,1000);
+ return STATE_UNKNOWN;
+ }
+
+ /* server disconnected */
+ else if(rc==0){
+ printf("CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.\n");
++ graceful_close(sd,1000);
+ return STATE_UNKNOWN;
+ }
+
+ /* receive underflow */
+ else if(bytes_to_recv<sizeof(receive_packet)){
+ printf("CHECK_NRPE: Receive underflow - only %d bytes received (%d expected).\n",bytes_to_recv,sizeof(receive_packet));
++ graceful_close(sd,1000);
+ return STATE_UNKNOWN;
+ }
+
+@@ -271,21 +269,21 @@ int main(int argc, char **argv){
+ calculated_crc32=calculate_crc32((char *)&receive_packet,sizeof(receive_packet));
+ if(packet_crc32!=calculated_crc32){
+ printf("CHECK_NRPE: Response packet had invalid CRC32.\n");
+- close(sd);
++ graceful_close(sd,1000);
+ return STATE_UNKNOWN;
+ }
+
+ /* check packet version */
+ if(ntohs(receive_packet.packet_version)!=NRPE_PACKET_VERSION_2){
+ printf("CHECK_NRPE: Invalid packet version received from server.\n");
+- close(sd);
++ graceful_close(sd,1000);
+ return STATE_UNKNOWN;
+ }
+
+ /* check packet type */
+- if(ntohs(receive_packet.packet_type)!=RESPONSE_PACKET){
++ if(ntohs(receive_packet.packet_type)!=RESPONSE_PACKET && ntohs(receive_packet.packet_type)!=RESPONSE_PACKET_WITH_MORE){
+ printf("CHECK_NRPE: Invalid packet type received from server.\n");
+- close(sd);
++ graceful_close(sd,1000);
+ return STATE_UNKNOWN;
+ }
+
+@@ -297,8 +295,18 @@ int main(int argc, char **argv){
+ if(!strcmp(receive_packet.buffer,""))
+ printf("CHECK_NRPE: No output returned from daemon.\n");
+ else
+- printf("%s\n",receive_packet.buffer);
+- }
++ printf("%s",receive_packet.buffer);
++
++ } while (ntohs(receive_packet.packet_type)==RESPONSE_PACKET_WITH_MORE);
++ /* END MULTI_PACKET LOOP */
++
++ /* Finish output with newline */
++ printf("\n");
++
++ /* close the connection */
++ graceful_close(sd,1000);
++
++ }
+
+ /* reset the alarm */
+ else
+@@ -434,6 +442,14 @@ int graceful_close(int sd, int timeout){
+ struct timeval tv;
+ char buf[1000];
+
++#ifdef HAVE_SSL
++ if(use_ssl==TRUE){
++ SSL_shutdown(ssl);
++ SSL_free(ssl);
++ SSL_CTX_free(ctx);
++ }
++#endif
++
+ /* send FIN packet */
+ shutdown(sd,SHUT_WR);
+ for(;;){
+Index: nrpe-2.14/src/nrpe.c
+===================================================================
+--- nrpe-2.14.orig/src/nrpe.c
++++ nrpe-2.14/src/nrpe.c
+@@ -1056,6 +1056,8 @@ void handle_connection(int sock){
+ char processed_command[MAX_INPUT_BUFFER];
+ int result=STATE_OK;
+ int early_timeout=FALSE;
++ int bytes_copied=0;
++ char *pbuffer=&buffer[0];
+ int rc;
+ int x;
+ #ifdef DEBUG
+@@ -1272,6 +1274,14 @@ void handle_connection(int sock){
+ if(buffer[strlen(buffer)-1]=='\n')
+ buffer[strlen(buffer)-1]='\x0';
+
++ /* Altinity patch to allow multi packet responses */
++ /* Loop not indented to allow easier patching */
++ /* START MULTI_PACKET LOOP */
++ do {
++
++ if(debug==TRUE)
++ syslog(LOG_DEBUG,"Sending response - bytes left: %d", strlen(pbuffer));
++
+ /* clear the response packet buffer */
+ bzero(&send_packet,sizeof(send_packet));
+
+@@ -1280,11 +1290,17 @@ void handle_connection(int sock){
+
+ /* initialize response packet data */
+ send_packet.packet_version=(int16_t)htons(NRPE_PACKET_VERSION_2);
+- send_packet.packet_type=(int16_t)htons(RESPONSE_PACKET);
+ send_packet.result_code=(int16_t)htons(result);
+- strncpy(&send_packet.buffer[0],buffer,MAX_PACKETBUFFER_LENGTH);
++ strncpy(&send_packet.buffer[0],pbuffer,MAX_PACKETBUFFER_LENGTH);
+ send_packet.buffer[MAX_PACKETBUFFER_LENGTH-1]='\x0';
+-
++
++ bytes_copied = strlen(&send_packet.buffer[0]);
++ pbuffer = pbuffer+bytes_copied;
++ if(strlen(pbuffer)>0)
++ send_packet.packet_type=(int16_t)htons(RESPONSE_PACKET_WITH_MORE);
++ else
++ send_packet.packet_type=(int16_t)htons(RESPONSE_PACKET);
++
+ /* calculate the crc 32 value of the packet */
+ send_packet.crc32_value=(u_int32_t)0L;
+ calculated_crc32=calculate_crc32((char *)&send_packet,sizeof(send_packet));
+@@ -1303,6 +1319,9 @@ void handle_connection(int sock){
+ SSL_write(ssl,&send_packet,bytes_to_send);
+ #endif
+
++ } while (strlen(pbuffer) > 0);
++ /* END MULTI_PACKET LOOP */
++
+ #ifdef HAVE_SSL
+ if(ssl){
+ complete_SSL_shutdown( ssl);
diff --git a/net-analyzer/nrpe/files/nrpe-2.14-tcpd-et-al.patch b/net-analyzer/nrpe/files/nrpe-2.14-tcpd-et-al.patch
new file mode 100644
index 000000000000..efd71c7cc133
--- /dev/null
+++ b/net-analyzer/nrpe/files/nrpe-2.14-tcpd-et-al.patch
@@ -0,0 +1,75 @@
+Index: nrpe-2.14/configure.in
+===================================================================
+--- nrpe-2.14.orig/configure.in
++++ nrpe-2.14/configure.in
+@@ -1,12 +1,8 @@
+ dnl Process this -*-m4-*- file with autoconf to produce a configure script.
+
+-dnl Disable caching
+-define([AC_CACHE_LOAD],)
+-define([AC_CACHE_SAVE],)
+-
+-2.14([nrpe],[2.13],[nagios-users@lists.sourceforge.net],[nrpe],[http://www.nagios.org])
++AC_INIT([nrpe],[2.14],[nagios-users@lists.sourceforge.net],[nrpe],[http://www.nagios.org])
+ AC_CONFIG_SRCDIR([src/nrpe.c])
+-AC_CONFIG_HEADERS([include/config.h])
++
+ AC_CONFIG_FILES([Makefile
+ subst
+ src/Makefile
+@@ -16,7 +12,8 @@ AC_CONFIG_FILES([Makefile
+ init-script.suse
+ nrpe.spec
+ sample-config/nrpe.cfg
+- sample-config/nrpe.xinetd])
++ sample-config/nrpe.xinetd
++ include/config.h])
+ AC_PREFIX_DEFAULT(/usr/local/nagios)
+
+ PKG_NAME=nrpe
+@@ -45,7 +42,7 @@ dnl Checks for header files.
+ AC_HEADER_STDC
+ AC_HEADER_TIME
+ AC_HEADER_SYS_WAIT
+-AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h getopt.h grp.h inttypes.h netdb.h pwd.h signal.h stdint.h strings.h string.h syslog.h tcpd.h unistd.h arpa/inet.h netinet/in.h socket.h sys/types.h sys/time.h sys/resource.h sys/wait.h sys/socket.h sys/stat.h)
++AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h getopt.h grp.h inttypes.h netdb.h pwd.h signal.h stdint.h strings.h string.h syslog.h unistd.h arpa/inet.h netinet/in.h socket.h sys/types.h sys/time.h sys/resource.h sys/wait.h sys/socket.h sys/stat.h)
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+@@ -164,11 +161,19 @@ dnl Checks for library functions.
+ AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
+ AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
+ AC_SUBST(SOCKETLIBS)
+-AC_CHECK_LIB(wrap,main,[
+- LIBWRAPLIBS="$LIBWRAPLIBS -lwrap"
++
++AC_ARG_ENABLE([tcp-wrapper],
++ AS_HELP_STRING([--disable-tcp-wrapper], [Disable building with TCP wrappers. *** DISABLING IS A SECURITY RISK! *** Read the SECURITY file before using this option! @<:@default=enable@:>@]))
++
++LIBWRAPLIBS=""
++AS_IF([test "x$enable_tcp_wrapper" != "xno"], [
++ AC_CHECK_LIB([wrap],[hosts_access],[
++ LIBWRAPLIBS="$LIBWRAPLIBS -lwrap"
+ AC_DEFINE(HAVE_LIBWRAP,[1],[Have the TCP wrappers library])
+- ])
++ ])
++])
+ AC_SUBST(LIBWRAPLIBS)
++
+ AC_CHECK_FUNCS(strdup strstr strtoul initgroups closesocket)
+
+ dnl socklen_t check - from curl
+@@ -438,8 +443,11 @@ fi
+ AC_SUBST(TARGET_PLATFORM)
+
+ AC_ARG_ENABLE([command-args],
+- AS_HELP_STRING([--enable-command-args],[allows clients to specify command arguments. *** THIS IS A SECURITY RISK! *** Read the SECURITY file before using this option!]),
+- AC_DEFINE_UNQUOTED(ENABLE_COMMAND_ARGUMENTS,[1],[Enable command-line arguments]))
++ AS_HELP_STRING([--enable-command-args],[allows clients to specify command arguments. *** THIS IS A SECURITY RISK! *** Read the SECURITY file before using this option!]))
++
++AS_IF([test "x$enable_command_args" = "xyes"], [
++ AC_DEFINE(ENABLE_COMMAND_ARGUMENTS,[1],[Enable command-line arguments])
++])
+
+ AC_ARG_ENABLE([bash-command-substitution],
+ AS_HELP_STRING([--enable-bash-command-substitution],[allows clients to pass bash command substitutions of the form $(command). *** THIS IS A HIGH SECURITY RISK! *** Read the SECURITY file before using this option!]),
diff --git a/net-analyzer/nrpe/files/nrpe-nagios3-r1 b/net-analyzer/nrpe/files/nrpe-nagios3-r1
deleted file mode 100644
index 8032a30c47a6..000000000000
--- a/net-analyzer/nrpe/files/nrpe-nagios3-r1
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/runscript
-
-extra_started_commands="reload"
-
-command="/usr/bin/nrpe"
-command_args="-c /etc/nagios/nrpe.cfg --daemon"
-pidfile="${pidfile:-/var/run/nrpe/nrpe.pid}"
-start_stop_daemon_args="--user nagios --group nagios"
-
-depend() {
- need net
-}
-
-start_pre() {
- checkpath -d -m 0750 -o nagios:nagios /var/run/nrpe
-}
-
-reload() {
- ebegin "Reloading nrpe"
- kill -HUP $(head -n1 ${pidfile})
- eend $? "Failed to reload nrpe"
-}
diff --git a/net-analyzer/nrpe/files/nrpe.init b/net-analyzer/nrpe/files/nrpe.init
index aed53f0a5325..30f22a9085c9 100644
--- a/net-analyzer/nrpe/files/nrpe.init
+++ b/net-analyzer/nrpe/files/nrpe.init
@@ -1,7 +1,7 @@
#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nrpe/files/nrpe.init,v 1.2 2012/10/22 02:35:52 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nrpe/files/nrpe.init,v 1.3 2013/01/25 17:43:36 flameeyes Exp $
: ${CFGFILE:=/etc/nagios/nrpe.cfg}
@@ -24,6 +24,6 @@ depend() {
reload() {
ebegin "Reloading ${SVCNAME}"
- kill -HUP `cat $(get_config pid_file)`
+ kill -HUP `cat ${pidfile}`
eend $?
}
diff --git a/net-analyzer/nrpe/files/nrpe.xinetd b/net-analyzer/nrpe/files/nrpe.xinetd
deleted file mode 100644
index 52632880127c..000000000000
--- a/net-analyzer/nrpe/files/nrpe.xinetd
+++ /dev/null
@@ -1,11 +0,0 @@
-service nrpe {
- socket_type = stream
- protocol = tcp
- wait = no
- user = nagios
- group = nagios
- server = /usr/bin/nrpe
- server_args = -c /etc/nagios/nrpe.cfg --inetd
-# only_from = 127.0.0.1
- disabled = yes
-}
diff --git a/net-analyzer/nrpe/nrpe-2.13-r2.ebuild b/net-analyzer/nrpe/nrpe-2.13-r2.ebuild
deleted file mode 100644
index 52003940f392..000000000000
--- a/net-analyzer/nrpe/nrpe-2.13-r2.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nrpe/nrpe-2.13-r2.ebuild,v 1.2 2012/09/18 10:19:29 xarthisius Exp $
-
-EAPI=4
-
-inherit eutils toolchain-funcs multilib user autotools
-
-DESCRIPTION="Nagios Remote Plugin Executor"
-HOMEPAGE="http://www.nagios.org/"
-SRC_URI="mirror://sourceforge/nagios/nrpe-${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86"
-IUSE="command-args ssl tcpd xinetd"
-
-DEPEND=">=net-analyzer/nagios-plugins-1.3.0
- ssl? ( dev-libs/openssl )
- tcpd? ( sys-apps/tcp-wrappers )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/nrpe-${PV}"
-
-RESTRICT="mirror"
-
-pkg_setup() {
- enewgroup nagios
- enewuser nagios -1 /bin/bash /dev/null nagios
-
- elog "If you plan to use \"nrpe_check_control\" then you may want to specify"
- elog "different command and services files. You can override the defaults"
- elog "through the \"NAGIOS_COMMAND_FILE\" and \"NAGIOS_SERVICES_FILE\" environment variables."
- elog "NAGIOS_COMMAND_FILE=${NAGIOS_COMMAND_FILE:-/var/rw/nagios.cmd}"
- elog "NAGIOS_SERVICES_FILE=${NAGIOS_SERVICES_FILE:-/etc/services.cfg}"
-}
-
-src_prepare() {
- # Add support for large output,
- # http://opsview-blog.opsera.com/dotorg/2008/08/enhancing-nrpe.html
- epatch "${FILESDIR}/nagios-nrpe-2.13-multiline.patch"
-
- # TCP wrappers conditional, bug 326367
- epatch "${FILESDIR}/nagios-nrpe-2.13-tcpd.patch"
- # Make command-args really conditional, bug 397603
- epatch "${FILESDIR}/nagios-nrpe-2.13-command-args.patch"
-
- sed -i -e "s:/usr/local/nagios/var/rw/nagios.cmd:${NAGIOS_COMMAND_FILE:-/var/rw/nagios.cmd}:" contrib/nrpe_check_control.c || die
- sed -i -e "s:/usr/local/nagios/etc/services.cfg:${NAGIOS_SERVICES_FILE:-/etc/services.cfg}:" contrib/nrpe_check_control.c || die
-
- sed -i -e \
- "s#pid_file=/var/run/nrpe.pid#pid_file=/var/run/nrpe/nrpe.pid#" \
- sample-config//nrpe.cfg.in || die "sed failed"
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --host=${CHOST} \
- --prefix=/usr \
- --libexecdir=/usr/$(get_libdir)/nagios/plugins \
- --localstatedir=/var/nagios \
- --sysconfdir=/etc/nagios \
- --with-nrpe-user=nagios \
- --with-nrpe-group=nagios \
- $(use_enable ssl) \
- $(use_enable tcpd tcp-wrapper) \
- $(use_enable command-args)
-}
-
-src_compile() {
- emake all
-
- # Add nifty nrpe check tool
- cd contrib
- $(tc-getCC) ${CFLAGS} ${LDFLAGS} -o nrpe_check_control nrpe_check_control.c || die
-}
-
-src_install() {
- insinto /etc/nagios
- newins sample-config/nrpe.cfg nrpe.cfg
- fowners root:nagios /etc/nagios/nrpe.cfg
- fperms 0640 /etc/nagios/nrpe.cfg
-
- exeopts -m 0750 -o nagios -g nagios
- exeinto /usr/bin
- doexe src/nrpe
-
- exeopts -m 0750 -o nagios -g nagios
- exeinto /usr/$(get_libdir)/nagios/plugins
- doexe src/check_nrpe contrib/nrpe_check_control
-
- exeopts -m 0755
- newinitd "${FILESDIR}"/nrpe-nagios3-r1 nrpe
-
- dodoc LEGAL Changelog README SECURITY \
- contrib/README.nrpe_check_control
-
- use ssl && dodoc README.SSL
-
- if use xinetd; then
- insinto /etc/xinetd.d/
- doins "${FILESDIR}/nrpe.xinetd"
- fi
-}
-
-pkg_postinst() {
- einfo
- einfo "If you are using the nrpe daemon, remember to edit"
- einfo "the config file /etc/nagios/nrpe.cfg"
- einfo
-
- if use command-args ; then
- ewarn "You have enabled command-args for NRPE. This enables"
- ewarn "the ability for clients to supply arguments to commands"
- ewarn "which should be run. "
- ewarn "THIS IS CONSIDERED A SECURITY RISK!"
- ewarn "Please read /usr/share/doc/${PF}/SECURITY.bz2 for more info"
- fi
-}
diff --git a/net-analyzer/nrpe/nrpe-2.14.ebuild b/net-analyzer/nrpe/nrpe-2.14.ebuild
new file mode 100644
index 000000000000..73d9cd82b8f7
--- /dev/null
+++ b/net-analyzer/nrpe/nrpe-2.14.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nrpe/nrpe-2.14.ebuild,v 1.1 2013/01/25 17:43:37 flameeyes Exp $
+
+EAPI=4
+
+inherit eutils toolchain-funcs multilib user autotools
+
+DESCRIPTION="Nagios Remote Plugin Executor"
+HOMEPAGE="http://www.nagios.org/"
+SRC_URI="mirror://sourceforge/nagios/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="command-args ssl tcpd minimal"
+
+DEPEND="ssl? ( dev-libs/openssl )
+ !minimal? ( tcpd? ( sys-apps/tcp-wrappers ) )"
+RDEPEND="${DEPEND}
+ !minimal? ( >=net-analyzer/nagios-plugins-1.3.0 )"
+
+pkg_setup() {
+ enewgroup nagios
+ enewuser nagios -1 /bin/bash /dev/null nagios
+
+ elog "If you plan to use \"nrpe_check_control\" then you may want to specify"
+ elog "different command and services files. You can override the defaults"
+ elog "through the \"NAGIOS_COMMAND_FILE\" and \"NAGIOS_SERVICES_FILE\" environment variables."
+ elog "NAGIOS_COMMAND_FILE=${NAGIOS_COMMAND_FILE:-/var/rw/nagios.cmd}"
+ elog "NAGIOS_SERVICES_FILE=${NAGIOS_SERVICES_FILE:-/etc/services.cfg}"
+}
+
+src_prepare() {
+ # Add support for large output,
+ # http://opsview-blog.opsera.com/dotorg/2008/08/enhancing-nrpe.html
+ epatch "${FILESDIR}"/${P}-multiline.patch
+ # fix configure, among others #326367, #397603
+ epatch "${FILESDIR}"/${P}-tcpd-et-al.patch
+
+ sed -i -e '/define \(COMMAND\|SERVICES\)_FILE/d' contrib/nrpe_check_control.c || die
+
+ # change the default location of the pid file
+ sed -i -e '/pid_file/s:/var/run:/run:' sample-config/nrpe.cfg.in || die
+
+ # fix TFU handling of autoheader
+ sed -i -e '/#undef/d' include/config.h.in || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ if use minimal; then
+ myconf="--disable-tcp-wrapper --disable-command-args"
+ else
+ myconf="$(use_enable tcpd tcp-wrapper) $(use_enable command-args)"
+ fi
+
+ econf \
+ --libexecdir=/usr/$(get_libdir)/nagios/plugins \
+ --localstatedir=/var/nagios \
+ --sysconfdir=/etc/nagios \
+ --with-nrpe-user=nagios \
+ --with-nrpe-group=nagios \
+ $(use_enable ssl) \
+ ${myconf}
+}
+
+src_compile() {
+ emake -C src check_nrpe $(use minimal || echo nrpe)
+
+ # Add nifty nrpe check tool
+ $(tc-getCC) ${CPPFLAGS} ${CFLAGS} \
+ -DCOMMAND_FILE=\"${NAGIOS_COMMAND_FILE:-/var/rw/nagios.cmd}\" \
+ -DSERVICES_FILE=\"${NAGIOS_SERVICES_FILE:-/etc/services.cfg}\" \
+ ${LDFLAGS} -o nrpe_check_control contrib/nrpe_check_control.c || die
+}
+
+src_install() {
+ dodoc LEGAL Changelog README SECURITY \
+ contrib/README.nrpe_check_control \
+ $(use ssl && echo README.SSL)
+
+ exeinto /usr/$(get_libdir)/nagios/plugins
+ doexe src/check_nrpe nrpe_check_control
+
+ use minimal && return 0
+
+ ## NON-MINIMAL INSTALL FOLLOWS ##
+
+ insinto /etc/nagios
+ newins sample-config/nrpe.cfg nrpe.cfg
+ fowners root:nagios /etc/nagios/nrpe.cfg
+ fperms 0640 /etc/nagios/nrpe.cfg
+
+ exeinto /usr/libexec
+ doexe src/nrpe
+
+ newinitd "${FILESDIR}"/nrpe.init nrpe
+
+ insinto /etc/xinetd.d/
+ newins "${FILESDIR}/nrpe.xinetd.2" nrpe
+
+ if use tcpd; then
+ sed -i -e '/^reload()/, /^}/ d' -e '/extra_started_commands/s:reload::' \
+ "${D}"/etc/init.d/nrpe
+ fi
+}
+
+pkg_postinst() {
+ elog "If you are using the nrpe daemon, remember to edit"
+ elog "the config file /etc/nagios/nrpe.cfg"
+
+ if use command-args ; then
+ ewarn ""
+ ewarn "You have enabled command-args for NRPE. This enables"
+ ewarn "the ability for clients to supply arguments to commands"
+ ewarn "which should be run. "
+ ewarn "THIS IS CONSIDERED A SECURITY RISK!"
+ ewarn "Please read /usr/share/doc/${PF}/SECURITY.bz2 for more info"
+ fi
+}