Commit Graph

21 Commits

Author SHA1 Message Date
Antoine Baché
45ff379fd3 Makes UDPMux IPv4/IPv6 aware
UDPMux before only worked with UDP4 traffic.
UDP6 traffic would simply be ignored.

This commit implements 2 connections per ufrag. When requesting a
connection for a ufrag the user must specify if they want IPv4 or IPv6.

Relates to pion/webrtc#1915
2022-03-02 19:02:34 +01:00
Mikhail Bragin
2d70ec8e3c Support UDP muxing for SRFLX candidates
The original UDPMux only works for the HOST candidates.
UniversalUDPMux adds support for SRFLX candidates
and will later support Relay candidates.
UniversalUDPMux embeds UDPMuxDefault and
handles STUN server packets to discover XORMappedAddr
forwarding the remaining packets for muxing to UDPMuxDefault.
2022-02-20 12:29:29 -08:00
Assad Obaid
64a2cf0c47 Add proxy dialer interface
Enable user to implement the golang.org/x/net/proxy
dialer interface in order to have a customized dialer.
The customized dialer could be one that connect through
a corporate HTTP/HTTPS proxy.

Resolves #284
2020-10-09 12:09:21 -07:00
Pion
d3e1775d73 Update CI configs to v0.4.7
Update lint scripts and CI configs.
2020-09-26 08:54:24 -07:00
Jerko Steiner
3b9a989177 Remove global state for ICE TCP
This addresses a few points issue of #245:

 - Take a net.Listener instead of having global state
 - Expose a net.TCPMux based API

Also, the unused closeChannel was removed from tcp_mux.go

Closes #253.
2020-08-01 09:28:28 +02:00
Jerko Steiner
12f44e93f1 Add support for passive ICE TCP candidate
Closes #196
2020-07-15 07:51:55 +02:00
Lander Noterman
d8d3ef3aac Gather srflx candidates from turn: urls
allow gathering srflx candidates from turn: urls
2020-06-29 22:10:03 +02:00
Sam Lancia
5c1bbaa050 Gather all candidate types in parallel
This was an especially noticable issue in an environment
where all UDP was blocked, then we waited for STUN to
timeout (5 seconds) before trying TCP/turn
2020-06-28 12:49:38 -07:00
Atsushi Watanabe
47186b5abd Fix timeout check order
Timeout check must be inside the scope of routine leak check.
Routine leak check internally has wait for routine exit which
may causes timeout error in some case.
2020-06-26 11:16:59 -07:00
Sean DuBois
3b47033146 Remove non-trickle ICE
pion/webrtc@v3 will be trickle by default, so removing
support from here.  Users can easily simulate non-trickle
by setting a OnICECandidate callback.

This just reduces the amount of things we need to test/worry about.
2020-06-25 00:16:58 -07:00
Sam Lancia
b3ade1e219 Gather: fix closable crash again
Add assert for nil pointer as well
2020-06-06 03:17:05 -07:00
Sean DuBois
bf81fb5154 Implement TLS and DTLS Gathering
Also add tests to cover.

Resolves #133
2020-02-24 21:25:32 -08:00
Sean DuBois
3e38db1ea5 Gather TURN/STUN concurrently
Each URL is gathered in a goroutine. Add tests to ensure that this
doesn't regress in the future.

Resolves #118
2020-02-23 22:05:13 -08:00
Sean DuBois
9ca33c2380 Move localInterfaces and listenUDPInPortRange
Move more code out of the agent that doesn't actually require any state
from the ICE Agent.

Relates to #118
2020-02-23 22:05:13 -08:00
Sean DuBois
11318ea39f Cleanup gather code
Simplify tests and use assert where possible. Move all generic code out
of gather.go into util.go

Relates to #118
2020-02-23 22:05:13 -08:00
Atsushi Watanabe
d001618082 Support WASM build/test
Some tests using net.Conn connection are disabled for now
as it is not fully supported by WASM MVP stage.
2020-01-13 08:51:13 +09:00
Sean DuBois
e161aa966e Update to pion/transport@v0.8.10
Tests now assert for routine leaks on startup as well
2019-10-31 09:54:40 -07:00
Chao Yuan
b0ac6d9c37 Refactor: Use random port to gather udp candidate
This speed up the gather progress if many connections existed
2019-10-02 00:23:34 -07:00
Sean DuBois
8508d5a6b3 More error handling around interface iteration
If we can't iterate host interfaces give a warning to the user.
Also don't bail early if a single interface fails, other interfaces
might still be in a good condition.

Resolves pion/ice#75
2019-07-18 10:11:34 -07:00
Hugo Arregui
b3e05469f0 Add vnet support with the new pion/turn client
Relates to pion/webrtc#712
2019-07-15 01:00:21 -07:00
Sean DuBois
f5e8cc510d Validate inbound success messages
Validate all inbound binding success messages, before
peers could create valid prflx candidates without doing
a full request response

Resolves #21
2019-04-17 10:03:03 -07:00