At 10:55 PM 9/27/01 +0100, you wrote:
>[EMAIL PROTECTED] wrote on 27/09/2001 19:20:24:
>
> > Why not put a code in that sais if a user is suspended, he can not be
>removed.
> >
> > I presume you know that if you have someone on the userlist that is
>close to
> > you, and is willig to "betrade" the other ops, he could /msg x remuser
> > #channel username, and then /msg x adduser #channel username level, and
>his
> > suspension is cancelled.
> >
> >
>
>The downside of this is you can essentially "Lock" a person into being
>added in a channel without their consent, just by suspending them -
>they'll be unable to remove themselves from #!!!!!!!!!!hot-turtles. You
>could make it so that self-remuser's still work, however you're left with
>the same problem :)
>
>Greg

Just a thought.... (with a little detail :)
Could it be made possible that if a suspended user is REMUSER'ed, the user
either (a) cannot be re-added
until the suspension expires or is removed, or (b) the "new" record retains
the old suspension.....

In REMUSER, if the record is marked suspended, simply set the access level
to NULL... (mark the record deleted but still suspended)
In ADDUSER, if a levels record exists with a NULL access level & suspension
flag, (a) refuse the adduser as necessary. (The existing duplicate
prevention code could also handle this.....)  *OR* (b) if the adduser is
valid, simply reset the access level, retaining everything else, including
the suspension flag.
In UNSUSPEND (automatic or command), if the access level is NULL, delete
the levels record as appropriate.  Otherwise remove the suspension flag...

This would also require appropriate changes everywhere else, and in the web
interface.....

Either way, this loophole is closed....  Either the user is re-added with
the old suspension, or the user is permanently removed...
I don't know C++ though, so I wouldn't be of much help in implementing
this, should it be accepted...

Reply via email to