1pop3d::udb(n) Tcl POP3 Server Package pop3d::udb(n)
2
3
4
5______________________________________________________________________________
6
8 pop3d::udb - Simple user database for pop3d
9
11 package require Tcl 8.2
12
13 package require pop3d::udb ?1.0.1?
14
15 ::pop3d::udb::new ?dbName?
16
17 dbName option ?arg arg ...?
18
19 dbName destroy
20
21 dbName add user pwd storage
22
23 dbName remove user
24
25 dbName rename user newName
26
27 dbName lookup user
28
29 dbName exists user
30
31 dbName who
32
33 dbName save ?file?
34
35 dbName read file
36
37______________________________________________________________________________
38
40 The package pop3d::udb provides simple in memory databases which can be
41 used in conjunction with the pop3 server core provided by the package
42 pop3d. The databases will use the names of users as keys and associates
43 passwords and storage references with them.
44
45 Objects created by this package can be directly used in the authentica‐
46 tion callback of pop3 servers following the same interface as servers
47 created by the package pop3d.
48
49 ::pop3d::udb::new ?dbName?
50 This command creates a new database object with an associated
51 global Tcl command whose name is dbName.
52
53 The command dbName may be used to invoke various operations on the
54 database. It has the following general form:
55
56 dbName option ?arg arg ...?
57 Option and the args determine the exact behavior of the command.
58
59 The following commands are possible for database objects:
60
61 dbName destroy
62 Destroys the database object.
63
64 dbName add user pwd storage
65 Add a new user or changes the data of an existing user. Stores
66 password and storage reference for the given user.
67
68 dbName remove user
69 Removes the specified user from the database.
70
71 dbName rename user newName
72 Changes the name of the specified user to newName.
73
74 dbName lookup user
75 Searches the database for the specified user and returns a two-
76 element list containing the associated password and storage ref‐
77 erence, in this order. Throws an error if the user could not be
78 found. This is the interface as expected by the authentication
79 callback of package pop3d.
80
81 dbName exists user
82 Returns true if the specified user is known to the database,
83 else false.
84
85 dbName who
86 Returns a list of users known to the database.
87
88 dbName save ?file?
89 Saves the contents of the database into the given file. If the
90 file is not specified the system will use the path last used in
91 a call to dbName read. The generated file can be read by the
92 read method.
93
94 dbName read file
95 Reads the specified file and adds the contained user definitions
96 to the database. As the file is actually source'd a safe inter‐
97 preter is employed to safeguard against malicious code. This in‐
98 terpreter knows the add command for adding users and their asso‐
99 ciated data to this database. This command has the same argument
100 signature as the method add. The path of the file is remembered
101 internally so that it can be used in the next call of dbName
102 save without an argument.
103
105 This document, and the package it describes, will undoubtedly contain
106 bugs and other problems. Please report such in the category pop3d of
107 the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist]. Please
108 also report any ideas for enhancements you may have for either package
109 and/or documentation.
110
111 When proposing code changes, please provide unified diffs, i.e the out‐
112 put of diff -u.
113
114 Note further that attachments are strongly preferred over inlined
115 patches. Attachments can be made by going to the Edit form of the
116 ticket immediately after its creation, and then using the left-most
117 button in the secondary navigation bar.
118
120 internet, network, pop3, protocol
121
123 Networking
124
126 Copyright (c) 2002 Andreas Kupries <andreas_kupries@users.sourceforge.net>
127
128
129
130
131tcllib 1.0.1 pop3d::udb(n)