Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElsie Hupp <9206310+elsiehupp@users.noreply.github.com>2021-04-18 03:03:26 +0300
committerElsie Hupp <9206310+elsiehupp@users.noreply.github.com>2021-04-18 03:03:26 +0300
commit583aa920d93c14d2750554851b76f0997ec1d656 (patch)
tree5e8f14038f90bcf10103f8a5c294ddba464f7d4f
parent1b354f8254e116225d249ec0b1459a24f23492f9 (diff)
Signed-off-by: Elsie Hupp <9206310+elsiehupp@users.noreply.github.com>
-rw-r--r--src/common/utility.cpp6
-rw-r--r--src/common/utility.h3
-rw-r--r--src/libsync/propagatedownload.cpp4
-rw-r--r--src/libsync/propagateuploadng.cpp2
-rw-r--r--src/libsync/propagateuploadv1.cpp2
5 files changed, 9 insertions, 8 deletions
diff --git a/src/common/utility.cpp b/src/common/utility.cpp
index 179ac6960..1a56ded25 100644
--- a/src/common/utility.cpp
+++ b/src/common/utility.cpp
@@ -36,7 +36,6 @@
#include <QStandardPaths>
#include <QCollator>
#include <QSysInfo>
-#include <QRandomGenerator>
#ifdef Q_OS_UNIX
@@ -64,14 +63,13 @@ Q_LOGGING_CATEGORY(lcUtility, "nextcloud.sync.utility", QtInfoMsg)
bool Utility::writeRandomFile(const QString &fname, int size)
{
int maxSize = 10 * 10 * 1024;
- QRandomGenerator randGen = QRandomGenerator(QDateTime::currentMSecsSinceEpoch());
if (size == -1)
- size = (int) randGen.generate() % maxSize;
+ size = (int) seededRandom.generate() % maxSize;
QString randString;
for (int i = 0; i < size; i++) {
- int r = (int) randGen.generate() % 128;
+ int r = (int) seededRandom.generate() % 128;
randString.append(QChar(r));
}
diff --git a/src/common/utility.h b/src/common/utility.h
index 3dc2586b4..51ddc81e1 100644
--- a/src/common/utility.h
+++ b/src/common/utility.h
@@ -28,6 +28,7 @@
#include <QElapsedTimer>
#include <QLoggingCategory>
#include <QMap>
+#include <QRandomGenerator>
#include <QUrl>
#include <QUrlQuery>
#include <functional>
@@ -72,6 +73,8 @@ namespace Utility {
OCSYNC_EXPORT uint convertSizeToUint(size_t &convertVar);
OCSYNC_EXPORT int convertSizeToInt(size_t &convertVar);
+ OCSYNC_EXPORT QRandomGenerator seededRandom = QRandomGenerator(QDateTime::currentMSecsSinceEpoch());
+
#ifdef Q_OS_WIN
OCSYNC_EXPORT DWORD convertSizeToDWORD(size_t &convertVar);
#endif
diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp
index 824a7e3e8..aa7c0ae96 100644
--- a/src/libsync/propagatedownload.cpp
+++ b/src/libsync/propagatedownload.cpp
@@ -62,9 +62,9 @@ QString OWNCLOUDSYNC_EXPORT createDownloadTmpFileName(const QString &previous)
int overhead = 1 + 1 + 2 + 8; // slash dot dot-tilde ffffffff"
int spaceForFileName = qMin(254, tmpFileName.length() + overhead) - overhead;
if (tmpPath.length() > 0) {
- return tmpPath + '/' + '.' + tmpFileName.left(spaceForFileName) + ".~" + (QString::number(uint(qrand() % 0xFFFFFFFF), 16));
+ return tmpPath + '/' + '.' + tmpFileName.left(spaceForFileName) + ".~" + (QString::number(uint((int) Utility::seededRandom.generate() % 0xFFFFFFFF), 16));
} else {
- return '.' + tmpFileName.left(spaceForFileName) + ".~" + (QString::number(uint(qrand() % 0xFFFFFFFF), 16));
+ return '.' + tmpFileName.left(spaceForFileName) + ".~" + (QString::number(uint((int) Utility::seededRandom.generate() % 0xFFFFFFFF), 16));
}
}
diff --git a/src/libsync/propagateuploadng.cpp b/src/libsync/propagateuploadng.cpp
index 62d1fca03..1266a0998 100644
--- a/src/libsync/propagateuploadng.cpp
+++ b/src/libsync/propagateuploadng.cpp
@@ -229,7 +229,7 @@ void PropagateUploadFileNG::slotDeleteJobFinished()
void PropagateUploadFileNG::startNewUpload()
{
ASSERT(propagator()->_activeJobList.count(this) == 1);
- _transferId = uint(qrand() ^ uint(_item->_modtime) ^ (uint(_fileToUpload._size) << 16) ^ qHash(_fileToUpload._file));
+ _transferId = uint((int) Utility::seededRandom.generate() ^ uint(_item->_modtime) ^ (uint(_fileToUpload._size) << 16) ^ qHash(_fileToUpload._file));
_sent = 0;
_currentChunk = 0;
diff --git a/src/libsync/propagateuploadv1.cpp b/src/libsync/propagateuploadv1.cpp
index 8e4ec1e05..cbd6bf8d5 100644
--- a/src/libsync/propagateuploadv1.cpp
+++ b/src/libsync/propagateuploadv1.cpp
@@ -39,7 +39,7 @@ void PropagateUploadFileV1::doStartUpload()
{
_chunkCount = int(std::ceil(_fileToUpload._size / double(chunkSize())));
_startChunk = 0;
- _transferId = uint(qrand()) ^ uint(_item->_modtime) ^ (uint(_fileToUpload._size) << 16);
+ _transferId = uint((int) Utility::seededRandom.generate()) ^ uint(_item->_modtime) ^ (uint(_fileToUpload._size) << 16);
const SyncJournalDb::UploadInfo progressInfo = propagator()->_journal->getUploadInfo(_item->_file);