Skip to content
Snippets Groups Projects
  • ThibG's avatar
    f29918e7
    [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907) · f29918e7
    ThibG authored
    * Whenever a remote keypair changes, unfollow them and re-subscribe to them
    
    In Mastodon (it could be different for other OStatus or AP-enabled software),
    a keypair change is indicative of whole user (or instance) data loss. In this
    situation, the “new” user might be different, and almost certainly has an empty
    followers list. In this case, Mastodon instances will disagree on follower
    lists, leading to unreliable delivery and “shadow followers”, that is users
    believed by a remote instance to be followers, without the affected user
    knowing.
    
    Drawbacks of this change are:
    1. If an user legitimately changes public key for some reason without losing
       data (not possible in Mastodon at the moment), they will have their remote
       followers unsubscribed/re-subscribed needlessly.
    2. Depending of the number of remote followers, this may generate quite some
       traffic.
    3. If the user change is an attempt at usurpation, the remote followers will
       unknowingly follow the usurper. Note that this is *not* a change of
       behavior, Mastodon already behaves like that, although delivery might be
       unreliable, and the usurper would not have known the former user's
       followers.
    
    * Rename ResubscribeWorker to RefollowWorker
    
    * Process followers in batches
    f29918e7
    History
    [WiP] Whenever a remote keypair changes, unfollow them and re-subscribe to … (#4907)
    ThibG authored
    * Whenever a remote keypair changes, unfollow them and re-subscribe to them
    
    In Mastodon (it could be different for other OStatus or AP-enabled software),
    a keypair change is indicative of whole user (or instance) data loss. In this
    situation, the “new” user might be different, and almost certainly has an empty
    followers list. In this case, Mastodon instances will disagree on follower
    lists, leading to unreliable delivery and “shadow followers”, that is users
    believed by a remote instance to be followers, without the affected user
    knowing.
    
    Drawbacks of this change are:
    1. If an user legitimately changes public key for some reason without losing
       data (not possible in Mastodon at the moment), they will have their remote
       followers unsubscribed/re-subscribed needlessly.
    2. Depending of the number of remote followers, this may generate quite some
       traffic.
    3. If the user change is an attempt at usurpation, the remote followers will
       unknowingly follow the usurper. Note that this is *not* a change of
       behavior, Mastodon already behaves like that, although delivery might be
       unreliable, and the usurper would not have known the former user's
       followers.
    
    * Rename ResubscribeWorker to RefollowWorker
    
    * Process followers in batches