Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1584241
 поиск   регистрация   авторизация 
 
Группа :: Система/Серверы
Пакет: freeradius

 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 

Патч: freeradius-1.1.2-ltdl_no_la.diff


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,
 
design & coding: Vladimir Lettiev aka crux © 2004-2005