Muator Posted October 4, 2017 Posted October 4, 2017 (edited) При переходе с одной сети на другую не меняет netid у пользователя? CHANGE MultiNetIP (2014200058) FROM 10.0.200.58 ON 10.4.0.24 До перехода Array( [0] => Array ( [id] => 871 [netid] => 1 [ip] => 10.0.200.58 [mac] => XX:XX:XX:XX:XX:XX [option] => NULL )) После изменения ip пользователя Array( [0] => Array ( [id] => 871 [netid] => 1 [ip] => 10.4.0.24 [mac] => ХХ:ХХ:ХХ:ХХ:ХХ:ХХ [option] => NULL )) Пользователь перешел с радио на пон. Edited October 4, 2017 by Muator
nightfly Posted October 4, 2017 Posted October 4, 2017 Можете озвучить способ повторения бага? Ибо Array ( [0] => Array ( [id] => 42 [netid] => 1 [ip] => 172.30.0.33 [mac] => 14:88:83:12:48:59 [option] => NULL ) ) Array ( [0] => Array ( [id] => 435 [netid] => 2 [ip] => 10.10.200.12 [mac] => 14:88:83:12:48:59 [option] => NULL ) )
l1ght Posted October 4, 2017 Posted October 4, 2017 (edited) У него id одинаковый для обоих случаев... Шото больно похоже на ручную правку через update таблички ручками. Edited October 4, 2017 by l1ght
Muator Posted October 5, 2017 Author Posted October 5, 2017 (edited) Был пользователь созданный около 2 лет назад. Решил перейти на др. технологию доступа с последующим изменением сетевых настроек на др. сеть. У существующего Абонента кроме смены ip адреса ничего не менялось ибо привык к лиц. счету и номеру договора... До перехода Array( [0] => Array ( [id] => ХХ [netid] => 1 [ip] => 10.0.200.58 [mac] => XX:XX:XX:XX:XX:XX [option] => NULL )) После изменения ip пользователя Array( [0] => Array ( [id] => 871 [netid] => 1 (ДОЛЖНО БЫТЬ 8) [ip] => 10.4.0.24 [mac] => ХХ:ХХ:ХХ:ХХ:ХХ:ХХ [option] => NULL )) А вот netid нет Edited October 5, 2017 by Muator
nightfly Posted October 5, 2017 Posted October 5, 2017 На демке повторить можете? Я покликал, норм netid меняется.
sanyadnepr Posted October 5, 2017 Posted October 5, 2017 (edited) На демке повторить можете? Я покликал, норм netid меняется.Оно у него, если несколько раз "потыцать" менялось netid на новый. Но потом, при (пополнении счета)ресете пользователя, возвращается "старый" netid. Две версии назад, такого небыло. Edited October 5, 2017 by sanyadnepr
nightfly Posted October 5, 2017 Posted October 5, 2017 Оно у него, если несколько раз "потыцать" менялось netid на новый. Но потом, при (пополнении счета)ресете пользователя, возвращается "старый" netid. Мы же оба понимаем, что это нереально, потому, что просто нереально? Я так и представил себе кусок кода, в функции пополнения бабла или ресета, котрый ломиться в табличку nethosts, ищет в ней запись по айпишке юзера, после чего, внезапно меняет netid на какой-то левый.
sanyadnepr Posted October 5, 2017 Posted October 5, 2017 (edited) Оно у него, если несколько раз "потыцать" менялось netid на новый. Но потом, при (пополнении счета)ресете пользователя, возвращается "старый" netid.Мы же оба понимаем, что это нереально, потому, что просто нереально? Я так и представил себе кусок кода, в функции пополнения бабла или ресета, котрый ломиться в табличку nethosts, ищет в ней запись по айпишке юзера, после чего, внезапно меняет netid на какой-то левый. Понимаем но... Проверялось это слегка извращенным способом, но при этом проблема воспроизводится. На сервере доступа "микротик", меняем руками пользователю netid, ресетим пользователя, получаем правильный netid, отлично, так и должно быть. При переводе пользователя из одной подсети в другую, netid не меняется, пример описан выше. Если в вебке еще раз поменять пользователю новый айпи на новый айпи из этой же подсети, netid изменяется на корректный и уже после ресета пользователя не слетает на "старый". Edited October 5, 2017 by sanyadnepr
nightfly Posted October 5, 2017 Posted October 5, 2017 (edited) Проверялось это слегка извращенным способом, но при этом проблема воспроизводится. Не вижу способа воспроизведения. Покликал у себя, покликал на демке, покликал еще где-то, при помощи штатного модуля "смена IP" в профиле - все нормально, netid всегда верный. На сервере доступа "микротик", меняем руками пользователю netid, ресетим пользователя, получаем правильный netid, отлично, так и должно быть. О, уже и микротики появились. А он то тут при чем, к состоянию БД? В самом модуле pl_ipchange с 0.8.4 (а именно с введения опции DB_LOCK_ENABLED, кстати можете попробовать повключать/повыключать) до 0.8.6 (там только очистку кеша после смены впулили) не менялось вообще ничего работающего. Ну, иконок еще дорисовали пару на кнопочках. Edited October 5, 2017 by nightfly
sanyadnepr Posted October 5, 2017 Posted October 5, 2017 Не вижу способа воспроизведения.На его сервере, берем любого "старого" абонента, переводим в другую подсеть, получаем описанное выше, гарантированно. Меняем новый айпи еще раз на новый, получаем новый netid. О, уже и микротики появились. А он то тут при чем, к состоянию БД?Конечно он тут не при чем. Он просто участвовал и рядом стоял. В самом модуле pl_ipchange с 0.8.4 (а именно с введения опции DB_LOCK_ENABLED, кстати можете попробовать повключать/повыключать) до 0.8.6 (там только очистку кеша после смены впулили) не менялось вообще ничего работающего. Ну, иконок еще дорисовали пару на кнопочках.Два релиза назад, смена подсети и netid происходила без вышеописанного. Эта опция не включалась.
l1ght Posted October 5, 2017 Posted October 5, 2017 (edited) Я только что перерыл кучу кода и вообще не вижу как так может происходить... В модуле при смене ипа передается ип и ид услуги. Дальше по иду услуги находится netid т.к. там прямая связь. А нет ли там часом какого-то п@зд#ца с сервисами? Покажите select id, netid from services; Edited October 5, 2017 by l1ght
Muator Posted October 5, 2017 Author Posted October 5, 2017 (edited) Я только что перерыл кучу кода и вообще не вижу как так может происходить... В модуле при смене ипа передается ип и ид услуги. Дальше по иду услуги находится netid т.к. там прямая связь. А нет ли там часом какого-то п@зд#ца с сервисами? Покажите select id, netid from services; array ( 0 => array ( 'id' => '1', 'netid' => '1', ), 1 => array ( 'id' => '2', 'netid' => '2', ), 2 => array ( 'id' => '3', 'netid' => '3', ), 3 => array ( 'id' => '4', 'netid' => '4', ), 4 => array ( 'id' => '5', 'netid' => '5', ), 5 => array ( 'id' => '6', 'netid' => '6', ), 6 => array ( 'id' => '7', 'netid' => '7', ), 7 => array ( 'id' => '8', 'netid' => '8', ), ) Edited October 5, 2017 by Muator
l1ght Posted October 5, 2017 Posted October 5, 2017 Выглядит как услуги вполне здорового человека. А как воспроизводите то? Тут не сказано каким именно способом. Проверялось это слегка извращенным способом, но при этом проблема воспроизводится.
sanyadnepr Posted October 5, 2017 Posted October 5, 2017 А как воспроизводите то? Тут не сказано каким именно способом. На его сервере, берем любого "старого" абонента, переводим в другую подсеть, получаем описанное выше, гарантированно. Меняем новый айпи еще раз на новый, получаем новый netid.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now