summaryrefslogtreecommitdiff
path: root/perl/Wallet/Object
AgeCommit message (Collapse)Author
2007-12-01Set InactiveDestroy to the right thing. Doh.Russ Allbery
2007-12-01Make sure we always have a valid object and access to our databaseRuss Allbery
handle when calling kadmin so that we can do our database handle mangling.
2007-12-01Don't use die when forking kasetkey fails and similarly don't close theRuss Allbery
database connection on a failed fork.
2007-12-01Don't close our open database handles after a failed fork.Russ Allbery
2007-12-01Expiration dates are now expressed in YYYY-MM-DD HH:MM:SS instead ofRuss Allbery
seconds since epoch and returned the same way. Timestamps are now stored in the database as correct date and time types rather than seconds since epoch to work properly with MySQL.
2007-11-30Initial work on supporting testing with MySQL.Russ Allbery
Add a drop() method to Wallet::Schema to destroy the wallet database. Add a test suite for it. Add a reinitialize() method to Wallet;:Server that drops the database before creating it. Modify the wallet object test cases to call reinitialize() to create the initial database and drop() to clean up the database after the test is complete. Fix a bug preventing Wallet::Schema from being initialized multiple times. We now stash the schema in a class static variable and reuse it for subsequent initializations, since re-reading DATA doesn't work.
2007-10-10Make enctype changes in sorted order so that the history trace is reliableRuss Allbery
and can be tested.
2007-10-10Redo history tracking for attributes. Currently, all of our attributesRuss Allbery
take multiple values, so log them like flags. Hopefully this will continue to work; if not, we'll have to revisit it later. Improve logging for unsetting of attributes.
2007-10-10Add an object history method and tests for it.Russ Allbery
2007-10-09Bump version number for the keytab changes.Russ Allbery
2007-10-09Add NEWS entry for enctypes. Clarify in the documentation the behaviorRuss Allbery
of the enctypes attribute when the unchanging flag is set.
2007-10-09Add user documentation for the enctypes attribute on keytabs. MentionRuss Allbery
that the enctype must be in the database in the keytab object API documentation. The README and NEWS files are now done.
2007-10-09We have to check the validity of enctypes ourselves since SQLite doesn'tRuss Allbery
enforce referential integrity.
2007-10-09Initial implementation of enctype restriction with a basic test suite.Russ Allbery
Still needs a more comprehensive test suite. Remove all attributes for a keytab object when it is destroyed so that when the object is recreated, it doesn't inherit attributes from its previous self. Add a test case for that for the sync attribute.
2007-10-05Add comprehensive license information in LICENSE and update the copyrightRuss Allbery
and license statements in all files. Make sure that some files that were missing copyright information now have them. Reference LICENSE rather than README in all notices.
2007-10-04Fix error handling if we cannot dup stdout.Russ Allbery
2007-09-26Include the synchronization configuration in show() output. Provide aRuss Allbery
new object method that subclasses can override to add attribute information to show() and remove the documentation about overriding show().
2007-09-26Add tests for the Kerberos v5 to Kerberos v4 name mapping and do moreRuss Allbery
tests of the machinery around kaserver synchronization even if we don't have a full configuration.
2007-09-26Add support for deleting principals out of the AFS kaserver (optionally)Russ Allbery
if synchronization is not set.
2007-09-25If synchronization is enabled, destroy the principal out of K4 when theRuss Allbery
keytab object is destroyed.
2007-09-25Add support for synchronizing a key with an AFS kaserver in the keytabRuss Allbery
object implementation, extracting the DES key with Authen::Krb5 (since ktutil doesn't work). Rename the KEYTAB_CACHE variable to KEYTAB_REMCTL_CACHE to match the rest of the keytab retrieval configuration and reorganize the Wallet::Config documentation to group related configuration options for the keytab backend. Fix a column name in the keytab_enctypes table to be more consistent with the rest of the schema.
2007-09-20Change flag_list to return the empty list on error and clear error.Russ Allbery
Change the documentation to tell the caller to call error() after an empty return to see if an error occurred.
2007-09-20Update the documentation to get rid of the stupid error return fromRuss Allbery
attr and instead tell the caller to call error() on an empty return to see if there was a problem.
2007-09-19Add generic attribute support to the object layer and update the APIRuss Allbery
documentation to talk about overriding it. Update some other bits of the API documentation to include more hints about how to handle overridden methods.
2007-09-19Implement unchanging support in the keytab object backend, which retrievesRuss Allbery
keytabs via remctl from the KDC.
2007-09-19Allow creation of a keytab object for a principal that already exists.Russ Allbery
Catch more errors when checking the existence of a principal. Add a test for creating a principal for which we don't have permissions.
2007-09-19Drop the leading underscore for internal methods. I haven't been usingRuss Allbery
that convention elsewhere.
2007-09-18Implement the locked flag.Russ Allbery
2007-09-18Flags are now displayed as part of show.Russ Allbery
2007-09-17Add methods to the base object to set, clear, list, and check flags. WrapRuss Allbery
attribute setting in objects inside eval to catch SQL errors and set the object error accordingly rather than throwing an exception.
2007-09-17In show() for an object, call show() for each of the ACLs on that objectRuss Allbery
and append that information to the object description.
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-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-31Fix some documentation issues around trace information and add more SEERuss Allbery
ALSO references.
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-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-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-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-29The backend will be called wallet-backend, not walletd.Russ Allbery
2007-08-29Show ACL names instead of IDs when displaying objects.Russ Allbery
2007-08-28Unlink the temporary keytab file after we've gotten the data out of it.Russ Allbery
2007-08-28Add accessor functions for the name and type.Russ Allbery
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-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.