Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Silence-Android Silence-Android
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 287
    • Issues 287
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • SilenceSilence
  • Silence-AndroidSilence-Android
  • Merge requests
  • !623

Do not use container for long encrypted messages, prepare to multiple wire prefixes

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Bastien Le Querrec requested to merge fix-message-type-mismatch into master Nov 03, 2017
  • Overview 2
  • Commits 1
  • Pipelines 0
  • Changes 1

Long encrypted messages are embed in containers and sent in multiple splitted messages. Splitted messages aren't displayed and Silence stores them to wait for the full container. This way to send encrypted messages creates a risk to consider an unencrypted message as a contained one, resulting in lost of unencrypted messages in rare (but plausible) situations.

This PR changes the way to send encrypted messages. They aren't splitted in containers anymore. Non contained encrypted messages will be fully recognized and decrypted by previous Silence releases.

The first commit do not change the way to receive and decrypt messages yet. So it can still lost unencrypted messages. The second displays containers instead of discarding them, resulting in no more lost messages but garbage if recipient uses old version. We can:

  • Merge the PR as it and release a new tag. This will fix a lot of bugs but encrypted messages sent with Silence >= 0.15.8 will result in garbage for users with the new release (those messages won't be lost, anyway). - OR -
  • Merge the first commit only, release the new tag and wait for ~1 month until users update their version. Then, we will merge the second commit and push another update. This will result in less garbage as most of users should use the version with the way to send encrypted messages, but at the cost that we will wait for a month to fix issues.
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix-message-type-mismatch