1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

For #2424, use srandom/random to generate. 4.0.139

This commit is contained in:
winlin 2021-07-04 13:10:42 +08:00
parent e802fe5bd6
commit 642359a50e
14 changed files with 28 additions and 34 deletions

View file

@ -468,7 +468,7 @@ void SrsIngester::show_ingest_log_message()
}
// random choose one ingester to report.
int index = rand() % (int)ingesters.size();
int index = srs_random() % (int)ingesters.size();
SrsIngesterFFMPEG* ingester = ingesters.at(index);
// reportable

View file

@ -54,7 +54,7 @@ srs_error_t SrsLatestVersion::start()
return srs_success;
}
server_id_ = srs_random_str(10);
server_id_ = srs_random_str(16);
return trd_->start();
}

View file

@ -19,6 +19,7 @@ using namespace std;
#include <srs_kernel_rtc_rtp.hpp>
#include <srs_app_log.hpp>
#include <srs_kernel_utility.hpp>
#include <srs_protocol_utility.hpp>
#include <srtp2/srtp.h>
#include <openssl/ssl.h>
@ -297,7 +298,7 @@ srs_error_t SrsDtlsCertificate::initialize()
X509_NAME* subject = X509_NAME_new();
srs_assert(subject);
int serial = rand();
int serial = (int)srs_random();
ASN1_INTEGER_set(X509_get_serialNumber(dtls_cert), serial);
const std::string& aor = RTMP_SIG_SRS_DOMAIN;

View file

@ -7,6 +7,6 @@
#ifndef SRS_CORE_VERSION3_HPP
#define SRS_CORE_VERSION3_HPP
#define SRS_VERSION3_REVISION 163
#define SRS_VERSION3_REVISION 164
#endif

View file

@ -9,6 +9,6 @@
#define VERSION_MAJOR 4
#define VERSION_MINOR 0
#define VERSION_REVISION 138
#define VERSION_REVISION 139
#endif

View file

@ -102,7 +102,7 @@ srs_utime_t srs_get_system_startup_time()
if (_srs_system_time_startup_time <= 0) {
srs_update_system_time();
}
return _srs_system_time_startup_time;
}

View file

@ -81,9 +81,6 @@ srs_error_t do_main(int argc, char** argv)
// TODO: support both little and big endian.
srs_assert(srs_is_little_endian());
// For RTC to generating random ICE username.
::srandom((unsigned long)(srs_update_system_time() | (::getpid()<<13)));
// for gperf gmp or gcp,
// should never enable it when not enabled for performance issue.

View file

@ -131,39 +131,38 @@ void srs_parse_query_string(string q, map<string,string>& query)
}
}
static bool _random_initialized = false;
void srs_random_generate(char* bytes, int size)
{
if (!_random_initialized) {
_random_initialized = true;
::srandom((unsigned long)(srs_update_system_time() | (::getpid()<<13)));
}
for (int i = 0; i < size; i++) {
// the common value in [0x0f, 0xf0]
bytes[i] = 0x0f + (random() % (256 - 0x0f - 0x0f));
bytes[i] = 0x0f + (srs_random() % (256 - 0x0f - 0x0f));
}
}
std::string srs_random_str(int len)
{
if (!_random_initialized) {
_random_initialized = true;
::srandom((unsigned long)(srs_update_system_time() | (::getpid()<<13)));
}
static string random_table = "01234567890123456789012345678901234567890123456789abcdefghijklmnopqrstuvwxyz";
string ret;
ret.reserve(len);
for (int i = 0; i < len; ++i) {
ret.append(1, random_table[random() % random_table.size()]);
ret.append(1, random_table[srs_random() % random_table.size()]);
}
return ret;
}
long srs_random()
{
static bool _random_initialized = false;
if (!_random_initialized) {
_random_initialized = true;
::srandom((unsigned long)(srs_update_system_time() | (::getpid()<<13)));
}
return random();
}
string srs_generate_tc_url(string host, string vhost, string app, int port)
{
string tcUrl = "rtmp://";

View file

@ -55,6 +55,9 @@ extern void srs_random_generate(char* bytes, int size);
// Generate random string [0-9a-z] in size of len bytes.
extern std::string srs_random_str(int len);
// Generate random value, use srandom(now_us) to init seed if not initialized.
extern long srs_random();
/**
* generate the tcUrl without param.
* @remark Use host as tcUrl.vhost if vhost is default vhost.

View file

@ -341,7 +341,7 @@ namespace srs_internal
key_block::key_block()
{
offset = (int32_t)rand();
offset = (int32_t)srs_random();
random0 = NULL;
random1 = NULL;
@ -423,7 +423,7 @@ namespace srs_internal
digest_block::digest_block()
{
offset = (int32_t)rand();
offset = (int32_t)srs_random();
random0 = NULL;
random1 = NULL;