summaryrefslogtreecommitdiff
path: root/node/EthernetTap.cpp
AgeCommit message (Collapse)Author
2014-02-02So Linux has getifaddrs() too! Yay!Adam Ierymenko
2014-02-01Private struct ifmaddrs for OSX cause struct ifmaddrs is missing too on OSX ↵Adam Ierymenko
10.6.
2014-02-01Real implementation of ips() on OSX, now for Linux.Adam Ierymenko
2014-01-31Fix for GitHub issue #36 on OSX... results in a duplicate entry for IPv6 ↵Adam Ierymenko
link-local but seems okay... need to test on OSX 10.6 though.
2014-01-27Make EthernetTap creation occur in a background thread in Network since it's ↵Adam Ierymenko
a time consuming operation on Windows. This fixes one of the last remaining Windows problems.
2014-01-26Delete persistent tap device on Windows when we leave a network.Adam Ierymenko
2014-01-26Windows Installer work, fix 100% CPU bug in EthernetTap on Windows, Windows ↵Adam Ierymenko
lockDownFile() implementation that uses 'cacls' utility.
2014-01-23Fix for allIps -> ips in EthernetTap on Unix.Adam Ierymenko
2014-01-23Fix bug in tap driver introduced during unused code purge (deleted the part ↵Adam Ierymenko
that acknowledges writes!), and fix bug in EthernetTap causing 0000 for etherType. Windows works now! Yay!
2014-01-23Couple of Windows fixes, get rid of ips()/allIps() distinction in ↵Adam Ierymenko
EthernetTap. (Will need to be fixed on Unix now... later.)
2014-01-22Tap works on Windows now, sort of. Now I discovered that Windows has two ↵Adam Ierymenko
mechanisms for assigning IP addresses: the registry and lower-level calls. Joy.
2014-01-22More tap driver work, increment version number, remove old binaries since ↵Adam Ierymenko
signatures may not have been valid.
2014-01-21Several things:Adam Ierymenko
(1) Add a bunch of tedious type casts to eliminate unnecessary compiler warnings on Windows X64 builds. (2) Some EthernetTap work to integrate Windows custom IOCTL for multicast group lookup (not done quite yet). (3) Dump some more info in selftest to make sure our Windows path lookup functions are returning sane results.
2014-01-17Windows build fixes.Adam Ierymenko
2014-01-16Add our own getifmaddrs() since this convenience function is not in OSX 10.6.Adam Ierymenko
2013-12-29Ethernet tap cleanup.Adam Ierymenko
2013-12-27Unload the mac kext on exit.Adam Ierymenko
2013-10-28Fix signed/unsigned compare warning.Adam Ierymenko
2013-10-28Fix for GitHub issue #25Adam Ierymenko
2013-08-30Improve code security posture by replacing sprintf with a safer function.Adam Ierymenko
2013-08-27Build fixes for *nix.Adam Ierymenko
2013-08-27Drop extra debug output.Adam Ierymenko
2013-08-27Build fix in tap, handling of Windows shutdown signals.Adam Ierymenko
2013-08-27More tap work -- DHCP configuration and such.Adam Ierymenko
2013-08-27Dike out some cruft in Windows tap that we will never use, like TUN mode, ↵Adam Ierymenko
DHCP masq, ARP emulation, NDP emulation, and related. We operate only in L2 mode. All tap, no tun.
2013-08-27Tap now basically sorta works on Windows. Now have to figure out how to ↵Adam Ierymenko
control DHCP behavior since we normally don't want that.
2013-08-26Windows: disable and enable tap to allow changes to take effect.Adam Ierymenko
2013-08-26ZeroTierOne for Windows binary project, builds and runs and mostly works but ↵Adam Ierymenko
still some issues with tap.
2013-08-25Tap works! At least in isolation. Time to create the Windows executable and ↵Adam Ierymenko
the Windows service to run it and handle auto-update.
2013-08-24It builds and it installs! Well, except for not being digitally signed. :PAdam Ierymenko
2013-08-23Tap driver basically builds in VS2012... fork of tap-windows from OpenVPN ↵Adam Ierymenko
(compatible license).
2013-08-22Commit of a draft of the pcap-based strategy for a Windows tap. This may, in ↵Adam Ierymenko
the end, not work, since winpcap may not support immediate capture and also because some software flags winpcap as malware. Like I said, trying to do anything interesting with Windows is PAIN.
2013-08-22Tap now creates Microsoft Loopback Adapter instances and tags them with a ↵Adam Ierymenko
special ID... work in progress.
2013-08-21Some work on Windows tap.Adam Ierymenko
2013-08-21Make that an arbitrary tag to identify persistent taps...Adam Ierymenko
2013-08-19Add an interface description to EthernetTap, mostly for Windows.Adam Ierymenko
2013-08-14Windows builds, self test runs in Debug mode!Adam Ierymenko
2013-08-13Version 0.4.3: fix Gentoo ip config failures and crashesAdam Ierymenko
This version fixes problems with locating the 'ip' command on Gentoo and possibly other Linux systems, and a problem that could cause a crash if EthernetTap was unable to locate one of the commands it invokes to configure IP information on tap devices. The code also now builds on Windows. It doesn't run yet, but it's a step. Windows port is in full swing.
2013-08-09Fix for another wonderful C++ threading race condition.Adam Ierymenko
2013-08-08Move template parameter in Thread to a more logical scope location.Adam Ierymenko
2013-08-06Whole bunch of stuff: netconf, bug fixes, tweaks to ping and firewall opener ↵Adam Ierymenko
timing code.
2013-08-05CLI debugging, got rid of nasty old Thread class and replaced with newer ↵Adam Ierymenko
cleaner portable idiom.
2013-08-02Replace fork() with vfork() in tap config, faster.Adam Ierymenko
2013-07-09Small compiler warning fixAdam Ierymenko
2013-07-09Several things:Adam Ierymenko
(1) Probable fix for issue #7 and major cleanup of EthernetTap code with consolidation for all unix-like systems and specialization for different flavors only when needed. (2) Refactor of Buffer<> to make its members private, and Packet to use Buffer's methods exclusively to access them. This improves clarity and means we're no longer lying about Buffer's role in the code's security posture. (3) Add -fstack-protect to Makefile to bounds check stack variables.
2013-07-08Fix for issue #6: OSX tap device forgets it has IPv6Adam Ierymenko
2013-07-07Filter code, work in progress, wont build yetAdam Ierymenko
2013-07-06Enable ff:ff:ff:ff:ff:ff w/no ADI a.k.a. broadcast. YOLO.Adam Ierymenko
2013-07-06Possible fix for issue #4 - segfault in ___removeIp helper function in ↵Adam Ierymenko
EthernetTap on OSX -- I think the problem may have been that I was using set::erase(key) while also using an iterator, so now it uses erase(iterator). See if it happens again, cause I could not duplicate the issue. Possible minor difference in STL version.
2013-07-04Fix Linux build problemAdam Ierymenko