Software /
code /
prosody
Annotate
util/uuid.lua @ 11405:ce8291e89d67
mod_http_file_share: Remove correct entries when not all expired files were deleted
If any of the expired files could not be deleted then we should not
forget about that, we should complain loudly and try again.
The code got this backwards and would have removed only the entries
referring to still existing files.
Test procedure:
1. Upload a file
2. chown root:root http_file_share/
3. In uploads.list, decrease 'when' enough to ensure expiry
4. Reload mod_http_file_share
5. Should see an error in the logs about failure to delete the file
6. Should see that the metadata in uploads.list is still there
7. chown http_file_share/ back to the previous owner
8. Reload mod_http_file_share
9. Should see logs about successful removal of expired file
10. Should see that the metadata in uploads.list is gone
11. Should see that the file was deleted
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 25 Feb 2021 23:58:08 +0100 |
parent | 7078:ec17115e3721 |
child | 12355:a0ff5c438e9d |
rev | line source |
---|---|
1523
841d61be198f
Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents:
1304
diff
changeset
|
1 -- Prosody IM |
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
1523
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
1523
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
2957
diff
changeset
|
4 -- |
758 | 5 -- This project is MIT/X11 licensed. Please see the |
6 -- COPYING file in the source package for more information. | |
519
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
145
diff
changeset
|
7 -- |
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
145
diff
changeset
|
8 |
6377
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
9 local random = require "util.random"; |
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
10 local random_bytes = random.bytes; |
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
11 local hex = require "util.hex".to; |
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
12 local m_ceil = math.ceil; |
44
80d2ade0fd69
Add "uuid" library and make sessionmanager use this.
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 |
1303
2170e2c0d57a
util.uuid: Now generates RFC 4122 complaint UUIDs (version 4 - random)
Waqas Hussain <waqas20@gmail.com>
parents:
1302
diff
changeset
|
14 local function get_nibbles(n) |
6377
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
15 return hex(random_bytes(m_ceil(n/2))):sub(1, n); |
1303
2170e2c0d57a
util.uuid: Now generates RFC 4122 complaint UUIDs (version 4 - random)
Waqas Hussain <waqas20@gmail.com>
parents:
1302
diff
changeset
|
16 end |
2170e2c0d57a
util.uuid: Now generates RFC 4122 complaint UUIDs (version 4 - random)
Waqas Hussain <waqas20@gmail.com>
parents:
1302
diff
changeset
|
17 |
2170e2c0d57a
util.uuid: Now generates RFC 4122 complaint UUIDs (version 4 - random)
Waqas Hussain <waqas20@gmail.com>
parents:
1302
diff
changeset
|
18 local function get_twobits() |
7049
0eee56075901
util.uuid: Take random byte directly instead of the low bits from the ascii value of a hex nibble
Kim Alvefur <zash@zash.se>
parents:
7012
diff
changeset
|
19 return ("%x"):format(random_bytes(1):byte() % 4 + 8); |
1303
2170e2c0d57a
util.uuid: Now generates RFC 4122 complaint UUIDs (version 4 - random)
Waqas Hussain <waqas20@gmail.com>
parents:
1302
diff
changeset
|
20 end |
2170e2c0d57a
util.uuid: Now generates RFC 4122 complaint UUIDs (version 4 - random)
Waqas Hussain <waqas20@gmail.com>
parents:
1302
diff
changeset
|
21 |
6377
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
22 local function generate() |
1303
2170e2c0d57a
util.uuid: Now generates RFC 4122 complaint UUIDs (version 4 - random)
Waqas Hussain <waqas20@gmail.com>
parents:
1302
diff
changeset
|
23 -- generate RFC 4122 complaint UUIDs (version 4 - random) |
2170e2c0d57a
util.uuid: Now generates RFC 4122 complaint UUIDs (version 4 - random)
Waqas Hussain <waqas20@gmail.com>
parents:
1302
diff
changeset
|
24 return get_nibbles(8).."-"..get_nibbles(4).."-4"..get_nibbles(3).."-"..(get_twobits())..get_nibbles(3).."-"..get_nibbles(12); |
1302
4561c6d95339
util.uuid: More uniqueness!
Waqas Hussain <waqas20@gmail.com>
parents:
896
diff
changeset
|
25 end |
7057 | 26 |
6377
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
27 return { |
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
28 get_nibbles=get_nibbles; |
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
29 generate = generate ; |
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
30 -- COMPAT |
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
31 seed = random.seed; |
50e5aed4eeea
util.uuid: Use util.hex and util.random
Matthew Wild <mwild1@gmail.com>
parents:
5776
diff
changeset
|
32 }; |