[PATCH v3] Replace random() and related calls with generate_random_buffer()
Volker Lendecke
Volker.Lendecke at SerNet.DE
Thu Jul 9 15:31:26 UTC 2015
On Thu, Jul 09, 2015 at 03:28:05PM +0100, Robin McCorkell wrote:
> Result: better seeded random numbers that are cryptographically secure
> (not that it matters in this case)
>
> Please let it be right this time...
The patch is good. However, I'd like to split it into two:
One functional one and one whitespace fix. To save you work,
I've done it for you. How do you like the attached one?
Thanks,
Volker
--
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From a7b6570c09ac9f2bda140c5bc9531e93de85a2fe Mon Sep 17 00:00:00 2001
From: Robin McCorkell <rmccorkell at karoshi.org.uk>
Date: Thu, 9 Jul 2015 15:28:05 +0100
Subject: [PATCH 1/2] Replace random() and related calls with
generate_random_buffer()
Result: better seeded random numbers that are cryptographically secure
(not that it matters in this case)
Please let it be right this time...
Signed-off-by: Robin McCorkell <rmccorkell at karoshi.org.uk>
---
dfs_server/dfs_server_ad.c | 4 +---
source3/smbd/msdfs.c | 7 +++----
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/dfs_server/dfs_server_ad.c b/dfs_server/dfs_server_ad.c
index 3d93e19..6146632 100644
--- a/dfs_server/dfs_server_ad.c
+++ b/dfs_server/dfs_server_ad.c
@@ -42,13 +42,11 @@ static void shuffle_dc_set(struct dc_set *list)
{
uint32_t i;
- srandom(time(NULL));
-
for (i = list->count; i > 1; i--) {
uint32_t r;
const char *tmp;
- r = random() % i;
+ r = generate_random() % i;
tmp = list->names[i - 1];
list->names[i - 1] = list->names[r];
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
index a39efce..e895c1f 100644
--- a/source3/smbd/msdfs.c
+++ b/source3/smbd/msdfs.c
@@ -431,13 +431,12 @@ NTSTATUS create_conn_struct_cwd(TALLOC_CTX *ctx,
static void shuffle_strlist(char **list, int count)
{
- int i, r;
+ int i;
+ uint32_t r;
char *tmp;
- srandom(time(NULL));
-
for (i = count; i > 1; i--) {
- r = random() % i;
+ r = generate_random() % i;
tmp = list[i-1];
list[i-1] = list[r];
--
1.9.1
From e33dc773922f981523e75b2eddff58b8c6b01ad5 Mon Sep 17 00:00:00 2001
From: Robin McCorkell <rmccorkell at karoshi.org.uk>
Date: Thu, 9 Jul 2015 15:28:05 +0100
Subject: [PATCH 2/2] dfs_server: Fix whitespace
Signed-off-by: Robin McCorkell <rmccorkell at karoshi.org.uk>
---
dfs_server/dfs_server_ad.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/dfs_server/dfs_server_ad.c b/dfs_server/dfs_server_ad.c
index 6146632..2a1d9ec 100644
--- a/dfs_server/dfs_server_ad.c
+++ b/dfs_server/dfs_server_ad.c
@@ -40,18 +40,18 @@ struct dc_set {
static void shuffle_dc_set(struct dc_set *list)
{
- uint32_t i;
+ uint32_t i;
- for (i = list->count; i > 1; i--) {
- uint32_t r;
- const char *tmp;
+ for (i = list->count; i > 1; i--) {
+ uint32_t r;
+ const char *tmp;
r = generate_random() % i;
- tmp = list->names[i - 1];
- list->names[i - 1] = list->names[r];
- list->names[r] = tmp;
- }
+ tmp = list->names[i - 1];
+ list->names[i - 1] = list->names[r];
+ list->names[r] = tmp;
+ }
}
/*
--
1.9.1
More information about the samba-technical
mailing list