diff -Naur freeradius-1.1.2/src/main/modules.c freeradius-1.1.2.oden/src/main/modules.c --- freeradius-1.1.2/src/main/modules.c 2006-04-07 19:53:25.000000000 +0200 +++ freeradius-1.1.2.oden/src/main/modules.c 2006-06-07 10:33:43.000000000 +0200 @@ -204,7 +204,11 @@ /* * Keep the handle around so we can dlclose() it. */ - handle = lt_dlopenext(module_name); + char *tmp = malloc(strlen(module_name) + 4); + strcpy(tmp, module_name); + strcat(tmp, ".so"); + handle = lt_dlopenext(tmp); + free(tmp); if (handle == NULL) { radlog(L_ERR|L_CONS, "%s[%d] Failed to link to module '%s':" " %s\n", cffilename, cflineno, module_name, lt_dlerror()); diff -Naur freeradius-1.1.2/src/modules/rlm_eap/eap.c freeradius-1.1.2.oden/src/modules/rlm_eap/eap.c --- freeradius-1.1.2/src/modules/rlm_eap/eap.c 2006-02-06 17:23:49.000000000 +0100 +++ freeradius-1.1.2.oden/src/modules/rlm_eap/eap.c 2006-06-07 10:33:43.000000000 +0200 @@ -82,7 +82,11 @@ snprintf(buffer, sizeof(buffer), "rlm_eap_%s", eaptype_name); /* Link the loaded EAP-Type */ - handle = lt_dlopenext(buffer); + char *tmp = malloc(strlen(buffer) + 4); + strcpy(tmp, buffer); + strcat(tmp, ".so"); + handle = lt_dlopenext(tmp); + free(tmp); if (handle == NULL) { radlog(L_ERR, "rlm_eap: Failed to link EAP-Type/%s: %s", eaptype_name, lt_dlerror()); diff -Naur freeradius-1.1.2/src/modules/rlm_sql/rlm_sql.c freeradius-1.1.2.oden/src/modules/rlm_sql/rlm_sql.c --- freeradius-1.1.2/src/modules/rlm_sql/rlm_sql.c 2006-05-20 14:44:37.000000000 +0200 +++ freeradius-1.1.2.oden/src/modules/rlm_sql/rlm_sql.c 2006-06-07 10:33:43.000000000 +0200 @@ -664,7 +664,11 @@ return -1; } - inst->handle = lt_dlopenext(inst->config->sql_driver); + char *tmp = malloc(strlen(inst->config->sql_driver) + 4); + strcpy(tmp, inst->config->sql_driver); + strcat(tmp, ".so"); + inst->handle = lt_dlopenext(tmp); + free(tmp); if (inst->handle == NULL) { radlog(L_ERR, "rlm_sql (%s): Could not link driver %s: %s", inst->config->xlat_name, inst->config->sql_driver,