Skip to content

[bug] e2ee encryption on linux is broken due to dataPacketCryptor exception #1024

@robbysneller

Description

@robbysneller

Describe the bug

When creating a room with e2ee enabled on linux, you will get an exception of Exception: createDataPacketCryptor failed: MissingPluginException(No implementation found for method createDataPacketCryptor on channel FlutterWebRTC.Method)

It appears that in the setup function of the e2ee manager for a room, the _dataPacketCryptor is attempted to be created like so

_dataPacketCryptor ??= await dataPacketCryptorFactory.createDataPacketCryptor( algorithm: _algorithm, keyProvider: _keyProvider.keyProvider);

however, from what I can tell, this is not implemented in flutter-webrtc. I have created an issue to document this, (flutter-webrtc/flutter-webrtc#2010) but I think that the room should still be setup with the audio/video encryption on linux rather than crashing entirely, which effectively makes it so that e2ee is NOT functional on linux from what I can tell.

I added a try catch around this function call in the e2ee setup, and was able to join the call with encryption enabled.

To Reproduce

try and join a call on linux with e2ee enabled and provided to the room

Expected behavior

the call is joined with encryption enabled

Platform information

ubuntu 24.04

  • Fluttfler version:

3.42.0-0.4.pre

  • Plugin version:

1.3.0

  • Flutter target OS: real linux ubuntu 24.04 machine

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions