<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 14, 2016 at 3:39 AM, 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">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>
</span>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,</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
1. passphrase is stored in trac.htdigest file,</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
2. the last login and authenticated flag are taken from session table,<br>
<br>
   select * from session where sid = 'Quozl'; </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
3. name and e-mail are taken from session_attribute table,<br>
<br>
   select * from session_attribute where sid = 'Quozl';<br></blockquote><div><br></div><div>We should delete all information inside session and session_attribute tables. We don't have any trac.htdigest file. Maybe 'cause we're storing pwd in the trac database (SessionStore) [1].</div><div><br></div><div>The ideal would be to delete users through the trac-admin utility:</div><div><ul><li>List users:<font face="monospace, monospace"> trac-admin /project session list</font></li></ul></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div>I can find here the same users that we find in the session table.</div></div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><div><ul><li>Delete users: <span style="font-family:monospace,monospace">trac-admin /project session delete <username1> ... <usernameN></span><br></li></ul><div><font face="monospace, monospace">   </font><font face="arial, helvetica, sans-serif"> But doing this for ~90.000 users is not viable.</font></div></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
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. </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Hope that helps.<br>
<br>
> [...]<br>
<span class="">> I tried to remove all suspicious users with the trac-admin utility<br>
> and directly by database but this is almost imposible.<br>
<br>
</span>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>
<a href="http://dev.laptop.org" rel="noreferrer" target="_blank">dev.laptop.org</a>).  It hasn't been a problem since.<br>
<span class=""><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>
</span>I'm fine with that.  Let's hear from others.<br>
<div class=""><div class="h5"><br>
--<br>
James Cameron<br>
<a href="http://quozl.netrek.org/" rel="noreferrer" target="_blank">http://quozl.netrek.org/</a></div></div></blockquote><div><br></div><div>[1] <a href="https://trac-hacks.org/wiki/AccountManagerPlugin/AuthStores">https://trac-hacks.org/wiki/AccountManagerPlugin/AuthStores</a></div></div><br></div></div>