<div dir="ltr">Thanks for digging into this.<div><br></div><div>FWIW, I am fine with having my account deleted and re-registering. Whatever is most expedient for the trac maintainers.</div><div><br></div><div>-walter</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 14, 2016 at 4:48 PM, Samuel Cantero <span dir="ltr"><<a href="mailto:scanterog@gmail.com" target="_blank">scanterog@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On Mon, Mar 14, 2016 at 5:21 PM, James Cameron <span dir="ltr"><<a href="mailto:quozl@laptop.org" target="_blank">quozl@laptop.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Mar 14, 2016 at 08:49:15AM -0300, Samuel Cantero wrote:<br>
<span>> On Mon, Mar 14, 2016 at 3:39 AM, James Cameron <[1]<a href="mailto:quozl@laptop.org" target="_blank">quozl@laptop.org</a>> wrote:<br>
><br>
>     On Mon, Mar 14, 2016 at 02:32:36AM -0300, Samuel Cantero wrote:<br>
>     > Regarding to the inability to access the user page, I've checked our<br>
>     > current users and I found 97426 users. We had a lot of spam<br>
>     > here. I've checked this by doing:<br>
>     ><br>
>     > sqlite> select count(*) from session;<br>
>     > 97426<br>
><br>
>     Perhaps "session" is wrong table.  My notes on this are;<br>
><br>
>     0. trac.htdigest file is used to form list shown on manage user accounts,<br>
><br>
>     1. passphrase is stored in trac.htdigest file,<br>
><br>
>     2. the last login and authenticated flag are taken from session table,<br>
><br>
>        select * from session where sid = 'Quozl'; <br>
><br>
>     3. name and e-mail are taken from session_attribute table,<br>
><br>
>        select * from session_attribute where sid = 'Quozl';<br>
><br>
> We should delete all information inside session and session_attribute tables.<br>
> We don't have any trac.htdigest file. Maybe 'cause we're storing pwd in the<br>
> trac database (SessionStore) [1].<br>
><br>
> The ideal would be to delete users through the trac-admin utility:<br>
><br>
>   • List users: trac-admin /project session list<br>
><br>
>     I can find here the same users that we find in the session table.<br>
><br>
>   • Delete users: trac-admin /project session delete <username1> ...<br>
>     <usernameN><br>
><br>
> But doing this for ~90.000 users is not viable.<br>
<br>
</span>I'm guessing that you mean the unviable step is identifying the users.<br></blockquote><div><br></div></div></div><div>Yes.</div><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Take the entire set of users, then remove the set of users who have<br>
created tickets or made comments, then use the set in a script that<br>
deletes each user.<br>
<br>
Eventually it should complete.<br></blockquote><div><br></div></span><div>I can only test this kind of procedure on weekends when I usually have more time. If you have time, go ahead.</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Then use whatever tools are necessary to optimise the table.<br>
<span><br>
><br>
>     4. deletion of the users via manage user accounts results in removal<br>
>        from trac.htdigest, removal from session table, removal from<br>
>        session_attribute table. <br>
><br>
>     Hope that helps.<br>
><br>
>     > [...]<br>
>     > I tried to remove all suspicious users with the trac-admin utility<br>
>     > and directly by database but this is almost imposible.<br>
><br>
>     It may require very careful scripting, yes.  Last time I looked at<br>
>     that, I made a mistake deleted all users.  (3rd March 2014, for<br>
</span>>     [2]<a href="http://dev.laptop.org" rel="noreferrer" target="_blank">dev.laptop.org</a>).  It hasn't been a problem since.<br>
<span>><br>
>     > I guess we should delete all users and ask them to re-register<br>
>     > again. However, I don't want to proceed before your approval.<br>
><br>
>     I'm fine with that.  Let's hear from others.<br>
><br>
>     --<br>
>     James Cameron<br>
</span>>     [3]<a href="http://quozl.netrek.org/" rel="noreferrer" target="_blank">http://quozl.netrek.org/</a><br>
><br>
> [1] [4]<a href="https://trac-hacks.org/wiki/AccountManagerPlugin/AuthStores" rel="noreferrer" target="_blank">https://trac-hacks.org/wiki/AccountManagerPlugin/AuthStores</a><br>
><br>
> References:<br>
><br>
> [1] mailto:<a href="mailto:quozl@laptop.org" target="_blank">quozl@laptop.org</a><br>
> [2] <a href="http://dev.laptop.org/" rel="noreferrer" target="_blank">http://dev.laptop.org/</a><br>
> [3] <a href="http://quozl.netrek.org/" rel="noreferrer" target="_blank">http://quozl.netrek.org/</a><br>
> [4] <a href="https://trac-hacks.org/wiki/AccountManagerPlugin/AuthStores" rel="noreferrer" target="_blank">https://trac-hacks.org/wiki/AccountManagerPlugin/AuthStores</a><br>
<div><div><br>
--<br>
James Cameron<br>
<a href="http://quozl.netrek.org/" rel="noreferrer" target="_blank">http://quozl.netrek.org/</a><br>
</div></div></blockquote></div></div></div><br></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><font><font>Walter Bender</font></font><br><font><font>Sugar Labs</font></font></div><div><font><a href="http://www.sugarlabs.org" target="_blank"><font>http://www.sugarlabs.org</font></a></font><br><a href="http://www.sugarlabs.org" target="_blank"><font></font></a><br></div></div></div>
</div>