Commit Graph

16 Commits

Author SHA1 Message Date
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
12f44e93f1 Add support for passive ICE TCP candidate
Closes #196
2020-07-15 07:51:55 +02:00
buptczq
ee0d28c779 Fix IPv6 addresses gathering
Fix isSupportedIPv6 function, when a global unicast address passed to,
the function returns false.

Resolves #176
2020-07-02 23:05:34 -07:00
Atsushi Watanabe
e670416dcc Fix random generators
Seeding random generator each time limits number of generated sequence
to 31-bits, and caused collision.
Use global random generator seeded by crypto grade random.

Use crypto/rand for cryptographic values,
and math/rand for unique identifier.
- Use UUIDv4 for mDNS name
- Use crypto/rand for ICE pwd and user fragment
- Use properly seeded math/rand for UDP port,
  tie breaker and candidate ID
2020-06-28 11:44:46 +09:00
Sean DuBois
f1bfc8fea1 Start Agent performance refactor
Remove taskChan and make .run just take an Agent wide mutex and run the
function. These is now a blocking operation so all channels used to
communicate from it must be buffered.

After this we will slowly remove usage of .run and make things more
thread safe.

Relates to #80, #67, #2
2020-03-01 20:25:45 -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
Sean DuBois
eab497aa25 Seed everytime when calling generateRandString
This isn't in a hot path, so no performance hit. Also want to avoid side
effects from doing in an init
2019-12-08 14:02:03 -08:00
Hugo Arregui
1ff70e0ee1 Initial stats
Add basic candidate and candidate pair stats
2019-06-22 11:55:06 +00:00
Adam Kiss
5c0921dbfc Respect port range for srv reflexive candidates
Modified gatherCandidatesReflective to respect port min and max
constraints when allocating connections for server reflexive
candidates.
2019-05-10 23:42:28 +02:00
Sean DuBois
5ca0eeb721 Assert bindingSuccessResponse is non-symmetric
We previously didn't correctly follow [0] This updates
the agent to assert that a bindingSuccessResponse is
for the address it was sent too.

https://tools.ietf.org/html/rfc8445#section-7.2.5.2.1
2019-04-28 17:53:21 -07:00
Sean DuBois
df66c58d56 Shorten agent code
Move code out of agent that is general to dedicated files, no logic
changes just moving.
2019-04-14 10:52:10 -07:00
Sean DuBois
8b4aeeaa8d Docs: Add readme and CI
Added the readme and CI using the common style.
2019-03-25 16:04:12 -07:00
Konstantin Itskov
052b3f98c6 Add a customization to control network types
- Fix an issue with ipv6 srflx candidates gathering.
- Add SetNetworkTypes config to SettingEngine to control what network
  types are allowed to be connected.

Resolves #460
2019-03-12 21:36:52 -04:00
Konstantin Itskov
30763bbf3f Update LocalInterfaces() to comply with spec
Resolves #466
2019-03-03 21:15:43 -08:00
Michael MacDonald
dc966e04a9 Move pkg/ice to internal/ice
Avoid exposing any non-standard API.
2019-03-01 08:07:42 -05:00