﻿ticket,summary,type,release,owner,status,created,modified,_description,_reporter
1001,XMLRPC plugin needs an interface to get identifiable user information user.info(),task,0.11,,new,2006-12-14T09:14:02+01:00,2016-12-06T05:35:45+01:00,"Currrently when you query for a ticket's information you get all the attributes on it, however I have no way to identify a user uniquely besides their username which is only relevant on the server. So I can't contact that user through his email information or have a local application specific user store that can query this information for particular users. So if I had this interface I could get a user's full name(first and last), and at least his email. I assume the AccountManagerPlugin could extend the attributes available for a user and maybe even add more calls like a user.getAll()",karladam@…
10762,Lost password procedure should send username,enhancement,,,new,2013-01-05T21:03:56+01:00,2022-10-03T15:51:39+02:00,"MarcR on 05.01.2013 16:20 (translation, original was in German):
> Btw, it would be helpful for the password reset (means: 'lost password procedure'), if one could get the username sent - if someone has it forgotten, bad chance. The own email address is regularly known.
",MarcR
11931,New interface: user_email_verification_verified,enhancement,,,new,2014-08-18T22:08:03+02:00,2020-05-01T06:51:13+02:00,"Hi

'''user_email_verification_verified''' - fires when user verified its email
'''user_registration_approval_approved''' - fires when user account is approved

would be nice!
",anonymous
843,Make admin approval required for account registration,enhancement,0.11,,new,2006-10-23T20:40:39+02:00,2023-03-06T00:05:10+01:00,"While the account manangement itself is quite nice, it looks like just everyone can register some account without it beeing checked at all. What I would suggest is a (configurable) combination of those mechanisms:
 * captcha authentication to prevent robots from creating accounts
 * email verification links to the email entered
 * admin approval of accounts
Also passwords should be stored within the database, so that it could be made easier for existing projects to incorporate trac into their user schemes.",anonymous
1524,How about a list of currently online users?,enhancement,0.11,,new,2007-05-08T10:53:25+02:00,2020-05-01T06:51:13+02:00,"Especially width projects with a great amount of developers it would be very interesting, which developers are currently using trac.

Would that be usefull to get an list of currently logged in users?",andy@…
1600,[patch] Add a LdapAuthStore to AccountManagerPlugin,enhancement,0.11,,new,2007-06-02T20:54:02+02:00,2016-12-06T05:35:45+01:00,"The patch provides authentication support via LDAP if AccountManagerPlugin is installed.

This allows a user to login, logout, and change their password.

No extra configuration outside of LdapPlugin (enable components, configure ldap) and AccountManagerPlugin (enable components) is required; by default, any user that is a member of the group ''tracusers'' is allowed to log in.

",Tobu
2707,[patch] Add captcha (ReCaptcha) support for new user registration,enhancement,0.11,,new,2008-03-09T13:46:24+01:00,2016-12-06T05:35:45+01:00,"Despite having the AccountManager plugin installed, my Trac was getting spammed.

So I added support for requiring a captcha when registering a new account.

I'm attaching my current code. If you're interested, I can clean it up and add documentation for a better patch :-)",Gerhard Häring
2897,[patch] Add captcha (PyCAPTCHA) support  for new user registration,enhancement,0.10,,new,2008-04-11T11:31:28+02:00,2016-12-06T05:35:45+01:00,"This is similar to #2707 in that it add a captcha to the registration page, but
it uses [http://pypi.python.org/pypi/PyCAPTCHA/ PyCAPTCHA] instead. Also, this
patch is for trac 0.10 .",roadrunner
3113,[patch] Add password policy,enhancement,0.12,Ryan J Ollos,accepted,2008-05-31T09:09:31+02:00,2022-01-09T04:36:58+01:00,"some companies have password policies in place, like:
 * reset every X days/months
 * have minimum 1 uppercase character
 * have minimum 1 non-ascii character
 * be minimum / exact X charachters long

setting/resetting a password should allow such policies.
",rupert thurner
5550,Enable use of multiple htpasswd files,enhancement,0.11,,new,2009-07-23T10:45:54+02:00,2016-12-06T05:35:45+01:00,"Hi,
I have a setup with multiple htpasswd files per project. one for internal developers shared among many projects and one file per project for external developers. Is it possible to add more than one htpasswd files to the account manager. By doing so all users (intern and extern) could change their password within trac.",bjoern.riemer@…
8933,[patch] Provide configurable crypt prefix,enhancement,0.11,,new,2011-06-28T21:58:45+02:00,2020-05-01T06:51:13+02:00,For crypt there should be a setting to configure hash prefix. Crypt uses this prefix to determine which algorithm it should use for hashing.,Mitar
9253,"Review account Attributes should allow to select by ""sid""",enhancement,0.12,,new,2011-10-10T18:23:22+02:00,2016-12-06T05:35:45+01:00,"Currently it is a lot of luck necessary to find anything in the account attributes review.

It would be very helpful to support search or specification of a user id.",Dirk Stöcker
9947,Integrate functionality of FineGrainedPageAuthzEditorPlugin,enhancement,0.11,,new,2012-04-06T21:03:17+02:00,2016-12-06T05:35:45+01:00,I propose that the FineGrainedPageAuthzEditorPlugin be integrated into the AccountManagerPlugin. There is a similar proposal in #8929 for integrating the HtGroupEditorPlugin into the AccountManagerPlugin.,Ryan J Ollos
10079,LDAP login status and impossible logout,enhancement,0.11,,new,2012-06-10T15:41:34+02:00,2016-12-06T05:35:45+01:00,"Hello
I am trying to set up LDAP authentification on a trac instance under WSGI.
I am able to successfully long in and the user credential are passed to trac (wether WSGIPassAuthorization is ""on"" or ""off"" by the way with puzzles me but I suppose trac use the REMOTE_USER env var. ).

But I can't log out, ever.

I did my research and found various hacks and solutions some back 8 years ago but most of them were concluded saying AccountManager solved the problem.

I think I am in a misunderstand that it does solve the problem by not treating it at the HTTP stage right ?

Meaning when one use the HttpAuthStore and LDAP the problem is back and unsolvable is that right ?

It means if I want login/logout I need to use LDPA extension or or http://trac-hacks.org/browser/ldapauthstoreplugin/0.11 witch seem to be the base the AccountManager has its eyes on to integrate LDAP and AccountManager  ?

Am I wrong about this ?

I am trying to navigate the maze of LDAP/Auth/Authz plugins and I am bit lost ;)

I really do need SSO and LDAP is the most general tool for that I think.

And this ticket is also a token of interest in the LDAP authstore and more efficient integration in a global toolset.


Thanks a lot for your time and work on the AccountManager  module.


",Annakan
10679,Checkbox to force user to change their password on first login,enhancement,,,new,2012-12-05T06:54:53+01:00,2023-07-13T16:05:15+02:00,"It would be nice to have a checkbox above or below the ''Skip new email verification'' checkbox: ''Force password change on first login''.

The current workaround is:
 1. Create an account.
 1. Reset the new user's password.",Ryan J Ollos
10747,Allow accounts to be created from the command line,enhancement,,,new,2013-01-03T16:45:04+01:00,2016-12-06T05:35:45+01:00,"Implement the IAdminCommandProvider interface with a command to allow accounts to be created from the command line. Additional commands would probably be useful, such as forcing user password changes from the command line. What other command might be useful? This ticket might be a good place to list them, even if we generate additional tickets for implementation of those commands.",Ryan J Ollos
10755,Implement group toggling behavior for checkboxes on Account: Cleanup page,enhancement,,,new,2013-01-04T16:34:30+01:00,2016-12-06T05:35:45+01:00,"As was done in #10745 for the '''Manage User Accounts''' page, implement group toggling behavior for the ""parent"" checkboxes on the ''Account: Cleanup'' page.",Ryan J Ollos
11003,Add a ConfigSection,enhancement,1.0,,new,2013-04-03T17:30:07+02:00,2016-12-06T05:35:45+01:00,"Hello, please add a !ConfigSection in accountmanager, so that ini editor and [wiki:TracIni] show proper description for the accountmanager config section.

See [/changeset?new=traciniadminpanelplugin%2Ftrunk%2Finieditorpanel%2Fdefault_manager.py%4012850&old=traciniadminpanelplugin%2Ftrunk%2Finieditorpanel%2Fdefault_manager.py%4012798|iniadmin changeset].

Install new [wiki:TracIniAdminPanelPlugin] to see how useful that is :-)",Dirk Stöcker
11119,Strip whitespace from macro arguments,enhancement,0.11,,new,2013-05-26T07:05:21+02:00,2016-12-06T05:35:45+01:00,"While working on a patch t:#10751, I added a `stripws` argument to `parse_args`, to strip leading and trailing whitespace from macro arguments (see [https://github.com/rjollos/trac/commit/cd5f4cee cd5f4cee]). There hasn't been any interest expressed in the patch so far, but I encountered a situation this evening that made me think we should deal with this directly in the `UserStats` macro.

The macro call `[[UserQuery(email, name, visit)]]` results in the list `[u'email', u' name', u' visit']`. The output of the macro is then,
{{{
admin, user1 <user1@gmail.com>, user2 <user2@gmail.com> 
}}}

rather than the expected,
{{{
#!html
<div xmlns=""http://www.w3.org/1999/xhtml"" id=""accountlist"">
  <table class=""wiki"" id=""accountlist"">
    <thead>
      <tr>
        <th>Account</th>
        <th>Name</th>
        <th>Email</th>
        <th>Last Login</th>
      </tr>
    </thead>
    <tbody>
        <tr class=""even"">
          <td>
            <a href=""/tracdev/admin/accounts/users/admin"">admin</a>
          </td>
          <td></td>
          <td>
            <a href=""mailto:None""></a>
          </td>
            <td></td>
        </tr>
        <tr class=""odd"">
          <td>
            <a href=""/tracdev/admin/accounts/users/user1"">user1</a>
          </td>
          <td>User One</td>
          <td>
            <a href=""mailto:user1@gmail.com"">user1@gmail.com</a>
          </td>
            <td><span title=""05/25/2013 09:19:50 AM"">16 hours ago</span></td>
        </tr>
        <tr class=""even"">
          <td>
            <a href=""/tracdev/admin/accounts/users/user2"">user2</a>
          </td>
          <td>User Two</td>
          <td>
            <a href=""mailto:user2@gmail.com"">user2@gmail.com</a>
          </td>
            <td></td>
        </tr>
    </tbody>
  </table>
</div>
}}}
",Ryan J Ollos
12576,Communicate to XMPP contacts in addition to Email contacts,enhancement,,,new,2015-11-13T14:59:23+01:00,2016-12-06T05:35:45+01:00,"Originally from [https://trac.gajim.org/ticket/6776 Register an account: JID address in addition to the curent Email address]

----

From: Register an account <http://trac.gajim.org/register>

Optional
Name:
Email:
Jabber/JID/XMPP:

Entering your email address will enable you to reset your password if you ever forget it.

Entering your XMPP address will enable you to reset your password if you ever forget it.


From `gajim@conference.gajim.org` <http://www.gajim.org/muc_logs/gajim@conference.gajim.org/2011/01/26.html>

[07:12:30 PM] Asterix: if only they could do notifications by pubsub instead of email ....


----

Maybe elated: JabberTracScript",Darlan
13282,Allow blacklisting usernames,enhancement,,Ryan J Ollos,accepted,2017-10-04T02:09:57+02:00,2020-05-18T06:38:23+02:00,"In order to implement SiteUpgradeProposal/UserClearance, we'd like to have an explicit list of blacklisted names that are read from a wiki page.",Ryan J Ollos
13304,Move user page filters to preferences,enhancement,,Ryan J Ollos,new,2017-10-16T09:02:05+02:00,2017-10-16T09:04:43+02:00,"[[Image(""Screen Shot 2017-10-16 at 00.01.51.png"", border=2, 100%)]]

=>

[[Image(""Screen Shot 2017-10-16 at 00.01.22.png"", border=2, 100%)]]
",Ryan J Ollos
5502,Add sasldb support,enhancement,0.11,,new,2009-07-12T19:13:03+02:00,2023-03-01T14:16:41+01:00,"This is good idea use subversion passwd file as central authentication base for subversion and trac, but not good in untrusted networks. Trac works fine over stunnel. But if we turn on sasl in subversion then we cant use passwd file. 
I know that we can use Apache + htpasswd for central https authentication. But I think that it is not hard to add sasl support for AccountManagerPlugin.",anonymous
12413,auth_cookie_lifetime seems to be ignored,defect,1.0,,new,2015-06-23T03:39:17+02:00,2018-02-05T00:02:33+01:00,"
(With TracAccountManager==0.4.4)

For safety, I want users to be automatically logged off after some inactivity (for example, 10 minutes).

I set auth_cookie_lifetime to 600 or any other positive value, but it doesn't seem to be taken in account. Even after hours of inactivity, a logged on user will remain logged on. 

It seems only restarting the browser or clicking on ""Logout"" actually log off.
",vpenne@…
10752,Confirmation shown when refreshing page after form interactions,defect,,,new,2013-01-04T15:29:14+01:00,2016-12-06T05:35:45+01:00,"In the case of several different form interactions, a confirmation is shown when refreshing the page:

[[Image(ConfirmationDialog.png)]]

I see this issue in Chrome 23 on Debian 6, but not with Opera 12.12 on Debian 6.

This is the same issue that Jun noted and resolved for the AdminEnumListPlugin in [/ticket/10690#comment:3 comment:3:ticket:10690]. I'll need to study the fix some more to understand how it works.

The following actions followed by a page refresh will trigger the issue:
 * '''Users''' page:
  * ''Toggle account approval''.
  * ''Add'' a user. Note that the form data is also reloaded after a user has been added and the page refreshed.
  * ''Change'' a user.
 * '''Notification''' page:
  * ''Save''
 * '''Configuration''' page:
  * ''Save''",Ryan J Ollos
10826,Authorization errors when authenticating via XmlRpc,defect,0.12,,new,2013-01-24T22:29:45+01:00,2016-12-06T05:35:45+01:00,"I'm seeing the following error when trying to execute commands with !XmlRpc.

{{{
2013-01-24 15:01:29,529 Trac[web_ui] DEBUG: RPC incoming request of content type 'text/xml' dispatched to <tracrpc.xml_rpc.XmlRpcProtocol object at 0x1f6f7290>
2013-01-24 15:01:29,529 Trac[web_ui] DEBUG: RPC(XML-RPC) call by 'anonymous'
2013-01-24 15:01:29,530 Trac[xml_rpc] DEBUG: RPC(xml) call by 'anonymous', method 'ticket.milestone.getAll' with args: ()
2013-01-24 15:01:29,531 Trac[authz_policy] DEBUG: Checking XML_RPC on
2013-01-24 15:01:29,532 Trac[perm] DEBUG: No policy allowed anonymous performing XML_RPC on None
2013-01-24 15:01:29,533 Trac[web_ui] ERROR: RPC(XML-RPC) Error
Traceback (most recent call last):
  File ""build/bdist.linux-x86_64/egg/tracrpc/web_ui.py"", line 149, in _rpc_process
    req.perm.require('XML_RPC') # Need at least XML_RPC
  File ""/usr/local/python26_trac12/lib/python2.6/site-packages/Trac-0.12.3-py2.6.egg/trac/perm.py"", line 576, in require
    raise PermissionError(action, resource, self.env)
PermissionError
}}}

Further up in the logs I see:
{{{
2013-01-24 15:01:29,472 Trac[web_ui] DEBUG: LoginModule._remote_user: Authentication attempted for 'None'
2013-01-24 15:01:29,473 Trac[web_ui] WARNING: LoginModule.authenticate: 'REMOTE_USER' was set to 'jenkins'
2013-01-24 15:01:29,473 Trac[web_ui] DEBUG: LoginModule.authenticate: Set 'REMOTE_USER' = 'None'
}}}

The issue seems to be with this bit of code in `web_ui`'s `LoginModule.authenticate` method:
{{{
#!python
if not 'REMOTE_USER' in req.environ or self.environ_auth_overwrite:
    if 'REMOTE_USER' in req.environ:
        # Complain about another component setting environment
        # variable for authenticated user.
        self.env.log.warn(""LoginModule.authenticate: ""
                          ""'REMOTE_USER' was set to '%s'""
                          % req.environ['REMOTE_USER'])
        self.env.log.debug(""LoginModule.authenticate: Set ""
                           ""'REMOTE_USER' = '%s'"" % user)
        req.environ['REMOTE_USER'] = user
}}}",Ryan J Ollos
10827,Obscure authentication scheme,defect,0.11,,new,2013-01-25T09:33:57+01:00,2020-05-01T06:51:13+02:00,"This is a reply to comment:21:ticket:8545:

The #10826 is a proof that while implemented solution in #8545 might fix some problems it is still a hack.

A good fix will require documenting authentication process properly, covering two user stories.
1. How does Trac detects authenticated users internally?
2. How different components authenticate users at the same time?

The next step is decouple REMOTE_USER (external auth) from Trac Auth plugins (internal auth) and provide internal auth API that will solve the following problems:

1. check if user is already authenticated
2. authenticate user
3. audit authentication process
4. skip authentication if 1. is true
",anatoly techtonik
10985,The login page does not forward eventual arguments to the referer,defect,1.0,,new,2013-03-29T10:55:01+01:00,2016-12-06T05:35:45+01:00,"As explained in [http://article.gmane.org/gmane.comp.version-control.subversion.trac.general/34646 this thread], I installed a new Trac 1.1.2 instance with AccountManagerPlugin 0.5dev. 

Everything went smooth, except the RSS feed links at the bottom of the pages: as an [http://trac.edgewall.org/ticket/540 help] to RSS reader clients the links are of the form
{{{
  http://trac/login?referer=%2Ftimeline%3Fmilestone%3D...%3D%26daysback%3D90%26format%3Drss
}}}
but following that link I'm redirected to the very same page, '''without''' any argument, that is
{{{
  http://trac/timeline
}}}

As requested by hasienda, I tried setting up an equivalent instance '''without''' the acctmgr plugin and there the redirect works as expected. I could not try with the current stable version of Trac (1.0), but hasienda did and experienced the same problem.",Lele Gaifax
11081,AssertionError moving to page 3 on the Configuration Wizard,defect,,,new,2013-05-15T05:26:51+02:00,2016-12-06T05:35:45+01:00,"I'm trying out the Configuration Wizard. This is a fresh install of Trac 0.11. I haven't kept up enough with recent development to know what is the typical use-case you expect, so I tried a few different ways. I've run into a few different issues, and it could be user error, but I will create a separate ticket for each in order to keep things straight (and they will be easier to close as invalid if I'm off-base).

I enabled what I thought would be the minimal set of required components (which was just a guess): `acct_mgr.admin` and `acct_mgr.api`. Well, it wasn't exactly a guess, as I noticed those two are the minimal set of components required to have the ''Configuration'' and ''Users'' !WebAdmin panels to appear in the sidebar.

I accepted the defaults on page 1 and page 2. On page 2, I did not see a warning about !SessionStore not being enabled this first time through (I started with a fresh install a few times to confirm this). After clicking ''next'' on page 2, I see an !AssertionError:


==== How to Reproduce ====

While doing a POST operation on `/admin/accounts/config`, Trac issued an internal error.

''(please provide additional details here)''


Request parameters:
{{{
{'__FORM_TOKEN': u'6d4d48bcf3537892b4a7e899',
 'active': u'1',
 'cat_id': u'accounts',
 'etc_cfg': u'[account-manager]\r\nauth_url =\r\npassword_store = HttpAuthStore\r\n\r\n[components]\r\nacct_mgr.http.HttpAuthStore = enabled',
 'init_store': u'db',
 'init_store_file': u'htdigest',
 'next': u'Next',
 'panel_id': u'config',
 'path_info': None}
}}}


User Agent was: `Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.22 (KHTML, like Gecko) Ubuntu Chromium/25.0.1364.160 Chrome/25.0.1364.160 Safari/537.22`

==== System Information ====

|| '''Trac''' || `0.11` ||
|| '''Python''' || `2.7.3 (default, Aug  1 2012, 05:16:07) ` [[br]] `[GCC 4.6.3]` ||
|| '''setuptools''' || `0.6` ||
|| '''SQLite''' || `3.7.9` ||
|| '''pysqlite''' || `2.6.0` ||
|| '''Genshi''' || `0.6` ||
|| '''jQuery:''' || `1.2.3` ||

==== Python Traceback ====
{{{
Traceback (most recent call last):
  File ""/home/user/Workspace/th11081/trac-0.11/trac/web/main.py"", line 423, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/home/user/Workspace/th11081/trac-0.11/trac/web/main.py"", line 197, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/home/user/Workspace/th11081/trac-0.11/trac/admin/web_ui.py"", line 109, in process_request
    path_info)
  File ""/home/user/Workspace/trachacks.git/accountmanagerplugin/trunk/acct_mgr/admin.py"", line 226, in render_admin_panel
    return self._do_config(req)
  File ""/home/user/Workspace/trachacks.git/accountmanagerplugin/trunk/acct_mgr/admin.py"", line 331, in _do_config
    assert is_enabled(env, SessionStore)
AssertionError

}}}


----

Whatever is the use-case, I'm imaging that either a warning should be shown about !SessionStore not being enabled and I should be blocked from going on to page 3, or !SessionStore should be automatically enabled for me when transitioning to page 3.",Ryan J Ollos
11348,Issues with EmailVerification,defect,1.0,,new,2013-10-10T20:56:39+02:00,2016-12-06T05:35:45+01:00,"I just updated one of my Trac installations (from Trac 0.11 to v1.0, !AccountManager 0.2.1dev + !EmailVerification patch from ticket:5509 to v0.4.3). While everything seems to work fine so far, I've noticed some issues concerning !EmailVerification. Let me first list the processing steps, so I can address the issues better:

 1. User ""Joe"" visits the `/register` link, fills the form (including EMail), and submits it
 1. Mail is sent to the Trac Admin (""New user created""), user is informed (on page) to log in
 1. Joe logs in for the first time
 1. Joe is re-directed to the profile (to complete other data), while the verification mail is sent in background. A corresponding information is displayed on the page.

No issue with step 1. But at the point of step 2, first problem arises: if Admin checks the account of Joe on the WebUI, it says there the email address had been verified successfully – which is simply wrong and misleading, as the verification mail had not even been sent. Which means the Admin has no way to tell which accounts are really ""verified"". This is especially bad when your site has many bots visiting, which simply register and never come back (I encounter that frequently).

Next issue comes in at step 4: ""A mail was sent to to verify your new address"". You see, the mail address itself is missing there (""to to""), though it's used correctly in the mail sent (this part might be related to what's described in ticket:10215 – but as that was closed more than a year ago, it could be something else as well).

----

For a solution to the first issue, may I suggest to adjust the ""workflow"" a little towards how it had been back with the mentioned patch? I would very much welcome to have the verification mail sent right on submit of the registration form (at least optionally/configurable, but I wouldn't mind at all if that were mandatory). This would show the account as ""unverified"" in the admin WebUI immediately, as the fields `email_verification_sent_to` and `email_verification_token` are set right from the start. I fully understand the advantages of the current model (even accounts created before !AccountManager was activated will be verified on the next login), but that check could still remain intact (affected accounts have no `email_verification_sent_to` set, so they could be identified based on this fact).

Even if another path is chosen: I guess to have this as ""mandatory"" wouldn't require much more than one or two lines of code added somewhere in `register.py`. I would really appreciate to know this code so I could patch it in my installation, as I require this order of processing for multiple other reasons as well (beside the WebUI, I also use cron jobs identifying unverified accounts this way, amongst other things).",izzy
12053,Users without password aren't displayed in dialogs,defect,,,new,2014-11-09T13:21:04+01:00,2016-12-06T05:35:45+01:00,"When a username has no password in PWD database, then it is not displayed in the auth-manager admin panels. This especially makes in impossible to delete or fix such accounts.

Fix these accounts should be displayed (e.g. in red) and it should be possible to remove them and also to set passwords for them.",Dirk Stöcker
12067,Impossible to delete email,defect,,,new,2014-11-16T00:07:29+01:00,2016-12-06T05:35:45+01:00,As t.h.o has invalid data in some email fields I wanted to delete these. Currently it's impossible to delete invalid data from fields like email or name.,Dirk Stöcker
12077,Include change author in account change notifications,defect,,,new,2014-11-25T15:06:19+01:00,2017-10-12T08:51:31+02:00,"It would be useful to see the change author in the account change notifications. For example, in the case of deleting a user:

//Deleted User for user <user>//

-->

//Deleted User for user <user> by <author>//",Ryan J Ollos
12165,LoginModule on IE9: Missing or invalid form token.,defect,1.2,,new,2015-01-28T10:27:43+01:00,2019-05-10T13:57:46+02:00,"Hi, I'm using acct_mgr.web_ui.LoginModule = enabled.
The Login works in Firefox-35, but not on IE9. The default http-auth of Trac works in both browsers.

There is a tracd listening on 8000 behind a forwarding Nginx to be able to add more tracd or other services later.

This is trac 1.0.3 and accountmanagerplugin/trunk revision 14389.


{{{
#!sh
# -*- coding: utf-8 -*-

[account-manager]
account_changes_notify_addresses = 
force_passwd_change = true
generated_password_length = 12
htdigest_file = /mnt/data/trac/htpasswd/users.htdigest
htdigest_realm = trac-test
login_attempt_max_count = 2
notify_actions = 
password_store = HtDigestStore
reset_password = true
user_lock_max_time = 86400
user_lock_time = 15
user_lock_time_progression = 2

[announcer]
ctxtnav_names = 
default_email_format = text/plain
email_address_resolvers = SpecifiedEmailResolver, SessionEmailResolver, DefaultDomainEmailResolver
email_enabled = true
email_from = trac-test@tracsrv
email_from_name = Trac (trac-test)
email_sender = SmtpEmailSender
email_subject_prefix = __default__
email_to = undisclosed-recipients:
mime_encoding = base64
use_public_cc = false
use_threaded_delivery = false

[attachment]
max_size = 262144
max_zip_size = 2097152
render_unsafe_content = false

[browser]
color_scale = enabled
downloadable_paths = /trunk, /branches/*, /tags/*
hide_properties = svk:merge
intermediate_color = 
intermediate_point = 
newest_color = (255, 136, 136)
oldest_color = (136, 136, 255)
oneliner_properties = trac:summary
render_unsafe_content = false
wiki_properties = trac:description

[changeset]
max_diff_bytes = 10000000
max_diff_files = 0
wiki_format_messages = true

[components]
acct_mgr.guard.accountguard = enabled
acct_mgr.notification.accountchangelistener = enabled
acct_mgr.register.basiccheck = enabled
acct_mgr.register.bottrapcheck = enabled
acct_mgr.register.emailcheck = enabled
acct_mgr.register.emailverificationmodule = enabled
acct_mgr.register.regexpcheck = enabled
acct_mgr.register.registrationmodule = enabled
acct_mgr.register.usernamepermcheck = enabled
acct_mgr.web_ui.LoginModule = enabled
ganttcalendar.ticketcalendar.ticketcalendarplugin = disabled
ganttcalendar.ticketgantt.ticketganttchartplugin = disabled
projectplan.ppcreatedependingtickettweak.ppcreatedependingtickettweak = enabled
projectplan.ppticketdatetweak.ppticketdatetweak = enabled
projectplan.ppticketviewtweak.ppticketviewtweak = enabled
trac.web.auth.LoginModule = disabled
trac.web.auth.loginmodule = disabled
userpictures.defaultuserpicturesprovider = disabled
userpictures.providers.gravatar.userpicturesgravatarprovider = disabled
userpictures.providers.usermanager.userpicturesusermanagerprovider = disabled
userpictures.userpicturesmodule = disabled

[header_logo]
alt = (please configure the [header_logo] section in trac.ini)
height = -1
link = http://trac-test
src = site/project_h64.png
width = -1

[inherit]
htdocs_dir = 
plugins_dir = 
templates_dir = 

[logging]
log_file = trac.log
log_level = DEBUG
log_type = file

[milestone]
stats_provider = DefaultTicketGroupStatsProvider

[mimeviewer]
max_preview_size = 262144
mime_map = text/x-dylan:dylan, text/x-idl:ice, text/x-ada:ads:adb
mime_map_patterns = text/plain:README|INSTALL|COPYING.*
pygments_default_style = trac
pygments_modes = 
tab_width = 8
treat_as_binary = application/octet-stream, application/pdf, application/postscript, application/msword,application/rtf,

[notification]
admit_domains = tracsrv
always_notify_owner = true
always_notify_reporter = false
always_notify_updater = false
ambiguous_char_width = single
batch_subject_template = $prefix Batch modify: $tickets_descr
email_sender = SmtpEmailSender
ignore_domains = 
mime_encoding = none
sendmail_path = sendmail
smtp_always_bcc = 
smtp_always_cc = 
smtp_default_domain = tracsrv
smtp_enabled = true
smtp_from = trac-test@tracsrv
smtp_from_author = false
smtp_from_name = Trac (trac-test)
smtp_password = 
smtp_port = 25
smtp_replyto = 
smtp_server = mail03
smtp_subject_prefix = __default__
smtp_user = 
ticket_subject_template = $prefix #$ticket.id: $summary
use_public_cc = yes
use_short_addr = false
use_tls = false

[project]
admin = 
admin_trac_url = .
icon = site/favicon.ico
name = test-project
url = http://trac-test

[query]
default_anonymous_query = status!=closed&cc~=$USER
default_query = status!=closed&owner=$USER
items_per_page = 100
ticketlink_query = ?status=!closed

[report]
items_per_page = 100
items_per_page_rss = 0

[revisionlog]
default_log_limit = 100
graph_colors = #cc0,#0c0,#0cc,#00c,#c0c,#c00

[roadmap]
stats_provider = DefaultTicketGroupStatsProvider

[search]
min_query_length = 3

[smtp]
debuglevel = 0
password = 
port = 25
server = mail03
timeout = 10
use_ssl = false
use_tls = false
user = 

[theme]
theme = default

[ticket]
default_cc = 
default_component = 
default_description = 
default_keywords = 
default_milestone = 
default_owner = < default >
default_priority = major
default_resolution = fixed
default_severity = 
default_summary = 
default_type = defect
default_version = 
max_comment_size = 262144
max_description_size = 262144
max_summary_size = 262144
preserve_newlines = default
restrict_owner = false
workflow = ConfigurableTicketWorkflow

[ticket-custom]
billable = checkbox
billable.label = Billable?
billable.order = 3
billable.value = 1
estimatedhours = text
estimatedhours.label = Estimated Number of Hours
estimatedhours.order = 1
estimatedhours.value = 0
hours = text
hours.label = Add Hours to Ticket
hours.order = 2
hours.value = 0
totalhours = text
totalhours.label = Total Hours
totalhours.order = 4
totalhours.value = 0

[ticket-workflow]
accept = new,assigned,accepted,reopened -> accepted
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
leave = * -> *
leave.default = 1
leave.operations = leave_status
reassign = new,assigned,accepted,reopened -> assigned
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reopen = closed -> reopened
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
resolve = new,assigned,accepted,reopened -> closed
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY

[timeline]
abbreviated_messages = enabled
changeset_collapse_events = false
changeset_long_messages = false
changeset_show_files = 0
default_daysback = 30
max_daysback = 90
newticket_formatter = oneliner
ticket_show_details = false

[trac]
authz_file = 
authz_module_name = 
auto_preview_timeout = 2.0
auto_reload = disabled
backup_dir = db
base_url = http://trac-test
check_auth_ip = false
database = postgres://trac:trac123@/trac
debug_sql = disabled
default_charset = utf-8
default_date_format = 
default_dateinfo_format = relative
default_handler = WikiModule
default_language = 
default_timezone = 
genshi_cache_size = 128
htdocs_location = 
ignore_auth_case = false
jquery_location = 
jquery_ui_location = 
jquery_ui_theme_location = 
mainnav = wiki, timeline, roadmap, browser, tickets, newticket, search
metanav = login, logout, prefs, help, about
mysqldump_path = mysqldump
never_obfuscate_mailto = false
permission_policies = DefaultPermissionPolicy, LegacyAttachmentPolicy
permission_store = DefaultPermissionStore
pg_dump_path = pg_dump
repository_dir = 
repository_sync_per_request = (default)
repository_type = svn
resizable_textareas = true
secure_cookies = disabled
show_email_addresses = false
show_ip_addresses = false
timeout = 20
use_base_url_for_redirect = disabled
use_xsendfile = false
wiki_toolbars = true

[versioncontrol]
allowed_repository_dir_prefixes = 

[watchlist]
display_notify_navitems = true
notifications = true
notify_by_default = true

[wiki]
ignore_missing_pages = false
max_size = 262144
render_unsafe_content = false
safe_schemes = cvs, file, ftp, git, irc, http, https, news, sftp, smb, ssh, svn, svn+ssh
split_page_names = false
}}}

{{{
2015-01-28 10:13:40,700 Trac[env] INFO: -------------------------------- environment startup [Trac 1.0.3] --------------------------------
2015-01-28 10:13:40,741 Trac[loader] DEBUG: Adding plugin trac-UserPicturesPlugin 0.1.1 from /mnt/data/trac/project/plugins/trac_UserPicturesPlugin-0.1.1-py2.7.egg
2015-01-28 10:13:40,741 Trac[loader] DEBUG: Adding plugin TracFullBlogPlugin 0.1.1-r0 from /mnt/data/trac/project/plugins/TracFullBlogPlugin-0.1.1_r0-py2.7.egg
2015-01-28 10:13:40,742 Trac[loader] DEBUG: Adding plugin worklog 0.3dev-r0 from /mnt/data/trac/project/plugins/worklog-0.3dev_r0-py2.7.egg
2015-01-28 10:13:40,742 Trac[loader] DEBUG: Adding plugin TracAccountManager 0.5dev-r14363 from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,743 Trac[loader] DEBUG: Adding plugin RoadmapHours 0.5 from /mnt/data/trac/project/plugins/RoadmapHours-0.5-py2.7.egg
2015-01-28 10:13:40,743 Trac[loader] DEBUG: Adding plugin TracGanttCalendarPlugin 0.11 from /mnt/data/trac/project/plugins/TracGanttCalendarPlugin-0.11-py2.7.egg
2015-01-28 10:13:40,744 Trac[loader] DEBUG: Adding plugin TracWorkflowAdmin 0.12.0.2 from /mnt/data/trac/project/plugins/TracWorkflowAdmin-0.12.0.2-py2.7.egg
2015-01-28 10:13:40,744 Trac[loader] DEBUG: Adding plugin TracpathTheme 1.0 from /mnt/data/trac/project/plugins/TracpathTheme-1.0-py2.7.egg
2015-01-28 10:13:40,745 Trac[loader] DEBUG: Adding plugin WikiAutoComplete 1.0 from /mnt/data/trac/project/plugins/WikiAutoComplete-1.0-py2.7.egg
2015-01-28 10:13:40,745 Trac[loader] DEBUG: Adding plugin timingandestimationplugin 1.3.7 from /mnt/data/trac/project/plugins/timingandestimationplugin-1.3.7-py2.7.egg
2015-01-28 10:13:40,746 Trac[loader] DEBUG: Adding plugin TracThemeEngine 2.2.2dev-r13789 from /mnt/data/trac/project/plugins/TracThemeEngine-2.2.2dev_r13789-py2.7.egg
2015-01-28 10:13:40,759 Trac[loader] DEBUG: Loading acct_mgr.admin from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,766 Trac[loader] DEBUG: Loading acct_mgr.api from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,766 Trac[loader] DEBUG: Loading acct_mgr.db from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,767 Trac[loader] DEBUG: Loading acct_mgr.htfile from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,768 Trac[loader] DEBUG: Loading acct_mgr.http from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,769 Trac[loader] DEBUG: Loading acct_mgr.macros from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,769 Trac[loader] DEBUG: Loading acct_mgr.notification from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,770 Trac[loader] DEBUG: Loading acct_mgr.opt.announcer.uid_chg from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,785 Trac[loader] DEBUG: Skipping ""acct_mgr.opt.announcer.uid_chg = acct_mgr.opt.announcer.uid_chg [announcer]"": (""DistributionNotFound: TracAnnouncer"" not found)
2015-01-28 10:13:40,785 Trac[loader] DEBUG: Loading acct_mgr.opt.tracforms.uid_chg from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,799 Trac[loader] DEBUG: Skipping ""acct_mgr.opt.tracforms.uid_chg = acct_mgr.opt.tracforms.uid_chg [forms]"": (""DistributionNotFound: TracForms"" not found)
2015-01-28 10:13:40,799 Trac[loader] DEBUG: Loading acct_mgr.opt.tracscreenshots.uid_chg from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,811 Trac[loader] DEBUG: Skipping ""acct_mgr.opt.tracscreenshots.uid_chg = acct_mgr.opt.tracscreenshots.uid_chg [screenshots]"": (""DistributionNotFound: TracScreenshots"" not found)
2015-01-28 10:13:40,811 Trac[loader] DEBUG: Loading acct_mgr.opt.tracvote.uid_chg from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,817 Trac[loader] DEBUG: Skipping ""acct_mgr.opt.tracvote.uid_chg = acct_mgr.opt.tracvote.uid_chg [vote]"": (""DistributionNotFound: TracVote"" not found)
2015-01-28 10:13:40,817 Trac[loader] DEBUG: Loading acct_mgr.pwhash from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,818 Trac[loader] DEBUG: Loading acct_mgr.register from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,818 Trac[loader] DEBUG: Loading acct_mgr.svnserve from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,818 Trac[loader] DEBUG: Loading acct_mgr.web_ui from /mnt/data/trac/project/plugins/TracAccountManager-0.5dev_r14363-py2.7.egg
2015-01-28 10:13:40,818 Trac[loader] DEBUG: Loading ganttcalendar.ticketcalendar from /mnt/data/trac/project/plugins/TracGanttCalendarPlugin-0.11-py2.7.egg
2015-01-28 10:13:40,819 Trac[loader] DEBUG: Loading ganttcalendar.ticketgantt from /mnt/data/trac/project/plugins/TracGanttCalendarPlugin-0.11-py2.7.egg
2015-01-28 10:13:40,819 Trac[loader] DEBUG: Loading roadmaphours from /mnt/data/trac/project/plugins/RoadmapHours-0.5-py2.7.egg
2015-01-28 10:13:40,825 Trac[loader] DEBUG: Loading themeengine.admin from /mnt/data/trac/project/plugins/TracThemeEngine-2.2.2dev_r13789-py2.7.egg
2015-01-28 10:13:40,826 Trac[loader] DEBUG: Loading themeengine.api from /mnt/data/trac/project/plugins/TracThemeEngine-2.2.2dev_r13789-py2.7.egg
2015-01-28 10:13:40,826 Trac[loader] DEBUG: Loading themeengine.web_ui from /mnt/data/trac/project/plugins/TracThemeEngine-2.2.2dev_r13789-py2.7.egg
2015-01-28 10:13:40,827 Trac[loader] DEBUG: Loading timingandestimationplugin from /mnt/data/trac/project/plugins/timingandestimationplugin-1.3.7-py2.7.egg
2015-01-28 10:13:40,838 Trac[loader] DEBUG: Loading trac.about from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,838 Trac[loader] DEBUG: Loading trac.admin.console from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,840 Trac[loader] DEBUG: Loading trac.admin.web_ui from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,840 Trac[loader] DEBUG: Loading trac.attachment from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,840 Trac[loader] DEBUG: Loading trac.db.mysql from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,840 Trac[loader] DEBUG: Loading trac.db.postgres from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,841 Trac[loader] DEBUG: Loading trac.db.sqlite from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,841 Trac[loader] DEBUG: Loading trac.mimeview.patch from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,841 Trac[loader] DEBUG: Loading trac.mimeview.pygments from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,848 Trac[loader] DEBUG: Loading trac.mimeview.rst from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,898 Trac[loader] DEBUG: Loading trac.mimeview.txtl from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,906 Trac[loader] DEBUG: Skipping ""trac.mimeview.txtl = trac.mimeview.txtl [textile]"": (""DistributionNotFound: textile>=2.0"" not found)
2015-01-28 10:13:40,906 Trac[loader] DEBUG: Loading trac.prefs from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,906 Trac[loader] DEBUG: Loading trac.search from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,906 Trac[loader] DEBUG: Loading trac.ticket.admin from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,907 Trac[loader] DEBUG: Loading trac.ticket.batch from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,907 Trac[loader] DEBUG: Loading trac.ticket.query from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,909 Trac[loader] DEBUG: Loading trac.ticket.report from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,910 Trac[loader] DEBUG: Loading trac.ticket.roadmap from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,910 Trac[loader] DEBUG: Loading trac.ticket.web_ui from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,912 Trac[loader] DEBUG: Loading trac.timeline from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,913 Trac[loader] DEBUG: Loading trac.versioncontrol.admin from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,913 Trac[loader] DEBUG: Loading trac.versioncontrol.svn_authz from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,914 Trac[loader] DEBUG: Loading trac.versioncontrol.web_ui from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,920 Trac[loader] DEBUG: Loading trac.web.auth from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,920 Trac[loader] DEBUG: Loading trac.web.main from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,920 Trac[loader] DEBUG: Loading trac.web.session from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,920 Trac[loader] DEBUG: Loading trac.wiki.admin from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,920 Trac[loader] DEBUG: Loading trac.wiki.interwiki from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,921 Trac[loader] DEBUG: Loading trac.wiki.macros from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,921 Trac[loader] DEBUG: Loading trac.wiki.web_api from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,921 Trac[loader] DEBUG: Loading trac.wiki.web_ui from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,922 Trac[loader] DEBUG: Loading tracfullblog.admin from /mnt/data/trac/project/plugins/TracFullBlogPlugin-0.1.1_r0-py2.7.egg
2015-01-28 10:13:40,923 Trac[loader] DEBUG: Loading tracfullblog.core from /mnt/data/trac/project/plugins/TracFullBlogPlugin-0.1.1_r0-py2.7.egg
2015-01-28 10:13:40,923 Trac[loader] DEBUG: Loading tracfullblog.db from /mnt/data/trac/project/plugins/TracFullBlogPlugin-0.1.1_r0-py2.7.egg
2015-01-28 10:13:40,924 Trac[loader] DEBUG: Loading tracfullblog.macros from /mnt/data/trac/project/plugins/TracFullBlogPlugin-0.1.1_r0-py2.7.egg
2015-01-28 10:13:40,924 Trac[loader] DEBUG: Loading tracfullblog.spamfilter from /mnt/data/trac/project/plugins/TracFullBlogPlugin-0.1.1_r0-py2.7.egg
2015-01-28 10:13:40,931 Trac[loader] DEBUG: Skipping ""tracfullblog.spamfilter = tracfullblog.spamfilter [spamfilter]"": (""DistributionNotFound: TracSpamFilter>=0.2"" not found)
2015-01-28 10:13:40,932 Trac[loader] DEBUG: Loading tracfullblog.tags from /mnt/data/trac/project/plugins/TracFullBlogPlugin-0.1.1_r0-py2.7.egg
2015-01-28 10:13:40,946 Trac[loader] DEBUG: Skipping ""tracfullblog.tags = tracfullblog.tags [tags]"": (""DistributionNotFound: TracTags>=0.6"" not found)
2015-01-28 10:13:40,946 Trac[loader] DEBUG: Loading tracfullblog.web_ui from /mnt/data/trac/project/plugins/TracFullBlogPlugin-0.1.1_r0-py2.7.egg
2015-01-28 10:13:40,947 Trac[loader] DEBUG: Loading tracopt.mimeview.enscript from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,948 Trac[loader] DEBUG: Loading tracopt.mimeview.php from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,949 Trac[loader] DEBUG: Loading tracopt.mimeview.silvercity from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,963 Trac[loader] DEBUG: Skipping ""tracopt.mimeview.silvercity = tracopt.mimeview.silvercity [silvercity]"": (""DistributionNotFound: SilverCity>=0.9.4"" not found)
2015-01-28 10:13:40,963 Trac[loader] DEBUG: Loading tracopt.perm.authz_policy from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,977 Trac[loader] DEBUG: Skipping ""tracopt.perm.authz_policy = tracopt.perm.authz_policy [configobj]"": (""DistributionNotFound: ConfigObj"" not found)
2015-01-28 10:13:40,977 Trac[loader] DEBUG: Loading tracopt.perm.config_perm_provider from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,978 Trac[loader] DEBUG: Loading tracopt.ticket.clone from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,979 Trac[loader] DEBUG: Loading tracopt.ticket.commit_updater from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,980 Trac[loader] DEBUG: Loading tracopt.ticket.deleter from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,981 Trac[loader] DEBUG: Loading tracopt.versioncontrol.git.git_fs from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,984 Trac[loader] DEBUG: Loading tracopt.versioncontrol.svn.svn_fs from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,985 Trac[loader] DEBUG: Loading tracopt.versioncontrol.svn.svn_prop from /usr/lib64/python2.7/site-packages
2015-01-28 10:13:40,985 Trac[loader] DEBUG: Loading tracpaththeme.theme from /mnt/data/trac/project/plugins/TracpathTheme-1.0-py2.7.egg
2015-01-28 10:13:40,986 Trac[loader] DEBUG: Loading tracworkflowadmin.web_ui from /mnt/data/trac/project/plugins/TracWorkflowAdmin-0.12.0.2-py2.7.egg
2015-01-28 10:13:40,991 Trac[loader] DEBUG: Loading userpictures from /mnt/data/trac/project/plugins/trac_UserPicturesPlugin-0.1.1-py2.7.egg
2015-01-28 10:13:40,992 Trac[loader] DEBUG: Loading wikiautocomplete.web_ui from /mnt/data/trac/project/plugins/WikiAutoComplete-1.0-py2.7.egg
2015-01-28 10:13:40,993 Trac[loader] DEBUG: Loading worklog.admin from /mnt/data/trac/project/plugins/worklog-0.3dev_r0-py2.7.egg
2015-01-28 10:13:40,993 Trac[loader] DEBUG: Loading worklog.api from /mnt/data/trac/project/plugins/worklog-0.3dev_r0-py2.7.egg
2015-01-28 10:13:40,994 Trac[loader] DEBUG: Loading worklog.ticket_daemon from /mnt/data/trac/project/plugins/worklog-0.3dev_r0-py2.7.egg
2015-01-28 10:13:40,994 Trac[loader] DEBUG: Loading worklog.ticket_filter from /mnt/data/trac/project/plugins/worklog-0.3dev_r0-py2.7.egg
2015-01-28 10:13:40,994 Trac[loader] DEBUG: Loading worklog.timeline from /mnt/data/trac/project/plugins/worklog-0.3dev_r0-py2.7.egg
2015-01-28 10:13:40,995 Trac[loader] DEBUG: Loading worklog.webui from /mnt/data/trac/project/plugins/worklog-0.3dev_r0-py2.7.egg
2015-01-28 10:13:40,995 Trac[loader] DEBUG: Loading worklog.xmlrpc from /mnt/data/trac/project/plugins/worklog-0.3dev_r0-py2.7.egg
2015-01-28 10:13:41,002 Trac[loader] DEBUG: Skipping ""worklog.xmlrpc = worklog.xmlrpc [xmlrpc]"": (""DistributionNotFound: TracXMLRPC>=1.1"" not found)
2015-01-28 10:13:41,003 Trac[default_workflow] DEBUG: Workflow actions at initialization: defaultdict(<function <lambda> at 0x7f6104569488>, {u'resolve': {'operations': [u'set_resolution'], 'name': '', 'default': 0, 'newstate': u'closed', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], 'permissions': [u'TICKET_MODIFY']}, u'accept': {'operations': [u'set_owner_to_self'], 'name': '', 'default': 0, 'newstate': u'accepted', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], 'permissions': [u'TICKET_MODIFY']}, u'leave': {'operations': [u'leave_status'], 'name': '', 'default': 1, 'newstate': u'*', 'oldstates': [u'*'], 'permissions': []}, u'reopen': {'operations': [u'del_resolution'], 'name': '', 'default': 0, 'newstate': u'reopened', 'oldstates': [u'closed'], 'permissions': [u'TICKET_CREATE']}, u'reassign': {'operations': [u'set_owner'], 'name': '', 'default': 0, 'newstate': u'assigned', 'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], 'permissions': [u'TICKET_MODIFY']}, '_reset': {'operations': ['reset_workflow'], 'name': 'reset', 'default': 0, 'newstate': 'new', 'oldstates': [], 'permissions': ['TICKET_ADMIN']}})

2015-01-28 10:13:41,021 Trac[api] DEBUG: T&E BEGIN Reports need an upgrade check
2015-01-28 10:13:41,021 Trac[reportmanager] DEBUG: T&E Checking for custom_report upgrade
2015-01-28 10:13:41,028 Trac[reportmanager] DEBUG: T&E END Checking for custom_report upgrade
2015-01-28 10:13:41,030 Trac[api] DEBUG: T&E END Reports need an upgrade check
2015-01-28 10:13:41,031 Trac[api] DEBUG: T&E NEEDS UP?: sys:False, rep:False, stats:False, fields:False, man:False
2015-01-28 10:13:41,031 Trac[db] DEBUG: SELECT value FROM system WHERE name='fullblog_version'
2015-01-28 10:13:41,032 Trac[main] DEBUG: Dispatching <RequestWithSession ""GET '/'"">
2015-01-28 10:13:41,033 Trac[webui] DEBUG: TimingAndEstimation billing_permission: REPORT_VIEW
2015-01-28 10:13:41,035 Trac[webui] DEBUG: T&E matched: /  None
2015-01-28 10:13:41,038 Trac[api] WARNING: Unable to find repository '(default)' for synchronization
2015-01-28 10:13:41,039 Trac[api] DEBUG: action controllers for ticket workflow: ['ConfigurableTicketWorkflow']
2015-01-28 10:13:41,040 Trac[chrome] DEBUG: Prepare chrome data for request
2015-01-28 10:13:41,042 Trac[perm] DEBUG: No policy allowed anonymous performing ACCTMGR_CONFIG_ADMIN on None
2015-01-28 10:13:41,042 Trac[perm] DEBUG: No policy allowed anonymous performing ACCTMGR_USER_ADMIN on None
2015-01-28 10:13:41,042 Trac[perm] DEBUG: No policy allowed anonymous performing THEME_ADMIN on None
2015-01-28 10:13:41,042 Trac[perm] DEBUG: No policy allowed anonymous performing TRAC_ADMIN on <Resource u'admin:general/basics'>
2015-01-28 10:13:41,043 Trac[perm] DEBUG: No policy allowed anonymous performing TRAC_ADMIN on <Resource u'admin:general/logging'>
2015-01-28 10:13:41,043 Trac[perm] DEBUG: No policy allowed anonymous performing PERMISSION_GRANT on <Resource u'admin:general/perm'>
2015-01-28 10:13:41,043 Trac[perm] DEBUG: No policy allowed anonymous performing PERMISSION_REVOKE on <Resource u'admin:general/perm'>
2015-01-28 10:13:41,043 Trac[perm] DEBUG: No policy allowed anonymous performing TRAC_ADMIN on <Resource u'admin:general/plugin'>
2015-01-28 10:13:41,043 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/components'>
2015-01-28 10:13:41,043 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/milestones'>
2015-01-28 10:13:41,043 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/versions'>
2015-01-28 10:13:41,044 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/priority'>
2015-01-28 10:13:41,044 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/resolution'>
2015-01-28 10:13:41,044 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/severity'>
2015-01-28 10:13:41,044 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/type'>
2015-01-28 10:13:41,044 Trac[perm] DEBUG: No policy allowed anonymous performing VERSIONCONTROL_ADMIN on <Resource u'admin:versioncontrol/repository'>
2015-01-28 10:13:41,044 Trac[perm] DEBUG: No policy allowed anonymous performing BLOG_ADMIN on <Resource 'blog'>
2015-01-28 10:13:41,044 Trac[perm] DEBUG: No policy allowed anonymous performing TRAC_ADMIN on <Resource u'admin:ticket/workflowadmin'>
2015-01-28 10:13:41,044 Trac[perm] DEBUG: No policy allowed anonymous performing WORK_ADMIN on None
2015-01-28 10:13:41,045 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_CREATE on None
2015-01-28 10:13:41,046 Trac[perm] DEBUG: No policy allowed anonymous performing BLOG_VIEW on <Resource 'blog'>
2015-01-28 10:13:41,046 Trac[perm] DEBUG: No policy allowed anonymous performing WORK_VIEW on None
2015-01-28 10:13:41,048 Trac[perm] DEBUG: No policy allowed anonymous performing WIKI_MODIFY on <Resource u'wiki:WikiStart'>
2015-01-28 10:13:41,049 Trac[attachment] DEBUG: LegacyAttachmentPolicy denied anonymous access to <Resource u'wiki:WikiStart, attachment'>. User needs WIKI_MODIFY
2015-01-28 10:13:41,049 Trac[perm] DEBUG: LegacyAttachmentPolicy denies anonymous performing ATTACHMENT_CREATE on <Resource u'wiki:WikiStart, attachment'>
2015-01-28 10:13:41,069 Trac[perm] DEBUG: No policy allowed anonymous performing EMAIL_VIEW on None
2015-01-28 10:13:41,186 Trac[perm] DEBUG: No policy allowed anonymous performing WIKI_CREATE on <Resource u'wiki:WikiStart'>
2015-01-28 10:13:41,187 Trac[perm] DEBUG: No policy allowed anonymous performing WIKI_ADMIN on <Resource u'wiki:WikiStart'>
2015-01-28 10:13:41,273 Trac[perm] DEBUG: No policy allowed anonymous performing WIKI_DELETE on <Resource u'wiki:WikiStart'>
2015-01-28 10:13:41,273 Trac[perm] DEBUG: No policy allowed anonymous performing WIKI_RENAME on <Resource u'wiki:WikiStart'>
2015-01-28 10:13:43,390 Trac[main] DEBUG: Dispatching <RequestWithSession ""GET '/login'"">
2015-01-28 10:13:43,392 Trac[api] WARNING: Unable to find repository '(default)' for synchronization
2015-01-28 10:13:43,402 Trac[chrome] DEBUG: Prepare chrome data for request
2015-01-28 10:13:43,405 Trac[perm] DEBUG: No policy allowed anonymous performing ACCTMGR_CONFIG_ADMIN on None
2015-01-28 10:13:43,405 Trac[perm] DEBUG: No policy allowed anonymous performing ACCTMGR_USER_ADMIN on None
2015-01-28 10:13:43,405 Trac[perm] DEBUG: No policy allowed anonymous performing THEME_ADMIN on None
2015-01-28 10:13:43,405 Trac[perm] DEBUG: No policy allowed anonymous performing TRAC_ADMIN on <Resource u'admin:general/basics'>
2015-01-28 10:13:43,406 Trac[perm] DEBUG: No policy allowed anonymous performing TRAC_ADMIN on <Resource u'admin:general/logging'>
2015-01-28 10:13:43,406 Trac[perm] DEBUG: No policy allowed anonymous performing PERMISSION_GRANT on <Resource u'admin:general/perm'>
2015-01-28 10:13:43,406 Trac[perm] DEBUG: No policy allowed anonymous performing PERMISSION_REVOKE on <Resource u'admin:general/perm'>
2015-01-28 10:13:43,406 Trac[perm] DEBUG: No policy allowed anonymous performing TRAC_ADMIN on <Resource u'admin:general/plugin'>
2015-01-28 10:13:43,406 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/components'>
2015-01-28 10:13:43,407 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/milestones'>
2015-01-28 10:13:43,407 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/versions'>
2015-01-28 10:13:43,407 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/priority'>
2015-01-28 10:13:43,408 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/resolution'>
2015-01-28 10:13:43,408 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/severity'>
2015-01-28 10:13:43,408 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_ADMIN on <Resource u'admin:ticket/type'>
2015-01-28 10:13:43,408 Trac[perm] DEBUG: No policy allowed anonymous performing VERSIONCONTROL_ADMIN on <Resource u'admin:versioncontrol/repository'>
2015-01-28 10:13:43,409 Trac[perm] DEBUG: No policy allowed anonymous performing BLOG_ADMIN on <Resource 'blog'>
2015-01-28 10:13:43,409 Trac[perm] DEBUG: No policy allowed anonymous performing TRAC_ADMIN on <Resource u'admin:ticket/workflowadmin'>
2015-01-28 10:13:43,409 Trac[perm] DEBUG: No policy allowed anonymous performing WORK_ADMIN on None
2015-01-28 10:13:43,410 Trac[perm] DEBUG: No policy allowed anonymous performing TICKET_CREATE on None
2015-01-28 10:13:43,412 Trac[perm] DEBUG: No policy allowed anonymous performing BLOG_VIEW on <Resource 'blog'>
2015-01-28 10:13:43,412 Trac[perm] DEBUG: No policy allowed anonymous performing WORK_VIEW on None
2015-01-28 10:13:43,413 Trac[perm] DEBUG: No policy allowed anonymous performing EMAIL_VIEW on None
2015-01-28 10:13:48,233 Trac[main] DEBUG: Dispatching <RequestWithSession ""POST '/login'"">
2015-01-28 10:13:48,235 Trac[api] WARNING: Unable to find repository '(default)' for synchronization
2015-01-28 10:13:48,235 Trac[web_ui] DEBUG: LoginModule._remote_user: Authentication attempted for 'Mo'
2015-01-28 10:13:48,238 Trac[guard] DEBUG: AccountGuard.user_locked(Mo) = False (try left)
2015-01-28 10:13:48,241 Trac[web_ui] DEBUG: LoginModule.authenticate: Set 'REMOTE_USER' = 'Mo'
2015-01-28 10:13:48,241 Trac[session] DEBUG: Retrieving session for ID u'Mo'
2015-01-28 10:13:48,243 Trac[main] WARNING: [127.0.0.1] HTTPBadRequest: 400 Bad Request (Missing or invalid form token. Do you have cookies enabled?)
2015-01-28 10:13:48,273 Trac[chrome] DEBUG: Prepare chrome data for request
2015-01-28 10:13:48,276 Trac[perm] DEBUG: No policy allowed Mo performing ACCTMGR_CONFIG_ADMIN on None
2015-01-28 10:13:48,276 Trac[perm] DEBUG: No policy allowed Mo performing ACCTMGR_USER_ADMIN on None
2015-01-28 10:13:48,276 Trac[perm] DEBUG: No policy allowed Mo performing THEME_ADMIN on None
2015-01-28 10:13:48,277 Trac[perm] DEBUG: No policy allowed Mo performing TRAC_ADMIN on <Resource u'admin:general/basics'>
2015-01-28 10:13:48,277 Trac[perm] DEBUG: No policy allowed Mo performing TRAC_ADMIN on <Resource u'admin:general/logging'>
2015-01-28 10:13:48,277 Trac[perm] DEBUG: No policy allowed Mo performing PERMISSION_GRANT on <Resource u'admin:general/perm'>
2015-01-28 10:13:48,278 Trac[perm] DEBUG: No policy allowed Mo performing PERMISSION_REVOKE on <Resource u'admin:general/perm'>
2015-01-28 10:13:48,278 Trac[perm] DEBUG: No policy allowed Mo performing TRAC_ADMIN on <Resource u'admin:general/plugin'>
2015-01-28 10:13:48,278 Trac[perm] DEBUG: No policy allowed Mo performing TICKET_ADMIN on <Resource u'admin:ticket/components'>
2015-01-28 10:13:48,278 Trac[perm] DEBUG: No policy allowed Mo performing TICKET_ADMIN on <Resource u'admin:ticket/milestones'>
2015-01-28 10:13:48,279 Trac[perm] DEBUG: No policy allowed Mo performing TICKET_ADMIN on <Resource u'admin:ticket/versions'>
2015-01-28 10:13:48,279 Trac[perm] DEBUG: No policy allowed Mo performing TICKET_ADMIN on <Resource u'admin:ticket/priority'>
2015-01-28 10:13:48,279 Trac[perm] DEBUG: No policy allowed Mo performing TICKET_ADMIN on <Resource u'admin:ticket/resolution'>
2015-01-28 10:13:48,279 Trac[perm] DEBUG: No policy allowed Mo performing TICKET_ADMIN on <Resource u'admin:ticket/severity'>
2015-01-28 10:13:48,280 Trac[perm] DEBUG: No policy allowed Mo performing TICKET_ADMIN on <Resource u'admin:ticket/type'>
2015-01-28 10:13:48,280 Trac[perm] DEBUG: No policy allowed Mo performing VERSIONCONTROL_ADMIN on <Resource u'admin:versioncontrol/repository'>
2015-01-28 10:13:48,280 Trac[perm] DEBUG: No policy allowed Mo performing BLOG_ADMIN on <Resource 'blog'>
2015-01-28 10:13:48,281 Trac[perm] DEBUG: No policy allowed Mo performing TRAC_ADMIN on <Resource u'admin:ticket/workflowadmin'>
2015-01-28 10:13:48,281 Trac[perm] DEBUG: No policy allowed Mo performing WORK_ADMIN on None
2015-01-28 10:13:48,284 Trac[perm] DEBUG: No policy allowed Mo performing BLOG_VIEW on <Resource 'blog'>
2015-01-28 10:13:48,284 Trac[perm] DEBUG: No policy allowed Mo performing WORK_VIEW on None
2015-01-28 10:13:48,284 Trac[perm] DEBUG: No policy allowed Mo performing EMAIL_VIEW on None
}}}

{{{
#!sh
$ cat /etc/nginx/nginx.conf |grep -v ""^.*#""
user nginx nginx;
worker_processes 1;

error_log /var/log/nginx/error_log info;

events {
	worker_connections 1024;
	use epoll;
}

http {
	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	log_format main
		'$remote_addr - $remote_user [$time_local] '
		'""$request"" $status $bytes_sent '
		'""$http_referer"" ""$http_user_agent"" '
		'""$gzip_ratio""';

	client_header_timeout 10m;
	client_body_timeout 10m;
	send_timeout 10m;

	connection_pool_size 256;
	client_header_buffer_size 1k;
	large_client_header_buffers 4 2k;
	request_pool_size 4k;

	gzip on;
	gzip_min_length 1100;
	gzip_buffers 4 8k;
	gzip_types text/plain;

	output_buffers 1 32k;
	postpone_output 1460;

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;

	keepalive_timeout 75 20;

	ignore_invalid_headers on;


        upstream trac-test {
                server  127.0.0.1:8000;
  }

        server {
                listen          80;
                server_name     trac-test;
                access_log      /var/log/nginx/live.access.log main;
                error_log       /var/log/nginx/live.error_log info;
                location / {
                    proxy_pass      http://trac-test;
                }
        }
        server {
                listen          443;
                server_name     trac-test;
                access_log      /var/log/nginx/live.access.log main;
                error_log       /var/log/nginx/live.error_log info;
                ssl                  on;
                ssl_certificate      /etc/ssl/nginx/nginx.crt;
                ssl_certificate_key  /etc/ssl/nginx/nginx.key;
                ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                ssl_prefer_server_ciphers on;
                ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK;
                ssl_dhparam /etc/ssl/nginx/nginx.dh4096.pem;
                keepalive_timeout    70;
                add_header           Front-End-Https    on;
                location / {
                    proxy_pass      http://trac-test;
                }
        }













}
}}}
",massimo.b@…
12167,"Multi-project, same digest, Login buttons disappearing",defect,1.0,,new,2015-01-29T19:19:48+01:00,2016-12-06T05:35:45+01:00,"{{{
#!ini
[uwsgi]
plugins = python27
chown-socket = trac:nginx
uid = trac
gid = trac
workers = 2
socket = /run/uwsgi/%n.sock
env = TRAC_ENV_PARENT_DIR=/mnt/data/trac/projects
env = PYTHON_EGG_CACHE=/mnt/data/trac/.python-eggs
module = trac.web.main
callable = dispatch_request
}}}

And the account manager using the same htdigest_file in both projects:

{{{
#!ini
[account-manager]
force_passwd_change = true
generated_password_length = 12
htdigest_file = /mnt/data/trac/htpasswd/users.htdigest
htdigest_realm = project-pb
login_attempt_max_count = 3
password_store = HtDigestStore
reset_password = true
user_lock_max_time = 86400
user_lock_time = 15
user_lock_time_progression = 2
}}}

However now I got a new problem, that sometimes the Login button is there and sometimes after reload not...
Sometimes the Login button appearance switches for every reload.

This is reproducible:
Being on projectA, restarting the uWSGI daemon and reloading, the Login button is there and does not disappear after reload.
Switching to projectB the Login buttons is missing and does not appear after reloading.
After restarting uWSGI the Login button appears after reload and stays, but now switching to projectA it is missing.

I attach the DEBUG log of such a reload without Login button.",massimo.b@…
12199,Local naming policy undefined for users,defect,,,new,2015-02-19T20:57:20+01:00,2018-04-29T00:27:40+02:00,"The idea to use a regexp for usernames is very powerful, but it's not helpful regarding error messages for the user. They need to experiment what is allowed and what not. I see this a lot in the logfiles of trac instances.

I thus suggest to add a configuration option which contains a descriptive string telling what the local naming policy allows and what not. This should be displayed in the registration page as well as in the error messages.

I18n: A user supplied string is hard to translate. Here my suggestion:
* The default string should describe the default setting and be marked N_() for the config option.
* Each possible language should have an own option (assuming policytext is the option)
* Before output the current locale is taken (example de_DE):
 * if policytext:de_DE exists use it or otherwise
 * if policytext:de exist use this, otherwise
 * use _(policytext), i.e. translated default
* Translation of non-default text will have no effect, so it does not do any harm.

Will there ever be a 0.5 release?",Dirk Stöcker
12237,Register new user not working with AccountManagerPlugin and AnnouncerPlugin,defect,1.0,,new,2015-03-18T09:25:54+01:00,2016-12-06T05:35:45+01:00,"I don't receive a verification email when using AccountManagerPlugin and the AnnouncerPlugin at the same time, both built from recent trunk/.

Current plugins:
{{{
RoadmapHours-0.5-py2.7.egg
SimpleMultiProject-0.0.4dev_r14359-py2.7.egg
timingandestimationplugin-1.4.4b-py2.7.egg
TracAccountManager-0.5dev_r14363-py2.7.egg
TracAnnouncer-1.0dev_r13984-py2.7.egg
TracAutocompleteUsersPlugin-0.4.3dev_r14213-py2.7.egg
TracDiscussion-0.9dev_r14140-py2.7.egg
TracFullBlogPlugin-0.1.1_r0-py2.7.egg
TracGanttCalendarPlugin-0.6.4_r859-py2.7.egg
TracMasterTickets-3.0.5dev_r14323-py2.7.egg
TracWatchlistPlugin-1.0.1-patched_py2.7.egg
TracWikiExtras-1.0dev_r14316-py2.7.egg
TracWorkflowAdmin-0.12.0.2-py2.7.egg
TracWysiwyg-0.12.0.5_r13457-py2.7.egg
WikiAutoComplete-1.0-py2.7.egg
WorkLog-0.4dev_r13835-py2.7.egg
}}}

I tried enabling both smtp_enabled on [announcer] and [notification], but also exclusively.
Using
{{{
[notification]
smtp_enabled = true
}}}
I'm facing bug #12186 again which is sending the email to <username>@<default_domain> eventhough an explicit fully qualified email address was given.

This is trac-1.0.4
announcer.opt.acct_mgr.announce.* is enabled here.

I'm going to attach config and DEBUG log.

I don't think this is related to #12228 bug not sure. I don't have that line in my logs:
{{{
Trac[notification] INFO: no recipient for a ticket notification
}}}",massimo.b@…
12302,UserQuery does not report correct login times,defect,1.0,,new,2015-05-06T21:01:53+02:00,2016-12-06T05:35:45+01:00,"I'm trying to use the UserQuery macro to view login times to determine user activity.  However, the login times reported are obviously wrong.  Some of our most active users have login times 6 months or more in the past.

I'm using Trac 1.0 & AccountManagerPlugin 0.4.4.",benjamin.weaver@…
12735,New user registration: verification e-mail doesn't sent by,defect,1.0,,new,2016-04-11T12:51:40+02:00,2017-05-26T17:46:04+02:00,"I'm using TracAccountManager-0.4.4 on my fresh installation of trac-1.0.10. Account manager is configured in according to official cookbook: CookBook/AccountManagerPluginConfiguration.

After new user registration and first attempt to login, new user doesn't receive verification e-mail; the snippet of trac-log file pasted below (attempt to register 'tester' user):  


{{{
2016-04-11 12:51:05,933 Trac[loader] DEBUG: Loading acct_mgr.notification from /apps/trac/lib/python2.7/site-packages/TracAccountManager-0.4.4-py2.7.egg
2016-04-11 12:51:06,169 Trac[notification] INFO: Sending notification through SMTP at localhost:25 to [u'tracadmin@myhost']
2016-04-11 12:52:21,638 Trac[notification] INFO: Email address w/o domain: tester
2016-04-11 12:52:21,638 Trac[notification] INFO: no recipient for a ticket notification
}}}

Mention here, that system trying to send e-mail to 'tester', however during registration I've provided correct e-mail.

Another e-mail notifications (ticket creation, and even new account creation notify, see snippet above) works correct.",al.al.osipov@…
13164,Documentation error for AccountManager,defect,1.0,Ryan J Ollos,new,2017-04-26T02:12:43+02:00,2017-05-01T00:20:42+02:00,"On the documentation for AccountManagerPlugin at CookBook/AccountManagerPluginConfiguration, it is mentioned that for HtPasswdStore `acct_mgr.pwhash.* = disabled`.

For me, the module couldn't work (using crypt) until I changed it to enable.",bruno@…
13585,"ProgramLimitExceeded: index row size 3696 exceeds maximum 2712 for index ""session_attribute_pk""",defect,,Ryan J Ollos,accepted,2019-08-14T01:22:14+02:00,2022-01-11T12:30:30+01:00,"Found in the logs:
{{{
2019-08-13 09:32:07,762 Trac[main] ERROR: [1.10.189.156] Internal Server Error: <RequestWithSession ""POST '/register'"">, referrer 'https://trac-hacks.org/register'¬
Traceback (most recent call last):¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/trac/web/main.py"", line 648, in _dispatch_request¬
    dispatcher.dispatch(req)¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/trac/web/main.py"", line 249, in dispatch¬
    resp = chosen_handler.process_request(req)¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/acct_mgr/register.py"", line 428, in process_request¬
    acctmgr.validate_account(req, True)¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/acct_mgr/api.py"", line 377, in validate_account¬
    inspector.validate_registration(req)¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/tracspamfilter/accountadapter.py"", line 76, in validate_registration¬
    FilterSystem(self.env).test(req, author, changes)¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/tracspamfilter/filtersystem.py"", line 329, in test¬
    self.reject_handler.reject_content(req, msg)¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/tracspamfilter/captcha/api.py"", line 128, in reject_content¬
    req.redirect(req.href.captcha())¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/trac/web/api.py"", line 671, in redirect¬
    self.send_response(status)¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/trac/web/main.py"", line 111, in send_response¬
    self.session.save()¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/trac/web/session.py"", line 200, in save¬
    for k, v in items])¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/trac/db/util.py"", line 146, in executemany¬
    cursor.executemany(query, params)¬
  File ""/srv/trac-hacks.org/pve/local/lib/python2.7/site-packages/trac/db/util.py"", line 92, in executemany¬
    return self.cursor.executemany(sql_escape_percent(sql), args)¬
ProgramLimitExceeded: index row size 3696 exceeds maximum 2712 for index ""session_attribute_pk""¬
HINT:  Values larger than 1/3 of a buffer page cannot be indexed.¬
Consider a function index of an MD5 hash of the value, or use full text indexing.¬
ProgramLimitExceeded: index row size 3696 exceeds maximum 2712 for index ""session_attribute_pk""¬
HINT:  Values larger than 1/3 of a buffer page cannot be indexed.¬
Consider a function index of an MD5 hash of the value, or use full text indexing.¬
}}}",Ryan J Ollos
13962,error when change user ID,defect,1.2,Ryan J Ollos,accepted,2021-02-23T15:12:13+01:00,2021-02-24T23:04:24+01:00,"I can't changed user ID.
I've the follow message:
{{{
Attention : Update error in table ticket_change: OperationalError: no such column: owner
}}}

I'm in the process of change user ID from htpasswd to LDAP.

plugin trunk at r17941

{{{
Trac	1.2.2.1
Babel	2.6.0
Genshi	0.7.2 (with speedups)
pysqlite	2.6.0
Python	2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
pytz	2019.1
setuptools	39.0.1
SQLite	3.22.0
Subversion	1.9.7 (r1800392)
jQuery	1.11.3
jQuery UI	1.11.4
jQuery Timepicker	1.5.5
}}}

{{{
EditFilePlugin	0.11.1.1	/a/tracUser/plugins/EditFilePlugin-0.11.1.1-py2.7.egg
ExcelDownloadPlugin	0.12.0.6	/a/tracUser/plugins/ExcelDownloadPlugin-0.12.0.6-py2.7.egg
KeepInterfaceSimple2Plugin	2.5	/a/tracUser/plugins/KeepInterfaceSimple2Plugin-2.5-py2.7.egg
LogViewerPlugin	0.2	/a/tracUser/plugins/LogViewerPlugin-0.2-py2.7.egg
SvnAuthzAdminPlugin	1.0.dev0	/a/tracUser/plugins/SvnAuthzAdminPlugin-1.0.dev0-py2.7.egg
TracAccountManager	0.6.dev0	/a/tracUser/plugins/TracAccountManager-0.6.dev0-py2.7.egg
TracAdvancedTicketWorkflow	1.2.1.dev0	/a/tracUser/plugins/TracAdvancedTicketWorkflow-1.2.1.dev0-py2.7.egg
Tracchildtickets	2.5.6.dev0	/a/tracUser/plugins/Tracchildtickets-2.5.6.dev0-py2.7.egg
TracDeveloper	0.4.0.dev0	/a/tracUser/plugins/TracDeveloper-0.4.0.dev0-py2.7.egg
TracDirectoryAuth	2.1.2	/a/tracUser/plugins/TracDirectoryAuth-2.1.2-py2.7.egg
TracExcelXlstViewer	1.0.dev0	/a/tracUser/plugins/TracExcelXlstViewer-1.0.dev0-py2.7.egg
TracMenusPlugin	0.2.0	/a/tracUser/plugins/TracMenusPlugin-0.2.0-py2.7.egg
}}}",david.bonnin85@…
14218,Don't use eval(),defect,,Ryan J Ollos,new,2023-03-23T04:31:06+01:00,2023-03-23T04:31:06+01:00,"Instead, json.dumps and json.loads should be used.

{{{
$ grep -r '\<eval(' acct_mgr
acct_mgr/guard.py:        return attempts and eval(attempts[user][1].get('failed_logins')) or []
acct_mgr/tests/guard.py:        attempts = eval(self.session.get('failed_logins', '[]'))
}}}",Jun Omae
14220,Adapt change id feature to notify_subscription and notify_watch tables,defect,1.2,Jun Omae,assigned,2023-04-08T10:26:17+02:00,2023-04-08T10:26:32+02:00,"The notify_subscription and notify_watch tables, which are introduced in Trac 1.2, have `sid` column to store the username. However, the change id feature doesn't handle these tables.",Jun Omae
