pop3d::udb
ИМЯ
pop3d::udb — Простая база данных пользователей для pop3d
Содержание
КРАТКОЕ ОПИСАНИЕ
package require Tcl 8.5 9
package require pop3d::udb ?1.0.1?
::pop3d::udb::new ?dbName?
dbName option ?arg arg ...?
dbName destroy
dbName add user pwd storage
dbName remove user
dbName rename user newName
dbName lookup user
dbName exists user
dbName who
dbName save ?file?
dbName read file
ОПИСАНИЕ
Пакет pop3d::udb предоставляет простые базы данных в памяти, которые можно использовать совместно с ядром POP3-сервера, предоставляемым пакетом pop3d. В базах данных в качестве ключей используются имена пользователей, с которыми связываются пароли и ссылки на хранилища.
Объекты, созданные этим пакетом, можно напрямую использовать в функции обратного вызова аутентификации POP3-серверов, соответствующих тому же интерфейсу, что и серверы, созданные пакетом pop3d.
-
::pop3d::udb::new ?dbName?
Эта команда создаёт новый объект базы данных с соответствующей глобальной командой Tcl, имя которой задаётся как dbName.
Команду dbName можно использовать для вызова различных операций с базой данных. Она имеет следующий общий формат:
-
dbName option ?arg arg ...?
Option и аргументы arg определяют конкретное поведение команды.
Для объектов базы данных доступны следующие команды:
-
dbName destroy
Уничтожает объект базы данных.
-
dbName add user pwd storage
Добавляет нового пользователя или изменяет данные существующего пользователя. Сохраняет пароль password и ссылку на хранилище storage для указанного пользователя user.
-
dbName remove user
Удаляет указанного пользователя user из базы данных.
-
dbName rename user newName
Изменяет имя указанного пользователя user на newName.
-
dbName lookup user
Ищет в базе данных указанного пользователя user и возвращает список из двух элементов, содержащий связанный с ним пароль и ссылку на хранилище именно в таком порядке. Если пользователя найти не удалось, возникает ошибка. Этот интерфейс соответствует интерфейсу, ожидаемому функцией обратного вызова аутентификации пакета pop3d.
-
dbName exists user
Возвращает true, если указанный пользователь user известен базе данных, иначе — false.
-
dbName who
Возвращает список пользователей, известных базе данных.
-
dbName save ?file?
Сохраняет содержимое базы данных в указанном файле file. Если файл не указан, система использует путь, который последний раз применялся при вызове dbName read. Созданный файл можно прочитать методом read.
-
dbName read file
Читает указанный файл file и добавляет содержащиеся в нём определения пользователей в базу данных. Поскольку файл фактически выполняется с помощью команды source, для защиты от вредоносного кода используется безопасный интерпретатор. Этот интерпретатор знает команду add, предназначенную для добавления пользователей и связанных с ними данных в эту базу данных. Эта команда принимает те же аргументы, что и метод add. Путь к файлу file сохраняется во внутреннем состоянии, чтобы его можно было использовать при следующем вызове dbName save без аргумента.
Ошибки, идеи, отзывы
В этом документе и описываемом в нём пакете наверняка есть ошибки и другие проблемы. Пожалуйста, сообщайте о них в категории pop3d в системе отслеживания ошибок Tcllib. Также сообщайте о любых идеях по улучшению пакета и/или документации.
Предлагая изменения кода, пожалуйста, предоставляйте унифицированные различия, то есть вывод команды diff -u.
Обратите также внимание, что вложения предпочтительнее вставленных непосредственно в текст патчей. Чтобы добавить вложение, сразу после создания заявки перейдите к форме Редактировать, а затем воспользуйтесь самой левой кнопкой на дополнительной панели навигации.
КАТЕГОРИЯ
Сетевые технологии
АВТОРСКИЕ ПРАВА
Авторские права © 2002 Andreas Kupries