Package: nagios-nrpe-server
Version: 2.0-7
Severity: important
Tags: patch
When using --no-ssl in nrpe server and running it as daemon the children
all segfault when shutting down.
While it doesn't stop nrpe server from working it floods the kernel log
on archs that do log segfaults:
Apr 7 12:14:33 angela kernel: [ 4416.747546] nrpe[17647]: segfault at
0000000000000030 rip 00002ba661114dd1 rsp 00007fffffc45e20 error 4
Apr 7 12:14:33 angela kernel: [ 4416.747905] nrpe[17645]: segfault at
0000000000000030 rip 00002ba661114dd1 rsp 00007fffffc45e20 error 4
Apr 7 12:14:34 angela kernel: [ 4417.810391] nrpe[17655]: segfault at
0000000000000030 rip 00002ba661114dd1 rsp 00007fffffc45e20 error 4
Apr 7 12:14:34 angela kernel: [ 4417.863524] nrpe[17660]: segfault at
0000000000000030 rip 00002ba661114dd1 rsp 00007fffffc45e20 error 4
Apr 7 12:14:34 angela kernel: [ 4417.874868] nrpe[17663]: segfault at
0000000000000030 rip 00002ba661114dd1 rsp 00007fffffc45e20 error 4
Apr 7 12:14:34 angela kernel: [ 4417.990873] nrpe[17674]: segfault at
0000000000000030 rip 00002ba661114dd1 rsp 00007fffffc45e20 error 4
....
The problem is that nrpe server tries to free SSL contexts even when
they aren't initialized. Not good. :)
Please apply:
diff -u nagios-nrpe-2.0/src/nrpe.c nagios-nrpe-2.0/src/nrpe.c
--- nagios-nrpe-2.0/src/nrpe.c
+++ nagios-nrpe-2.0/src/nrpe.c
@@ -765,9 +765,11 @@
syslog(LOG_ERR,"Could not read request from client, bailing
out...");
#ifdef HAVE_SSL
- SSL_shutdown(ssl);
- SSL_free(ssl);
- syslog(LOG_INFO,"INFO: SSL Socket Shutdown.\n");
+ if (ssl) {
+ SSL_shutdown(ssl);
+ SSL_free(ssl);
+ syslog(LOG_INFO,"INFO: SSL Socket Shutdown.\n");
+ }
#endif
return;
@@ -780,8 +782,10 @@
syslog(LOG_ERR,"Data packet from client was too short, bailing
out...");
#ifdef HAVE_SSL
- SSL_shutdown(ssl);
- SSL_free(ssl);
+ if (ssl) {
+ SSL_shutdown(ssl);
+ SSL_free(ssl);
+ }
#endif
return;
@@ -810,8 +814,10 @@
}
#ifdef HAVE_SSL
- SSL_shutdown(ssl);
- SSL_free(ssl);
+ if (ssl) {
+ SSL_shutdown(ssl);
+ SSL_free(ssl);
+ }
#endif
return;
@@ -931,8 +937,10 @@
#endif
#ifdef HAVE_SSL
- SSL_shutdown(ssl);
- SSL_free(ssl);
+ if (ssl) {
+ SSL_shutdown(ssl);
+ SSL_free(ssl);
+ }
#endif
/* log info to syslog facility */
diff -u nagios-nrpe-2.0/debian/changelog nagios-nrpe-2.0/debian/changelog
--- nagios-nrpe-2.0/debian/changelog
+++ nagios-nrpe-2.0/debian/changelog
@@ -1,3 +1,9 @@
+nagios-nrpe (2.0-7.0.0.weasel3) unstable; urgency=low
+
+ * Fix segfault when freeing unused ssl context.
+
+ -- Peter Palfrader <[EMAIL PROTECTED]> Fri, 7 Apr 2006 11:59:59 +0200
+
nagios-nrpe (2.0-7.0.0.weasel2) unstable; urgency=low
* Apply my randomness fix patch for nrpe.
--
PGP signed and encrypted | .''`. ** Debian GNU/Linux **
messages preferred. | : :' : The universal
| `. `' Operating System
http://www.palfrader.org/ | `- http://www.debian.org/
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]