[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