mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
fix: #13668, privilege checking on topic create for remote users; was not properly checking against fediverse pseudo-user
This commit is contained in:
@@ -89,11 +89,12 @@ module.exports = function (Topics) {
|
||||
Topics.post = async function (data) {
|
||||
data = await plugins.hooks.fire('filter:topic.post', data);
|
||||
const { uid } = data;
|
||||
const remoteUid = !utils.isNumber(uid);
|
||||
|
||||
const [categoryExists, canCreate, canTag, isAdmin] = await Promise.all([
|
||||
parseInt(data.cid, 10) > 0 ? categories.exists(data.cid) : true,
|
||||
privileges.categories.can('topics:create', data.cid, uid),
|
||||
privileges.categories.can('topics:tag', data.cid, uid),
|
||||
privileges.categories.can('topics:create', data.cid, remoteUid ? -2 : uid),
|
||||
privileges.categories.can('topics:tag', data.cid, remoteUid ? -2 : uid),
|
||||
privileges.users.isAdministrator(uid),
|
||||
]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user