The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"postfix + pam патч"
Отправлено poige, 25-Апр-03 11:55 
>Пример converse я взял из доки к pam (/usr/share/doc/en/articles/pam/pam-sample-conv.html). Вот кусок из
>оригинала:
>    resp[i]->resp = strdup(buf);
>    if (resp[i]->resp == NULL)
>      goto fail;
>Далее по коду примера, resp нигде не освобождается.
>А что касается коментария - его я поставил для себя, так я

Гм. Так в примере-то есть проверка значения strdup(), а у тебя она лишь в "// FIXME" превратилась. :)

>отмечаю места к которым нужно вернуться для возможного улучшения.
>В этом патче converse служит исключительно заглушкой.

По сути, почти ничего не меняет. Если *ожидается*, что код там ни разу не будет выполнен, то лучше влепить там "аварийный выход". Есть хорошее правило -- "лучше лишний стоп, чем лишний ляп". Однако, в данном случае, функция  converse() вызывается, все же, верно? PAM не слишком-то простая штука, чтобы просто к ней относиться. В этом свете мнение Michael Tokarev насчет использования TCP-сервиса выглядит достаточно разумно. Я думаю, что можно было обойтись и без dict_tcp + своего "демона" -- просто использовать libradius для "dict_radius", к примеру.

"
1) написать сетевой уровень - сокеты там всякие 2) написать работу с RADIUS-сервером (не спорю, по времени это заняло бы даже меньше времени - ведь написал бы я его на любимом Perl, используя старые наработки, но это было бы менее универсально..)
"

1-е сделать правильнее проще, так документации несравнимо больше и неоднозначностей меньше... 2-е можно было бы сделать на том же C, используя libradius, которая присутствует во FreeBSD.

Конечно, цель определяет калибр, как говорится:

"Была задача сделать проверку наличия пользователя через RADIUS, что было сделано с минимальными трудозатратами."

С одной стороны PAM добавляет гибкости (с еще одним уровнем абстракции), но он служит для целей аутентификации, в принципе, а не для поиска "ЕСТЬ ЛИ ТАКОЙ LOGIN?". В твоем решении, нужно специальным образом настраивать сам RADIUS-сервер (чтобы не обращал внимания на неправильность пароля), то есть, back end, в общем случае, поэтому ценность прикручивания к "картам" postfix'а возможности "выйти на любой аутентификатор" (посредством PAM) сомнительна.

/poige
--
http://www.morning.ru/~poige/

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру