]> granicus.if.org Git - transmission/commit
#4400, #5462: Move random helpers to crypto-utils
authorMike Gelfand <mikedld@mikedld.com>
Thu, 4 Dec 2014 11:27:38 +0000 (11:27 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Thu, 4 Dec 2014 11:27:38 +0000 (11:27 +0000)
commitf6f7bf8227b3e70522fccb81159f70b84af98684
treeb673f4d881183cb01f5504f8857cc0ddf83ae1ee
parentecfa96bf38021602f8655ae5c4bb018889e9e2aa
#4400, #5462: Move random helpers to crypto-utils

On a way to factoring out OpenSSL support to a standalone file to ease
addition of other crypto libraries support in the future, move helpers
providing random numbers/data generation to crypto-utils.{c,h}. OpenSSL-
related functionality (generation of cryptographically strong random
data) is moved to crypto-utils-openssl.c.

Rename functions to follow currently accepted style:
* tr_cryptoRandBuf -> tr_rand_buffer
* tr_cryptoRandInt -> tr_rand_int
* tr_cryptoWeakRandInt -> tr_rand_int_weak

Fix rare case of invalid value being returned from tr_rand_int. Return
value for abs(INT_MIN) may be undefined and thus negative, and so
tr_rand_int will return negative value which is incorrect (out of
requested and expected range).
23 files changed:
libtransmission/Makefile.am
libtransmission/announcer-udp.c
libtransmission/announcer.c
libtransmission/bandwidth.c
libtransmission/bitfield-test.c
libtransmission/crypto-test.c
libtransmission/crypto-utils-openssl.c [new file with mode: 0644]
libtransmission/crypto-utils.c [new file with mode: 0644]
libtransmission/crypto-utils.h [new file with mode: 0644]
libtransmission/crypto.c
libtransmission/crypto.h
libtransmission/file-win32.c
libtransmission/handshake.c
libtransmission/makemeta-test.c
libtransmission/peer-io.c
libtransmission/peer-mgr.c
libtransmission/peer-msgs.c
libtransmission/rpc-server.c
libtransmission/session.c
libtransmission/torrent.c
libtransmission/tr-dht.c
libtransmission/tr-utp.c
libtransmission/utils-test.c