/* initialize couchbase connection */
static int mod_instantiate(CONF_SECTION *conf, void *instance) {
+ static bool version_done;
+
rlm_couchbase_t *inst = instance; /* our module instance */
+ if (!version_done) {
+ version_done = true;
+ INFO("rlm_couchbase: liblcouchbase version: %s", lcb_get_version(NULL));
+ }
+
{
char *server, *p;
size_t len, i;
*/
static int mod_instantiate(CONF_SECTION *conf, void *instance)
{
+ static bool version_done;
+
CONF_SECTION *options;
ldap_instance_t *inst = instance;
}
/*
+ * Get version info from the LDAP API.
+ */
+ if (!version_done) {
+ LDAPAPIInfo info;
+
+ version_done = true;
+
+ if (ldap_get_option(NULL, LDAP_OPT_API_INFO, &info) == LDAP_SUCCESS) {
+ if (strcmp(info.ldapai_vendor_name, LDAP_VENDOR_NAME) != 0) {
+ WARN("rlm_ldap: libldap vendor changed since the server was built");
+ WARN("rlm_ldap: linked: %s built: %s", info.ldapai_vendor_name, LDAP_VENDOR_NAME);
+ }
+
+ if (info.ldapai_vendor_version != LDAP_VENDOR_VERSION) {
+ WARN("rlm_ldap: libldap version changed since the server was built");
+ WARN("rlm_ldap: linked: %i built: %i",
+ info.ldapai_vendor_version, LDAP_VENDOR_VERSION);
+ }
+
+ INFO("rlm_ldap: libldap vendor: %s version: %i", info.ldapai_vendor_name,
+ info.ldapai_vendor_version);
+ ldap_memfree(info.ldapai_extensions);
+ }
+ }
+
+ /*
* If the configuration parameters can't be parsed, then fail.
*/
if ((parse_sub_section(inst, conf, &inst->accounting, RLM_COMPONENT_ACCT) < 0) ||
static int mod_instantiate(CONF_SECTION *conf, void *instance)
{
+ static bool version_done;
+
REDIS_INST *inst = instance;
+ if (!version_done) {
+ version_done = true;
+
+ INFO("rlm_redis: libhiredis version: %i.%i.%i", HIREDIS_MAJOR, HIREDIS_MINOR, HIREDIS_PATCH);
+ }
+
inst->xlat_name = cf_section_name2(conf);
- if (!inst->xlat_name)
- inst->xlat_name = cf_section_name1(conf);
+ if (!inst->xlat_name) inst->xlat_name = cf_section_name1(conf);
xlat_register(inst->xlat_name, redis_xlat, NULL, inst); /* FIXME! */
*/
int rest_init(rlm_rest_t *instance)
{
+ static bool version_done;
CURLcode ret;
/* developer sanity */
return -1;
}
- DEBUG("rlm_rest (%s): CURL library version: %s", instance->xlat_name, curl_version());
+ if (!version_done) {
+ curl_version_info_data *curlversion;
+
+ version_done = true;
+
+ curlversion = curl_version_info(CURLVERSION_NOW);
+ if (strcmp(LIBCURL_VERSION, curlversion->version) != 0) {
+ WARN("rlm_rest: libcurl version changed since the server was built");
+ WARN("rlm_rest: linked: %s built: %s", curlversion->version, LIBCURL_VERSION);
+ }
+
+ INFO("rlm_rest: libcurl version: %s", curl_version());
+ }
return 0;
}
static int mod_instantiate(CONF_SECTION *conf, rlm_sql_config_t *config)
{
+ static bool version_done;
+
bool exists;
rlm_sql_sqlite_config_t *driver;
struct stat buf;
- if (sqlite3_libversion_number() != SQLITE_VERSION_NUMBER) {
- DEBUG2("rlm_sql_sqlite: SQLite library version (%s) is different from the version the server was "
- "originally built against (%s), this may cause issues",
- sqlite3_libversion(), SQLITE_VERSION);
+ if (!version_done) {
+ version_done = true;
+
+ if (sqlite3_libversion_number() != SQLITE_VERSION_NUMBER) {
+ WARN("rlm_sql_sqlite: libsqlite version changed since the server was built");
+ WARN("rlm_sql_sqlite: linked: %s built: %s", sqlite3_libversion(), SQLITE_VERSION);
+ }
+ INFO("rlm_sql_sqlite: libsqlite version: %s", sqlite3_libversion());
}
MEM(driver = config->driver = talloc_zero(config, rlm_sql_sqlite_config_t));
if (cf_section_parse(conf, driver, driver_config) < 0) {
return -1;
}
-
- INFO("rlm_sql_sqlite: SQLite library version: %s", sqlite3_libversion());
if (!driver->filename) {
MEM(driver->filename = talloc_typed_asprintf(driver, "%s/%s", get_radius_dir(), config->sql_db));
}