Destroy send_join
This commit is contained in:
84
src/s2s.py
84
src/s2s.py
@@ -7,79 +7,6 @@ import os
|
||||
|
||||
server = Blueprint('matrix_server', __name__)
|
||||
|
||||
def send_join(request, roomId):
|
||||
# We may have to include signatures here.
|
||||
|
||||
eventIds = [
|
||||
f"${globals.make_event_id()}:{server_name}",
|
||||
f"${globals.make_event_id()}:{server_name}",
|
||||
f"${globals.make_event_id()}:{server_name}",
|
||||
f"${globals.make_event_id()}:{server_name}"
|
||||
]
|
||||
|
||||
events = {
|
||||
"auth_chain": [eventIds[2], eventIds[3]],
|
||||
"event": {},
|
||||
"members_omitted": True,
|
||||
"servers_in_room": [server_name],
|
||||
"state": [
|
||||
{
|
||||
"content": {
|
||||
"room_version": the_funny_number,
|
||||
"creator": f"@vona:{server_name}"
|
||||
},
|
||||
"room_id": roomId,
|
||||
"event_id": eventIds[0],
|
||||
"state_key": "",
|
||||
"origin_server_ts": 1,
|
||||
"type": "m.room.create",
|
||||
"sender": f"@vona:{server_name}"
|
||||
},
|
||||
{
|
||||
"content": {"membership": "join"},
|
||||
"room_id": roomId,
|
||||
"event_id": eventIds[1],
|
||||
"state_key": f"@vona:{server_name}",
|
||||
"origin_server_ts": 2,
|
||||
"type": "m.room.member",
|
||||
"sender": f"@vona:{server_name}"
|
||||
},
|
||||
{
|
||||
"content": {"users": {f"@vona:{server_name}": 100}},
|
||||
"room_id": roomId,
|
||||
"event_id": eventIds[2],
|
||||
"state_key": "",
|
||||
"origin_server_ts": 3,
|
||||
"type": "m.room.power_levels",
|
||||
"sender": f"@vona:{server_name}"
|
||||
},
|
||||
{
|
||||
"content": {"join_rule": "public"},
|
||||
"room_id": roomId,
|
||||
"event_id": eventIds[3],
|
||||
"state_key": "",
|
||||
"origin_server_ts": 4,
|
||||
"type": "m.room.join_rules",
|
||||
"sender": f"@vona:{server_name}"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
for event in events['state']:
|
||||
event_hash = globals.hash_event(event)
|
||||
if event['type'] != "m.room.create":
|
||||
event['prev_events'] = [eventIds[event['origin_server_ts'] - 1], {"sha256": event_hash}]
|
||||
|
||||
join_event = request.json
|
||||
join_event['prev_events'] = [eventIds[3], {"sha256": events['state'][3]['prev_events'][1]['sha256']}]
|
||||
events['event'] = join_event
|
||||
|
||||
# debug
|
||||
print(json.dumps(events, indent='\t'))
|
||||
print(json.dumps(eventIds, indent='\t'))
|
||||
|
||||
return events
|
||||
|
||||
@server.route('/_matrix/federation/v1/version')
|
||||
def version():
|
||||
return jsonify({"server": {"version": globals.vona_version,"name": "Vona"}})
|
||||
@@ -133,21 +60,14 @@ def thumbnail_media(media_id):
|
||||
|
||||
@server.route('/_matrix/federation/v1/send_join/<roomId>/<eventId>', methods=['PUT'])
|
||||
def send_join_v1(roomId, eventId):
|
||||
return jsonify(send_join(request, roomId))
|
||||
abort(500)
|
||||
|
||||
@server.route('/_matrix/federation/v2/send_join/<roomId>/<eventId>', methods=['PUT'])
|
||||
def send_join_v2(roomId, eventId):
|
||||
return jsonify(send_join(request, roomId))
|
||||
abort(500)
|
||||
|
||||
@server.route('/_matrix/federation/v1/make_join/<roomId>/<userId>')
|
||||
def make_join(roomId, userId):
|
||||
if 2 not in request.args.getlist("ver"):
|
||||
return jsonify({
|
||||
"errcode": "M_INCOMPATIBLE_ROOM_VERSION",
|
||||
"error": "Your homeserver does not support the features required to join this room.",
|
||||
"room_version": invite_data["room_version"]
|
||||
}), 400
|
||||
|
||||
return jsonify({
|
||||
"event": {
|
||||
"content": {
|
||||
|
||||
Reference in New Issue
Block a user