The Mastodon server does not currently use URL_SAFE encoding on its serverKey. Using URL_SAFE in this client means the client will crash for any server that uses a key that generates a Mime64 string containing a "+" or "/". This change removes the URL_SAFE logic. See: https://github.com/mastodon/mastodon-android/issues/483

This commit is contained in:
mishnz 2023-01-01 02:50:09 -03:00 committed by LucasGGamerM
parent 7c7f3cc42a
commit dd92f1b66f
1 changed files with 1 additions and 3 deletions

View File

@ -162,9 +162,7 @@ public class PushSubscriptionManager{
@Override @Override
public void onSuccess(PushSubscription result){ public void onSuccess(PushSubscription result){
MastodonAPIController.runInBackground(()->{ MastodonAPIController.runInBackground(()->{
result.serverKey=result.serverKey.replace('/','_'); serverKey=deserializeRawPublicKey(Base64.decode(result.serverKey, Base64.DEFAULT));
result.serverKey=result.serverKey.replace('+','-');
serverKey=deserializeRawPublicKey(Base64.decode(result.serverKey, Base64.URL_SAFE));
AccountSession session=AccountSessionManager.getInstance().tryGetAccount(accountID); AccountSession session=AccountSessionManager.getInstance().tryGetAccount(accountID);
if(session==null) if(session==null)