forked from Telodendria/Telodendria
[FIX/WIP] Fix bug where banned users could be invited.
Some checks failed
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Has been cancelled
Some checks failed
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Has been cancelled
There seems to be another, much more annoying bug going down with one of the servers I've tested on, but I don't know how to fix it as of now.
This commit is contained in:
parent
879e51c169
commit
c1630247b1
1 changed files with 5 additions and 5 deletions
10
src/Room.c
10
src/Room.c
|
@ -310,10 +310,9 @@ RoomPopulate(Room *room, User *user, RoomCreateRequest *req, ServerPart s)
|
||||||
JsonFree(RoomEventSend(room, event));
|
JsonFree(RoomEventSend(room, event));
|
||||||
JsonFree(event);
|
JsonFree(event);
|
||||||
|
|
||||||
/* TODO: The rest of the events mandated by the specification on
|
|
||||||
* POST /createRoom, and error management. */
|
|
||||||
|
|
||||||
Free(sender_str);
|
Free(sender_str);
|
||||||
|
|
||||||
|
/* TODO: Error management (and invite_3pid, later) */
|
||||||
}
|
}
|
||||||
Room *
|
Room *
|
||||||
RoomCreate(Db * db, User *user, RoomCreateRequest * req, ServerPart s)
|
RoomCreate(Db * db, User *user, RoomCreateRequest * req, ServerPart s)
|
||||||
|
@ -676,7 +675,8 @@ PopulateEventV1(Room * room, HashMap * event, PduV1 * pdu, ServerPart serv)
|
||||||
ArrayAdd(pdu->prev_events, JsonValueDuplicate(event_id));
|
ArrayAdd(pdu->prev_events, JsonValueDuplicate(event_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: Signature and alldat. */
|
/* TODO: Signatures.
|
||||||
|
* We currently *don't* have an Ed25519 implementation. */
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -998,7 +998,7 @@ AuthorizeInviteMembershipV1(Room * room, PduV1 pdu, HashMap *state)
|
||||||
}
|
}
|
||||||
/* Step 5.3.3: If target user’s current membership state is join or ban, reject. */
|
/* Step 5.3.3: If target user’s current membership state is join or ban, reject. */
|
||||||
if (RoomUserHasMembership(room, state, pdu.state_key, "join") ||
|
if (RoomUserHasMembership(room, state, pdu.state_key, "join") ||
|
||||||
RoomUserHasMembership(room, state, pdu.state_key, "join"))
|
RoomUserHasMembership(room, state, pdu.state_key, "ban"))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue