Показано с 1 по 3 из 3.

Тема: Ошибка в API reseller.suspend

  1. #1
    Junior Member
    Регистрация
    04.09.2017
    Сообщений
    9

    По умолчанию Ошибка в API reseller.suspend

    Добрый день,

    ISPmanager Business 5.120.0-2017.08.28_12:40 работает на Debian 8.8 (x86_64)

    При вызове API функции reseller.suspend реселлер блокируется, а все его пользователи и www-домены продолжают работать.

    Запрос к API:

    Array
    (
    [out] => xml
    [func] => reseller.suspend
    [authinfo] => whmcs:********
    [elid] => tigos
    )
    Ответ сервера:

    <?xml version="1.0" encoding="UTF-8"?>
    <doc lang="en" func="reseller.suspend" binary="/ispmgr" host="https://94.130.xxx.xxx:1500" themename="orion" features="1ebc799540b9831ed66ba42e304d2401" notify=""><ok/><tparams><elid>tigos</elid><out>xml</out><func>reseller.suspend</func></tparams><saved_filters/></doc>
    В логи при этом пишет:

    Код:
    Sep  4 17:42:15 [1621:2] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38728] core_security WARNING Option MailMode is none. Notify not send
    Sep  4 17:42:15 [1621:38728] core_security WARNING Option MailMode is none. Notify not send
    Sep  4 17:42:15 [1621:38728] core_module INFO Request [88.198.xxx.xxx][whmcs] 'authinfo=*&elid=tigos&func=reseller.suspend&out=xml'
    Sep  4 17:42:15 [1621:38728] core_module EXTINFO Internal [88.198.xxx.xxx][whmcs] 'elid=bonadisky%2C%20t%2Dpress%2C%20pressmash%2C%20rostechno&func=user.suspend&onreseller=yes'
    Sep  4 17:42:15 [1621:2] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO mgr_err::Error::Error(std::string const&, std::string const&, std::string const&) (lib/libmgr.so.5.120.0 + 0x1d7) [*0x7fbc4bde5ba4]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO mgr_err::Access::Access(std::string const&, std::string const&) (lib/libmgr.so.5.120.0 + 0x52) [*0x7fbc4c7f633c]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO isp_api::InternalCall(isp_api::BaseConnection const&, isp_api::Authen const&, isp_api::Action const&) (lib/libispapi.so.5.120.0 + 0x308) [*0x7fbc4d9f1295]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO ispcore::ProcessRequest::ProcessApi1() (lib/libbase.so.5.120.0 + 0x4ed) [*0x7fbc4d9ed604]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO ispcore::ProcessRequest::operator()() (lib/libbase.so.5.120.0 + 0x2ae) [*0x7fbc4d9fa9c4]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO mgr_thread::List::Impl<ispcore::ProcessRequest>::operator()() (lib/libbase.so.5.120.0 + 0x7e) [*0x7fbc4d9fa932]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO mgr_thread::Handle::Impl<mgr_thread::List::Impl<ispcore::ProcessRequest> >::run() (lib/libbase.so.5.120.0 + 0x1c) [*0x7fbc4bda6310]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO ??? (lib/libmgr.so.5.120.0 + 0x0) [*0x7fbc4fa46064]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO ??? (/lib/x86_64-linux-gnu/libpthread.so.0 + 0x0) [*0x7fbc4f77b62d]
    Sep  4 17:42:15 [1621:38729] backtrace EXTINFO ??? (/lib/x86_64-linux-gnu/libc.so.6 + 0x6d) [*(nil)]
    Sep  4 17:42:15 [1621:38729] libmgr ERROR Error: Type: 'access' Object: 'function' Value: 'user.suspend'
    Sep  4 17:42:15 [1621:38729] action EXTINFO Get message for error in action 'user.suspend' for level 0
    Sep  4 17:42:15 [1621:38729] action EXTINFO Get message for error in action 'mgrerror_access' for level 0
    Sep  4 17:42:15 [1621:38729] action EXTINFO Get message for error in action 'msgerror' for level 0
    Sep  4 17:42:15 [1621:38729] core WARNING 0x7fbc2c106bc0 Restart request
    Sep  4 17:42:15 [1621:38729] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38730] core_module INFO Request [88.198.xxx.xxx][] 'func=logon&redirect=elid%3Dbonadisky%26elids%3Dbonadisky%252C%2520t%252Dpress%252C%2520pressmash%252C%2520rostechno%26func%3Duser%252Esuspend%26onreseller%3Dyes%26out%3Ddevel'
    Sep  4 17:42:15 [1621:38730] output EXTINFO Redirect to 'elid=bonadisky&elids=bonadisky, t-press, pressmash, rostechno&func=user.suspend&onreseller=yes&out=devel'
    Sep  4 17:42:15 [1621:38729] libmgr EXTINFO Thread e9a22bc495e7e47f finished
    Sep  4 17:42:15 [1621:38730] libmgr EXTINFO Thread 1f6adf204792135e finished
    Sep  4 17:42:15 [1621:2] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO mgr_err::Error::Error(std::string const&, std::string const&, std::string const&) (lib/libmgr.so.5.120.0 + 0x1d7) [*0x7fbc4bde5ba4]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO mgr_err::Access::Access(std::string const&, std::string const&) (lib/libmgr.so.5.120.0 + 0x52) [*0x7fbc4c7f633c]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO isp_api::InternalCall(isp_api::BaseConnection const&, isp_api::Authen const&, isp_api::Action const&) (lib/libispapi.so.5.120.0 + 0x308) [*0x7fbc4d9f1295]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO ispcore::ProcessRequest::ProcessApi1() (lib/libbase.so.5.120.0 + 0x4ed) [*0x7fbc4d9ed604]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO ispcore::ProcessRequest::operator()() (lib/libbase.so.5.120.0 + 0x2ae) [*0x7fbc4d9fa9c4]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO mgr_thread::List::Impl<ispcore::ProcessRequest>::operator()() (lib/libbase.so.5.120.0 + 0x7e) [*0x7fbc4d9fa932]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO mgr_thread::Handle::Impl<mgr_thread::List::Impl<ispcore::ProcessRequest> >::run() (lib/libbase.so.5.120.0 + 0x1c) [*0x7fbc4bda6310]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO ??? (lib/libmgr.so.5.120.0 + 0x0) [*0x7fbc4fa46064]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO ??? (/lib/x86_64-linux-gnu/libpthread.so.0 + 0x0) [*0x7fbc4f77b62d]
    Sep  4 17:42:15 [1621:38731] backtrace EXTINFO ??? (/lib/x86_64-linux-gnu/libc.so.6 + 0x6d) [*(nil)]
    Sep  4 17:42:15 [1621:38731] libmgr ERROR Error: Type: 'access' Object: 'function' Value: 'user.suspend'
    Sep  4 17:42:15 [1621:38731] action EXTINFO Get message for error in action 'user.suspend' for level 0
    Sep  4 17:42:15 [1621:38731] action EXTINFO Get message for error in action 'mgrerror_access' for level 0
    Sep  4 17:42:15 [1621:38731] action EXTINFO Get message for error in action 'msgerror' for level 0
    Sep  4 17:42:15 [1621:38731] core WARNING 0x7fbc2c106bc0 Restart request
    Sep  4 17:42:15 [1621:38731] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38732] core_module INFO Request [88.198.xxx.xxx][] 'func=logon&redirect=elid%3Dt%252Dpress%26elids%3Dbonadisky%252C%2520t%252Dpress%252C%2520pressmash%252C%2520rostechno%26func%3Duser%252Esuspend%26onreseller%3Dyes%26out%3Ddevel'
    Sep  4 17:42:15 [1621:38731] libmgr EXTINFO Thread 41aa6dbc712adeef finished
    Sep  4 17:42:15 [1621:38732] output EXTINFO Redirect to 'elid=t-press&elids=bonadisky, t-press, pressmash, rostechno&func=user.suspend&onreseller=yes&out=devel'
    Sep  4 17:42:15 [1621:38732] libmgr EXTINFO Thread c11b1b586a785753 finished
    Sep  4 17:42:15 [1621:2] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38733] libmgr ERROR Error: Type: 'access' Object: 'function' Value: 'user.suspend'
    Sep  4 17:42:15 [1621:38733] action EXTINFO Get message for error in action 'user.suspend' for level 0
    Sep  4 17:42:15 [1621:38733] action EXTINFO Get message for error in action 'mgrerror_access' for level 0
    Sep  4 17:42:15 [1621:38733] action EXTINFO Get message for error in action 'msgerror' for level 0
    Sep  4 17:42:15 [1621:38733] core WARNING 0x7fbc2c106bc0 Restart request
    Sep  4 17:42:15 [1621:38733] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38734] core_module INFO Request [88.198.xxx.xxx][] 'func=logon&redirect=elid%3Dpressmash%26elids%3Dbonadisky%252C%2520t%252Dpress%252C%2520pressmash%252C%2520rostechno%26func%3Duser%252Esuspend%26onreseller%3Dyes%26out%3Ddevel'
    Sep  4 17:42:15 [1621:38733] libmgr EXTINFO Thread 1b8217b069fc2f89 finished
    Sep  4 17:42:15 [1621:38734] output EXTINFO Redirect to 'elid=pressmash&elids=bonadisky, t-press, pressmash, rostechno&func=user.suspend&onreseller=yes&out=devel'
    Sep  4 17:42:15 [1621:38734] libmgr EXTINFO Thread 660ea9ada0bd0be2 finished
    Sep  4 17:42:15 [1621:2] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38735] libmgr ERROR Error: Type: 'access' Object: 'function' Value: 'user.suspend'
    Sep  4 17:42:15 [1621:38735] action EXTINFO Get message for error in action 'user.suspend' for level 0
    Sep  4 17:42:15 [1621:38735] action EXTINFO Get message for error in action 'mgrerror_access' for level 0
    Sep  4 17:42:15 [1621:38735] action EXTINFO Get message for error in action 'msgerror' for level 0
    Sep  4 17:42:15 [1621:38735] core WARNING 0x7fbc2c106bc0 Restart request
    Sep  4 17:42:15 [1621:38735] libmgr EXTINFO Start thread
    Sep  4 17:42:15 [1621:38736] core_module INFO Request [88.198.xxx.xxx][] 'func=logon&redirect=elid%3Drostechno%26elids%3Dbonadisky%252C%2520t%252Dpress%252C%2520pressmash%252C%2520rostechno%26func%3Duser%252Esuspend%26onreseller%3Dyes%26out%3Ddevel'
    Sep  4 17:42:15 [1621:38735] libmgr EXTINFO Thread 67789ed8a27cc764 finished
    Sep  4 17:42:15 [1621:38736] output EXTINFO Redirect to 'elid=rostechno&elids=bonadisky, t-press, pressmash, rostechno&func=user.suspend&onreseller=yes&out=devel'
    Sep  4 17:42:15 [1621:38736] libmgr EXTINFO Thread 97e2bc025b135576 finished
    Sep  4 17:42:15 [1621:38728] core_module EXTINFO Internal [][] 'func=user.ondropauthen&user=tigos'
    Sep  4 17:42:15 [1621:38728] libmgr EXTINFO Thread 7e973d2b964f5dff finished
    Вызов API производится от имени дополнительного администратора со всеми правами. Пробовал через root - картина в точности такая же.

    Почему так происходит? Как все-таки отключить реселлера через API?
    Последний раз редактировалось U1255; 04.09.2017 в 23:36.

  2. #2
    Junior Member
    Регистрация
    04.09.2017
    Сообщений
    9

    Lightbulb

    Спасение утопающих - дело рук самих утопающих

    Действительно, в ISPmanager Business 5.121.0 при использовании API функции reseller.supend и reseller.resume есть досадный баг (отключается только реселлер, все принадлежащие ему пользователи и их домены продолжают работать).

    Воспроизвести проблему легко:

    Код:
    curl -k -s "https://ip:1500/ispmgr?authinfo=root:xxxxxxx&out=xml&func=reseller.suspend&elid=xxxxxxx"
    Связана эта проблема с тем, что панель после выполнения основного запроса запускает еще несколько внутренних вызовов для suspend каждого из пользователей этого реселлера, но не передает в них authinfo и как следствие возникает ошибка доступа.

    Решение:

    Вместо authinfo=root:xxxxxxx использовать Авторизацию с использованием уникального номера сессии

    в этом случае авторизация успешно передается на внутренние подзапросы и API отрабатывает так, как должна.

    Уважаемые разработчики, очень прошу внести исправления в работу API, что бы reseller.suspend и reseller.resume можно было использовать и с авторизацией authinfo
    Последний раз редактировалось U1255; 05.09.2017 в 21:16.

  3. #3
    Support team Аватар для Fly
    Регистрация
    14.08.2010
    Сообщений
    4,751

    По умолчанию

    Здравствуйте,

    Нам жаль, что вам пришлось столкнуться с ошибкой в работе API. Отчет о ней зарегистрирован в нашей системе. Приносим извинения за неудобства.

Метки этой темы

Ваши права в разделе

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •