@@ -129,12 +129,9 @@ def on_POST(self, request):
129
129
login_type = register_json ["type" ]
130
130
131
131
is_application_server = login_type == LoginType .APPLICATION_SERVICE
132
- is_using_shared_secret = login_type == LoginType .SHARED_SECRET
133
-
134
132
can_register = (
135
133
self .enable_registration
136
134
or is_application_server
137
- or is_using_shared_secret
138
135
)
139
136
if not can_register :
140
137
raise SynapseError (403 , "Registration has been disabled" )
@@ -144,7 +141,6 @@ def on_POST(self, request):
144
141
LoginType .PASSWORD : self ._do_password ,
145
142
LoginType .EMAIL_IDENTITY : self ._do_email_identity ,
146
143
LoginType .APPLICATION_SERVICE : self ._do_app_service ,
147
- LoginType .SHARED_SECRET : self ._do_shared_secret ,
148
144
}
149
145
150
146
session_info = self ._get_session_info (request , session )
@@ -325,56 +321,6 @@ def _do_app_service(self, request, register_json, session):
325
321
"home_server" : self .hs .hostname ,
326
322
})
327
323
328
- @defer .inlineCallbacks
329
- def _do_shared_secret (self , request , register_json , session ):
330
- assert_params_in_dict (register_json , ["mac" , "user" , "password" ])
331
-
332
- if not self .hs .config .registration_shared_secret :
333
- raise SynapseError (400 , "Shared secret registration is not enabled" )
334
-
335
- user = register_json ["user" ].encode ("utf-8" )
336
- password = register_json ["password" ].encode ("utf-8" )
337
- admin = register_json .get ("admin" , None )
338
-
339
- # Its important to check as we use null bytes as HMAC field separators
340
- if b"\x00 " in user :
341
- raise SynapseError (400 , "Invalid user" )
342
- if b"\x00 " in password :
343
- raise SynapseError (400 , "Invalid password" )
344
-
345
- # str() because otherwise hmac complains that 'unicode' does not
346
- # have the buffer interface
347
- got_mac = str (register_json ["mac" ])
348
-
349
- want_mac = hmac .new (
350
- key = self .hs .config .registration_shared_secret .encode (),
351
- digestmod = sha1 ,
352
- )
353
- want_mac .update (user )
354
- want_mac .update (b"\x00 " )
355
- want_mac .update (password )
356
- want_mac .update (b"\x00 " )
357
- want_mac .update (b"admin" if admin else b"notadmin" )
358
- want_mac = want_mac .hexdigest ()
359
-
360
- if compare_digest (want_mac , got_mac ):
361
- handler = self .handlers .registration_handler
362
- user_id , token = yield handler .register (
363
- localpart = user .lower (),
364
- password = password ,
365
- admin = bool (admin ),
366
- )
367
- self ._remove_session (session )
368
- defer .returnValue ({
369
- "user_id" : user_id ,
370
- "access_token" : token ,
371
- "home_server" : self .hs .hostname ,
372
- })
373
- else :
374
- raise SynapseError (
375
- 403 , "HMAC incorrect" ,
376
- )
377
-
378
324
379
325
class CreateUserRestServlet (ClientV1RestServlet ):
380
326
"""Handles user creation via a server-to-server interface
0 commit comments