Browse Source

[3513] extended version reporting

Francis Dupont 10 years ago
parent
commit
2b7ac4c6c4

+ 1 - 0
src/bin/d2/Makefile.am

@@ -97,6 +97,7 @@ kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
 kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+kea_dhcp_ddns_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 
 
 kea_dhcp_ddnsdir = $(pkgdatadir)
 kea_dhcp_ddnsdir = $(pkgdatadir)
 kea_dhcp_ddns_DATA = dhcp-ddns.spec
 kea_dhcp_ddns_DATA = dhcp-ddns.spec

+ 16 - 5
src/bin/d2/d_controller.cc

@@ -19,6 +19,8 @@
 #include <exceptions/exceptions.h>
 #include <exceptions/exceptions.h>
 #include <log/logger_support.h>
 #include <log/logger_support.h>
 #include <dhcpsrv/cfgmgr.h>
 #include <dhcpsrv/cfgmgr.h>
+#include <cryptolink/cryptolink.h>
+#include <log/logger.h>
 
 
 #include <sstream>
 #include <sstream>
 #include <unistd.h>
 #include <unistd.h>
@@ -451,11 +453,20 @@ isc::dhcp::Daemon::getVersion(bool extended) {
 
 
     tmp << VERSION;
     tmp << VERSION;
     if (extended) {
     if (extended) {
-        tmp << std::endl << EXTENDED_VERSION;
-
-        // @todo print more details (is it Botan or OpenSSL build,
-        // with or without MySQL/Postgres? What compilation options were
-        // used? etc)
+        tmp << std::endl << EXTENDED_VERSION << std::endl;
+        tmp << "linked with " << isc::log::Logger::getVersion() << std::endl;
+        tmp << "and " << isc::cryptolink::CryptoLink::getVersion()
+            << std::endl;
+#ifdef HAVE_MYSQL
+        tmp << "database: MySQL";
+#else
+#ifdef HAVE_PGSQL
+        tmp << "database: PostgreSQL";
+#else
+        tmp << "no database";
+#endif
+#endif
+        // @todo: more details about database runtime
     }
     }
 
 
     return (tmp.str());
     return (tmp.str());

+ 1 - 0
src/bin/dhcp4/Makefile.am

@@ -82,6 +82,7 @@ kea_dhcp4_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
 kea_dhcp4_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+kea_dhcp4_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 
 
 kea_dhcp4dir = $(pkgdatadir)
 kea_dhcp4dir = $(pkgdatadir)
 kea_dhcp4_DATA = dhcp4.spec
 kea_dhcp4_DATA = dhcp4.spec

+ 16 - 5
src/bin/dhcp4/dhcp4_srv.cc

@@ -41,6 +41,8 @@
 #include <hooks/hooks_log.h>
 #include <hooks/hooks_log.h>
 #include <hooks/hooks_manager.h>
 #include <hooks/hooks_manager.h>
 #include <util/strutil.h>
 #include <util/strutil.h>
+#include <log/logger.h>
+#include <cryptolink/cryptolink.h>
 
 
 #include <asio.hpp>
 #include <asio.hpp>
 #include <boost/bind.hpp>
 #include <boost/bind.hpp>
@@ -51,6 +53,7 @@
 
 
 using namespace isc;
 using namespace isc;
 using namespace isc::asiolink;
 using namespace isc::asiolink;
+using namespace isc::cryptolink;
 using namespace isc::dhcp;
 using namespace isc::dhcp;
 using namespace isc::dhcp_ddns;
 using namespace isc::dhcp_ddns;
 using namespace isc::hooks;
 using namespace isc::hooks;
@@ -2213,11 +2216,19 @@ Daemon::getVersion(bool extended) {
 
 
     tmp << VERSION;
     tmp << VERSION;
     if (extended) {
     if (extended) {
-        tmp << endl << EXTENDED_VERSION;
-
-        // @todo print more details (is it Botan or OpenSSL build,
-        // with or without MySQL/Postgres? What compilation options were
-        // used? etc)
+        tmp << endl << EXTENDED_VERSION << endl;
+        tmp << "linked with " << Logger::getVersion() << endl;
+        tmp << "and " << CryptoLink::getVersion() << endl;
+#ifdef HAVE_MYSQL
+        tmp << "database: MySQL";
+#else
+#ifdef HAVE_PGSQL
+        tmp << "database: PostgreSQL";
+#else
+        tmp << "no database";
+#endif
+#endif
+        // @todo: more details about database runtime
     }
     }
 
 
     return (tmp.str());
     return (tmp.str());

+ 1 - 0
src/bin/dhcp6/Makefile.am

@@ -84,6 +84,7 @@ kea_dhcp6_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
 kea_dhcp6_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+kea_dhcp6_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 
 
 kea_dhcp6dir = $(pkgdatadir)
 kea_dhcp6dir = $(pkgdatadir)
 kea_dhcp6_DATA = dhcp6.spec
 kea_dhcp6_DATA = dhcp6.spec

+ 18 - 5
src/bin/dhcp6/dhcp6_srv.cc

@@ -46,6 +46,8 @@
 #include <util/encode/hex.h>
 #include <util/encode/hex.h>
 #include <util/io_utilities.h>
 #include <util/io_utilities.h>
 #include <util/range_utilities.h>
 #include <util/range_utilities.h>
+#include <log/logger.h>
+#include <cryptolink/cryptolink.h>
 
 
 #include <asio.hpp>
 #include <asio.hpp>
 
 
@@ -62,9 +64,11 @@
 
 
 using namespace isc;
 using namespace isc;
 using namespace isc::asiolink;
 using namespace isc::asiolink;
-using namespace isc::dhcp_ddns;
+using namespace isc::cryptolink;
 using namespace isc::dhcp;
 using namespace isc::dhcp;
+using namespace isc::dhcp_ddns;
 using namespace isc::hooks;
 using namespace isc::hooks;
+using namespace isc::log;
 using namespace isc::util;
 using namespace isc::util;
 using namespace std;
 using namespace std;
 
 
@@ -2760,10 +2764,19 @@ Daemon::getVersion(bool extended) {
     tmp << VERSION;
     tmp << VERSION;
     if (extended) {
     if (extended) {
         tmp << endl << EXTENDED_VERSION;
         tmp << endl << EXTENDED_VERSION;
-
-        // @todo print more details (is it Botan or OpenSSL build,
-        // with or without MySQL/Postgres? What compilation options were
-        // used? etc)
+        tmp << endl << EXTENDED_VERSION << endl;
+        tmp << "linked with " << Logger::getVersion() << endl;
+        tmp << "and " << CryptoLink::getVersion() << endl;
+#ifdef HAVE_MYSQL
+        tmp << "database: MySQL";
+#else
+#ifdef HAVE_PGSQL
+        tmp << "database: PostgreSQL";
+#else
+        tmp << "no database";
+#endif
+#endif
+        // @todo: more details about database runtime
     }
     }
 
 
     return (tmp.str());
     return (tmp.str());