366 Commits

Author SHA1 Message Date
ian%hixie.ch
e05028307f Added support for password-less installations. Also added some comments and made font-lock happier.
git-svn-id: svn://10.0.0.236/trunk@118394 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-06 19:23:24 +00:00
ian%hixie.ch
7e8d81e0b0 change the name adminHostname to the more accurate localHostname
git-svn-id: svn://10.0.0.236/trunk@118390 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-06 19:16:09 +00:00
ian%hixie.ch
2643a38a33 Adding Template Toolkit support. See http://www.template-toolkit.org/ for documentation on the template toolkit format.
git-svn-id: svn://10.0.0.236/trunk@118296 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 22:39:59 +00:00
ian%hixie.ch
0adfa71621 Add getArgumentsBranch() virtual method declaration (for completeness).
git-svn-id: svn://10.0.0.236/trunk@118293 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 22:13:52 +00:00
ian%hixie.ch
b9a6b3c619 Update: Yet more things that need doing.
git-svn-id: svn://10.0.0.236/trunk@118282 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 20:25:11 +00:00
ian%hixie.ch
c04aaeb1d7 Make the File string data source capable of looking for file-based templates in two locations, one specific to the app and one relative to the library. This allows PLIF to ship with default templates for various screens and thus makes it easier to bootstrap a simple app.
git-svn-id: svn://10.0.0.236/trunk@118280 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 20:17:34 +00:00
ian%hixie.ch
4f73f6fbcc Default error reporting page.
git-svn-id: svn://10.0.0.236/trunk@118279 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 20:15:27 +00:00
ian%hixie.ch
3dccd626e2 Default templates for headers and footers that can be used by other templates.
git-svn-id: svn://10.0.0.236/trunk@118278 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 20:13:51 +00:00
ian%hixie.ch
f516ca5b22 Update the parameter list so that the 'type' parameter is explicitly named (although it still isn't used since this expander only supports one type). Also change the semantics of the data hash: no longer replace the data into a one member hash. This is a minor optimisation that eases interaction between expanders but will require changes to all existing templates.
git-svn-id: svn://10.0.0.236/trunk@118270 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 19:16:14 +00:00
ian%hixie.ch
6502db434b Add a 'type' argument to the string expander interface so that string expanders can support multiple types. Also split getExpandedString so that callers can expand strings separately from getting strings, in case that is ever necessary.
git-svn-id: svn://10.0.0.236/trunk@118269 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 19:13:14 +00:00
ian%hixie.ch
5f5d497ca1 Minor typo correction: change 'import New::SMTP' to 'import Net::SMTP'
git-svn-id: svn://10.0.0.236/trunk@118267 18797224-902f-48f8-a5cc-f745e15eee43
2002-04-05 19:11:21 +00:00
ian%hixie.ch
3e9ca21d73 * Added getGroupMembers() to the User data source.
* Fixed a bug in the MySQL implementation of User data source's getGroupName() method. It treated 'row' as an array ref instead of a normal array.
* Made the MySQL User data source automatically add a group with ID 1, named 'Administrators'.
* Special-cased the group with ID 1 in the user object so that if a user is in that group, he automatically is assumed to have all rights.
* Fixed a bug with the saving of the original groups in the user object (the backup object was simply a reference to the original object, which was later changed in place, causing the backup to change too).
* Fixed the handling of rights in the user object constructor to simply set the rights in one line instead of using indirection.
* Fixed the invalidateRights() method of the user object to correctly re-set the rights (previously it was not turning the generated array into a hashref).
* Added a setup.install implementation to the login component. It now queries the user for an administration username and creates the relevant user and puts it in the magic group 1.
* Fixed a call to checkAddress() in the login component.


git-svn-id: svn://10.0.0.236/trunk@113408 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-01 06:48:02 +00:00
ian%hixie.ch
78a5b28737 Commented out the call to Net::SMTP's verify() method and replaced it with a generic regexp sanity check. It appears that VRFY is not correctly implemented on all servers. (I may be mistaken on this; it might just be a bug somewhere in the PLIF code that is messing something up, but I couldn't find it if so.)
git-svn-id: svn://10.0.0.236/trunk@113407 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-01 06:38:55 +00:00
ian%hixie.ch
bcf3696b25 Added a check that ensures that the configuration file is not readable or writable by anyone except the user running the script. This closes a potential security hole on shared machines. Changed the umask during the creation of the configuration file so that the permission bits are set that way too. Added a comment to clarify the superficially recursive nature of the configuration database and the configuration data source.
git-svn-id: svn://10.0.0.236/trunk@113405 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-01 06:36:27 +00:00
ian%hixie.ch
d36a91026e Another change that should be done at some point: Move PLIF/DataSource/*/MySQL.pm to PLIF/DataSource/MySQL/*.pm
git-svn-id: svn://10.0.0.236/trunk@113404 18797224-902f-48f8-a5cc-f745e15eee43
2002-02-01 06:32:17 +00:00
ian%hixie.ch
cd94938f2b Removed an erroneous comment, which should be the last traces of the old problem of the lack of a configuration file being a fatal error.
git-svn-id: svn://10.0.0.236/trunk@113325 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-31 18:30:21 +00:00
ian%hixie.ch
095dfaa67a Theoretical nit: call inherited constructor just in case at some point in the future it does something useful...
git-svn-id: svn://10.0.0.236/trunk@113324 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-31 17:35:52 +00:00
ian%hixie.ch
8e82e0ec2a Fix a minor typo in some SQL code which was causing an error during the creation of the user table.
git-svn-id: svn://10.0.0.236/trunk@112824 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-25 03:18:15 +00:00
ian%hixie.ch
4612fcaf55 Moved the DBI module over to thew new more generic settings getting/saving API and removed the old DBI-specific one. Fixed an assert() call to check for the values being defined and not non-zero/non-blank. Fixed the password field to allow blank values (by making a blank value the default). Also fixed the calls to getArgument to not ever pass an undefined value as the default.
git-svn-id: svn://10.0.0.236/trunk@112822 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-25 03:17:05 +00:00
ian%hixie.ch
26b7d82370 More things that need doing on the long (and not so long) run.
git-svn-id: svn://10.0.0.236/trunk@112821 18797224-902f-48f8-a5cc-f745e15eee43
2002-01-25 03:12:26 +00:00
ian%hixie.ch
fe4e758a28 getting rid of the last traces of the newFieldXXX stuff
git-svn-id: svn://10.0.0.236/trunk@111187 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-31 06:28:59 +00:00
ian%hixie.ch
fe8b3a235a abstracted out some common code. Made the flushing of pending text happen after each end tag as well as each start tag. (Not doing this was causing whitespace between sibling elements to be treated as trailing whitespace of the first element, resulting in excessive whitespace -- typically newlines -- in the output stream.)
git-svn-id: svn://10.0.0.236/trunk@111184 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-31 06:07:04 +00:00
ian%hixie.ch
6b5cf00273 Fixing SQL error (DROP COLUMN not REMOVE COLUMN)
git-svn-id: svn://10.0.0.236/trunk@111183 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-31 06:04:30 +00:00
ian%hixie.ch
f471469a1e delete() doesn't work with array references in old versions of perl5.
git-svn-id: svn://10.0.0.236/trunk@111178 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-31 02:40:49 +00:00
ian%hixie.ch
3599d0acd9 Checking in a list of things that still need doing.
git-svn-id: svn://10.0.0.236/trunk@111171 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-30 01:03:45 +00:00
ian%hixie.ch
46053b778d Changing e-mail address now sends a confirmation mail to the old address too. Implemented by making changing fields a generic mechanism. Also fixed some minor nits.
git-svn-id: svn://10.0.0.236/trunk@111170 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-30 00:33:36 +00:00
ian%hixie.ch
00383655d8 * Removed incorrect comments.
* Added some XXX comments.
* Changed the way text nodes are handled so that adjacent text nodes are merged.
* Changed the way original keys are kept so that they work across flattening, rounding, and that there is no 'coses: original keys' hash getting in the way.
* Fixed a bug whereby empty arrays and hashes caused extraneous iterations in <set> elements.
* Removed some redundant scalar()s.


git-svn-id: svn://10.0.0.236/trunk@111083 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 19:30:16 +00:00
ian%hixie.ch
26badb2620 Made debug() be level 6 instead of level 7. Added various comments.
git-svn-id: svn://10.0.0.236/trunk@111082 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 19:12:57 +00:00
ian%hixie.ch
fdee476d81 Removed an unused variable. Made the selecting array always return an array even in scalar context. This makes using it in |if| statements a lot easier.
git-svn-id: svn://10.0.0.236/trunk@111081 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 19:03:07 +00:00
ian%hixie.ch
acde38c21c Removing debug() calls.
git-svn-id: svn://10.0.0.236/trunk@111080 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 19:01:07 +00:00
ian%hixie.ch
149d647b08 Removing debug() calls, and removed the mention of a user 'logged out' state now that logging our is protocol specific.
git-svn-id: svn://10.0.0.236/trunk@111078 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 18:52:23 +00:00
ian%hixie.ch
cb233d7c8f Adding some error handling for the case where connecting to the AIM server fails. Also removing an extraneous dump() statement.
git-svn-id: svn://10.0.0.236/trunk@111077 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 18:35:16 +00:00
ian%hixie.ch
b0ad3bf6e2 An implementation of a logout service for HTTP.
git-svn-id: svn://10.0.0.236/trunk@111076 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 18:34:01 +00:00
ian%hixie.ch
22cbed9ee7 Since User.pm is now calling this object's 'hash' method instead of using 'data' directly, we had better implement 'hash'. Also make setting the property always check that the value being set is valid.
git-svn-id: svn://10.0.0.236/trunk@111075 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 18:19:15 +00:00
ian%hixie.ch
a7186dfdee Since logout is now protocol specific, removing support for logging out from the user object. Also making the 'hash' method more generic by making it call the field 'hash' method instead of assuming it will never pass more than the data of a field.
git-svn-id: svn://10.0.0.236/trunk@111074 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 18:15:14 +00:00
ian%hixie.ch
93af13dd1c Changed the implementation of cmdSetup to store the results of the selecting service lists in an array instead of a scalar.
git-svn-id: svn://10.0.0.236/trunk@111073 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 17:45:05 +00:00
ian%hixie.ch
5aaf9df976 Change from a hard-coded logout mechanism to a generic per-protocol logout mechanism.
git-svn-id: svn://10.0.0.236/trunk@111072 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 17:38:41 +00:00
ian%hixie.ch
664d8534d3 A new type of user field for strings that are in the form of integers.
git-svn-id: svn://10.0.0.236/trunk@111070 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 17:18:00 +00:00
ian%hixie.ch
2d5c6ae3be Removed some |scalar()|s where they were redundant, added some XXX comments, and fixed a couple of logic errors (>2 should have been >=2 and stuff like that -- this code really should use named constants)
git-svn-id: svn://10.0.0.236/trunk@111069 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 16:46:06 +00:00
ian%hixie.ch
41e4aafbcc |not| implies a scalar context, so there's no need for an explicit |scalar()|
git-svn-id: svn://10.0.0.236/trunk@111068 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 16:10:17 +00:00
ian%hixie.ch
0a0d76f22a Removed a redundant |scalar()| -- |if| implies a scalar context anyway.
git-svn-id: svn://10.0.0.236/trunk@111067 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 16:05:54 +00:00
ian%hixie.ch
4ec7cf70bc Clarified a comment.
git-svn-id: svn://10.0.0.236/trunk@111066 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 16:03:55 +00:00
ian%hixie.ch
631c7ab6d7 A few minor fixes: checked for a reference being defined rather than being true (twice), replaced some double quotes with single quotes, and removed a trailing dot on a call to error().
git-svn-id: svn://10.0.0.236/trunk@111065 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 15:45:01 +00:00
ian%hixie.ch
606a8ffc32 Removing a level 10 dump statement that was being hit a lot.
git-svn-id: svn://10.0.0.236/trunk@111064 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-26 15:42:21 +00:00
ian%hixie.ch
59fcb856a2 Removing a bunch of dump(10, ...) calls. It turns out that dump() is actually quite expensive, and calling it 1000+ times just to do nothing isn't that useful. In addition, most of these dump()s were used to debug the core PLIF code which now works pretty well, so they aren't that useful any more.
git-svn-id: svn://10.0.0.236/trunk@109639 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-04 18:06:06 +00:00
ian%hixie.ch
10d64daec7 PLIF::Service::XML::Char() was the most expensive function in a typical profile. This takes it completely off the radar by not bothering to merge adjacent strings.
git-svn-id: svn://10.0.0.236/trunk@109638 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-04 17:51:23 +00:00
ian%hixie.ch
2358cf13a4 Changed the groupsById and groupsByName hashes of arrays into hashes of hashes to make them friendlier to handle. Also fixed some typos (groupByID instead of groupsByID, and one case of groupsByID where groupsByName was meant) and optimised away a call to dataSource.user's getGroupName method (since we already know the name).
git-svn-id: svn://10.0.0.236/trunk@109626 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-04 14:34:54 +00:00
ian%hixie.ch
20b7ae1c79 Fixing copy/paste error -- the user prefs object isn't the application object...
git-svn-id: svn://10.0.0.236/trunk@109625 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-04 13:40:04 +00:00
ian%hixie.ch
1365aca89e Make '0' and '' be equivalent to 'default' for the 'order' attribute of the <set> element. This makes defaulting actually work (missing attributes seem to get set to ''?).
git-svn-id: svn://10.0.0.236/trunk@109624 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-04 13:08:39 +00:00
ian%hixie.ch
4723ad814e Place a 5 second timeout on the SMTP object -- this makes running setup bearable without an SMTP server (the default timeout is 2 minutes).
git-svn-id: svn://10.0.0.236/trunk@109623 18797224-902f-48f8-a5cc-f745e15eee43
2001-12-04 12:53:40 +00:00