[6.0] 660cdb6dd Use the string VRND for VSM segment names.

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Thu Aug 16 08:53:08 UTC 2018


commit 660cdb6dd639bc9d766db002bdda54d04c471153
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Wed Jun 6 12:55:38 2018 +0000

    Use the string VRND for VSM segment names.

diff --git a/bin/varnishd/common/common_vsmw.c b/bin/varnishd/common/common_vsmw.c
index 0aa5477e6..2c2337d80 100644
--- a/bin/varnishd/common/common_vsmw.c
+++ b/bin/varnishd/common/common_vsmw.c
@@ -151,13 +151,14 @@ static void
 vsmw_mkent(const struct vsmw *vsmw, const char *pfx)
 {
 	int fd;
+	uint64_t rn;
 
 	AN(pfx);
 	while (1) {
 		VSB_clear(vsmw->vsb);
 		VSB_printf(vsmw->vsb, "_.%s", pfx);
-		VSB_printf(vsmw->vsb, ".%08lx", VRND_RandomTestable());
-		VSB_printf(vsmw->vsb, "%08lx", VRND_RandomTestable());
+		AZ(VRND_RandomCrypto(&rn, sizeof rn));
+		VSB_printf(vsmw->vsb, ".%016jx", (uintmax_t)rn);
 		AZ(VSB_finish(vsmw->vsb));
 		fd = openat(vsmw->vdirfd, VSB_data(vsmw->vsb), O_RDONLY);
 		if (fd < 0 && errno == ENOENT)
@@ -192,7 +193,7 @@ vsmw_delseg(struct vsmw *vsmw, struct vsmwseg *seg, int fixidx)
 	CHECK_OBJ_NOTNULL(vsmw, VSMW_MAGIC);
 	CHECK_OBJ_NOTNULL(seg, VSMWSEG_MAGIC);
 
-	VTAILQ_REMOVE(&vsmw->segs, seg, list);
+	TAILQ_REMOVE(&vsmw->segs, seg, list);
 	REPLACE(seg->class, NULL);
 	REPLACE(seg->id, NULL);
 	FREE_OBJ(seg);


More information about the varnish-commit mailing list