The OpenNET Project / Index page

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



"OpenNews: postfix + pam патч"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "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/

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
OpenNews: postfix + pam патч, opennews, 23-Апр-03, 21:56  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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