> > 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