summaryrefslogtreecommitdiff
path: root/perl/Wallet
AgeCommit message (Collapse)Author
2010-02-18Move stub fork_callback() into parent classRuss Allbery
Move the stub fork_callback method into Wallet::Kadmin and make both Wallet::Kadmin::Heimdal and Wallet::Kadmin::MIT inherit from Wallet::Kadmin. Add POD documentation for fork_callback.
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-09Use the long enctype name for aes256-cts-hmac-sha1-96Russ Allbery
Heimdal requires the full name and doesn't support the short name that MIT has as an alias. Change the documentation to use the long name uniformly.
2010-02-09Document and make case-insensitive KEYTAB_KRBTYPERuss Allbery
KEYTAB_KRBTYPE wasn't documented in Wallet::Config. Add it and the variable declaration. Also document the new mandatory setting in NEWS and add the Heimdal::Kadm5 requirement to README. Remove some of the language in README that implies that only MIT Kerberos is supported. Make the setting case-insensitive and improve the error message from Wallet::Kadmin if it isn't set.
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-08Fix canonicalization of principals for HeimdalRuss Allbery
All the Wallet::Kadmin::Heimdal functions were canonicalizing principals using duplicate code, and that code assumed that all principal names would be unqualified. Centralize that code in one helper routine and support already-qualified principals so that we can use these functions easily from the test suite.
2010-02-08Don't default the Heimdal kadmin server to localhostRuss Allbery
If there is no kadmin host set in the configuration, it's supposed to fall back on the krb5.conf setting, not hard-code localhost.
2010-02-08Fix syntax error in Wallet::Kadmin::HeimdalRuss Allbery
Introduced accidentally during the coding style cleanup.
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-28Improved and fixed tests related to Pod and KDC typeJon Robertson
Added a fix to the Pod tests to change the order of the arguments in a skip statement to the correct order. Also added tests for the KEYTAB_KRBTYPE value in the keytab tests, and changed the Wallet::Kadmin module to standardize the errors returned with no keytab set and add new error for keytab set but not a valid value.
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-21Documentation additions and fixesJon Robertson
Added documentation for the new object and acl list searches to perl/Wallet/Admin.pm and server/wallet-admin. Also fixed a POD error in perl/Wallet/Kadmin.pm's docs.
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)".
2010-01-07Added ability to list only ACLs with no membersJon Robertson
Added new option to the 'wallet-admin list acls' command, 'empty', which will only return those ACLs which have no members. This will help maintenance in the long term by pointing out ACLs in error or no longer needed.
2010-01-05Added randKeyPrincipal to the keytab creation processJon Robertson
randKeyPrincipal was added to the keytab file creation process, in order to reset a principal to first have all possible enctypes. There is no way for us to specify that we only want a specific number of fresh enctypes, so we must reset to have all enctypes first, and then pare down from there each time we create the keytab.
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-16Improvements for keytab existance checks and keytab creationJon Robertson
* Fixed keytab existence check to avoid failures when called by a principal with permissions only on specific principals. * Better error cases for non-existant keytabs in several places. * Skipped limiting keytabs to certain enctypes when no enctypes are given.
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-12-03Improved wallet-admin list command with searchesJon Robertson
wallet-admin's list command now has additional searches added for objects and acls that match certain specifiers. For objects these include searching for objects owned by a specific ACL, objects owned by no one, objects of a specific type, objects with a specific flag, and objects for which a specific ACL has any privileges at all. For acls, this includes the ability to search for any ACL with an entry with given type and identifier.
2009-06-09Add owners reportRuss Allbery
Add a new report owners command to wallet-admin and corresponding report_owners() method to Wallet::Admin, which returns all ACL lines on owner ACLs for matching objects.
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-13Remove the restriction that all object implementations must have classRuss Allbery
names of Wallet::Object::* and all ACL verifier implementations must have class names of Wallet::ACL::*.
2008-02-13Fix the signature of register_verifier in the documentation.Russ Allbery
2008-02-13Move register_object and register_verifier into Wallet::Admin.Russ Allbery
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-08Wallet::Config and hence the wallet server now checks for theRuss Allbery
environment variable WALLET_CONFIG and loads configuration from the file specified there instead of /etc/wallet/wallet.conf if it is set.
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-02-07Add a new autocreate API call that tries to create an object using theRuss Allbery
default ACLs. Remove autocreation support from create, which now requires that one be on the ADMIN ACL, and from get and store. The wallet client will soon know how to do the right thing.
2008-02-07Add a check command to the wallet server to determine whether an objectRuss Allbery
already exists.
2008-02-06Check naming policy on wallet object creation before checking theRuss Allbery
default ACLs to avoid creating and stranding an ACL when the naming policy check fails.
2008-01-23Return IDs and names from list_acls.Russ Allbery
2008-01-23Add Wallet::Admin interfaces to list all objects and all ACLs in theRuss Allbery
database.
2008-01-23Only disconnect the database handle during Wallet::Server objectRuss Allbery
destruction if the database handle hasn't already been destroyed.
2008-01-23Add a destroy() method to the Wallet::Admin object and use that insteadRuss Allbery
of Wallet::Schema::drop in the test suite.
2008-01-23Refactor database initialization into a new Wallet::Admin module.Russ Allbery
2008-01-23Add a pointer to the wallet URL in the documentation.Russ Allbery
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.
2008-01-17Support enforcing a naming policy for wallet objects via a PerlRuss Allbery
function in the wallet server configuration file.
2007-12-07Fix the module name in the SYNOPSIS example.release/0.5debian/0.5-1Russ Allbery
2007-12-07Check a default creation ACL first before the ADMIN ACL when decidingRuss Allbery
whether we can auto-create a non-existent ACL, since creating one with the ADMIN ACL doesn't create a useful object. Allow @ in wallet-backend arguments so that principal names can be passed in.
2007-12-07Correctly implement the documented intention that setting an attributeRuss Allbery
to the empty string clears the attribute values.
2007-12-07Get rid of more return undefs.Russ Allbery