Commit Graph

242 Commits

Author SHA1 Message Date
Joseph Henry
3e84e8b8c3 Performance tweaks to lwipopts.h (TX=12MB/s) 2015-11-04 14:45:26 -08:00
Joseph Henry
4b07987210 Added throughput-test Docker files 2015-11-03 18:10:39 -08:00
Joseph Henry
df391c8413 Added debug statements for transfer test 2015-11-03 10:30:18 -08:00
Joseph Henry
4c20fa4874 Added debug statements for transfer test 2015-11-03 10:26:10 -08:00
Joseph Henry
0405ba1ccf Misc changes 2015-10-16 18:02:07 -04:00
Joseph Henry
e722eab892 Disabled TCP listen backlog, must be enabled in lwipopts.h 2015-10-14 17:03:32 -04:00
Joseph Henry
9ca699c86d Added support for listen backlogs 2015-10-14 16:04:26 -04:00
Joseph Henry
0912d4be59 Fixed socket protocol check logic in socket() 2015-10-13 17:05:11 -04:00
Joseph Henry
4e1e857949 Minor bug fixes 2015-10-12 21:26:32 -04:00
Joseph Henry
5dffa43201 Additional retval+errno handling 2015-10-12 19:29:27 -04:00
Joseph Henry
7f56678d84 Added liblwip.so and libintercept build files 2015-10-09 17:06:09 -04:00
Joseph Henry
bbfc9359e9 Minor timer changes (~21 Mb/s local) 2015-10-08 17:55:58 -04:00
Joseph Henry
1bc33ae8d7 Minor debug output changes 2015-10-06 21:22:08 -04:00
Joseph Henry
36db5865e7 Refactored tcp_write code - Reduced CPU usage to respectable levels 2015-10-06 20:32:48 -04:00
Joseph Henry
c85dd262ed moved lib files to ext 2015-09-23 18:03:21 -04:00
Joseph Henry
02d5a31822 added lwip unix port lib files 2015-09-23 17:55:15 -04:00
Joseph Henry
750352836f initial commit 2015-09-10 13:56:01 -04:00
Adam Ierymenko
085734aaba Windows driver (NDIS6) rebuild using earlier DDK revision to allow driver to load in Windows 2008 Server and Windows Vista. Still issues with those platforms, but driver loads -- and shouldn't hurt newer versions (will test). 2015-08-13 15:18:48 -07:00
Adam Ierymenko
c826cec1d4 Bring back _winPokeAHole() to dynamically allocate firewall exception. Shouldn't be needed but seems to help on Windows 8. 2015-07-30 17:52:35 -07:00
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. 2015-07-30 17:00:57 -07:00
Adam Ierymenko
922d9657b9 Save enumeration of statically assigned IPs so they will always be reassigned on device "power cycle." 2015-07-30 14:10:32 -07:00
Adam Ierymenko
499b2dccad 1.0.4 installer GUID 2015-07-30 13:30:10 -07:00
Adam Ierymenko
8169b35482 Kill the devcon.exe dependency by dynamically loading cfgmgr32, newdev, and setupapi and using these functions directly. 2015-07-30 11:31:38 -07:00
Adam Ierymenko
7cd3c419ee 1.0.4 release installer changes 2015-07-29 16:17:52 -07:00
Adam Ierymenko
fa03d50e90 Rebuild Mac UI wrapper with smaller icon and a small UI fix. 2015-07-29 15:58:16 -07:00
Adam Ierymenko
14264c2d6f Add miniupnpc builds for Windows, fix some Windows build warnings. 2015-07-28 16:50:18 -07:00
Adam Ierymenko
3c54187c40 Linux x86 libminiupnpc.a 2015-07-28 15:56:37 -07:00
Adam Ierymenko
7df4eb69b5 Linux x64 libminiupnpc.a 2015-07-24 17:49:56 -07:00
Adam Ierymenko
559e384130 Linux make support for libminiupnpc. 2015-07-28 15:37:18 -07:00
Adam Ierymenko
ebe5c526bb libminiupnpc.a for arm6l 2015-07-28 15:05:04 -07:00
Adam Ierymenko
569c5e77fd Add binary build of libminiupnpc for Mac x64. 2015-07-28 14:48:26 -07:00
Adam Ierymenko
1537109514 Merge branch 'master' into adamierymenko-dev 2015-07-28 09:40:54 -07:00
Nelson Chen
b41079ddf9 Update Application Mac Menu. Small MacGap leftover.
Hide ZeroTier One, not MacGap. 

Just a papercut.
2015-07-22 22:40:43 -07:00
Kees Bos
dc50e8ae5b Add ui to /var/lib/zerotier (linux installer) 2015-06-11 17:56:54 +02:00
Adam Ierymenko
ee1a008f2d Product code for 1.0.3 etc. 2015-06-03 18:53:54 -07:00
Adam Ierymenko
4fe12756d4 Get rid of "autoupdating" in Linux package names. 2015-06-02 17:14:18 -07:00
Adam Ierymenko
c5a3e80113 Linux installer tweaks, and Mac updater tweak. 2015-06-02 16:54:27 -07:00
Adam Ierymenko
b8f40c0b91 Yet another /Users/api path in packages script. 2015-06-02 12:01:00 -07:00
Adam Ierymenko
97dd8d864f Fix paths again in Mac pkg build. 2015-06-02 11:59:05 -07:00
Adam Ierymenko
1afd02df54 Path fix in Packages build file for Mac 2015-06-02 11:47:32 -07:00
Adam Ierymenko
502cd6921f Fix for GitHub issue #133, and move restart out of installer to address restart problem. Installer probably should NOT mess with the running service, since Linux servers are likely to be production. 2015-05-27 13:50:11 -07:00
Adam Ierymenko
fbb990f8a3 Mac uninstall.sh update. 2015-05-26 14:36:04 -07:00
Adam Ierymenko
905d2e91e5 Windows auto-update integration into OneService. 2015-05-20 20:17:56 -07:00
Adam Ierymenko
1213073916 Apple auto-update stuff, now for Windows. 2015-05-20 19:38:49 -07:00
Adam Ierymenko
b6698d8415 Ground work for reincorporating software updater for select platforms. 2015-05-20 16:35:33 -07:00
Adam Ierymenko
0caac25d28 . 2015-05-19 20:13:19 -07:00
Adam Ierymenko
dd70188643 Make tap driver even more defensive... seems to maybe fix the new network problem. Have to test a bit more. 2015-05-19 18:40:34 -07:00
Adam Ierymenko
c7eb5f0c81 Windows build warning removal, be more defensive in Windows tap driver code, and clean up service start/stop in installer. 2015-05-19 18:13:20 -07:00
Adam Ierymenko
68cb7ad4cd Few more fixes to installer firewall rule settings. 2015-05-19 16:31:00 -07:00
Adam Ierymenko
9682f50b15 Get rid of old _winPokeAHole() hack in one.cpp and use Advanced Installer to configure firewall rules (because we can now). 2015-05-19 16:26:41 -07:00
Adam Ierymenko
63cea7d337 Try to automatically enable access to http://127.0.0.1 in web wrapper if IE is in enhanced security mode. 2015-05-19 16:02:26 -07:00
Adam Ierymenko
44d1bd14bd Enable right-click menu for copy/paste/etc. in Windows UI wrapper. 2015-05-19 14:48:57 -07:00
Adam Ierymenko
b4a34cc105 Add 32-bit chained MSI for NDIS6 driver... now to go test on 32-bit Windows (clean). (And Windows 10, and Windows Server, and ...) 2015-05-19 13:01:55 -07:00
Adam Ierymenko
32588b3d84 A visit to the Windows house of pain:
(1) Yes, you *can* create a mixed 32/64 bit Windows MSI installer that installs drivers. All you have to do is... umm... create individual sub-MSI files for each driver (one for 32, one for 64) and then package those in the main MSI files as "chained" MSI installers. Each of these must only be considered a prerequisite on 32 or 64 bit machines, respectively.

(2) Upgrade Advanced Installer version, add rules to uninstall NDIS6 tap device on uninstall.

(3) Fix IE issue in UI code.
2015-05-18 20:30:54 -07:00
Adam Ierymenko
ac629150ac Create symlinks in Mac postinst script. 2015-05-17 21:26:38 -07:00
Adam Ierymenko
89027d78ac Mac .pkg building using Packages (third party app) instead of old bootstrapping .app and installer script. 2015-05-17 21:24:02 -07:00
Adam Ierymenko
f48509d50c Mac script to get HTTP proxy settings -- will be used by Mac updater. 2015-05-17 20:28:09 -07:00
Adam Ierymenko
2d700f644b Add signed binary build of Mac GUI wrapper. 2015-05-17 19:48:21 -07:00
Adam Ierymenko
4565e9948f Now this works... Windows UI wrapper. Turns out there were workarounds, but IE does indeed suck. 2015-05-08 14:58:29 -07:00
Adam Ierymenko
8594e17f2b Move mac-ui into src/ 2015-05-08 12:35:41 -07:00
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. 2015-05-08 12:35:03 -07:00
Adam Ierymenko
92ca53e141 Add pre-build signed UI wrapper .exe. 2015-05-08 12:16:02 -07:00
Adam Ierymenko
4426899e8c Add support for local user account caching of authtoken.secret as in old UI -- this is now pretty much working. 2015-05-06 21:02:59 -07:00
Adam Ierymenko
d56e9fce41 Get user data out of repo. 2015-05-06 20:45:02 -07:00
Adam Ierymenko
5b54612d91 Pass authtoken in from user, and add a wrapper for web UI on Mac. 2015-05-06 20:41:51 -07:00
Adam Ierymenko
e78899fddf Rebuild and re-sign the x86 driver... previous attempt was somehow borked but this one loads on Win7/x86 fine. 2015-04-25 16:00:25 -07:00
Adam Ierymenko
9325535ced x86 version of signed NDIS6 driver. 2015-04-25 15:31:27 -07:00
Adam Ierymenko
42b4148876 NDIS6 driver signed x64 build (not fully tested yet, but committing work) 2015-04-25 14:52:02 -07:00
Adam Ierymenko
4b658d83bc Rename old driver to -ndis5. 2015-04-25 13:11:58 -07:00
Adam Ierymenko
54954f5b88 First pass of Windows cleanup and build fixes... 2015-04-24 13:35:17 -07:00
Adam Ierymenko
6c29e966dd Include a BSD licensed JSON parser for the CLI. 2015-04-16 12:27:51 -07:00
Adam Ierymenko
377367175c Update LZ4 in ext/ 2015-04-16 12:18:47 -07:00
Adam Ierymenko
96737368aa Add MIT-licensed Joyent http-parser lib to ext/ for use with new control plane. 2015-03-20 13:32:31 -07:00
Adam Ierymenko
08ba2ff752 Upgrade LZ4. 2015-01-05 16:23:32 -08:00
Adam Ierymenko
d10abab786 Remove &s from restarts in installer -- probably part of the restart problem. 2014-12-16 12:32:53 -05:00
Adam Ierymenko
0324ef2a47 VERSION 1.0.1
This version is mostly a bug fix release. It fixes a bug that could cause
the service to crash on Windows while running the GUI application. It also
contains a number of fixes to the Linux installer and Linux support for
systemd-based init systems.

It also includes a minor tweak to the multicast algorithm. Version 1.0.0
sent multicasts in a deterministic order, while this version randomizes
the order. The vast majority of users will notice nothing, but this may result
in superior coverage for service announcements on very large networks. It's
a hard variation to test, so we're releasing like this to gather information
from users about the effect. Nothing will change on small networks, and
ordinary multicast functions like ARP and NDP should be unaffected.

The next version will likely focus on additional improvements to Microsoft
Windows support, since there are several known Windows issues in need of
attention. We're working on an NDIS6-based Tap driver that should address
the driver issues experienced by a small number of Windows 7 users.
2014-12-05 12:10:18 -08:00
Adam Ierymenko
83a6edd08e Make RPM version contain .autoupdating to indicate that it auto updates outside normal RPM channels. 2014-12-05 12:26:53 -05:00
Adam Ierymenko
58f2dc5cf3 RPM build support in buildinstaller.sh 2014-12-04 20:13:41 -05:00
Adam Ierymenko
03c7dc2b4c Add .service to unit name in uninstall too. 2014-12-04 00:16:10 +00:00
Adam Ierymenko
000eac5a2b Another systemd change... should fix problems on some systems. 2014-12-03 16:05:18 -08:00
Adam Ierymenko
62c31e70d4 Systemd permission fix in Linux installer. 2014-12-03 23:57:08 +00:00
Adam Ierymenko
1b6af7836e Don't restart ZeroTier One service if version has not changed. 2014-12-03 23:25:06 +00:00
Adam Ierymenko
638ae153cc fix service command, eliminate all uses of killall since it might be missing 2014-12-03 22:46:44 +00:00
Adam Ierymenko
059aaae7a9 Preinst and postinst Debian scripts. 2014-12-03 22:09:17 +00:00
Adam Ierymenko
4bf2fa3edb Basic Debian package support in buildinstaller.sh 2014-12-03 21:40:33 +00:00
Adam Ierymenko
8f29f19e98 Fix for UI client. 2014-10-30 00:12:45 -07:00
Adam Ierymenko
5ca20da7af Windows service fix -- it helps if we actually launch the control socket thing. 2014-10-29 23:57:54 -07:00
Adam Ierymenko
d8d4aace42 Fix for init.d/zerotier-one (again) 2014-10-13 12:55:16 -04:00
Adam Ierymenko
7943414c89 Part two of fix to GitHub issue #118 -- need to test thoroughly though. 2014-10-13 08:15:00 -07:00
Adam Ierymenko
c7c545bf6c Fix for part one of GitHub issue #118 2014-10-13 08:11:19 -07:00
Adam Ierymenko
924f030994 docs 2014-09-18 09:41:12 -07:00
Adam Ierymenko
6e1339fedf Remove zerotier-idtool symlink on mac uninstall.sh 2014-09-05 11:39:54 -07:00
Adam Ierymenko
6f8364ba59 VERSION 0.9.2:
The primary focus of this version is better integration with the
Microsoft Windows operating system.

Virtual networks should now be detected as "real" networks. For
each network, a message box should pop up the first time the network
is detected and classified allowing the user to choose its services
and security designation. On Windows 7 this is "work," "home," or
"public." On Windows 8 it's a simple choice of whether or not to
enable file and printer sharing and other services.

Several bugs have been fixed. Among these are a Windows threading
issue, several minor threading deadlock issues that could manifest
if rapidly adding and removing networks, and a command line interface
issue. The network list now shows the network MAC address as well,
a UI oversight in previous versions. A vectorized SSE implementation
of Salsa20 is now included for improved encrypt/decrypt performance.

The sending of low-TTL "firewall opener" packets has been disabled
in this version, since they may not be necessary and may harm NAT
traversal in some configurations. We will measure the effectiveness
of NAT traversal and see if this change improves performance in the
field.

Finally, this version obsoletes both the Tokyo and Sydney supernodes
in favor of a single larger supernode in Singapore. This decision was
made on the basis of bandwidth costs-- both Tokyo and Sydney are
significantly more expensive. We'd like to keep the basic service free,
so keeping bandwidth costs for relaying low is important. Since NAT
traversal works well and is constantly being improved, most users will
not see a speed decrease from this. Some Chinese users may see
improved performance since Singapore may be closer than Tokyo to many
Chinese cities.

The next major releases will focus on better Macintosh platform integration,
further improvements to NAT traversal, and UI improvements.
2014-08-22 12:05:56 -07:00
Adam Ierymenko
de4e29288d Fix for crazy Windows threading bug... repeatedly adding and removing a network now doesn't leave networks in limbo. 2014-08-21 17:49:05 -07:00
Adam Ierymenko
9d5819ff44 Version bump to 0.9.2 -- preparing for release... 2014-08-20 18:29:27 -07:00
Adam Ierymenko
b7389995f4 Make install scripts also symlink zerotier-idtool script, and doc updates. 2014-08-07 06:25:01 -07:00
Adam Ierymenko
7adf0eac7e Windows Ethernet tap refactoring complete. 2014-08-04 21:48:59 -07:00
Adam Ierymenko
b80c229d87 Tons of code cleanup, refactor Network to use EthernetTapFactory, probably also fix GitHub issue #90 2014-07-31 14:09:32 -07:00
Adam Ierymenko
9b93141dd0 Upgrade LZ4 to latest version. 2014-07-30 15:34:15 -07:00
Adam Ierymenko
96faaa85cf VERSION 0.9.1: bug fixes and experimental bridging support
This version fixes several bugs including an issue with networks that have
EtherType filtering disabled, a file permission issue that affected non-English
versions of Windows, a multicast propagation bug that caused multicasts to
be dropped more often than they should be, and an issue with IP auto-configuration.

It also introduces experimental support for bridging between physical and virtual
networks, a much-requested and powerful ability that's been planned from the start.
ZeroTier One can now replace the functionality of ordinary VPNs, link multiple
offices into a single LAN, and connect virtual machine backplanes in the cloud to
physical networks at home, among other things.

Bridging support isn't "officially" out yet, since the web UI part is still
in development. But when that is done, an official announcement will be
made on the blog and users can try it out. So far bridging has only
been tested under Linux with the Linux kernel's native bridging driver.
YMMV on other platforms. Try it out and let us know by filing bugs at GitHub
or e-mailing them to "contact@zerotier.com".
2014-07-03 13:32:53 -07:00