Software /
code /
prosody-modules
Annotate
mod_compact_resource/mod_compact_resource.lua @ 5698:17ea26cf7259
mod_storage_s3: Use '@' as placeholder for empty (host) store slots
Used when the server stores things for itself.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 14 Oct 2023 22:49:57 +0200 |
parent | 1761:6f34e51a23f0 |
rev | line source |
---|---|
1761
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 local base64_encode = require"util.encodings".base64.encode; |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local random_bytes = require"util.random".bytes; |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 local b64url = { ["+"] = "-", ["/"] = "_", ["="] = "" }; |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local function random_resource() |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 return base64_encode(random_bytes(8)):gsub("[+/=]", b64url); |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 end |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 module:hook("pre-resource-bind", function (event) |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 event.resource = random_resource(); |
6f34e51a23f0
mod_compact_resource: Enforces short random resources
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 end); |