> > It isn't a question of the API. It's a question of expected function
> > output.
>
> Then it's applicable not only to binary packages as Terry states, but any
> source that uses rand().
I think Terry mentioned binary packages simply because it is harder to fix
them than something available as source but I could be mistaken.

> I would say that depending on the internal algorithm used by rand() (or
> random()) is a bad idea;  however, I don't know what the relevant standards
> say about this, so I won't say any further.
>
> (Why is it a bad idea?  Because I'm not going to write software which makes
> this assumption; I'm sure that even if at some point in time all systems use
> an identical algorithm, at some point my software will have to run on a
> system which uses something different.  So if I really need it, I will take
> rand() from libc and place it in my own code.)
If only all developers were as good as you we would not have a problem.

> > A seperate function for those who need cryptographic randomness seems like
> > a _much_ better idea.
>
> I'm not sure Yet Another RNG API (of course arc4random() already exists) gains
> anything unless rand()/random() absolutely cannot be changed; and as I say
> I'm not convinced this is the case.
I am by no means convinced either. I do, however, think this is something
that should not be changed without a lot of consideration and testing.

Your point about arc4random() is a good one. Why depend on rand() for
cryptographic randomness when we already have arc4random()?

> Doesn't even the 0 / RAND_MAX fix change
> the algorithm?  Software which relies on that behaviour will break ..
Any software which always needs to get back maxint when it calls rand() is
hopelessly broken :) Besides which, I don't recall advocating that change
either.

-Don

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to