mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-31 18:53:10 -06:00
Fix appservice username check
This commit is contained in:
parent
2b0a5adfaf
commit
2088b6cfbf
|
|
@ -139,11 +139,17 @@ func SetLocalAlias(
|
|||
// TODO: This code should eventually be refactored with:
|
||||
// 1. The new method for checking for things matching an AS's namespace
|
||||
// 2. Using an overall Regex object for all AS's just like we did for usernames
|
||||
|
||||
reqUserID, _, err := gomatrixserverlib.SplitID('@', device.UserID)
|
||||
if err != nil {
|
||||
return util.JSONResponse{
|
||||
Code: http.StatusBadRequest,
|
||||
JSON: jsonerror.BadJSON("User ID must be in the form '@localpart:domain'"),
|
||||
}
|
||||
}
|
||||
for _, appservice := range cfg.Derived.ApplicationServices {
|
||||
// Don't prevent AS from creating aliases in its own namespace
|
||||
// Note that Dendrite uses SenderLocalpart as UserID for AS users
|
||||
if device.UserID != appservice.SenderLocalpart {
|
||||
if reqUserID != appservice.SenderLocalpart {
|
||||
if aliasNamespaces, ok := appservice.NamespaceMap["aliases"]; ok {
|
||||
for _, namespace := range aliasNamespaces {
|
||||
if namespace.Exclusive && namespace.RegexpObject.MatchString(alias) {
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ Local device key changes get to remote servers with correct prev_id
|
|||
|
||||
# Flakey
|
||||
Local device key changes appear in /keys/changes
|
||||
/context/ with lazy_load_members filter works
|
||||
|
||||
# we don't support groups
|
||||
Remove group category
|
||||
|
|
|
|||
|
|
@ -601,3 +601,8 @@ Can query remote device keys using POST after notification
|
|||
Device deletion propagates over federation
|
||||
Get left notifs in sync and /keys/changes when other user leaves
|
||||
Remote banned user is kicked and may not rejoin until unbanned
|
||||
AS can make room aliases
|
||||
AS-ghosted users can use rooms via AS
|
||||
AS-ghosted users can use rooms themselves
|
||||
Accesing an AS-hosted room alias asks the AS server
|
||||
Events in rooms with AS-hosted room aliases are sent to AS server
|
||||
|
|
|
|||
Loading…
Reference in a new issue