summaryrefslogtreecommitdiff
path: root/perl/Wallet/Object
AgeCommit message (Collapse)Author
2010-02-09Check spelling of server API POD and tweak server docsRuss Allbery
Also update the POD syntax check to the current version of that check I use elsewhere. Since I'm touching all the POD anyway, also rewrap all of the POD to 74 columns. Fix some references to MIT in the Wallet::Kadmin::Heimdal module documentation.
2010-02-09Remove kaserver synchronization support from the wallet backendRuss Allbery
Remove kaserver synchronization support. It is no longer tested, and retaining the code was increasing the complexity of wallet, and some specific requirements (such as different realm names between kaserver and Kerberos v5 and the kvno handling) were Stanford-specific. Rather than using this support, AFS sites running kaserver will probably find deploying Heimdal with its internal kaserver compatibility is probably an easier transition approach.
2010-02-08Coding style and whitespace fixesRuss Allbery
Combine a long series of eval blocks into a single block and a single error check. Remove trailing whitespace, and in some cases remove trailing () on method calls where the parens aren't useful.
2010-01-26Added way to clean things during a fork for kadminJon Robertson
The MIT kadmin module currently directly runs the MIT kadmin program. Some data needs to be cleaned during the forks for this. This provides a callback that can be registered and is called during the fork process, currently just to mark database handles inactive. It was added to both the MIT and Heimdal modules, though it's only a stub in the Heimdal module. Heimdal is not forking kadmin, but the stub is there in order to allow the caller to not care which module is being used and just always register the callbacks.
2010-01-26Improved error handling for Kadmin sub-modulesJon Robertson
Improved error handling by adding an error function to the Kadmin sub-modules which will copy errors down to the Wallet::Object::Keytab error function rather than relying on too many dies and evals. There still needs to be more cleanup here, but that will rely on work on Heimdal::Kadm5 as well, to clean up its own error handling to not spam warnings when called without RaiseError. Also caught a few more un-evaled error cases where Heimdal::Kadm5 was called, and fixed an error where RaiseErrors was being set rather than RaiseError due to an error in Heimdal::Kadm5 docs.
2010-01-21Removed valid_principal as a Kadmin API functionJon Robertson
valid_principal has been removed from Wallet::Kadmin and Wallet::Kadmin::Heimdal. An accessor for it in Wallet::Object::Keytab has also been removed, as have the tests in perl/t/keytab.t for the function. It still remains within Wallet::Kadmin::MIT and is used there, but only as a private method for flagging what the kadmin command-line interface cannot handle.
2010-01-19Coding style fixes for Perl wallet codeRuss Allbery
Strip trailing whitespace, convert tabs to spaces, add newlines to exceptions, and remove a few stray blank lines and a few other minor coding style oddities. Make the SQL style consistent.
2010-01-07Added ACL name to object history entriesJon Robertson
When listing an object history, ACLs were only shown as the ACL id. This changes that behavior to show the ACL name as well as ID. Where before it might say "set owner to 1", now it would say "set owner to ADMIN (1)".
2009-12-16Provided path to call valid_principal directlyJon Robertson
valid_principal used to reside in Wallet::Object::Keytab, but was moved to the individual Wallet::Kadmin::* modules. This isn't necessary currently and may not ever be, but it's there just in case we do ever need to differentiate. To simplify testing, a way to still call it directly from Wallet::Object::Keytab has been added.
2009-12-10Added support for Heimdal KDCJon Robertson
Added support for Heimdal as an alternative to MIT Kerberos. This involved separating out the kadmin-specific code into its own set of modules, and changing the existing Wallet::Object::Keytab code to branch based on which module is loaded.
2009-06-09Remove Subversion Id stringsRuss Allbery
2008-02-20Report the correct error message when addprinc fails while creating aRuss Allbery
keytab object.
2008-02-09Actually implement FILE_MAX_SIZE.Russ Allbery
2008-02-09Add file object support to the wallet server.Russ Allbery
2008-02-09Minor documentation fixes.Russ Allbery
2008-02-08No unnecessary ; after __END__.Russ Allbery
2008-02-07The current version of Net::Remctl can't handle explicit undef or theRuss Allbery
empty string as a principal argument. Be careful not to provide a principal argument if no principal was set. This workaround can be removed once we depend on a later version of Net::Remctl.
2008-01-22Update documentation for the API to Wallet::Object::Base andRuss Allbery
Wallet::ACL to take Wallet::Database objects instead of database handles.
2008-01-22Add a Wallet::Database class that now holds the database connection codeRuss Allbery
previously in Wallet::Server. Remove all the attribute setting on database handles in the other classes since Wallet::Database handles that initialization.
2007-12-07Get rid of more return undefs.Russ Allbery
2007-12-07Bump version numbers appropriately.Russ Allbery
2007-12-06Fix the keytab principal validation regex to allow instancesRuss Allbery
containing periods. Otherwise, it's hard to manage host keytabs. Add a missing test suite for that method.
2007-12-05Various coding style fixes and cleanup based on a much-appreciatedRuss Allbery
code audit by Simon Cozens. I didn't take all of his advise, and he shouldn't be blamed for any remaining issues.
2007-12-05Coding style improvements.Russ Allbery
2007-12-01Following the DBI documentation, turn on AutoCommit after RaiseError soRuss Allbery
that we have some hope of getting error messages if it fails.
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.