Compare commits

...

140 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
88dd96c8fb test: one more fix 2025-07-31 09:56:07 -04:00
Barış Soner Uşaklı
6565e75d0b test: fix spec 2025-07-31 09:56:07 -04:00
Barış Soner Uşaklı
bf05aec527 test: fix openapi 2025-07-31 09:56:07 -04:00
Barış Soner Uşaklı
f01c440ff5 refactor: use promise.all 2025-07-31 09:56:07 -04:00
Barış Soner Uşaklı
fb4192650f feat: add filter:post.getDiffs 2025-07-31 09:56:07 -04:00
Barış Soner Uşaklı
e251dd1a32 fix: use filename to check for svg, tempPath doesn't always have extension 2025-07-28 11:49:10 -04:00
Barış Soner Uşaklı
2d3b74cde1 fix: apply sanitizeSvg to regular uploads and uploads from manage uploads acp page 2025-07-28 11:48:52 -04:00
Barış Soner Uşaklı
0bd9e71287 chore: up version 2025-06-16 12:54:39 -04:00
Barış Soner Uşaklı
3486c34a39 fix: add sanitizesvg 2025-06-16 12:54:11 -04:00
Barış Soner Uşaklı
dc9f76f866 fix: sanitize svg when uploading site-logo, default avatar and og:image 2025-06-16 12:37:54 -04:00
Barış Soner Uşaklı
b040a6e701 chore: up version 2025-06-09 11:21:54 -04:00
Barış Soner Uşaklı
2dcedd65a9 fix: escape, query params 2025-06-09 11:19:07 -04:00
Barış Soner Uşaklı
3792d76d97 chore: up version 2025-05-12 11:03:31 -04:00
Barış Soner Uşaklı
b09f5ab878 fix: escape flag filters 2025-05-12 11:01:03 -04:00
Barış Soner Uşaklı
ad366f868b fix: sql injection in sortedSetScan 2025-05-12 11:00:14 -04:00
Misty Release Bot
f92e847462 chore: incrementing version number - v3.12.4
(cherry picked from commit 12cac6ba4c)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-01-20 15:44:25 +00:00
Misty Release Bot
d901b4693a Merge commit 'cfb22da10b56ccf2a79b8581052a2de61e6874bf' into v3.x 2025-01-20 15:44:23 +00:00
Misty Release Bot
abb2417ee3 chore: incrementing version number - v3.12.3
(cherry picked from commit 38c92927c8)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-01-15 21:53:10 +00:00
Misty Release Bot
ad3639a445 Merge commit '539693a4a48236864a8adbe35042e69af0a871fd' into v3.x 2025-01-15 21:49:34 +00:00
Misty Release Bot
a1269b39ad chore: incrementing version number - v3.12.2
(cherry picked from commit 4aeafb672f)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2025-01-08 17:54:04 +00:00
Misty Release Bot
b334f7f29d Merge commit '23298060b1c72a240818a07d3b62dd3cd5ae1e08' into v3.x 2025-01-08 17:51:23 +00:00
Misty Release Bot
944c4e660c chore: incrementing version number - v3.12.1
(cherry picked from commit 1bc331ca33)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-12-20 21:09:12 +00:00
Misty Release Bot
e56f46c61b Merge commit '9bb8002aa48e30cb5ccf481a206efd9eddb32849' into v3.x 2024-12-20 21:09:09 +00:00
Misty Release Bot
052c195e0a chore: incrementing version number - v3.12.0
(cherry picked from commit 9d6a8ce5c0)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-12-18 15:04:43 +00:00
Misty Release Bot
563fd9047f Merge commit '808e483e0a95fcfa9d5ecfdff28a19d9545ef8f8' into v3.x 2024-12-18 15:04:39 +00:00
Misty Release Bot
0c0dd4806a chore: incrementing version number - v3.11.1
(cherry picked from commit 0201bc1f3f)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-12-09 20:03:10 +00:00
Misty Release Bot
9bf080ea66 Merge commit '14f698f9e4ff89043fd74d1454d8331ae073c282' into v3.x 2024-12-09 20:03:05 +00:00
Misty Release Bot
acf27e85ea chore: incrementing version number - v3.11.0
(cherry picked from commit f032da2878)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-11-27 14:55:53 +00:00
Misty Release Bot
7ae06c2513 Merge commit 'a16c0c3b892f6ed2234ded8af7132be024db52ec' into v3.x 2024-11-27 14:55:46 +00:00
Misty Release Bot
57d5422495 chore: incrementing version number - v3.10.3
(cherry picked from commit 025ffe0329)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-10-23 20:41:18 +00:00
Misty Release Bot
41fe8abb1a Merge commit '0082ac981dd1a91bb704010d0b293da75a41bde5' into v3.x 2024-10-23 20:41:07 +00:00
Misty Release Bot
2f15f46473 chore: incrementing version number - v3.10.2
(cherry picked from commit 7a513e6bdc)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-10-18 13:15:57 +00:00
Misty Release Bot
c24b46af23 Merge commit '120b184e58497ddcf0434792db322e9d330bc58c' into v3.x 2024-10-18 13:15:54 +00:00
Misty Release Bot
cca3a6448a chore: incrementing version number - v3.10.1
(cherry picked from commit 02f859c352)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-10-09 13:48:04 +00:00
Misty Release Bot
d677dec9db Merge commit 'a5f3d097bb0a52226b2f1ecbb4cac2f1faf41f47' into v3.x 2024-10-09 13:47:58 +00:00
Misty Release Bot
b60a9b4e6f chore: incrementing version number - v3.10.0
(cherry picked from commit 30308053b2)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-09-25 17:46:30 +00:00
Misty Release Bot
da0836abce Merge commit 'c153c4694b4d992de2b764923f6eb044c498497a' into v3.x 2024-09-25 17:46:24 +00:00
Misty Release Bot
f120c91c99 chore: incrementing version number - v3.9.1
(cherry picked from commit b43d04181d)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-09-25 16:02:01 +00:00
Misty Release Bot
57772ab958 Merge commit '05e4307e5a84e867b48e591b4f1407a9ef2afc93' into v3.x 2024-09-25 16:01:59 +00:00
Misty Release Bot
4880f32d3a chore: incrementing version number - v3.9.0
(cherry picked from commit 8df838c054)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-09-18 14:27:50 +00:00
Misty Release Bot
04fb69a1c5 Merge commit 'ff77a7abdff9a7adca134927b7c59b55361eee84' into v3.x 2024-09-18 14:27:45 +00:00
Misty Release Bot
4833f9a63e chore: incrementing version number - v3.8.4
(cherry picked from commit 6ed71b801f)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-08-01 14:17:49 +00:00
Misty Release Bot
1fc6caef1c Merge commit 'a73f269fcee87118aff655ea4503e440be7b8956' into v3.x 2024-08-01 14:17:28 +00:00
Misty Release Bot
97ce2c4470 chore: incrementing version number - v3.8.3
(cherry picked from commit 3760ddd84f)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-06-27 15:09:41 +00:00
Misty Release Bot
83c76f8d0b Merge commit '61e5293a76aafe9e09f3c665ac9f514a94b4769d' into v3.x 2024-06-27 15:09:30 +00:00
Misty Release Bot
72d9125163 chore: incrementing version number - v3.8.2
(cherry picked from commit 0a3ac7170a)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-05-29 14:19:23 +00:00
Misty Release Bot
5445e1ed39 Merge commit '7969e62d061faa1488a1bcbfdb187e586f1d6fc1' into v3.x 2024-05-29 14:19:21 +00:00
Misty Release Bot
527326f798 chore: incrementing version number - v3.8.1
(cherry picked from commit f491d43273)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-05-15 20:36:21 +00:00
Misty Release Bot
78006c954e Merge commit '75abca912a6bc347a3f0c7bc28712f9abe2b98a3' into v3.x 2024-05-15 20:36:19 +00:00
Misty Release Bot
e228a6eb55 chore: incrementing version number - v3.8.0
(cherry picked from commit 27c4851bb9)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-05-15 15:55:45 +00:00
Misty Release Bot
5d4ae67f4b Merge commit 'fb53bbca1e94fb58b198d58bfab22bb85315a435' into v3.x 2024-05-15 15:55:40 +00:00
Misty Release Bot
6882894d73 chore: incrementing version number - v3.7.5
(cherry picked from commit 8a034314a1)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-05-03 14:18:22 +00:00
Misty Release Bot
b7fe29483d Merge commit '420c8999c00d9524157ed0a7ef4d1847ae26493c' into v3.x 2024-05-03 14:18:19 +00:00
Misty Release Bot
6678744cb7 chore: incrementing version number - v3.7.4
(cherry picked from commit c26c904ae7)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-04-17 13:43:15 +00:00
Misty Release Bot
546b479956 Merge commit '110ce66ac7dcc99c44c1b9417ed0b78015ce85f6' into v3.x 2024-04-17 13:43:05 +00:00
Misty Release Bot
2d62b6f62b chore: incrementing version number - v3.7.3
(cherry picked from commit ab95b60697)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-04-03 13:59:30 +00:00
Misty Release Bot
781722a48a Merge commit '3aae92341cf33d4a56bdcc144df3a7c05ba9872a' into v3.x 2024-04-03 13:59:26 +00:00
Misty Release Bot
cc257e7eed chore: incrementing version number - v3.7.2
(cherry picked from commit c9be01b138)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-03-27 14:15:06 +00:00
Misty Release Bot
80acae68a4 Merge commit 'bf4e257c83988f5231721473acdb3c919d651d1c' into v3.x 2024-03-27 14:15:04 +00:00
Misty Release Bot
712365a592 chore: incrementing version number - v3.7.1
(cherry picked from commit ddbbb55453)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-03-14 16:11:24 +00:00
Misty Release Bot
580211bc1a Merge commit '285293c47be37233a85a5161c753e9763d41a813' into v3.x 2024-03-14 16:10:58 +00:00
Misty Release Bot
9a6153d71d chore: incrementing version number - v3.7.0
(cherry picked from commit 108c9fcde0)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-03-06 14:57:40 +00:00
Misty Release Bot
7a62f58fce Merge commit '87a79059f0b0e05d4754abaf3b0be6bbfb25bf32' into v3.x 2024-03-06 14:57:36 +00:00
Misty Release Bot
86a17e3871 chore: incrementing version number - v3.6.7
(cherry picked from commit 78b8fab3e7)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-02-28 14:17:10 +00:00
Misty Release Bot
d1246822dc Merge commit '5f597dc97fde3183ea2be85dd4ddde830d55c910' into v3.x 2024-02-28 14:17:08 +00:00
Misty Release Bot
6604bf37b2 chore: incrementing version number - v3.6.6
(cherry picked from commit 62e3a59c27)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-02-14 15:41:31 +00:00
Misty Release Bot
0ae6c94d55 Merge commit 'e01bceff97d48de2d475194ea0372605ffbb82c3' into v3.x 2024-02-14 15:41:28 +00:00
Misty Release Bot
6c6536259f chore: incrementing version number - v3.6.5
(cherry picked from commit f7736155ae)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-01-31 13:49:22 +00:00
Misty Release Bot
d7dada179a Merge commit '67c8bd99169fe2d4b23c65b8ce262026eb615a4d' into v3.x 2024-01-31 13:49:19 +00:00
Misty Release Bot
83d131b4c6 chore: incrementing version number - v3.6.4
(cherry picked from commit 0f6847a556)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-01-24 17:22:26 +00:00
Misty Release Bot
6710aee125 Merge commit 'cf40d68176bac06c60978c2dad70b96be2a57bac' into v3.x 2024-01-24 17:22:24 +00:00
Misty Release Bot
fc7d2bfd82 chore: incrementing version number - v3.6.3
(cherry picked from commit 2eb36b03a6)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-01-12 16:06:06 +00:00
Misty Release Bot
3bf8df800b Merge commit 'f3927ce76bd333b67f4aca9af170372fd0ae8077' into v3.x 2024-01-12 16:06:04 +00:00
Misty Release Bot
0f577a5779 chore: incrementing version number - v3.6.2
(cherry picked from commit a1143e22eb)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2024-01-10 14:22:20 +00:00
Misty Release Bot
99697cb874 Merge commit 'ef8f8db7bd91f8f0988a2dbe57a5141ade806c11' into v3.x 2024-01-10 14:22:17 +00:00
Misty Release Bot
f1a694680a chore: incrementing version number - v3.6.1
(cherry picked from commit 76d28c7e58)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-12-22 15:36:18 +00:00
Misty Release Bot
9c1c636ebc Merge commit '788404c1d2c4246b4831254cebb7f66602cb0098' into v3.x 2023-12-22 15:35:57 +00:00
Misty Release Bot
4cdf85f86a chore: incrementing version number - v3.6.0
(cherry picked from commit 75a7062d6b)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-12-20 19:03:41 +00:00
Misty Release Bot
84d53a5e31 Merge commit 'd3cfa1b7e3ddb214682e663c961518d4df9071dd' into v3.x 2023-12-20 19:02:58 +00:00
Misty Release Bot
ed0e8783c3 chore: incrementing version number - v3.5.3
(cherry picked from commit e7e2a2f488)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-12-13 15:42:45 +00:00
Misty Release Bot
5237f353ef Merge commit '245e5df38574af2499f223799404bc65e06ae174' into v3.x 2023-12-13 15:42:43 +00:00
Misty Release Bot
52fbb2daf7 chore: incrementing version number - v3.5.2
(cherry picked from commit f31faa457d)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-11-29 17:21:40 +00:00
Misty Release Bot
8101ff4c81 Merge commit '6790000d1aec8a6babfe96aebb8ac57dafbe719e' into v3.x 2023-11-29 17:21:34 +00:00
Misty Release Bot
4c54348871 chore: incrementing version number - v3.5.1
(cherry picked from commit 94dfb3adcc)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-11-14 14:20:03 +00:00
Misty Release Bot
453b1edd15 Merge commit 'dcb0c4dbb0c65664088ad88003f8e84f2bbe2821' into v3.x 2023-11-14 14:20:00 +00:00
Misty Release Bot
d06fb4f0aa chore: incrementing version number - v3.5.0
(cherry picked from commit b17ee0f09e)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-10-25 14:34:04 +00:00
Misty Release Bot
e24324a4be Merge commit '4b185d04646dbd56b4925a0249a1147fddc7985e' into v3.x 2023-10-25 14:33:53 +00:00
Misty Release Bot
5c984250c8 chore: incrementing version number - v3.4.3
(cherry picked from commit 690304b4c9)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-09-27 15:00:34 +00:00
Misty Release Bot
43299ab804 Merge commit 'cddac03a5f8ceef7fd4121c01a65a5590726be2b' into v3.x 2023-09-27 15:00:29 +00:00
Misty Release Bot
3f0dac389d chore: incrementing version number - v3.4.2
(cherry picked from commit 4246de8ab7)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-09-12 13:38:34 +00:00
Misty Release Bot
a39e84e04f Merge commit '6bc2b6c5ae1249309abbe52acffcee83e9380f5e' into v3.x 2023-09-12 13:38:32 +00:00
Misty Release Bot
01e69574cb chore: incrementing version number - v3.4.1
(cherry picked from commit f9e93ba32e)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-09-06 15:54:21 +00:00
Misty Release Bot
f26c3fd8c6 Merge commit '8357bb2e0af22bf2b5e7f236540d444c3b29029c' into v3.x 2023-09-06 15:54:17 +00:00
Misty Release Bot
fd9247c549 chore: incrementing version number - v3.4.0
(cherry picked from commit e39a898383)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-09-06 13:41:31 +00:00
Misty Release Bot
34f3d5a281 Merge commit 'd79f79e82ebb6d84ee3e49ad779759d7693388a6' into v3.x 2023-09-06 13:41:27 +00:00
Misty Release Bot
5805e7704c chore: incrementing version number - v3.3.9
(cherry picked from commit f455c959b2)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-25 02:39:18 +00:00
Misty Release Bot
f46dde5425 Merge commit '4ec3a480cc987be9b86d2cf0a20fbf3ba442141f' into v3.x 2023-08-25 02:39:15 +00:00
Misty Release Bot
a56035650f chore: incrementing version number - v3.3.8
(cherry picked from commit c0c8122e0f)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-23 22:34:16 +00:00
Misty Release Bot
9b0d07ff9d Merge commit '4ba7633897eebc0e635ba8d5d648655175f75916' into v3.x 2023-08-23 22:34:08 +00:00
Misty Release Bot
b26f174428 chore: incrementing version number - v3.3.7
(cherry picked from commit 41dd38afe8)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-23 17:16:00 +00:00
Misty Release Bot
6dde20eddb Merge commit '438c4c897688d6c1aca6a1c0320ad4837ba99db1' into v3.x 2023-08-23 17:15:56 +00:00
Misty Release Bot
7fb387926e chore: incrementing version number - v3.3.6
(cherry picked from commit 0c13e547fc)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-22 23:15:00 +00:00
Misty Release Bot
782fa0a74c Merge commit 'db55f18ae535e050b2a816b47c9b8897d6f53803' into v3.x 2023-08-22 23:14:50 +00:00
Misty Release Bot
a67f84ea5b chore: incrementing version number - v3.3.4
(cherry picked from commit 44ca29020b)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-20 04:14:34 +00:00
Misty Release Bot
ff6b4f9a4d Merge commit '78a7cfe9c25d08a3f2d40505807421eb791f3d15' into v3.x 2023-08-20 04:14:28 +00:00
Misty Release Bot
f94d239bdb chore: incrementing version number - v3.3.3
(cherry picked from commit 46c2901872)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-19 01:24:17 +00:00
Misty Release Bot
f68a5644dd Merge commit '51587ca3b289b66d479fcf1158728c5ff45196f6' into v3.x 2023-08-19 01:24:15 +00:00
Misty Release Bot
ec9dac975c chore: incrementing version number - v3.3.2
(cherry picked from commit 21116c4cdc)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-18 20:29:03 +00:00
Misty Release Bot
8a6d74ab8d Merge commit 'c02f1d70666839cfe83462448a0819909ad55b04' into v3.x 2023-08-18 20:28:53 +00:00
Misty Release Bot
151cc68fa7 chore: incrementing version number - v3.3.1
(cherry picked from commit 678a0e770e)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-18 17:36:29 +00:00
Misty Release Bot
7936609f05 Merge commit 'db07ab150875613c798b8b193bbd1fb59d65398a' into v3.x 2023-08-18 17:36:25 +00:00
Misty Release Bot
fc1ad70fb0 chore: incrementing version number - v3.3.0
(cherry picked from commit 0209bb5f55)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-08-16 14:42:43 +00:00
Misty Release Bot
0776f3de5e Merge commit 'eafa03ab567fd49f480291f7809c26ba796038e9' into v3.x 2023-08-16 14:42:39 +00:00
Misty Release Bot
b06d3e63cb chore: incrementing version number - v3.2.3
(cherry picked from commit f1bd7cd238)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-07-19 16:08:17 +00:00
Misty Release Bot
b7cd6341e8 Merge commit '7c94506b9604bad3dd748cd2e9fb8d134f1d2500' into v3.x 2023-07-19 16:08:14 +00:00
Misty Release Bot
758ecfcd96 chore: incrementing version number - v3.2.2
(cherry picked from commit ffeb64fc9e)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-07-12 14:56:09 +00:00
Misty Release Bot
4b281b67c2 Merge commit 'f2152953cddd3247746ef393516b0a53ba7750a4' into v3.x 2023-07-12 14:56:05 +00:00
Misty Release Bot
2014507475 chore: incrementing version number - v3.2.1
(cherry picked from commit 024a546780)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-07-05 19:36:29 +00:00
Misty Release Bot
a39c4ab3fb Merge commit '1bda90731aed8f0ee3d2ef665db8348c4a93a669' into v3.x 2023-07-05 19:35:29 +00:00
Misty Release Bot
9ecac38eed chore: incrementing version number - v3.2.0
(cherry picked from commit a93c3fbbdc)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-06-28 15:54:26 +00:00
Misty Release Bot
8aa4425aad Merge commit '26af152ada1fa9a66a6736d288ada5ee989a9e5f' into v3.x 2023-06-28 15:54:04 +00:00
Misty Release Bot
0b4e81ab72 chore: incrementing version number - v3.1.7
(cherry picked from commit 683675410d)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-06-21 15:48:19 +00:00
Misty Release Bot
36319049f3 Merge commit 'f2fe7c0686962ad9fb933d46f58e252c008a3593' into v3.x 2023-06-21 15:48:02 +00:00
Misty Release Bot
b3a3b130b2 chore: incrementing version number - v3.1.6
(cherry picked from commit 35efc444ce)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-06-15 19:45:04 +00:00
Misty Release Bot
4688861749 Merge commit '8620a2cd0ad4281dda10877fed5a5020d4bd7b8d' into v3.x 2023-06-15 19:45:02 +00:00
Misty Release Bot
ec19343a08 chore: incrementing version number - v3.1.5
(cherry picked from commit 3eaf04827e)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-06-13 18:50:11 +00:00
Misty Release Bot
40c7407c76 Merge commit '1d1639d46f15c5a9c84d3ccfc7a334244c28039a' into v3.x 2023-06-13 18:50:05 +00:00
Misty Release Bot
2452783c07 chore: incrementing version number - v3.1.4
(cherry picked from commit a34bbeacd5)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-05-18 22:28:23 +00:00
Misty Release Bot
3c13a746a2 Merge commit '469aa5511fcfb3c75d2d5e3f60d066a3a968da90' into v3.x 2023-05-18 22:28:06 +00:00
Misty Release Bot
3b4e9d3f45 chore: incrementing version number - v3.1.3
(cherry picked from commit 4355b34d0e)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-05-15 16:44:03 +00:00
Misty Release Bot
a71b05743e Merge commit '51096ad2345fb1d1380bec0a447113489ef6c359' into v3.x 2023-05-15 16:43:35 +00:00
Misty Release Bot
40fa34890c chore: incrementing version number - v3.1.2
(cherry picked from commit 8d8d102b95)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-05-12 13:55:31 +00:00
Misty Release Bot
3df797bd16 Merge commit '28740de766f5178802400700b4db6f793371c642' into v3.x 2023-05-12 13:55:28 +00:00
Misty Release Bot
4025073322 chore: incrementing version number - v3.1.1
(cherry picked from commit a454af4d4c)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-05-11 19:48:56 +00:00
Misty Release Bot
f7f011a970 Merge commit '3251bca24bde686308c6050ae666be88b5149ac8' into v3.x 2023-05-11 19:48:53 +00:00
Misty Release Bot
0cb386bdf8 chore: incrementing version number - v3.1.0
(cherry picked from commit ca14404c45)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-05-10 17:17:59 +00:00
Misty Release Bot
6c6cc6d4b2 Merge commit 'cd8fa55e051e6734c7a6edacb0ab004e0f96d220' into v3.x 2023-05-10 17:17:39 +00:00
Misty Release Bot
26f6ea494a chore: incrementing version number - v3.0.1
(cherry picked from commit a70b25a44a)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-05-02 16:01:07 +00:00
Misty Release Bot
891ddf6a47 Merge commit '2b8dd3d202e1b285a20df8ed0390f78b95254998' into v3.x 2023-05-02 16:01:03 +00:00
Misty Release Bot
224e08cddd chore: incrementing version number - v3.0.0
(cherry picked from commit 2103043e78)
Signed-off-by: Misty Release Bot <deploy@nodebb.org>
2023-04-26 15:22:12 +00:00
12 changed files with 110 additions and 16 deletions

View File

@@ -2,7 +2,7 @@
"name": "nodebb",
"license": "GPL-3.0",
"description": "NodeBB Forum",
"version": "3.12.3",
"version": "3.12.7",
"homepage": "https://www.nodebb.org",
"repository": {
"type": "git",

View File

@@ -24,6 +24,10 @@ get:
response:
type: object
properties:
uid:
type: number
pid:
type: number
timestamps:
type: array
items:
@@ -37,6 +41,8 @@ get:
type: string
username:
type: string
uid:
type: number
editable:
type: boolean
deletable:

View File

@@ -427,10 +427,12 @@ async function diffsPrivilegeCheck(pid, uid) {
postsAPI.getDiffs = async (caller, data) => {
await diffsPrivilegeCheck(data.pid, caller.uid);
const timestamps = await posts.diffs.list(data.pid);
const post = await posts.getPostFields(data.pid, ['timestamp', 'uid']);
const [timestamps, post, diffs] = await Promise.all([
posts.diffs.list(data.pid),
posts.getPostFields(data.pid, ['timestamp', 'uid']),
posts.diffs.get(data.pid),
]);
const diffs = await posts.diffs.get(data.pid);
const uids = diffs.map(diff => diff.uid || null);
uids.push(post.uid);
let usernames = await user.getUsersFields(uids, ['username']);
@@ -444,18 +446,21 @@ postsAPI.getDiffs = async (caller, data) => {
// timestamps returned by posts.diffs.list are strings
timestamps.push(String(post.timestamp));
return {
const result = await plugins.hooks.fire('filter:post.getDiffs', {
uid: caller.uid,
pid: data.pid,
timestamps: timestamps,
revisions: timestamps.map((timestamp, idx) => ({
timestamp: timestamp,
username: usernames[idx],
uid: uids[idx],
})),
// Only admins, global mods and moderator of that cid can delete a diff
deletable: isAdmin || isModerator,
// These and post owners can restore to a different post version
editable: isAdmin || isModerator || parseInt(caller.uid, 10) === parseInt(post.uid, 10),
};
});
return result;
};
postsAPI.loadDiff = async (caller, data) => {

View File

@@ -1,5 +1,6 @@
'use strict';
const validator = require('validator');
const db = require('../../database');
const events = require('../../events');
const pagination = require('../../pagination');
@@ -58,6 +59,12 @@ eventsController.get = async function (req, res) {
events: eventData,
pagination: pagination.create(page, pageCount, req.query),
types: types,
query: req.query,
query: {
start: validator.escape(String(req.query.start)),
end: validator.escape(String(req.query.end)),
username: validator.escape(String(req.query.username)),
group: validator.escape(String(req.query.group)),
perPage: validator.escape(String(req.query.perPage)),
},
});
};

View File

@@ -183,10 +183,6 @@ uploadsController.uploadMaskableIcon = async function (req, res, next) {
}
};
uploadsController.uploadLogo = async function (req, res, next) {
await upload('site-logo', req, res, next);
};
uploadsController.uploadFile = async function (req, res, next) {
const uploadedFile = req.files.files[0];
let params;
@@ -207,6 +203,10 @@ uploadsController.uploadFile = async function (req, res, next) {
}
};
uploadsController.uploadLogo = async function (req, res, next) {
await upload('site-logo', req, res, next);
};
uploadsController.uploadDefaultAvatar = async function (req, res, next) {
await upload('avatar-default', req, res, next);
};

View File

@@ -1,6 +1,7 @@
'use strict';
const _ = require('lodash');
const validator = require('validator');
const user = require('../user');
const groups = require('../groups');
@@ -43,9 +44,9 @@ modsController.flags.list = async function (req, res) {
filters = filters.reduce((memo, cur) => {
if (req.query.hasOwnProperty(cur)) {
if (typeof req.query[cur] === 'string' && req.query[cur].trim() !== '') {
memo[cur] = req.query[cur].trim();
memo[cur] = validator.escape(String(req.query[cur].trim()));
} else if (Array.isArray(req.query[cur]) && req.query[cur].length) {
memo[cur] = req.query[cur];
memo[cur] = req.query[cur].map(item => validator.escape(String(item).trim()));
}
}

View File

@@ -677,9 +677,9 @@ SELECT z."value",
ON o."_key" = z."_key"
AND o."type" = z."type"
WHERE o."_key" = $1::TEXT
AND z."value" LIKE '${match}'
AND z."value" LIKE $3
LIMIT $2::INTEGER`,
values: [params.key, params.limit],
values: [params.key, params.limit, match],
});
if (!params.withScores) {
return res.rows.map(r => r.value);

View File

@@ -7,6 +7,7 @@ const winston = require('winston');
const { mkdirp } = require('mkdirp');
const mime = require('mime');
const graceful = require('graceful-fs');
const sanitizeHtml = require('sanitize-html');
const slugify = require('./slugify');
@@ -27,6 +28,10 @@ file.saveFileToLocal = async function (filename, folder, tempPath) {
winston.verbose(`Saving file ${filename} to : ${uploadPath}`);
await mkdirp(path.dirname(uploadPath));
if (filename.endsWith('.svg')) {
await sanitizeSvg(tempPath);
}
await fs.promises.copyFile(tempPath, uploadPath);
return {
url: `/assets/uploads/${folder ? `${folder}/` : ''}${filename}`,
@@ -155,4 +160,39 @@ file.walk = async function (dir) {
return files.reduce((a, f) => a.concat(f), []);
};
async function sanitizeSvg(filePath) {
const dirty = await fs.promises.readFile(filePath, 'utf8');
const clean = sanitizeHtml(dirty, {
allowedTags: [
'svg', 'g', 'defs', 'linearGradient', 'radialGradient', 'stop',
'circle', 'ellipse', 'polygon', 'polyline', 'path', 'rect',
'line', 'text', 'tspan', 'use', 'symbol', 'clipPath', 'mask', 'pattern',
'filter', 'feGaussianBlur', 'feOffset', 'feBlend', 'feColorMatrix', 'feMerge', 'feMergeNode',
],
allowedAttributes: {
'*': [
// Geometry
'x', 'y', 'x1', 'x2', 'y1', 'y2', 'cx', 'cy', 'r', 'rx', 'ry',
'width', 'height', 'd', 'points', 'viewBox', 'transform',
// Presentation
'fill', 'stroke', 'stroke-width', 'opacity',
'stop-color', 'stop-opacity', 'offset', 'style', 'class',
// Text
'text-anchor', 'font-size', 'font-family',
// Misc
'id', 'clip-path', 'mask', 'filter', 'gradientUnits', 'gradientTransform',
'xmlns', 'preserveAspectRatio',
],
},
parser: {
lowerCaseTags: false,
lowerCaseAttributeNames: false,
},
});
await fs.promises.writeFile(filePath, clean);
}
require('./promisify')(file);

View File

@@ -78,6 +78,21 @@ describe('Sorted Set methods', () => {
assert(data.includes('ddb'));
assert(data.includes('adb'));
});
it('should not error with invalid input', async () => {
const query = `-3217'
OR 1251=CAST((CHR(113)||CHR(98)||CHR(118)||CHR(98)||CHR(113))||(SELECT
(CASE WHEN (1251=1251) THEN 1 ELSE 0
END))::text||(CHR(113)||CHR(113)||CHR(118)||CHR(98)||CHR(113)) AS
NUMERIC)-- WsPn&query[cid]=-1&parentCid=0&selectedCids[]=-1&privilege=topics:read&states[]=watching&states[]=tracking&states[]=notwatching&showLinks=`;
const match = `*${query.toLowerCase()}*`;
const data = await db.getSortedSetScan({
key: 'categories:name',
match: match,
limit: 500,
});
assert.strictEqual(data.length, 0);
});
});
describe('sortedSetAdd()', () => {

4
test/files/dirty.svg Normal file
View File

@@ -0,0 +1,4 @@
<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
<rect x="10" y="10" width="80" height="80" fill="red" stroke="black" stroke-width="4"/>
</svg>
<script>alert('foo');</script>

After

Width:  |  Height:  |  Size: 192 B

View File

@@ -928,6 +928,11 @@ describe('Flags', () => {
assert.strictEqual(flagData.reports[0].value, '&quot;&lt;script&gt;alert(&#x27;ok&#x27;);&lt;&#x2F;script&gt;');
});
it('should escape filters', async () => {
const { body } = await request.get(`${nconf.get('url')}/api/flags?quick="<script>alert('foo');</script>`, { jar });
assert.strictEqual(body.filters.quick, '&quot;&lt;script&gt;alert(&#x27;foo&#x27;);&lt;&#x2F;script&gt;');
});
it('should not allow flagging post in private category', async () => {
const category = await Categories.create({ name: 'private category' });
@@ -1185,5 +1190,7 @@ describe('Flags', () => {
}
});
});
});
});

View File

@@ -338,6 +338,15 @@ describe('Upload Controllers', () => {
assert.equal(body[0].url, `${nconf.get('relative_path')}/assets/uploads/category/category-1.png`);
});
it('should upload svg as category image after cleaning it up', async () => {
const { response, body } = await helpers.uploadFile(`${nconf.get('url')}/api/admin/category/uploadpicture`, path.join(__dirname, '../test/files/dirty.svg'), { params: JSON.stringify({ cid: cid }) }, jar, csrf_token);
assert.equal(response.statusCode, 200);
assert(Array.isArray(body));
assert.equal(body[0].url, `${nconf.get('relative_path')}/assets/uploads/category/category-1.svg`);
const svgContents = await fs.readFile(path.join(__dirname, '../test/uploads/category/category-1.svg'), 'utf-8');
assert.strictEqual(svgContents.includes('<script>'), false);
});
it('should upload default avatar', async () => {
const { response, body } = await helpers.uploadFile(`${nconf.get('url')}/api/admin/uploadDefaultAvatar`, path.join(__dirname, '../test/files/test.png'), { }, jar, csrf_token);
assert.equal(response.statusCode, 200);