Биллинговая система Nodeny
26 Апреля 2024, 06:52:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Параметри підключення абона  (Прочитано 2515 раз)
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« : 12 Февраля 2019, 13:36:15 »

Вітаю, питання може більше до Стаса.
В яких випадках може видалятися значення поля uid в таблиці mac_uid. І в яких випадках взагалі обнуляються всі значення запису в таблиці?

Є випадки коли в абона зникає параметри підключення, дивлюсь в базу, а в нього в uid пусто. Використовується один на порту.
Сьогдні звернулися з подібною проблемою де використовую модуль з аліасами. Там зникли у клієнта параметри підключення, і в базі взагалі не знаходжу його мака, тобто повністю зник запис.

Як віддебажити подібну проблему? Що в коді може таке робити і за яких умов. Перелопати процедуру radreplay - там немає жодного апдейта поля uid.

Дякую за підказку
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #1 : 12 Февраля 2019, 19:47:23 »

web/user/_dhcp.pl вызывается когда абон с неизвестным маком попал на заглушку и дальше ввел корректный пароль. Биллинг знает, что такой-то ip в данный момент принадлежит этому залогиненному клиенту. Просто к слову скажу, что он не создает "привязку к ip" или "привязку ip к мак" - в данный момент ip это просто связующее звено чтобы получить мак. И вот мак привязывается уже к учетке. Я это несколько раз повторял, просто и сейчас повторю от фонаря на память.

Далее в коде встречается:
 
Код:
my $rows = Db->do("UPDATE mac_uid SET uid=0 WHERE uid=? AND ip<>INET_ATON(?)", $uid, $ses::ip);
переводится так: обнулить все id абонов на связках, где иной ip чем текущий.

Другими словами, я делал чтобы на одной учетке был привязан только один мак. Я уже абсолютно точно не помню нахуа, но скорее всего для того чтобы юзеры не могли напривязывать много маков, возможно для каки-то жульничеств.

Но. Потом я эту строку закомментировал. Так что проверь не раскомментирована ли она у тебя

Возможно, где-то еще обнуляется, но там уже гляну позже
Записан
tom
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 216


Просмотр профиля
« Ответ #2 : 12 Февраля 2019, 23:43:31 »

web/user/_dhcp.pl вызывается когда абон с неизвестным маком попал на заглушку и дальше ввел корректный пароль. Биллинг знает, что такой-то ip в данный момент принадлежит этому залогиненному клиенту. Просто к слову скажу, что он не создает "привязку к ip" или "привязку ip к мак" - в данный момент ip это просто связующее звено чтобы получить мак. И вот мак привязывается уже к учетке. Я это несколько раз повторял, просто и сейчас повторю от фонаря на память.

Далее в коде встречается:
 
Код:
my $rows = Db->do("UPDATE mac_uid SET uid=0 WHERE uid=? AND ip<>INET_ATON(?)", $uid, $ses::ip);
переводится так: обнулить все id абонов на связках, где иной ip чем текущий.

Другими словами, я делал чтобы на одной учетке был привязан только один мак. Я уже абсолютно точно не помню нахуа, но скорее всего для того чтобы юзеры не могли напривязывать много маков, возможно для каки-то жульничеств.

Но. Потом я эту строку закомментировал. Так что проверь не раскомментирована ли она у тебя

Возможно, где-то еще обнуляется, но там уже гляну позже

Якщо один на порту, то мак просто перезаписується. Там де аліаси, там немає один на порту - і там нашли "глюк", один з операторів випадково поставив галочку один на порту абону і у всих хто на цьому порту затерло ))

Але є іноді затирання uid, хочу вияснити причину цього затирання, оськільки скрізь стоїть один на порту. І клієнт реально один на порту.

Рядок закоментував, був розкоментований.
Записан
fet4
Старожил
****

Карма: 2
Offline Offline

Сообщений: 324


Просмотр профиля Email
« Ответ #3 : 27 Апреля 2019, 14:18:11 »


Код:
my $rows = Db->do("UPDATE mac_uid SET uid=0 WHERE uid=? AND ip<>INET_ATON(?)", $uid, $ses::ip);

Но. Потом я эту строку закомментировал. Так что проверь не раскомментирована ли она у тебя


В таком случае если клиент не с фиксированным подключением, получится привязать одну учетку к нескольким записям.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!