This adds an RFC 5869 compatible library for quickly generating
cryptographically secure random keys/numbers. An attacker should be
unable to predict the next number generated, as long as the secret
key (set to wgSecretKey if not explicitly defined for a wiki) remains
secret.
In my testing, this is generating random numbers about 7x faster than
MWCryptRand for 32 hex characters, and shouldn't drain openssl's
entropy source.
This will hopefully speed up maintenance tasks that require secure
random numbers, such as resetting login token, and wrapping user's
passwords in a new format.
Change-Id: I437d9aec0122a0533b0d8723fe8a8624898af909
* Also avoid calling ip2long() on invalid addresses in toHex()
* Also use native base_convert() in toHex() for IPv4
Change-Id: I4fe4e1ac3c91edb9812e4c5bd173e4b54e315934
Add a UIDGenerator::unitTestTearDown() method that can find an delete
cache files created by UIDGenerator. Call that cleanup method from the
tearDown() method of the UIDGenerator unit tests.
Bug: 44850
Change-Id: If342586d93bbc2a926af2dc388325dcb7c345e37
Also gets rid of some CodeSniffer errors. There are more cases in core
(cache, pool counter, installer, database, load balancer, diff, CSS
Janus, less (argh!), media, parser, revdel, ...), that have class names
with underscores I'd be trying to get rid of later.
Change-Id: I33709c05e597978a5574a445fa43c583cbd7e12b