[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nick collide prevention ideas
Piotr Kucharski wrote:
>
> On Wed, Jul 07, 1999 at 08:52:42PM +0200, Q wrote:
> > You probably want to make sure that if someone with an uid splits, and
> > that uid comes back, it's the same person. This would make it easier for
> > users.
>
> Of course. Seems like you're missing the point, that uID consist of
> sID (which is constant) and cID (which is counter increased each
> client connects). As I wrote earlier, with 44^5 cID and 1 client
> connecting every second to ircd server, we have to wait 5.2 years
> for cID to be reused.
>
> > What are you going to do then? keep a counter, and store the last one
> > used at certain times (like every 1000). And then next time start with
> > an high enough number. What in case the file is lost?
>
> I don't get it.
You want to make sure that nobody can use an uid (cid part) that someone
used before, right? This means after you crashed too. So you have to
keep track where you are.
> > Or are you going to use a random number? This is the worst you can do.
> > After 1K clients you already have 0.3% of a collision, after 10K 26%,
> > 20K 70% .... (this is with 44^5 cID's)
>
> I don't get those probability, either. Even if I tell ircd to assign
> one random cID out of 44^5 (164916224) for every client that connects,
> how did you get 26% with 10K clients on _one_ server (not mentioning,
> that server can test first if it's used, as cIDs are local, not mentioning
> at all, that I don't want to assign cIDs randomly).
basic staticics.
you do 1 * [(44^5 - 1) / 44^5] * [(44^5 - 2) / 44^5] * [(44^5 - 3) /
44^5] * [(44^5 - 4) / 44^5] ...
If the 10K'th client connects, you have 26% chance that someone already
had that cid.
Q