| [11054] | 1 | This document contains information about upgrading AccountManagerPlugin to the |
|---|
| 2 | last release. It is provided to help anybody who is upgrading by specifically |
|---|
| 3 | reminding of changes with potentially disruptive effect to existing |
|---|
| 4 | installations. |
|---|
| 5 | |
|---|
| 6 | It goes back as far as release acct_mgr-0.2. If you are upgrading from an |
|---|
| [12482] | 7 | even earlier release, start from a default configuration, please. |
|---|
| 8 | Many valuable hints on AccountManager configuration are compiled into |
|---|
| 9 | http://trac-hacks.org/wiki/CookBook/AccountManagerPluginConfiguration |
|---|
| [11054] | 10 | |
|---|
| 11 | |
|---|
| [12482] | 12 | Upgrading acct_mgr-0.4 -> 0.4.1 |
|---|
| 13 | ------------------------------- |
|---|
| 14 | Run `python ./contrib/fix-session_attribute-failed_logins.py <env>` on any |
|---|
| 15 | Trac environment, that had account locking enabled with time constraints |
|---|
| 16 | before. This is a one-time task, but running it multiple times does no harm. |
|---|
| 17 | |
|---|
| 18 | |
|---|
| [11054] | 19 | Upgrading acct_mgr-0.3.2 -> 0.4 |
|---|
| 20 | ------------------------------- |
|---|
| 21 | 'password_file' is depreciated and no longer used by any authentication store |
|---|
| 22 | provided by AccountManagerPlugin itself. |
|---|
| 23 | |
|---|
| 24 | New configuration options to supersed 'password_file' for affected stores: |
|---|
| 25 | {{{ |
|---|
| 26 | #!diff |
|---|
| 27 | [account-manager] |
|---|
| [11826] | 28 | password_store = HtDigestStore |
|---|
| [11054] | 29 | -password_file = <abs_path>/.htdigest |
|---|
| 30 | +htdigest_file = <abs_path>/.htdigest |
|---|
| 31 | }}} |
|---|
| 32 | |
|---|
| 33 | {{{ |
|---|
| 34 | #!diff |
|---|
| 35 | [account-manager] |
|---|
| 36 | password_store = HtPasswdStore |
|---|
| 37 | -password_file = <abs_path>/.htpasswd |
|---|
| 38 | +htpasswd_file = <abs_path>/.htpasswd |
|---|
| 39 | }}} |
|---|
| 40 | |
|---|
| 41 | The password reset procedure has been re-designed from ground to make password |
|---|
| 42 | resets recoverable, at least to prevent possible DoS attempted by malicious |
|---|
| 43 | users on accounts connected to known email addresses. It utilizes |
|---|
| 44 | ResetPwStore, a SessionStore, as temporary cache for new auto-generated |
|---|
| 45 | random passwords. A subsequent login can succeed using old or new password. |
|---|
| 46 | Only the password, that succeeds first, will be retained. So if the old |
|---|
| 47 | password succeeds first, any cached new password is discharged. |
|---|
| 48 | while a new password will get overwritten in any subsequent password reset, it |
|---|
| 49 | replaces the old password only after being used for a successful login, |
|---|
| 50 | and before it possibly gets overwritten itself by a newer one of course. |
|---|
| 51 | |
|---|
| [11960] | 52 | Component rename: |
|---|
| 53 | {{{ |
|---|
| 54 | #!diff |
|---|
| 55 | [components] |
|---|
| 56 | -acct_mgr.admin.accountmanageradminpages |
|---|
| 57 | +acct_mgr.admin.accountmanageradminpanel |
|---|
| 58 | -acct_mgr.admin.accountchangenotificationadminpage |
|---|
| 59 | +acct_mgr.admin.accountchangenotificationadminpanel |
|---|
| 60 | }}} |
|---|
| [11054] | 61 | |
|---|
| [11960] | 62 | New user account registration has been restructured, moved to a separate |
|---|
| 63 | place and even partly rewritten from scratch. |
|---|
| 64 | |
|---|
| 65 | Component move: |
|---|
| 66 | {{{ |
|---|
| 67 | #!diff |
|---|
| 68 | [components] |
|---|
| 69 | -acct_mgr.web_ui.emailverificationmodule |
|---|
| 70 | +acct_mgr.register.emailverificationmodule |
|---|
| 71 | -acct_mgr.web_ui.registrationmodule |
|---|
| 72 | +acct_mgr.register.registrationmodule |
|---|
| 73 | }}} |
|---|
| 74 | |
|---|
| 75 | `IAccountRegistrationInspector` is the interface, that allows for flexibility |
|---|
| 76 | in registration form design as well as in registration request checks. |
|---|
| 77 | |
|---|
| 78 | Note: You'll certaily want to enable some/all of the new check classes in |
|---|
| 79 | `acct_mgr.register`, if you want to use RegistrationModule at all. |
|---|
| 80 | Don't forget to add all checks to the registration configuration too |
|---|
| 81 | to actually apply them on subsequent requests (showing default value here): |
|---|
| 82 | {{{ |
|---|
| 83 | #!ini |
|---|
| 84 | [account-manager] |
|---|
| 85 | register_check = BasicCheck, EmailCheck, UsernamePermCheck, RegExpCheck |
|---|
| 86 | }}} |
|---|
| 87 | |
|---|
| 88 | Note: Email has been validated against a hard-coded regular expression before. |
|---|
| 89 | Now the expression is configurable and this check moved into the RegExpCheck. |
|---|
| 90 | |
|---|
| 91 | |
|---|
| [11054] | 92 | Upgrading acct_mgr-0.3.1 -> 0.3.2 |
|---|
| 93 | --------------------------------- |
|---|
| 94 | "Account details" has been removed from panel list and made a true sub-page |
|---|
| 95 | to "Users", just as it was meant to be right from the start. |
|---|
| 96 | Internally form action of details page has changed from POST to GET. |
|---|
| 97 | `get_user_attribute`, another method borrowed from/inspired by |
|---|
| 98 | UserManagerPlugin, was added to the API. |
|---|
| 99 | |
|---|
| 100 | |
|---|
| 101 | Upgrading acct_mgr-0.3 -> 0.3.1 |
|---|
| 102 | ------------------------------- |
|---|
| 103 | The release has been almost entirely dedicated to restore |
|---|
| 104 | backwards-compatibility with Trac down to 0.11, but still watch out. |
|---|
| 105 | |
|---|
| 106 | Component rename: |
|---|
| 107 | {{{ |
|---|
| 108 | #!diff |
|---|
| 109 | [components] |
|---|
| 110 | -acct_mgr.admin.accountchangenotificationadminpanel |
|---|
| 111 | +acct_mgr.admin.accountchangenotificationadminpage |
|---|
| 112 | }}} |
|---|
| 113 | |
|---|
| 114 | |
|---|
| 115 | Upgrading acct_mgr-0.2.1 -> 0.3 |
|---|
| 116 | ------------------------------- |
|---|
| 117 | That translates to 2 years and well over 100 revisions without a release, |
|---|
| 118 | so by 2011 a lot of existing applications use(d) code from the development |
|---|
| 119 | branch `trunk` alias acct_mgr-0.2.1dev at some stage in-between. |
|---|
| 120 | The transition to `0.11` branch has been done early in the process too. |
|---|
| 121 | |
|---|
| 122 | Component rename: |
|---|
| 123 | {{{ |
|---|
| 124 | #!diff |
|---|
| 125 | [components] |
|---|
| 126 | -acct_mgr.admin.accountmanageradminpage |
|---|
| 127 | +acct_mgr.admin.accountmanageradminpages |
|---|
| 128 | }}} |
|---|
| 129 | |
|---|
| 130 | AccountGuard is an new feature with some related options to protect accounts |
|---|
| 131 | against brute-force attacks on user passwords. |
|---|
| 132 | |
|---|
| 133 | The login page becomes more customizable i.e. with `login_opt_list` option. |
|---|
| 134 | |
|---|
| 135 | Full i18n support has been added, that is utilized starting with Trac 0.12 |
|---|
| 136 | to show localized versions of all pages, provided that requested translations |
|---|
| 137 | have been done and included into the source. |
|---|
| 138 | |
|---|
| 139 | Internally some variables `user` have been renamed to `username` in contrast |
|---|
| 140 | to `name` for users pre-/surname and nickname. This raises various problems |
|---|
| 141 | for other plugins replacing parts of this plugin and/or re-using it's methods. |
|---|
| 142 | |
|---|
| 143 | This is the first release cryptographically signed by the maintainer, and |
|---|
| 144 | contributed scripts allow to check md5 and sha1 checksums of downloaded |
|---|
| 145 | sources against included lists (CLI only). These lists should be verified |
|---|
| 146 | in turn with an OpenPGP program like GnuPG. |
|---|
| 147 | |
|---|
| 148 | |
|---|
| 149 | Upgrading acct_mgr-0.2 -> 0.2.1 |
|---|
| 150 | ------------------------------- |
|---|
| 151 | For this plugin it covers development dedicated to the `0.10` branch. |
|---|
| 152 | |
|---|
| 153 | Email notification of account related events added, that require corresponding |
|---|
| 154 | new configuration options to be configured properly. |
|---|
| 155 | |
|---|
| 156 | |
|---|
| 157 | Upgrading from before acct_mgr-0.2 |
|---|
| 158 | ---------------------------------- |
|---|
| 159 | This covers 1 1/2 years of development by 2 different developers within |
|---|
| 160 | several branches, starting from `0.9`. It has been finalized with the |
|---|
| 161 | ClearSilver-to-Genshi port for Trac 0.11 and acct_mgr-0.2 was pushed out |
|---|
| 162 | without much noise after the initial release and three intermediate |
|---|
| 163 | maintenance releases. |
|---|
| 164 | |
|---|
| 165 | Most notably a SessionStore implementation has been introduced for storing |
|---|
| 166 | user passwords as a Trac session attribute. This was meant as an alternative |
|---|
| 167 | to file based stores, where they cause data loss on concurrent changes. |
|---|
| 168 | Please note, that the file stores have been changed since that time too to |
|---|
| 169 | minimize such issues. |
|---|
| 170 | |
|---|
| 171 | Coming from a stage that early you'll get a whole-new plugin. Restarting the |
|---|
| 172 | whole configuration process should be less error prone and painful than |
|---|
| 173 | following a multitude of incremental updates from here. |
|---|