changeset 1761:6f34e51a23f0

mod_compact_resource: Enforces short random resources
author Kim Alvefur <zash@zash.se>
date Wed, 27 May 2015 13:27:56 +0200
parents e72f9eac51c8
children e6c7fe1be6cd
files mod_compact_resource/mod_compact_resource.lua
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_compact_resource/mod_compact_resource.lua	Wed May 27 13:27:56 2015 +0200
@@ -0,0 +1,12 @@
+
+local base64_encode = require"util.encodings".base64.encode;
+local random_bytes = require"util.random".bytes;
+
+local b64url = { ["+"] = "-", ["/"] = "_", ["="] = "" };
+local function random_resource()
+	return base64_encode(random_bytes(8)):gsub("[+/=]", b64url);
+end
+
+module:hook("pre-resource-bind", function (event)
+	event.resource = random_resource();
+end);