[Bug 1774] Segfaults if cryptostats enabled and built without OpenSSL.
bk: 4d253ed0A400LyhRQIV0u23NJwuGAA
+* [Bug 1773] openssl not detected during ./configure.
+* [Bug 1774] Segfaults if cryptostats enabled and built without OpenSSL.
(4.2.7p111) 2011/01/05 Released by Harlan Stenn <stenn@ntp.org>
* [Bug 1772] refclock_open() return value check wrong for ACTS.
* Default --with-openssl-libdir and --with-openssl-incdir to the values
'')
;;
*)
- pkgans=`$PKG_CONFIG --libs-only-L openssl | sed -e 's/^-L//'`
- case "$pkgans" in
- '')
- # Look in:
- ans="/usr/lib /usr/lib/openssl /usr/sfw/lib"
- ans="$ans /usr/local/lib /usr/local/ssl/lib /lib"
- ;;
- *)
- ans="$pkgans"
- ;;
- esac
+ pkgans="`$PKG_CONFIG --libs-only-L openssl | sed -e 's/^-L//'`" 2>/dev/null
+ test -f "${pkgans}/pkgconfig/openssl.pc" && ans="$pkgans"
;;
esac
;;
*) # Look where they said
;;
esac
+case "$ans" in
+ yes)
+ # Look in:
+ ans="/usr/lib /usr/lib/openssl /usr/sfw/lib"
+ ans="$ans /usr/local/lib /usr/local/ssl/lib /lib"
+esac
case "$ans" in
no)
;;
'')
;;
*)
- pkgans=`$PKG_CONFIG --cflags-only-I openssl | sed -e 's/^-I//'`
- case "$pkgans" in
- '')
- # Look in:
- ans="/usr/include /usr/sfw/include /usr/local/include"
- ans="$ans /usr/local/ssl/include"
- ;;
- *)
- ans="$pkgans"
- ;;
- esac
+ pkgans="`$PKG_CONFIG --cflags-only-I openssl | sed -e 's/^-I//'`" 2>/dev/null
+ test -f "${pkgans}/pkgconfig/openssl.pc" && ans="$pkgans"
;;
esac
;;
*) # Look where they said
;;
esac
+case "$ans" in
+ yes)
+ # Look in:
+ ans="/usr/include /usr/sfw/include /usr/local/include"
+ ans="$ans /usr/local/ssl/include"
+esac
case "$ans" in
no)
;;
for (; pfilegen_token != NULL; pfilegen_token = pfilegen_token->link) {
filegen_string = keyword(pfilegen_token->i);
filegen = filegen_get(filegen_string);
+ if (NULL == filegen) {
+ msyslog(LOG_ERR,
+ "stats %s unrecognized",
+ filegen_string);
+ continue;
+ }
DPRINTF(4, ("enabling filegen for %s statistics '%s%s'\n",
filegen_string, filegen->prefix,
filegen->basename));
for (; my_node != NULL; my_node = my_node->link) {
filegen_file = keyword(my_node->filegen_token);
filegen = filegen_get(filegen_file);
+ if (NULL == filegen) {
+ msyslog(LOG_ERR,
+ "filegen category '%s' unrecognized",
+ filegen_file);
+ continue;
+ }
/* Initialize the filegen variables to their pre-configuration states */
filegen_flag = filegen->flag;
# define MAXPATHLEN 256
#endif
-#ifdef DEBUG_TIMING
-static FILEGEN timingstats;
-#endif
-#ifdef AUTOKEY
-static FILEGEN cryptostats;
-#endif /* AUTOKEY */
static char statsdir[MAXPATHLEN] = NTP_VAR;
static FILEGEN peerstats;
static FILEGEN rawstats;
static FILEGEN sysstats;
static FILEGEN protostats;
+static FILEGEN cryptostats;
+static FILEGEN timingstats;
/*
* This controls whether stats are written to the fileset. Provided
filegen_register(statsdir, "rawstats", &rawstats);
filegen_register(statsdir, "sysstats", &sysstats);
filegen_register(statsdir, "protostats", &protostats);
-#ifdef AUTOKEY
filegen_register(statsdir, "cryptostats", &cryptostats);
-#endif /* AUTOKEY */
-#ifdef DEBUG_TIMING
filegen_register(statsdir, "timingstats", &timingstats);
-#endif /* DEBUG_TIMING */
/*
* register with libntp ntp_set_tod() to call us back
* when time is stepped.