summaryrefslogtreecommitdiff
path: root/perl/Wallet
AgeCommit message (Collapse)Author
2007-09-01Note that not all objects support store.Russ Allbery
2007-09-01Add some additional safeguards to ensure that users cannot destroy,Russ Allbery
rename, or remove the last entry from the ADMIN ACL. Add full documentation for Wallet::Server.
2007-08-31Remove duplicate error documentation.Russ Allbery
2007-08-31Use a better method of setting the internal error that automaticallyRuss Allbery
adjusts for trailing newlines and exception detritus, saving duplicate code. Standardize the documentation of the error() method and document using this in child classes of the generic ACL and Object classes. Disable printing of errors during connect in Wallet::Server since we're going to throw our own exception.
2007-08-31Add documentation.Russ Allbery
2007-08-31Be considerably more robust in the face of configuration errors. CheckRuss Allbery
our configuration and die if it isn't correct. Catch all the exceptions thrown by the _kadmin method and do something with them. Print a warning and then rethrow the exception in the parent when running a non-existent kadmin binary rather than throwing an exception in the child, which doesn't close things down cleanly. Be robust against an undefined KEYTAB_FLAGS setting. Ensure KEYTAB_TMP is set. Also some minor doc improvements.
2007-08-31Allow empty DB_INFO and DB_NAME settings as long as they're defined.Russ Allbery
2007-08-31Add documentation.Russ Allbery
2007-08-31Fix some documentation issues around trace information and add more SEERuss Allbery
ALSO references.
2007-08-31Add a few more SEE ALSO references.Russ Allbery
2007-08-31Add documentation.Russ Allbery
2007-08-30Fix the valid principal check and fix assumptions about who qualifiesRuss Allbery
principals in all the kadmin functions. Pass the realm to the kadmin command. Parse ktadd errors properly. Call _kadmin_ktadd with the correct arguments.
2007-08-30Fix ACL verification for destroy and flags actions. Clear the internalRuss Allbery
error before accessor functions that can return undef not because of an error but just because the column is null so that the caller can tell the difference.
2007-08-30Return true from object creation, not the new object, which would be aRuss Allbery
layering violation. Fix permission denied error messages for store. Don't give administrators global access to get and store, since it would encourage bad ACL practices. When checking ACLs, instantiate the ACL object correctly. Support clearing attributes and propagate object errors into the server error correctly. Reject stores of undefined data (the empty string is okay).
2007-08-30Don't allow empty object types or names. Return true from settingRuss Allbery
attributes rather than the new value; returning the new value is kind of pointless and makes it harder to test. Add support for clearing attributes by passing in the empty string as the new value.
2007-08-30Do not require (or allow) principals to be qualified with the realm.Russ Allbery
2007-08-30Properly clean up errors from exceptions. Properly catch exceptions whenRuss Allbery
creating ACL objects in Wallet::Server. Don't return the ACL object from the acl_create method of Wallet::Server -- it's a layering violation.
2007-08-30Add primary keys for tables where everything is a key to be sure that weRuss Allbery
get the uniqueness constraint.
2007-08-30Don't reuse the same reference in list; expand each return separately.Russ Allbery
Reject check with an empty principal.
2007-08-30Reject all-numeric ACL names since they're ambiguous. Change the storedRuss Allbery
name on rename.
2007-08-30Clean up all exception output when storing it in the error variable toRuss Allbery
remove the " at line" stuff added by Perl and the newlines so that the errors stored in objects are consistent. Fix various bugs in the base object, including a few more type vs. name inversions and use of object instead of name. Allow owners to be specified as ACL names instead of IDs, and change the ID to a name in show. Add a new test suite for the base object implementation.
2007-08-30Fix all the interfaces so that objects are identified as type, name, notRuss Allbery
name, type, and fix the schema for the places where I'd renamed name to object for no good reason. I don't know what I was thinking originally.
2007-08-30This class now provides a method to do database initialization, whichRuss Allbery
shares database open code with the new method. Add an accessor function to get at the database handle, which is useful for testing. Add a DESTROY method to shut the database connection down cleanly.
2007-08-30Adjust for SQL syntax differences for auto-increment keys between MySQLRuss Allbery
and SQLite.
2007-08-30Call last_insert_id with the correct arguments.Russ Allbery
2007-08-29Load the configuration file after setting defaults for variables.Russ Allbery
2007-08-29Add an initialize function to Wallet::Server to set up the database.Russ Allbery
2007-08-29Fix lots of problems with the schema and rework it a little bit to beRuss Allbery
compatible with SQLite. Mostly this involves creating indexes separately rather than part of the create table statement.
2007-08-29Wallet::Server is now responsible for connecting to the database. Don'tRuss Allbery
bother working hard to disconnect the database on exit, since the DESTROY DBI method will do the right thing.
2007-08-29Convert the schema documentation into a Perl class that contains the sameRuss Allbery
information but can also return the SQL commands or apply them to a database.
2007-08-29The backend will be called wallet-backend, not walletd.Russ Allbery
2007-08-29Fix the store implementation to take the right arguments.Russ Allbery
2007-08-29Add the database parameters.Russ Allbery
2007-08-29Show ACL names instead of IDs when displaying objects.Russ Allbery
2007-08-29Retrieve the ACL name on object creation and store it in the object asRuss Allbery
well. Add an accessor function for it. Add a separate list method that returns all the entries in an ACL, and use it in the check method.
2007-08-28Unlink the temporary keytab file after we've gotten the data out of it.Russ Allbery
2007-08-28Initial untested implementation. Now supports all the remaining metadataRuss Allbery
operations on objects and the full set of ACL operations.
2007-08-28Add accessor functions for the name and type.Russ Allbery
2007-08-28Checkpoint. The object manipulation functions are here, as are the ACLRuss Allbery
verification pieces.
2007-08-28Throw exceptions for failure of object new() and create() functionsRuss Allbery
rather than returning undef so that we can save the error message.
2007-08-28Rename Wallet::Object to Wallet::Object::Base and fix some syntax errorsRuss Allbery
introduced by recent changes.
2007-08-28Use the new ACL object interface to find the ID of an ACL rather thanRuss Allbery
assuming they're always numeric.
2007-08-28Add an accessor function to retrieve the ACL ID.Russ Allbery
2007-08-28Initial implementation of ACL objects for the wallet.Russ Allbery
2007-08-28Fix some terminology consistency issues. Log creation of new objectsRuss Allbery
properly. Fix the logging of object deletion.
2007-08-28Have to use the module we inherit from.Russ Allbery
2007-08-28No need to pass a database handle into the ACL constructors any more.Russ Allbery
I was only going to use that for the krb5-group ACL, which I won't be implementing.
2007-08-28Add the keytab object implementation. Add the skeleton of a configRuss Allbery
module which currently doesn't do anything useful except define some variables so that I can do syntax checking.
2007-08-28Make sure the module always evaluates to true.Russ Allbery
2007-08-28Add the error() method and allow the date argument for tracing to variousRuss Allbery
method calls to be omitted. Add full documentation. This should be basically functionally complete for the first pass, although there is as yet no flags implementation.