diff --git a/src/s2s.py b/src/s2s.py index 4b147db..879b0d1 100644 --- a/src/s2s.py +++ b/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//', methods=['PUT']) def send_join_v1(roomId, eventId): - return jsonify(send_join(request, roomId)) + abort(500) @server.route('/_matrix/federation/v2/send_join//', methods=['PUT']) def send_join_v2(roomId, eventId): - return jsonify(send_join(request, roomId)) + abort(500) @server.route('/_matrix/federation/v1/make_join//') 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": {