зеркало из https://github.com/mozilla/gecko-dev.git
032f9ca0bc
Expose a tweaked version of nr_ice_get_local_addresses to allow callers to provide pre-fetched stun addrs if they are available. By default, the normal call to nr_ice_gather calls this with no pre-fetched stun addrs (read non-e10s). In e10s, the stun addrs are discovered on the main process and provided to nr_ice_get_local_addreses. When nr_ice_gather is called from the content process the local addresses have already been gathered. In the past, nr_ice_get_local_addresses also applied policy (by removing duplicate addrs, and, based on stun prefs, removing loopback and/or link_local addrs. This functionality has been moved to nr_ice_set_local_addresses where other policy is being applied (like default route only, forcing specific interfaces, and prioritization). Because we're now serializing nr_local_addr (wrapped by NrIceStunAddr), we can't assume that certain pointer references in the source nr_local_addr are correct when calling nr_local_addr_copy. New non-pointer-arithmetic version of setting up the pointer on the copied nr_local_addr is used. Also easier to understand when walking up to it the first time. MozReview-Commit-ID: KVRFl4dfr7J --HG-- extra : rebase_source : c0437700ad77ee3b7f98947d3505551ca9ed43e9 |
||
---|---|---|
.. | ||
src | ||
IMPORT_FILES | ||
README | ||
README_MOZILLA | ||
nicer.gyp | ||
upstream.diff |
README
nICEr 1.0 PREREQUISITES: ------------- You must first obtain and build the following packages: * nrappkit - http://nrappkit.sourceforge.net/ * OpenSSL-0.9.8g - http://www.openssl.org/source/openssl-0.9.8g.tar.gz For best results, the "ice-<version>" directory should be at the same level as the "nrappkit" and "openssl-0.9.8g" directories. I.e., the directory structure should look like: nrappkit/ ice-<version>/ openssl/ include/ lib/VC/ BUILDING ON UNIX: ---------------- Once the prerequisite packages are built, 'cd' to the relevant build directory, one of: ice-<version>/make/darwin ice-<version>/make/linux-fedora ice-<version>/make/ubuntu and simply do a "make". BUILDING ON WINDOWS: ------------------- The Visual C++ project files are configured to expect the directory structure described above. Note: Binary Windows builds of OpenSSL can be found at: http://www.slproweb.com/products/Win32OpenSSL.html Once the prerequisite packages are built, open the VC++ 9.0 solution file: ICE/make/win32/ice.sln and build the solution. Note: Since the VC++ project/solution files are version 9.0, Visual Studio 2008 is required. STATUS: ------ The ICE code has been tested on the following platforms: -- Fedora Core 4 (Intel 32-bit) -- Fedora Core 6 (Intel 32-bit) -- Ubuntu 6.10 -- MacOSX 10.4.9 -- Windows Vista (Home Premium) -- Windows XP Pro -- Windows 2000 SP4 KNOWN ISSUES: ------------ -- TURN SET-ACTIVE-DESTINATION mode not yet supported. -- Problems may exist with the TURN client implementation; the TURN code has received minimal testing due to the unavailability of a real TURN server to test against. -- The ICE-Lite implementation is not complete. -- The new "impatient" timeout has not yet been thoroughly tested.