Provided by: tcllib_1.21+dfsg-1_all bug

NAME

       pop3d::udb - Simple user database for pop3d

SYNOPSIS

       package require Tcl  8.2

       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

________________________________________________________________________________________________________________

DESCRIPTION

       The package pop3d::udb provides simple in memory databases which can be used in conjunction with the pop3
       server  core  provided  by  the  package  pop3d.  The  databases  will use the names of users as keys and
       associates passwords and storage references with them.

       Objects created by this package can be directly used in  the  authentication  callback  of  pop3  servers
       following the same interface as servers created by the package pop3d.

       ::pop3d::udb::new ?dbName?
              This  command  creates  a  new database object with an associated global Tcl command whose name is
              dbName.

       The command dbName may be used to invoke various operations  on  the  database.   It  has  the  following
       general form:

       dbName option ?arg arg ...?
              Option and the args determine the exact behavior of the command.

       The following commands are possible for database objects:

       dbName destroy
              Destroys the database object.

       dbName add user pwd storage
              Add  a new user or changes the data of an existing user. Stores password and storage reference for
              the given user.

       dbName remove user
              Removes the specified user from the database.

       dbName rename user newName
              Changes the name of the specified user to newName.

       dbName lookup user
              Searches the database for the specified  user  and  returns  a  two-element  list  containing  the
              associated password and storage reference, in this order. Throws an error if the user could not be
              found. This is the interface as expected by the authentication callback of package pop3d.

       dbName exists user
              Returns true if the specified user is known to the database, else false.

       dbName who
              Returns a list of users known to the database.

       dbName save ?file?
              Saves  the  contents  of the database into the given file. If the file is not specified the system
              will use the path last used in a call to dbName read. The generated file can be read by  the  read
              method.

       dbName read file
              Reads  the  specified file and adds the contained user definitions to the database. As the file is
              actually source'd a safe interpreter  is  employed  to  safeguard  against  malicious  code.  This
              interpreter  knows  the  add  command for adding users and their associated data to this database.
              This command has the same argument signature as the method add. The path of the file is remembered
              internally so that it can be used in the next call of dbName save without an argument.

BUGS, IDEAS, FEEDBACK

       This document, and the package it describes, will undoubtedly contain bugs and  other  problems.   Please
       report  such in the category pop3d of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist].  Please
       also report any ideas for enhancements you may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments  can  be  made  by
       going  to the Edit form of the ticket immediately after its creation, and then using the left-most button
       in the secondary navigation bar.

KEYWORDS

       internet, network, pop3, protocol

CATEGORY

       Networking

COPYRIGHT

       Copyright (c) 2002 Andreas Kupries <andreas_kupries@users.sourceforge.net>

tcllib                                                1.0.1                                     pop3d::udb(3tcl)