Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Sep 2014 19:36:36 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r369416 - in head/net-mgmt/nrpe: . files
Message-ID:  <201409271936.s8RJaaV5035120@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Sat Sep 27 19:36:35 2014
New Revision: 369416
URL: http://svnweb.freebsd.org/changeset/ports/369416
QAT: https://qat.redports.org/buildarchive/r369416/

Log:
  - Apply patch to fix timed out SSL connections from spinning CPU
  
  Tested by:	bdrewery
  Submitted by:	kajetan.staszkiewicz@innogames.de
  Submitted by:	ohauer
  PR:		176438
  Approved by:	maintainer timeout

Modified:
  head/net-mgmt/nrpe/Makefile
  head/net-mgmt/nrpe/files/patch-src-nrpe.c

Modified: head/net-mgmt/nrpe/Makefile
==============================================================================
--- head/net-mgmt/nrpe/Makefile	Sat Sep 27 19:07:28 2014	(r369415)
+++ head/net-mgmt/nrpe/Makefile	Sat Sep 27 19:36:35 2014	(r369416)
@@ -3,7 +3,7 @@
 
 PORTNAME=	nrpe
 DISTVERSION=	2.15
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	net-mgmt
 MASTER_SITES=	SF/nagios/${PORTNAME}-2.x/${PORTNAME}-${PORTVERSION}
 

Modified: head/net-mgmt/nrpe/files/patch-src-nrpe.c
==============================================================================
--- head/net-mgmt/nrpe/files/patch-src-nrpe.c	Sat Sep 27 19:07:28 2014	(r369415)
+++ head/net-mgmt/nrpe/files/patch-src-nrpe.c	Sat Sep 27 19:36:35 2014	(r369416)
@@ -1,6 +1,15 @@
---- src/nrpe.c.orig	2013-07-10 21:18:24.000000000 +0000
-+++ src/nrpe.c	2013-07-10 21:20:25.000000000 +0000
-@@ -89,7 +89,9 @@
+--- ./src/nrpe.c.orig	2013-09-06 17:27:13.000000000 +0200
++++ ./src/nrpe.c	2013-10-05 17:15:33.000000000 +0200
+@@ -30,6 +30,8 @@
+ #include "utils.h"
+ #include "acl.h"
+ 
++#include <poll.h>
++
+ #ifdef HAVE_SSL
+ #include "../include/dh.h"
+ #endif
+@@ -100,7 +102,9 @@
  int     use_src=FALSE; /* Define parameter for SRC option */
  
  
@@ -10,7 +19,38 @@
  
  
  int main(int argc, char **argv){
-@@ -1673,6 +1675,7 @@
+@@ -969,8 +973,14 @@
+ 					continue;
+ 
+ 				/* socket is nonblocking and we don't have a connection yet */
+-				if(errno==EAGAIN)
++				if(errno==EAGAIN) {
++					struct pollfd pfd;
++
++					pfd.fd = sock;
++					pfd.events = POLLIN;
++					poll(&pfd,1,-1);
+ 					continue;
++					}
+ 
+ 				/* fix for HP-UX 11.0 - just retry */
+ 				if(errno==ENOBUFS)
+@@ -1207,9 +1217,13 @@
+ 	if(result==STATE_OK && use_ssl==TRUE){
+ 		if((ssl=SSL_new(ctx))!=NULL){
+ 			SSL_set_fd(ssl,sock);
++			int n = 0;
+ 
+ 			/* keep attempting the request if needed */
+-                        while(((rc=SSL_accept(ssl))!=1) && (SSL_get_error(ssl,rc)==SSL_ERROR_WANT_READ));
++                        while( ((rc=SSL_accept(ssl))!=1) && (SSL_get_error(ssl,rc)==SSL_ERROR_WANT_READ) && n <= 600){
++				usleep(100000);
++				n++;
++			}
+ 
+ 			if(rc!=1){
+ 				syslog(LOG_ERR,"Error: Could not complete SSL handshake. %d\n",SSL_get_error(ssl,rc));
+@@ -1796,6 +1810,7 @@
  	return OK;
          }
  
@@ -18,7 +58,7 @@
  void complete_SSL_shutdown( SSL *ssl) {
  
  	/*  
-@@ -1693,6 +1696,7 @@
+@@ -1816,6 +1831,7 @@
  		if( SSL_shutdown( ssl)) break;
  	}
  }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201409271936.s8RJaaV5035120>