[sisyphus] FreeRADIUS: sql_get_socket
Dmitry Lebkov
=?iso-8859-1?q?dima_=CE=C1_sakhalin=2Eru?=
Вс Фев 16 16:42:44 MSK 2003
On Sun, 16 Feb 2003 11:47:43 +0300
"Peter V. Saveliev" <peet на eltel.net> wrote:
> ...
>
> Error: rlm_sql (sql): All sockets are being used! Please increase the
> maximum number of sockets!
>
> Вот такая строчка вылезает после некоторого времени работы радиуса.
Вот, из Changelog'а для 0.9-pre:
...
* Do SQL 'close' on bad sockets, to prevent descriptor leaks
...
Возможно, это оно самое и есть?
> Поискал в гугле:
>
> http://lists.cistron.nl/pipermail/freeradius-devel/2002-December/004149.html
>
> В связи с этим вопрос: не будет ли с моей стороны большой наглостью :)
> попросить у Виктора взглянуть на код sql.c и присоветовать что-нибудь
> дельное? Пока что я намереваюсь поступить соответственно письму по
> ссылке.
>
> И еще: дело в том, что при использовании радиуса для учета VoIP, время
> сессии, равное нулю, встречается не то чтобы часто, но примерно в 50%:
> то занято, то не туда попал, то номера нет, то еще что... К сожалению,
> это не учтено в SQL-схеме (по крайней мере, для Oracle), где
> ACCTSESSIONTIME не может быть равным нулю. А логгировать эти записи
> все равно надо: они нужны для учета как раз таких сбойных звонков, это
> очень важно.
В cvs появилось что-то новое на предмет VoIP. Посмотри на
http://www.freeradius.org/cgi-bin/cvsweb.cgi/radiusd/src/billing/
может быть это чем-нить поможет ...
>
> Также rlm_sql ругается: Stop packet with zero session length. Правда,
> INSERT все равно делает.
>
> Я это к чему... к тому, что пофиксить бы... А еще спустя k таких
> ошибок обращения к базе:
> 1) в логи сыпется ошибка, приведенная в начале;
> 2) работа с БД прекращается;
> 3) хуже того, радиус перестает работать с другими модулями.
>
> То есть, он не только перестает класть аккаунтинг в Oracle, но даже
> пускать на кошачий EXEC (Login-User'ы у меня авторизуются в LDAP), что
> обидно.
>
--
WBR, Dmitry Lebkov
Подробная информация о списке рассылки Sisyphus