pion / ice

A Go implementation of ICE
https://pion.ly/
MIT License
446 stars 160 forks source link

Android 11 ListenUDP permission denine #636

Closed suutaku closed 10 months ago

suutaku commented 10 months ago

When create offer at android device with API level 33 (basically, all version from android 11 will be same). ice go to bind udp at createMulticastDNS got failed by android's permission control, and says (note: it's a warning, not error):

avc: denied { bind } for scontext=u:r:untrusted_app but golang side not returned any error. i believe that's because android side did return the socket(something empty), just not bind. due the bug, i cannot make connection between android device and other( in fact, offer from other device, answer from android was ok.)

Your environment.

What did you do?

Tried mDNS disabled mode by adding a return nil, MulticastDNSModeDisabled, nil at createMulticastDNS line 52. Test connection between devices,

What did you expect?

all works fine.

What happened?

all works fine except offer from android.