59 Commits (477feee8a3fbc84d00c2939b5fc8a9bbf19af2ca)

Author SHA1 Message Date
Adam Ierymenko c1a53a2653 ARP cache and responder agent code for use in netcon and iOS. 11 years ago
Adam Ierymenko cd3d77987c . 11 years ago
Adam Ierymenko 9a723be263 Add socketpair support to Phy. 11 years ago
Adam Ierymenko 4838cbc350 Unix domain sockets in Phy<> 11 years ago
Adam Ierymenko b75bdedaee Manually set DeviceInstanceID since this registry key is missing on Windows Vista and Server 2008. 11 years ago
Adam Ierymenko 620562f7cf Because Windows, because Windows. Now it upgrades correctly from 1.0.1, including automatic driver update from NDIS5 to NDIS6. Also a bit more robust on creating new ports, just in case. 11 years ago
Adam Ierymenko 922d9657b9 Save enumeration of statically assigned IPs so they will always be reassigned on device "power cycle." 11 years ago
Adam Ierymenko 1e3d5c4d87 Suppress icacls output on lockDownFile(). 11 years ago
Adam Ierymenko 6f46f0e0e1 Because Windows. 11 years ago
Adam Ierymenko 8169b35482 Kill the devcon.exe dependency by dynamically loading cfgmgr32, newdev, and setupapi and using these functions directly. 11 years ago
Adam Ierymenko 14264c2d6f Add miniupnpc builds for Windows, fix some Windows build warnings. 11 years ago
Adam Ierymenko fe6d5b1402 UPNP/NAT-PMP support with libminiupnpc (if built with it) -- GitHub issue #64 11 years ago
Adam Ierymenko 40d5c79b62 Enable SO_NO_CHECK if available to skip UDP checksum on packet send for slight performance improvement. We do our own cryptographically secure authentication so UDP checksum is worthless. 11 years ago
Adam Ierymenko 7a15d8a7e3 Fix leaving of networks to actually call Network::destroy(). 11 years ago
Adam Ierymenko 56285ec0d4 Another attempt at a fix for all the Windows driver coma issues. 11 years ago
Adam Ierymenko 494681a482 This might be a final fix for GitHub issue #173 and possibly others: ACTIVELY detect borked port status on Windows and if any "cable unplugged" or other wacky states are detected whack the adapter (close and reopen). Tested adding a whole bunch of windows networks, removing, adding more, etc. and it seems to work very well! 11 years ago
Adam Ierymenko 00aa115898 Allow double-close just in case in Phy<> 11 years ago
Adam Ierymenko 17ca5be4c1 Rework Phy<> to clean up _socks entries only in poll() to fix instability in proxy. 11 years ago
Adam Ierymenko ab720a6f1e Fix for poll() in Phy<> with no sockets open. Only affects tcp-proxy. 11 years ago
Adam Ierymenko 0f7dcb3ef2 Add some proxy debugging, and auto-resolve and periodically re-resolve TCP fallback tunnel hostname. 11 years ago
Adam Ierymenko 61021fc778 BackgroundResolver test. 11 years ago
Adam Ierymenko 2ad69237cf Background resolver. 11 years ago
Adam Ierymenko 6fc090eb00 Don't actually "power cycle" the interface except on startup. Doing that after we're running could lose IP configuration. 11 years ago
Adam Ierymenko dd70188643 Make tap driver even more defensive... seems to maybe fix the new network problem. Have to test a bit more. 11 years ago
Adam Ierymenko c7eb5f0c81 Windows build warning removal, be more defensive in Windows tap driver code, and clean up service start/stop in installer. 11 years ago
Adam Ierymenko 0e87002d78 BSDEthernetTap build fixes. 11 years ago
Adam Ierymenko ddaf3ef347 Bring BSDEthernetTap into the current century. 11 years ago
Adam Ierymenko 241f308334 Fix to tap reset code in Windows tap connector. 11 years ago
Adam Ierymenko e744580b89 Fix a bunch of Windows tap issues. Turns out NDIS6 allowed us to ditch some NDIS5 cruft, but I did have to add one hack specific to that one instead. Seems reliable now. 11 years ago
Adam Ierymenko a40192a40b Scratch that wrapper... it was easy to make, but it turns out WebControl is IE4 (!!!?!). Also prefer NDIS5 to NDIS6 *if* NDIS5 is installed. We will no longer ship it, but this will make older installs use the same driver they are already using. Should ease upgrade. 11 years ago
Adam Ierymenko 720ac93ba9 Use NDIS6 driver preferentially if available. 11 years ago
Adam Ierymenko ce09e363dc Destroy tap devices on Windows 'leave'. 11 years ago
Adam Ierymenko f5848972f9 Windows now builds and runs selftest correctly, and fixed a Windows (and possibly other platforms) issue in Phy<>. 11 years ago
Adam Ierymenko 86c87875a7 OSUtils::resolve() 11 years ago
Adam Ierymenko 60f05518aa (1) now builds and works on Linux, (2) fix a threading problem causing carsh on shutdown, (3) cleanup in selftest, re-enable Phy and Http tests. 11 years ago
Adam Ierymenko 1f5700191f zerotier-cli suspiciously working... that didn't hurt *too* badly. 11 years ago
Adam Ierymenko 13d5073e5b CLI work and Makefile cleanup. 11 years ago
Adam Ierymenko 53cbe485f0 Some cleanup, and bite the bullet and go ahead and write a simple Http client. Need a cross-platform built-in one to do cli right. 11 years ago
Adam Ierymenko f7b1437154 Putting the main binary back together... 11 years ago
Adam Ierymenko 508519b62a Tap driver load fix. 11 years ago
Adam Ierymenko aeb4b42ab3 Make tap itself handle remembering sticky device to nwid mappings. 11 years ago
Adam Ierymenko 67f1f1892f Bunch of tap stuff, IP address assignment hookups, etc. 11 years ago
Adam Ierymenko 347e98dcd2 Just return files from listDirectory() since that is all we need, fix network request on network restore logic, and remember saved networks in service/One 11 years ago
Adam Ierymenko 29a2175b7a Fix missed closedir() 11 years ago
Adam Ierymenko daef54ba32 HTTP server is in, and works. 11 years ago
Adam Ierymenko 5572b7ffb6 Simplify Phy<> to get rid of more indirections. 11 years ago
Adam Ierymenko 9e651b39e4 Add some TRACE around pinging (for now), and refactor service/One to just run in the foreground as some platforms may not require threads at all. 11 years ago
Adam Ierymenko 08a11a6f32 Since which tap to use is chosen statically at compile time and the factories are gone, there is now no need for inheritance or virtual methods (indirect calls) here. Should improve performance slightly to get rid of them. 11 years ago
Adam Ierymenko 068d311ecc TRACE compile fixes, other fixes, and it basically works! It says HELLO. 11 years ago
Adam Ierymenko 38200cc6a5 Add data store functions to service/One, and shelve old main.cpp since it will get rebuilt. 11 years ago