Начало и завершение сеанса.

Основным объектом сценария использующего библиотеку RXMMP является сеанс протокола MMP представленный описателем. Описатель создаётся функцией mmpCreate и уничтожается функцией mmpDestroy. Созданный описатель используется другими функциями которые выполняют взаимодействие с сервером.

Сразу после успешного создания описатель хранит имя пользователя и уровень привилегий полученные от сервера после авторизации.

Функция mmpInit.

mmpInit(cafile)

Инициализация внутренних структур библиотеки. Имеет смысл только однократный вызов до вызова любой другой функции mmpXXXXX. Эта функция необязательная и в данной версии библиотеки используется если необходимо установить сертификаты удостоверяющих центров. Единственный аргумент - имя файла в формате PEM который содержит набор сертификатов.

Функция mmpCreate.

mmpCreate(server,user,password[,flags[,timeout]])

Функция выполняет подключение к серверу и начало сеанса пользователя user с паролем password.

server

Сервер MMP. Может начинаться с префикса: tcp:// или отсутствие префикса - означает обычное небезопасное подключение к серверу, ssl:// - безопасное подключение, порт на сервере должен быть настроен соответствующим образом. tls:// - производится подключение и если сервер поддерживает TLS, выполняется установка безопасного соединения (STARTTLS). После префикса указывается имя сервера, двоеточие, порт TCP.

Вместо имени и порта сервера может быть указано имя локального сокета.

user

Имя пользователя или его псевдоним, если доменная часть имени не указана - используется домен по-умолчанию.

password

Пароль для аутентификации пользователя user.

flags

Список имён флагов разделённых пробелом, либо пустая строка. На данный момент поддерживается один флаг: NOCHECKCERT - не выполнять проверку сертификата SSL предоставленного сервером.

timeout

Таймаут ожидания ответа сервера. Указывается в секундах. По-умолчанию: 60.

При успешном выполнении функция вернёт описатель сеанса - положительное целое число больше нуля. В случае ошибки функция возвращает строку ERROR:code.

Функция mmpDestroy.

mmpDestroy(handle)

Функция завершает сеанс созданный вызовом mmpCreate отправляя команду LOGOUT, закрывает соединение и уничтожает описатель сеанса.

Функция mmpQueryUserLevel.

mmpQueryUserLevel(handle)

Функция возвращает уровень привилегий пользователя полученный при создании сеанса описатель которого указан аргументом handle. Результатом выполнения функции является одна из строк: USER, OPER или ADMIN.

Функция mmpQueryUsername.

mmpQueryUsername(handle)

Функция возвращает полное имя пользователя полученное при создании сеанса описатель которого указан аргументом handle. Полное имя передаётся сервером после успешной авторизации и сохраняется модулем RXMMP в объекте сеанса.

Функция mmpCommandSetExists.

mmpCommandSetExists(handle,name)

Функция возвращает 1 если сервером поддерживается набор команд имя которого задано аргументом name или 0 в противном случае.