Muator 3 Posted 2017-10-04 18:16:44 Share Posted 2017-10-04 18:16:44 (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 2017-10-04 19:30:27 by Muator Link to post Share on other sites
nightfly 1,246 Posted 2017-10-04 23:07:04 Share Posted 2017-10-04 23:07:04 Можете озвучить способ повторения бага? Ибо 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 ) ) Link to post Share on other sites
l1ght 377 Posted 2017-10-04 23:22:44 Share Posted 2017-10-04 23:22:44 (edited) У него id одинаковый для обоих случаев... Шото больно похоже на ручную правку через update таблички ручками. Edited 2017-10-04 23:23:06 by l1ght Link to post Share on other sites
Muator 3 Posted 2017-10-05 05:52:29 Author Share Posted 2017-10-05 05:52:29 (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 2017-10-05 05:59:40 by Muator Link to post Share on other sites
nightfly 1,246 Posted 2017-10-05 10:20:48 Share Posted 2017-10-05 10:20:48 На демке повторить можете? Я покликал, норм netid меняется. Link to post Share on other sites
sanyadnepr 305 Posted 2017-10-05 10:52:03 Share Posted 2017-10-05 10:52:03 (edited) На демке повторить можете? Я покликал, норм netid меняется.Оно у него, если несколько раз "потыцать" менялось netid на новый. Но потом, при (пополнении счета)ресете пользователя, возвращается "старый" netid. Две версии назад, такого небыло. Edited 2017-10-05 10:55:18 by sanyadnepr Link to post Share on other sites
nightfly 1,246 Posted 2017-10-05 11:21:20 Share Posted 2017-10-05 11:21:20 Оно у него, если несколько раз "потыцать" менялось netid на новый. Но потом, при (пополнении счета)ресете пользователя, возвращается "старый" netid. Мы же оба понимаем, что это нереально, потому, что просто нереально? Я так и представил себе кусок кода, в функции пополнения бабла или ресета, котрый ломиться в табличку nethosts, ищет в ней запись по айпишке юзера, после чего, внезапно меняет netid на какой-то левый. Link to post Share on other sites
sanyadnepr 305 Posted 2017-10-05 16:19:39 Share Posted 2017-10-05 16:19:39 (edited) Оно у него, если несколько раз "потыцать" менялось netid на новый. Но потом, при (пополнении счета)ресете пользователя, возвращается "старый" netid.Мы же оба понимаем, что это нереально, потому, что просто нереально? Я так и представил себе кусок кода, в функции пополнения бабла или ресета, котрый ломиться в табличку nethosts, ищет в ней запись по айпишке юзера, после чего, внезапно меняет netid на какой-то левый. Понимаем но... Проверялось это слегка извращенным способом, но при этом проблема воспроизводится. На сервере доступа "микротик", меняем руками пользователю netid, ресетим пользователя, получаем правильный netid, отлично, так и должно быть. При переводе пользователя из одной подсети в другую, netid не меняется, пример описан выше. Если в вебке еще раз поменять пользователю новый айпи на новый айпи из этой же подсети, netid изменяется на корректный и уже после ресета пользователя не слетает на "старый". Edited 2017-10-05 16:23:24 by sanyadnepr Link to post Share on other sites
nightfly 1,246 Posted 2017-10-05 16:31:15 Share Posted 2017-10-05 16:31:15 (edited) Проверялось это слегка извращенным способом, но при этом проблема воспроизводится. Не вижу способа воспроизведения. Покликал у себя, покликал на демке, покликал еще где-то, при помощи штатного модуля "смена IP" в профиле - все нормально, netid всегда верный. На сервере доступа "микротик", меняем руками пользователю netid, ресетим пользователя, получаем правильный netid, отлично, так и должно быть. О, уже и микротики появились. А он то тут при чем, к состоянию БД? В самом модуле pl_ipchange с 0.8.4 (а именно с введения опции DB_LOCK_ENABLED, кстати можете попробовать повключать/повыключать) до 0.8.6 (там только очистку кеша после смены впулили) не менялось вообще ничего работающего. Ну, иконок еще дорисовали пару на кнопочках. Edited 2017-10-05 16:36:07 by nightfly Link to post Share on other sites
sanyadnepr 305 Posted 2017-10-05 16:50:40 Share Posted 2017-10-05 16:50:40 Не вижу способа воспроизведения.На его сервере, берем любого "старого" абонента, переводим в другую подсеть, получаем описанное выше, гарантированно. Меняем новый айпи еще раз на новый, получаем новый netid. О, уже и микротики появились. А он то тут при чем, к состоянию БД?Конечно он тут не при чем. Он просто участвовал и рядом стоял. В самом модуле pl_ipchange с 0.8.4 (а именно с введения опции DB_LOCK_ENABLED, кстати можете попробовать повключать/повыключать) до 0.8.6 (там только очистку кеша после смены впулили) не менялось вообще ничего работающего. Ну, иконок еще дорисовали пару на кнопочках.Два релиза назад, смена подсети и netid происходила без вышеописанного. Эта опция не включалась. Link to post Share on other sites
l1ght 377 Posted 2017-10-05 17:53:31 Share Posted 2017-10-05 17:53:31 (edited) Я только что перерыл кучу кода и вообще не вижу как так может происходить... В модуле при смене ипа передается ип и ид услуги. Дальше по иду услуги находится netid т.к. там прямая связь. А нет ли там часом какого-то п@зд#ца с сервисами? Покажите select id, netid from services; Edited 2017-10-05 17:53:49 by l1ght Link to post Share on other sites
Muator 3 Posted 2017-10-05 17:59:11 Author Share Posted 2017-10-05 17:59:11 (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 2017-10-05 18:02:22 by Muator Link to post Share on other sites
l1ght 377 Posted 2017-10-05 18:01:14 Share Posted 2017-10-05 18:01:14 Выглядит как услуги вполне здорового человека. А как воспроизводите то? Тут не сказано каким именно способом. Проверялось это слегка извращенным способом, но при этом проблема воспроизводится. Link to post Share on other sites
sanyadnepr 305 Posted 2017-10-05 18:03:50 Share Posted 2017-10-05 18:03:50 А как воспроизводите то? Тут не сказано каким именно способом. На его сервере, берем любого "старого" абонента, переводим в другую подсеть, получаем описанное выше, гарантированно. Меняем новый айпи еще раз на новый, получаем новый netid. Link to post Share on other sites
l1ght 377 Posted 2017-10-05 18:07:11 Share Posted 2017-10-05 18:07:11 какие-то подземные стуки Link to post Share on other sites
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