[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #28942 [Circumvention/Snowflake]: Evaluate pion WebRTC
#28942: Evaluate pion WebRTC
-------------------------------------+-------------------------------
Reporter: backkem | Owner: cohosh
Type: enhancement | Status: accepted
Priority: Medium | Milestone:
Component: Circumvention/Snowflake | Version:
Severity: Normal | Resolution:
Keywords: ex-sponsor-19 | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor: Sponsor28-can
-------------------------------------+-------------------------------
Comment (by dcf):
Replying to [comment:28 cohosh]:
> Finished porting the client to pion/webrtc:
https://github.com/cohosh/snowflake/commit/6bbb9a4b820f34aef4d45c14acff72374307da5e
>
> Most of the changes were small, but there were some tricky differences
to work around:
> - `OnNegotiationNeeded` is no longer supported, but putting the code
from that callback into a go routine and calling it immediately after
creation of the PeerConnection seems to work just fine.
> - By default, something called the
"[https://godoc.org/github.com/pion/webrtc#SettingEngine.SetTrickle
trickle method]" is set to false, which means the
`OnICEGatheringStateChange` callback never gets called (see
[https://github.com/pion/webrtc/blob/master/icegatherer.go#L262
icegatherer.go#L262] vs
[https://github.com/pion/webrtc/blob/master/icegatherer.go#L143
icegatherer.go#L143]). We get around this by using a SettingEngine
[https://github.com/cohosh/snowflake/blob/6bbb9a4b820f34aef4d45c14acff72374307da5e/client/lib/webrtc.go#L157
here], but it was a bit confusing. The default API should probably have
isTrickle set to `true` by default.
> - `OnICECandidate` returns a `nil` candidate when gathering is complete.
This isn't really a problem but I got a silent failure when i didn't check
for it. It would be nice if this behaviour was documented in the GoDocs.
This is great, thanks. I looked over the changes and didn't spot any
problems.
[https://github.com/cohosh/snowflake/commit/6bbb9a4b820f34aef4d45c14acff72374307da5e
#diff-c49d3957b82c419cf2e915a6009fafafR218 Here] there's still a reference
to `OnNegotiationNeeded`.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28942#comment:30>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs