[sisyphus] FreeRADIUS: sql_get_socket

Peter V. Saveliev =?iso-8859-1?q?peet_=CE=C1_eltel=2Enet?=
Вс Фев 16 11:47:43 MSK 2003


...

Error: rlm_sql (sql): All sockets are being used! Please increase the maximum number of sockets!

Вот такая строчка вылезает после некоторого времени работы радиуса.

Поискал в гугле:

http://lists.cistron.nl/pipermail/freeradius-devel/2002-December/004149.html

В связи с этим вопрос: не будет ли с моей стороны большой наглостью :)
попросить у Виктора взглянуть на код sql.c и присоветовать что-нибудь
дельное? Пока что я намереваюсь поступить соответственно письму по
ссылке.

И еще: дело в том, что при использовании радиуса для учета VoIP, время
сессии, равное нулю, встречается не то чтобы часто, но примерно в 50%:
то занято, то не туда попал, то номера нет, то еще что... К сожалению,
это не учтено в SQL-схеме (по крайней мере, для Oracle), где
ACCTSESSIONTIME не может быть равным нулю. А логгировать эти записи все
равно надо: они нужны для учета как раз таких сбойных звонков, это очень
важно.

Также rlm_sql ругается: Stop packet with zero session length. Правда,
INSERT все равно делает.

Я это к чему... к тому, что пофиксить бы... А еще спустя k таких ошибок
обращения к базе:
1) в логи сыпется ошибка, приведенная в начале;
2) работа с БД прекращается;
3) хуже того, радиус перестает работать с другими модулями.

То есть, он не только перестает класть аккаунтинг в Oracle, но даже
пускать на кошачий EXEC (Login-User'ы у меня авторизуются в LDAP), что
обидно.

Заранее спасибо за совет и внимание.

-- 
Sincerely, Peter V. Saveliev

E-mail: peet на eltel.net
Jabber: peet на jabber.ru




Подробная информация о списке рассылки Sisyphus