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__)
|
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')
|
@server.route('/_matrix/federation/v1/version')
|
||||||
def version():
|
def version():
|
||||||
return jsonify({"server": {"version": globals.vona_version,"name": "Vona"}})
|
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'])
|
@server.route('/_matrix/federation/v1/send_join/<roomId>/<eventId>', methods=['PUT'])
|
||||||
def send_join_v1(roomId, eventId):
|
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'])
|
@server.route('/_matrix/federation/v2/send_join/<roomId>/<eventId>', methods=['PUT'])
|
||||||
def send_join_v2(roomId, eventId):
|
def send_join_v2(roomId, eventId):
|
||||||
return jsonify(send_join(request, roomId))
|
abort(500)
|
||||||
|
|
||||||
@server.route('/_matrix/federation/v1/make_join/<roomId>/<userId>')
|
@server.route('/_matrix/federation/v1/make_join/<roomId>/<userId>')
|
||||||
def 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({
|
return jsonify({
|
||||||
"event": {
|
"event": {
|
||||||
"content": {
|
"content": {
|
||||||
|
|||||||
Reference in New Issue
Block a user