Биллинговая система Nodeny
22 Ноября 2024, 20:34:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: MIKROTIK API 2020  (Прочитано 3674 раз)
dorowa
Новичок
*

Карма: 1
Offline Offline

Сообщений: 3


Просмотр профиля
« : 11 Октября 2020, 16:50:19 »

Поиском поискал по форуму, инфо не пролетало, вдруг кому пригодится.
С версии ROS 6.45.1 сменилось API для initial login (API login):
     https: //wiki.mikrotik.com/wiki/Manual:API#Initial_login
Соответственно, нужно немного поправить модуль mikrotik, файл create.noserver.hw_mikrotik.pm (потом удалить noserver/_hw_mikrotik.pm и переустановить модуль)
или сразу поправить файл noserver/_hw_mikrotik.pm,
функция hw_connect, с 201 строки:
вместо:
Код:
    $m->{sock}->blocking(0);
    my $reply = $m->hw_dialog('/login') or return 0;
    exists $reply->{ret} or return 0;
    my $md5 = new Digest::MD5;
    $md5->add(chr(0));
    $md5->add($m->{pass});
    $md5->add(pack('H*',$reply->{ret}));
    $reply = $m->hw_dialog('/login','=name='.$m->{user},'=response=00'.$md5->hexdigest) or return 0;
    return $reply->{'!done'};
Вот так:
Код:
    $m->{sock}->blocking(0);
    my $reply = $m->hw_dialog('/login','=name='.$m->{user},'=password='.$m->{pass}) or return 0;
    return $reply->{'!done'};
« Последнее редактирование: 11 Октября 2020, 17:17:35 от dorowa » Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #1 : 11 Октября 2020, 20:54:15 »

И вам добрый вечер! ))))
Прошло всего полтора года как вы очнулись!
http://forum.nodeny.com.ua/index.php?topic=2703.165
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

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