User: sdboyer Branch: HEAD Date: Thu, 09 Dec 2010 01:04:10 +0000 Added files: /modules/versioncontrol/includes/plugins/vcs_auth VersioncontrolAuthHandlerFFA.class.php VersioncontrolAuthHandlerMappedAccounts.class.php account.inc ffa.inc /modules/versioncontrol/tests VersioncontrolAccountAuthPlugin.test Modified files: /modules/versioncontrol/includes VersioncontrolRepository.php interfaces.inc /modules/versioncontrol/tests VersioncontrolTestCase.test /modules/versioncontrol versioncontrol.install Log message: Issue #223891 by sdboyer, marvil07: make authentication management pluggable. This patch decouples auth into a (ctools) plugin-based system, making it easy for each managed repository to have its own authentication system. The patch introduces two plugins: - A "Free-For-All" (ffa) plugin that basically serves as a backup - every auth request is granted. - A per-repo account-based system somewhat similar to the 'accounts' system of before, but with far fewer assumptions (and decoupled from mapping). Squashed commit of the following: 7e14f0d (pluggable-auth) Last test fixed by marvil07 - ready to go in. 6aa65a7 Change per-label db field names so they don't cause the entire system to blow up. Stupid PDO/DBTNG. 443b002 Major upgrade to the auth plugin documentation, especially the account auth plugin. 1093bb9 More changes from marvil07, rounding out the testing framework. 65a0fd7 Integrate assorted incremental changes from marvil07. 4aed705 Remove the defunct perms bitmask, and update the error-setting to not use $user-name since we're just doing uids now. 49e6e3e Fix the queries to specify the table alias, as all queries were failing before we did that. Also some other unrelated, minor tweaks. 280d9f6 Turns out you can't type-hint 'object' and have it work for stdClass. Stupid PHP. 197a477 Initial sketchy work on tests for the account auth plugin. fd4a4d4 Small tweaks and docblock additions to the accounts plugin. ba6d1cb The auth plugin fetcher was looking for the wrong type of plugin. b75ee9a Add save method and getters and setters for user data. a2937d2 Finish up the auth-checking logic in the accounts plugin. It's very verbose, possibly too much so. 1da3ac3 VersioncontrolAuthHandlerInterface shouldn't require a VersioncontrolBranch or VersioncontrolTag for the respective create checks. 5f39b74 May be premature to remove {versioncontrol_accounts} table, so putting it back in. ffcafe0 Remove explicit file declarations from plugins, they make ctools bork without full paths. Fine to do this since our plugins follow the naming convention. be09697 Cache instanciated auth plugin on the VersioncontrolRepository object in VersioncontrolRepository::getAuthHandler(). 3fa2db5 Update {versioncontrol_auth_account_label} with some slightly saner field names. 2b9bd63 Update VersioncontrolAuthHandlerInterface to take user arguments rather than setting a single user as a property. 7449ddb Update schema to reflect new pluggable auth system. ffcf1b1 Initial work on the 'accounts' auth plugin, which should be the basis for a family of plugins that do db-based granular control of repo access. 09bd721 Change VersioncontrolAuthHandlerInterface::authAnyWrite() to VersioncontrolAuthHandlerInterface::authBase(), as it's a little clearer what the method is actually for. 0f6db26 Rename auth plugin type from 'authorization' to 'vcs_auth', and introduce the first plugin, 'FFA', which just lets everything through. d573c73 Add a bunch of methods to VersioncontrolAuthHandlerInterface. 8873ba6 Change 'Authorization' to 'Auth' in method name and interface name, as it just seems nicer. 1bd9995 Add VersioncontrolRepository::getAuthorizationHandler() method and introduce VersioncontrolAuthorizationHandlerInterface to keep track of methods plugins will need to implement. 55962fe Removed explicit file location from simple_mail plugin; ctools figures it out correctly if it's not there, but chokes if it is. 76f2127 Tweak some strings on the repository add/edit form. 30d4fc9 Add a VersioncontrolEntity::getRepository() method, and slightly tweak/improve VersioncontrolBackend::loadEntity() for greater convenience. d6cea81 Issue #970200 by sarah_p: Some theming & output improvements to commit log views. Links: http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/inc... http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/inc... http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/inc... http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/inc... http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/tes... http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/inc... http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/inc... http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/tes... http://cvs.drupal.org/diff.php?path=contributions/modules/versioncontrol/ver...