Compare commits

...
173 Commits
Author SHA1 Message Date
Adam Ierymenko 17126b0c6d VERSION 0.6.6: fix to path discovery
New versions will be coming fast and furious for a bit as bugs get fixed and
testing is done in prep to the first binary release.

This version fixes a problem with WAN path discovery and a possible security
issue in PacketDecoder. (see previous comments)
2013-12-31 11:24:57 -08:00
Adam Ierymenko c37cb60d3c Merge branch 'adamierymenko-dev' of shub-niggurath.zerotier.com:/git/ZeroTierOne into adamierymenko-dev 2013-12-31 14:22:05 -05:00
Adam Ierymenko 6c587b1c57 . 2013-12-31 11:22:54 -08:00
Adam Ierymenko 5917453611 Linux makefile helpful debug line. 2013-12-31 14:21:53 -05:00
Adam Ierymenko cc2a1444ae TRACE output improvements and compile fix. 2013-12-31 11:18:40 -08:00
Adam Ierymenko 10df5dcf70 Fix several things:
(1) The changes to path learning in the two previous releases were poorly thought out,
and this version should remedy that by introducing PROBE. This is basically a kind of
ECHO request and is used to authenticate endpoints that are not learned via a valid
request/response pair. Thus we will still passively learn endpoints, but securely.

(2) Turns out there was a security oversight in _doHELLO() that could have permitted...
well... I'm not sure it was exploitable to do anything particularly interesting since
a bad identity would be discarded anyway, but fix it just the same.
2013-12-31 11:03:45 -08:00
Adam Ierymenko 8055635e85 VERSION 0.6.5: minor bug fix in peer connection tracking 2013-12-31 01:22:32 -08:00
Adam Ierymenko 83a38b8f46 VERSION 0.6.4: fixes two GitHub issues, leading up to binary release! 2013-12-30 16:52:34 -08:00
Adam Ierymenko 83fc684b20 Add a netconf-service version field to netconf. 2013-12-30 16:31:59 -08:00
Adam Ierymenko f9d31605b8 Ethernet tap cleanup. 2013-12-29 11:10:23 -08:00
Adam Ierymenko c9c093777f Move PackageMaker stuff into installfiles. 2013-12-28 20:48:13 -08:00
Adam Ierymenko c33e2e5d66 Add PackageMaker doc for making OSX .pkg files. 2013-12-28 16:18:19 -08:00
Adam Ierymenko a6dc4caecf Unload the mac kext on exit. 2013-12-27 21:56:02 -08:00
Adam Ierymenko a5b3747c01 Linux uninstaller should remove uninstall.sh itself. 2013-12-27 21:17:00 -08:00
Adam Ierymenko ec3a6428b8 Mac installation scripts fixes. 2013-12-27 15:30:39 -08:00
Adam Ierymenko 7a6fe203ee Rebuild OSX tap for up to 32 devices. 2013-12-27 07:41:36 -08:00
Adam Ierymenko a8345b6a44 Save unsigned tap driver in pre10.8 to possibly distribute for older OSX versions that cannot load signed kexts. 2013-12-27 07:22:03 -08:00
Adam Ierymenko df84bcf3bf Some logging improvements in software updater. 2013-12-27 07:13:49 -08:00
Adam Ierymenko c8166b2db1 Bump version to 0.6.4 for testing, integrate software updater auto-check into PacketDecoder decode path and main loop. 2013-12-26 20:57:17 -08:00
Adam Ierymenko 54c2c945e0 Remove old stuff from VS projects, get driver signing working on Windows. (Just testing signing, going back to OSX and Linux now). 2013-12-26 14:46:15 -08:00
Adam Ierymenko 92969b4426 Fix for GitHub issue #20 (untested) 2013-12-24 10:39:29 -08:00
Adam Ierymenko 026442f28f docs 2013-12-22 10:56:03 -08:00
Adam Ierymenko fe6b7f477c Fix for GitHub issue #30 2013-12-20 16:07:20 -08:00
Adam Ierymenko 434a2f7071 Yet more UI work. 2013-12-19 18:15:34 -08:00
Adam Ierymenko 704ee6f6c7 More UI tweaks... 2013-12-19 16:23:41 -08:00
Adam Ierymenko f311be96a9 More UI cleanup... 2013-12-19 14:59:52 -08:00
Adam Ierymenko 191d204674 Mac uninstall script fixes. 2013-12-19 10:51:46 -08:00
Adam Ierymenko 4ddf97be4e More UI civic beautification. 2013-12-18 16:52:21 -08:00
Adam Ierymenko a388830983 Some UI appearance improvements. 2013-12-17 18:40:01 -08:00
Adam Ierymenko ea4269e0d2 Add double-click to copy IP to clipboard to UI. 2013-12-17 18:20:20 -08:00
Adam Ierymenko 77683eda0c Mac installer works now. 2013-12-17 15:22:39 -08:00
Adam Ierymenko 42ed37b385 docs 2013-12-17 12:21:57 -08:00
Adam Ierymenko eadd69f843 Mac installer... almost done. 2013-12-16 22:30:37 -08:00
Adam Ierymenko 99213ef59a Add -fstack-protector back on Mac... turns out it does work on clang. 2013-12-16 16:56:25 -08:00
Adam Ierymenko b54f998a85 Linux installer: remove old init.d files, fix for init.d startup/shutdown script. 2013-12-16 16:40:03 -08:00
Adam Ierymenko b792ab8ff1 Prefer clang for Linux builds, but use gcc if no clang available. 2013-12-16 14:24:41 -08:00
Adam Ierymenko 27a5237462 Installer work for mac. 2013-12-13 16:55:21 -08:00
Adam Ierymenko 50ef47cf0a Mac launchd item and launcher script, uninstaller work. 2013-12-13 16:15:42 -08:00
Adam Ierymenko 8cc9692cd9 Installer work, change to plain C, work for OSX installation. 2013-12-13 13:49:46 -08:00
Adam Ierymenko 9ffda4f955 Update Qt build to enable building against local static libraries, rename Network to NetworkWidget to avoid filesystem or object naming collision with Network.o in node/. 2013-12-12 15:47:00 -08:00
Adam Ierymenko 239c9e46ea docs 2013-12-12 13:03:40 -08:00
Adam Ierymenko 54d1b11b19 Merge branch 'adamierymenko-dev' 2013-12-12 13:02:02 -08:00
Adam Ierymenko 68defd9980 VERSION 0.6.3: moving toward binary release
This version contains few changes that are visible to users building from source.

It contains an almost-complete version of the Qt-based GUI in ZeroTierUI, though
this is still a work in progress. It also contains the software update infrastructure,
which is not yet enabled by default but does basically work. Some cleanup and
dead code removal has also occurred.

The next release will probably be the first binary release with auto-update and a
full UI experience for Linux and Mac. Windows will follow later, as more work has
to be done on the Windows port.
2013-12-12 12:59:53 -08:00
Adam Ierymenko f7e3c10eca Cleanup in Utils, fix for HttpClient on Linux. 2013-12-12 11:33:41 -08:00
Adam Ierymenko f8be0d2961 Tell us something about auto-updates when command line help is displayed. 2013-12-12 07:50:04 -08:00
Adam Ierymenko 8c58635ea7 Installer builder for mac. 2013-12-11 16:31:00 -08:00
Adam Ierymenko 7eac53a178 Installer work... 2013-12-11 15:23:55 -08:00
Adam Ierymenko ec4ffc0c2c Software update fetcher seems to work, going back to updater/installer itself. 2013-12-11 13:14:10 -08:00
Adam Ierymenko a22a3ed7e8 Software update work... 2013-12-11 13:00:18 -08:00
Adam Ierymenko c5ef502b42 Add check for being run as root. 2013-12-10 16:38:45 -08:00
Adam Ierymenko f7f3bef313 Move some stuff to clean up root. 2013-12-10 16:17:57 -08:00
Adam Ierymenko d3bcc58074 Fix update URL stuff, fix main build, add update dummy for testing updates on OSX and Linux and such. 2013-12-10 16:13:07 -08:00
Adam Ierymenko bf0da9f2f7 Rest of software updater, ready to test... 2013-12-10 15:30:53 -08:00
Adam Ierymenko 612c17240a Dead code removal, fix for cleanup GitHub issue #28 2013-12-06 16:49:20 -08:00
Adam Ierymenko b59a7cf1d8 HTTP self-test. 2013-12-06 16:27:00 -08:00
Adam Ierymenko 518410b7e0 HTTP client works! 2013-12-06 16:00:12 -08:00
Adam Ierymenko 0a0ed893c3 HTTP client work... 2013-12-06 13:15:30 -08:00
Adam Ierymenko e565656865 Add -v option to get version. 2013-12-04 16:29:49 -08:00
Adam Ierymenko 59b26faaba Integrate idtool the same way we did with cli. 2013-12-04 14:44:28 -08:00
Adam Ierymenko f5d397e8c8 Pull in-band file transfer stuff. Toyed around with that idea, but it seems that updates for some platforms are big enough and there are enough reliability concerns that just using TCP/HTTP is safer and easier. 2013-12-04 10:45:15 -08:00
Adam Ierymenko 66cff2e98d Create common Makefile that automatically loads make rules on a per-OS basis. 2013-12-03 14:11:43 -08:00
Adam Ierymenko 2133984318 Build instructions for tap-mac. 2013-12-03 13:47:13 -08:00
Adam Ierymenko 64bc0e4929 Exclude llvm in ext/... 2013-12-03 13:36:57 -08:00
Adam Ierymenko 8ffa6b2bb7 Add a flag to Mac build to eliminate an unnecessary build warning. 2013-12-03 10:46:48 -08:00
Adam Ierymenko f038ed9ca2 Merge pull request #27 from gurjeet/UDP_9993_Instructions_Ubuntu_12.04
Add RUNNING.txt instructions to open UDP port 9993 on Ubuntu 12.04
2013-11-25 06:10:23 -08:00
Gurjeet Singh 66f627da04 Add RUNNING.txt instructions to open UDP port 9993 on Ubuntu 12.04 2013-11-21 18:28:03 -05:00
Adam Ierymenko e108924060 Add script to bundle Qt frameworks with Mac .app (may not be done). 2013-11-21 17:17:39 -05:00
Adam Ierymenko b699bdefbd Add shutdownIfUnreadable file feature: shut down if shutdownIfUnreadable in home folder is in fact existent but unreadable (e.g. broken link). This enables nifty shutdown on .app trashing feature for OSX. 2013-11-21 16:34:27 -05:00
Adam Ierymenko 74af234305 Add icons and custom Mac plist to Qt project. 2013-11-21 15:55:47 -05:00
Adam Ierymenko 4296db2358 Add configuration age to listnetworks results and GUI. 2013-11-21 15:11:22 -05:00
Adam Ierymenko 31d718c4a4 UI tweaking... 2013-11-21 14:02:08 -05:00
Adam Ierymenko e3b0197e57 Network list update works in UI. 2013-11-21 13:45:44 -05:00
Adam Ierymenko 4d86b2f02f UI work... 2013-11-20 18:29:02 -05:00
Adam Ierymenko c979a695c5 UI work, add name to listnetworks output in control bus interface. 2013-11-20 16:16:30 -05:00
Adam Ierymenko 902c8c38d2 UI basically works, almost ready for testing and packaging... 2013-11-20 14:10:33 -05:00
Adam Ierymenko 14b0639181 Set application name correctly, mac version now executes helper on startup if needed. 2013-11-20 12:19:37 -05:00
Adam Ierymenko bf02c6661a UI work... 2013-11-19 15:05:14 -05:00
Adam Ierymenko 0adc91d6cb Add AppleScript to get authentication token and place in home directory, used for OSX GUI app to authenticate a user as authorized to admin ZT1. 2013-11-18 15:06:05 -05:00
Adam Ierymenko 77bab13546 More UI work, reorg Windows stuff... 2013-11-18 12:01:33 -05:00
Adam Ierymenko f1b0178a85 More UI work... 2013-11-15 17:04:32 -05:00
Adam Ierymenko 10f03d4119 More UI work. 2013-11-15 11:09:26 -05:00
Adam Ierymenko b3fdb37b87 Create UI project, start designing UI. 2013-11-13 16:50:49 -05:00
Adam Ierymenko bdc0ed8065 Uninstall scripts. 2013-11-13 09:07:59 -05:00
Adam Ierymenko 165bc589fd Linux install and uninstall seem to work. 2013-11-08 17:37:47 -05:00
Adam Ierymenko 15375ef6b9 Small fix to CLI module. 2013-11-08 15:45:28 -05:00
Adam Ierymenko 7ec433a452 Incorporate CLI functionality into core binary with binary name aliasing to save space in updater/installer. 2013-11-08 15:23:48 -05:00
Adam Ierymenko 085ad9073b Linux uninstall and init script. 2013-11-08 14:32:23 -05:00
Adam Ierymenko 34302edcc5 Installer build script for *nix systems. 2013-11-08 11:42:11 -05:00
Adam Ierymenko c93de67d79 Add netconf-service readme. 2013-11-08 09:34:17 -05:00
Adam Ierymenko 5179dfafbe Installer work... 2013-11-07 14:51:26 -05:00
Adam Ierymenko 9c4d5f8bb2 Installer... 2013-11-06 17:15:19 -05:00
Adam Ierymenko f51478b470 Uninstaller scripts for *nix. 2013-11-06 15:04:05 -05:00
Adam Ierymenko 93427b8cb6 Installer work, add .pid file writing on *nix systems to main.cpp. 2013-11-06 14:43:47 -05:00
Adam Ierymenko 5d7fea2047 Delete some obsolete Windows false starts. 2013-11-06 13:35:06 -05:00
Adam Ierymenko 35fe5ea166 file2lz4c for making installer binaries 2013-11-06 12:06:42 -05:00
Adam Ierymenko bbe5a6f5d1 Add signupdate command to idtool. 2013-11-06 11:39:07 -05:00
Adam Ierymenko 6b8c90bffd Upgrade LZ4, remove extraneous files, put tap-mac into ext/ to declutter root. 2013-11-06 11:01:34 -05:00
Adam Ierymenko 9455b1cc81 Comments, change .nfo to .sig for uploads, clean some unused code from Utils. 2013-11-06 10:38:19 -05:00
Adam Ierymenko 9fdec3acfc More updater work... coming along. 2013-11-05 17:08:29 -05:00
Adam Ierymenko f189b9b6e9 Merge branch 'adamierymenko-dev' of shub-niggurath.zerotier.com:/git/ZeroTierOne into adamierymenko-dev 2013-11-04 17:31:12 -05:00
Adam Ierymenko 6c63bfce69 File transfer work, add identities for validation of updates. 2013-11-04 17:31:00 -05:00
Adam Ierymenko d398c0aed2 Remove tap stuff from makefile. 2013-11-01 20:40:51 -04:00
Adam Ierymenko ac4e657aaa Updater work in progress... 2013-11-01 20:39:31 -04:00
Adam Ierymenko ae138566a9 Updater code, work in progress... 2013-11-01 12:38:38 -04:00
Adam Ierymenko e4044eeb70 Finish stubbing out FILE_ stuff. 2013-10-28 17:25:12 -04:00
Adam Ierymenko d5fdfaea56 Fix signed/unsigned compare warning. 2013-10-28 16:54:35 -04:00
Adam Ierymenko d92da40bff VERSION 0.6.2: Mac users should 'sudo make install-mac-tap' again.
This version fixes a recurrent gremlin in the tap driver for Mac. If you are
having this issue, you should reinstall the tap.

If you're already running ZT1, shut it down (sudo killall zerotier-one) and
then do:

sudo kextunload /Library/Application\ Support/ZeroTier/One/tap.kext

This should unload the old version. Then type 'sudo make install-mac-tap' in
the ZT1 source home directory and the new version will be installed. ZT1 will
load the module again when it next starts.

In addition to a fix, I am now distributing tap binaries and it is no longer
built in the default Makefile. This is because Apple's in the midst of some
changes that have made building it somewhat difficult.

Another note for Mavericks users:

The first time you use ZT1, you will get a popup about unsigned kernel
extensions. This will vanish once we're out of beta and have signing keys
and signed drivers.

Other changes in this version:

 * Minor improvement to Utils::getSecureRandom
 * Bug fixes and a small change to certificates of membership for private
   networks, which now appear to be working very well!
 * Stubbed out messages for auto-update, which will be done in-band via
   the ZT1 protocol. Not implemented yet.
2013-10-28 16:32:17 -04:00
Adam Ierymenko 5750cf6b72 New cthulhu.zerotier.com supernode IP address. 2013-10-28 16:24:55 -04:00
Adam Ierymenko 7015017686 Make Makefile for Mac use clang options instead of old GCC options, and fix a nasty but obvious bug I introduced into Utils::getSecureRandom. 2013-10-28 15:53:40 -04:00
Adam Ierymenko 12b297a712 Put default MTU in tap back to 2800, clean up tun-related files and other things from the original pre-fork tap code base that we will never use. 2013-10-28 15:18:06 -04:00
Adam Ierymenko d290306bb3 Update binary build of tap. 2013-10-28 13:23:56 -04:00
Adam Ierymenko 60ac1b77c5 Fix for GitHub issue #25 2013-10-28 13:22:23 -04:00
Adam Ierymenko e514fe2bff Change install-mac-tap rule. 2013-10-28 09:34:36 -04:00
Adam Ierymenko 148619f0ba Make tap build on OSX 10.9, though not in a way that is easy for users. Instead package binaries. 2013-10-28 09:33:32 -04:00
Adam Ierymenko 17778a36ba Clean up secure random, add packet definitions for update distribution facility. 2013-10-27 07:26:50 -04:00
Adam Ierymenko df28cd88b8 docs: we no longer use MS loopback 2013-10-26 07:39:07 -04:00
Adam Ierymenko 942cc0ca21 Certificate of membership works now... had to fix multicast propagation so COM is pushed with multicast, which makes tremendous sense in retrospect. 2013-10-25 14:51:55 -04:00
Adam Ierymenko 010616e3ae Add some more TRACE output for certs. 2013-10-25 13:43:04 -04:00
Adam Ierymenko 1505e8dd50 Fix netconf init and identity transfer. 2013-10-25 13:04:58 -04:00
Adam Ierymenko 5901972958 More tying up of certificate of membership stuff in the client. 2013-10-24 16:57:26 -04:00
Adam Ierymenko bbcd76ecd0 Netconf updates -- actually issue COM, and log attempts to access networks in NetworkActivity using the new authenticated flag in the new DB schema. 2013-10-24 16:19:53 -04:00
Adam Ierymenko 3de76fcab1 Make network autoconf a little more frequent to tighten up expiration times. 2013-10-21 16:11:29 -04:00
Adam Ierymenko d496304bbf Put back rest of selftest. 2013-10-21 15:59:22 -04:00
Adam Ierymenko 719dd2870d Self-test for certificate of membership. 2013-10-21 15:47:33 -04:00
Adam Ierymenko 2f00ae4fd7 Version 0.6.1: minor bug fix, DBM removal
This version removes the peer DBM present in earlier releases. It is not necessary for
regular clients and has been a source of problems.

There is a long-term identity cache that can be enabled by making a directory called
"iddb.d" in the home folder and restarting ZT1. This is probably something only our
supernodes would need, since regular nodes can easily WHOIS peers they've forgotten
about.

On shutdown, the peer database is dumped to disk. It's then restored on startup.
Peers that have not been used in a while are cleaned out, so this keeps this data
set small.

A DBM may re-appear later if it's needed, but for now it was YAGNI.
2013-10-21 14:22:02 -04:00
Adam Ierymenko 5e71e07f59 Add persistent identity caching for use on supernodes. Activate by just making an iddb.d directory in the ZeroTier home folder. Also clean up some obsolete cruft from makefiles. 2013-10-21 14:12:00 -04:00
Adam Ierymenko 40e4f39181 Peers are now dumped on shutdown in a persistence cache and reloaded on startup, which is good enough for clients right now. Supernodes will get something else for long-term authoritative identity caching. 2013-10-21 11:15:47 -04:00
Adam Ierymenko 6e217dfcb0 Get rid of DBM, which technically is a case of YAGNI. Supernodes will need a way to save identities, but that can be a different feature. Regular clients do not really need a permanent cache (yet). When/if we do need one we can do it then. Until then it only caused problems. 2013-10-21 10:29:44 -04:00
Adam Ierymenko bbfd43e036 VERSION 0.6.0 BETA: please upgrade!
Version 0.6.0 marks the transition of ZeroTier One from ALPHA to BETA.
Major updates to the web site and binary packages for MacOS and Linux
are coming soon, followed by Windows soon thereafter.

This version contains a number of changes including:

 * Speed improvements to encryption
 * A new much-improved identity algorithm, which unfortunately requires an
   identity regeneration. This should happen automatically, and should be
   the last time for a good long while assuming there's nothing wrong with
   what's here.
 * Cleaned up the Network::Config mess in the code, factored out Config
   into its own NetworkConfig class.
 * Lots of work to support private networks, which are still in testing.
   Concurrent with the web site update will be another minor release to
   include any fixes there.
 * Some changes to the protocol for better future-proofing.
 * Netconf support for ARP caching parameters configurable on per-network
   basis.

You must update to stay connected to the network; this version will not
talk to 0.5.0. After this, I'm going to be much more reluctant to make
incompatible changes.
2013-10-20 16:14:27 -04:00
Adam Ierymenko 70655cc3f7 Docs and auto-update of Earth network ID. 2013-10-20 16:00:41 -04:00
Adam Ierymenko c89cdcc3fd Blech... moving on! 2013-10-20 15:54:32 -04:00
Adam Ierymenko 1ed8a22d19 And then it turns out to be too slow on a slower 32-bit machine... we do want to do tablets eventually. 2013-10-20 15:46:36 -04:00
Adam Ierymenko bad043729f Yet another revision of this algo... yeesh... and update to supernode IDs. I think I am gonna go with this one. Seems memory-hard enough to me. I am probably procrastinating by obsessing over it. 2013-10-20 15:31:32 -04:00
Adam Ierymenko 3c5c3280ff Fix an endian-non-neutrality bug in new hashcash identity algo. 2013-10-20 11:04:58 -04:00
Adam Ierymenko 8c9b73f67b Make Salsa20 variable-round, allowing for Salsa20/12 to be used for Packet encrypt and decrypt. Profiling analysis found that Salsa20 encrypt was accounting for a nontrivial percentage of CPU time, so it makes sense to cut this load fundamentally. There are no published attacks against Salsa20/12, and DJB believes 20 rounds to be overkill. This should be more than enough for our needs. Obviously incorporating ASM Salsa20 is among the next steps for performance. 2013-10-18 17:39:48 -04:00
Adam Ierymenko 37e3bc3467 Bump version.h to version 0.6.0... almost there! 2013-10-18 16:59:15 -04:00
Adam Ierymenko 8d3dc3a44b Add commented out gprof makefile options to Linux build. 2013-10-18 16:51:05 -04:00
Adam Ierymenko fbf6ab5d4d Bug fixes: inverted sense bug, printf format bug. 2013-10-18 16:27:07 -04:00
Adam Ierymenko e13d4df9ab Forgot to set defaults if multicast parameters are unset. 2013-10-18 15:50:31 -04:00
Adam Ierymenko fb7d9b1029 Oops we needed _r in there... 2013-10-18 15:00:55 -04:00
Adam Ierymenko 5ef758bbd4 Eliminate unused private field (compiler warning). 2013-10-18 14:27:37 -04:00
Adam Ierymenko ca93b4a1ac Clean up some stuff, including a few spots where exceptions were not being handled correctly. 2013-10-18 14:16:53 -04:00
Adam Ierymenko 03b909603a Clean up the awful Network::Config mess and break that out into NetworkConfig. 2013-10-18 13:20:34 -04:00
Adam Ierymenko 5a8f213c23 Work in progress... 2013-10-18 12:01:48 -04:00
Adam Ierymenko b10871cedc More work in netconf cleanup. 2013-10-18 11:01:41 -04:00
Adam Ierymenko 9f107dbd4e Work in progress on cleaning up netconf mess in node code... 2013-10-18 09:48:02 -04:00
Adam Ierymenko e6eb65be00 Netconf support for ARP and NDP caching TTLs. 2013-10-17 16:49:31 -04:00
Adam Ierymenko dd7758e33e Add multicast trace receiver to attic/. Another run of multicast trace reveals fairly nice behavior. It looks like the traffic jams are the fault of ARP, which results from a gaggle of hosts trying to send ping replies. ARP caching will help with that quite a bit. 2013-10-17 16:27:46 -04:00
Adam Ierymenko d0dbd869c9 Increase verbosity of multicast tracing and fix tap build problem / GitHub Issue #19 2013-10-17 15:20:43 -04:00
Adam Ierymenko 9ece65da23 Fix some old column names in netconf. 2013-10-17 13:52:39 -04:00
Adam Ierymenko 7701e25a45 Merge branch 'adamierymenko-dev' of shub-niggurath.zerotier.com:/git/ZeroTierOne into adamierymenko-dev 2013-10-17 13:08:09 -04:00
Adam Ierymenko 797bba04dd Get rid of not used and maybe never to be used Filter code. 2013-10-17 13:07:53 -04:00
Adam Ierymenko f7bf9da881 Compile fix for netconf. 2013-10-17 11:22:03 -04:00
Adam Ierymenko ce14ba9004 Take the 0.6.0 opportunity to add flags to a few protocol verbs and do a bit more cleanup. Also fix it so certificates wont be accepted unless they are newer than existing ones. 2013-10-17 06:41:52 -04:00
Adam Ierymenko 555471200c Add DISTINCT to queue query. 2013-10-17 05:40:04 -04:00
Adam Ierymenko 7e7e28f5f7 Add support for pushing network config refresh hints from a MEMORY queue table. That ways it will be possible for network changes to take effect almost immediately across all active peers. 2013-10-17 05:37:01 -04:00
Adam Ierymenko 46f868bd4f Lots of cleanup, more work on certificates, some security fixes. 2013-10-16 17:47:26 -04:00
Adam Ierymenko 58fa6cab43 Auto-pushing of membership certs on: MULTICAST_FRAME,FRAME,MULTICAST_LIKE and on receipt of MULTICAST_LIKE. 2013-10-07 17:00:53 -04:00
Adam Ierymenko 4d594b24bc Automagically push netconf certs -- Network support. 2013-10-07 16:13:52 -04:00
Adam Ierymenko b4ae1adfbf Break out certificate of membership into its own class. 2013-10-07 15:29:03 -04:00
Adam Ierymenko dcbc9c8ddd Rename error code for no membership certificate. 2013-10-07 15:21:40 -04:00
Adam Ierymenko 430882327e Couple of small fixes, works again with new ID code. 2013-10-07 15:00:38 -04:00
Adam Ierymenko 2fa2796f2a Another tweak, hopefully final, to reduce variance on identity generation times. 2013-10-07 14:31:13 -04:00
Adam Ierymenko 343b7f44fc Old algo for ID derivation was not in fact memory-hard since Salsa20 is seekable, so take two. 2013-10-07 12:48:27 -04:00
Adam Ierymenko 0c8614b9c6 Add a second arg to idtool generate to make generating both secret and public easier, add new supernode identities after generating them, fix known good and bad IDs in selftest. 2013-10-07 09:36:20 -04:00
Adam Ierymenko 5fa7a92048 Allocate genmem[] since its too big for the stack on some systems. 2013-10-06 05:28:25 -04:00
Adam Ierymenko bc715fbd51 Make new identity hashcash algo memory hard, and tweak generation time a bit. Current hashcash cost should be overkill for what we need but still tolerable to users. 2013-10-05 14:15:59 -04:00
Adam Ierymenko a31c54b44b Remove an obsolete column from Node table in netconf. 2013-10-05 10:45:23 -04:00
Adam Ierymenko 4267e7da93 Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder. 2013-10-05 10:19:12 -04:00
Adam Ierymenko 0e43e5e8f2 Rest of work on new hashcash based identity scheme. 2013-10-05 07:00:55 -04:00
Adam Ierymenko b0187f4472 Hashcash-based identity, work in progress... committing to test speed on other boxes. 2013-10-05 06:00:47 -04:00
Adam Ierymenko 588a47be89 Some API improvements to C25519 in preparation for that thing I woke up thinking about at 4am. 2013-10-05 05:26:38 -04:00
Adam Ierymenko ea4e1136dd Flesh out membership certificate with signature, better serialize/deserialize, and rename parameter to qualifier to make better conceptual sense. 2013-10-04 12:24:21 -04:00
254 changed files with 8645 additions and 10533 deletions

No files matched your search

+11 -3
View File
@@ -1,5 +1,8 @@
zerotier-*
/Makefile
/ext/llvm-g++-Xcode4.6.2
/ext/llvm-g++-Xcode4.6.2.tar.bz2
/zerotier-*
/build-ZeroTierUI-*
/ZeroTierUI/*.user
*.o
.DS_Store
.Apple*
@@ -20,6 +23,7 @@ mac-tap/tuntap/tap.kext
/vsprojects/TapDriver/x64
/vsprojects/InstallerUpdater/obj
/vsprojects/Service/obj
/vsprojects/SelfTest/SelfTest.aps
/Build/*
*.log
*.opensdf
@@ -27,4 +31,8 @@ mac-tap/tuntap/tap.kext
*.cache
*.obj
*.tlog
/vsprojects/SelfTest/SelfTest.aps
/installer-build
/zt1-*-install
/file2lz4c
.qmake.stash
*.autosave
+31 -23
View File
@@ -6,32 +6,40 @@ Developers note: there is currently no management of dependencies on *nix
platforms, so you should make clean ; make if you change a header. Will
do this eventually.
-- MacOS
make -f Makefile.mac
Edit Makefile.mac if you want to change between debug or release build.
-- Linux
make -f Makefile.linux
make
Edit Makefile.linux if you want to change between debug or release build.
That's it. Add ZT_AUTO_UPDATE=1 to the make command line to build an
auto-update-enabled version that will update from ZeroTier's servers.
This is disabled by default since such a build will automatically
replace itself with our binary distributions.
-- MacOS
make
The same ZT_AUTO_UPDATE=1 option as Linux supports can be used here to
build an auto-update-enabled version. By default auto-updates are not
enabled.
If you are building ext/tap-mac you will need a different version of the
OSX gcc compiler chain than what currently ships (clang). We've got a copy
available here:
http://download.zerotier.com/dev/llvm-g++-Xcode4.6.2.tar.bz2
Un-tar this into ext/ (it's excluded in .gitignore) and then 'make' in
ext/tap-mac/tuntap/src/tap.
Most users should not need to build tap-mac, since a binary is included
in ext/bin.
To build the UI you will need Qt version 5.0 or later. The Qt home must
be symbolically linked into "Qt" in the parent directory of the ZeroTier
One source tree. Then you can type "make mac-ui" and the UI should build.
You can also load the UI in Qt Creator and build/test it that way.
-- Windows
Right now Windows builds using Visual Studio 2012. Technically it should also
build with other tools, but VS2012 is what your author is using.
Load the ZeroTierOne.sln solution. Typically you won't need to worry about
any projects other than ZeroTierOne, Service, and InstallerUpdater. SelfTest
builds the selftest program which can be used to test many aspects of the
core code base. TapDriver builds the Ethernet tap driver, which shouldn't
be something end users need to do and requires a driver signing key to create
a publishable driver that users can load without big red warnings.
To just test ZeroTier One itself, build ZeroTierOne and run the binary in
an administrator-mode command window.
Instructions for doing a full build will be forthcoming once all the details
are worked out. Windows is still a work in progress.
Here be dragons.
+11
View File
@@ -0,0 +1,11 @@
# Common makefile -- loads make rules for each platform
OSTYPE=$(shell uname -s)
ifeq ($(OSTYPE),Darwin)
include make-mac.mk
endif
ifeq ($(OSTYPE),Linux)
include make-linux.mk
endif
-40
View File
@@ -1,40 +0,0 @@
CC=gcc
CXX=g++
INCLUDES=
ARCH=$(shell uname -m)
DEFS=-DZT_ARCH="$(ARCH)" -DZT_OSNAME="linux" -DZT_TRACE
LIBS=
# Uncomment for a release optimized build
CFLAGS=-Wall -O3 -fno-unroll-loops -fstack-protector -pthread $(INCLUDES) -DNDEBUG $(DEFS)
STRIP=strip --strip-all
# Uncomment for a debug build
#CFLAGS=-Wall -g -pthread $(INCLUDES) -DZT_TRACE $(DEFS)
#STRIP=echo
CXXFLAGS=$(CFLAGS) -fno-rtti
include objects.mk
all: one cli
one: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-one main.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-one
cli: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-cli cli.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-cli
selftest: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-selftest selftest.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-selftest
idtool: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-idtool idtool.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-idtool
clean:
rm -f $(OBJS) zerotier-*
-52
View File
@@ -1,52 +0,0 @@
CC=gcc
CXX=g++
INCLUDES=
DEFS=-DZT_ARCH="x86_combined" -DZT_OSNAME="mac" -DZT_TRACE
LIBS=-lm
# Uncomment for a release optimized universal binary build
CFLAGS=-arch i386 -arch x86_64 -Wall -O3 -ftree-vectorize -fstack-protector -pthread -mmacosx-version-min=10.6 -DNDEBUG $(INCLUDES) $(DEFS)
STRIP=strip
# Uncomment for a debug build
#CFLAGS=-Wall -g -pthread -DZT_TRACE -DZT_LOG_STDOUT $(INCLUDES) $(DEFS)
#STRIP=echo
CXXFLAGS=$(CFLAGS) -fno-rtti
include objects.mk
all: one cli mac-tap
one: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-one main.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-one
cli: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-cli cli.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-cli
selftest: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-selftest selftest.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-selftest
idtool: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-idtool idtool.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-idtool
mac-tap: FORCE
cd mac-tap/tuntap ; make tap.kext
install-mac-tap: FORCE
mkdir -p /Library/Application\ Support/ZeroTier/One
rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext
cp -R mac-tap/tuntap/tap.kext /Library/Application\ Support/ZeroTier/One
chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext
clean:
rm -rf *.dSYM
rm -f $(OBJS) zerotier-*
cd mac-tap/tuntap ; make clean
FORCE:
+3 -5
View File
@@ -3,18 +3,16 @@ ZeroTier One
ZeroTier One creates flat virtual Ethernet networks of almost unlimited size. [Visit ZeroTier Networks on the web](https://www.zerotier.com/) for more information.
This code is presently in **ALPHA** testing. That means that the protocol spec may change in incompatible ways, and it certainly has bugs. Testers should "git pull," rebuild, and restart fairly often. If things mysteriously stop working, do that.
This project is now in beta, which means that major incompatible protocol shifts should now become considerably more rare. You should still update very often if you plan to use it. Binary packages with auto-update are coming very soon.
Follow the [ZeroTier blog](http://blog.zerotier.com/) and the [GitHub project](https://github.com/zerotier/ZeroTierOne) to stay up to date.
See BUILDING.txt and RUNNING.txt for instructions. It currently builds on Mac and Linux. A Windows port is well along the way to completion. If you're brave you can load the Visual Studio 2012 solution and play around.
See BUILDING.txt and RUNNING.txt for instructions. It currently runs on Mac and Linux. A Windows port is well along the way to completion. If you're brave you can load the Visual Studio 2012 solution and play around.
Once you have it running you can join the Earth network -- a LAN for the planet -- by using the 'zerotier-cli' tool: 'sudo zerotier-cli join bc8f9a8ee3000001'. Right now Earth is the only network. Ability to create private networks, as well as some additional special-purpose public ones, will be coming soon. (Note: previous alpha versions auto-joined Earth, but since 0.5.0 it no longer does this.)
Once you have it running you can join the Earth network -- a LAN for the planet -- by using the 'zerotier-cli' tool: 'sudo zerotier-cli join 8056c2e21c000001'. Right now Earth is the only network. Ability to create private networks, as well as some additional special-purpose public ones, will be coming soon. (Note: previous alpha versions auto-joined Earth, but since 0.5.0 it no longer does this.)
Note that this won't work if your firewall does not allow outbound UDP. It must allow two way UDP conversations on port 9993 at a minimum.
ZeroTier One is licensed under the GNU General Public License version 3. You are free to use, modify, or redistribute it under the terms of that license. If you would like to embed ZeroTier One in a closed source product or create a closed source derivative product, contact ZeroTier Networks LLC.
[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/59b2cbb9c154bf84bddb4b714402e548 "githalytics.com")](http://githalytics.com/zerotier/ZeroTierOne)
(c)2012-2013 [ZeroTier Networks LLC](https://www.zerotier.com/)
+23 -2
View File
@@ -7,7 +7,7 @@ By convention, ZeroTier One will keep its state here on mac:
/Library/Application Support/ZeroTier/One
ZeroTier ships with a kernel extension for its own tap device, which it
stores in the above directory. To install this from source, type:
stores in the above directory. To install this, type:
sudo make -f Makefile.mac install-mac-tap
@@ -22,7 +22,7 @@ sudo ./zerotier-one &
Finally, join the Earth network (the big public LAN and the only net for now):
sudo zerotier-cli join bc8f9a8ee3000001
sudo zerotier-cli join 8056c2e21c000001
Try pinging earth.zerotier.net and going to http://earth.zerotier.net/ in a
browser to see if you're online.
@@ -55,3 +55,24 @@ browser to see if you're online.
Port in progress, and it's going to pretty much always be more painful to
build than *nix systems. Just wait for the binary release unless you're
brave, in which case you can load the VS2012 solution and play around.
-- Open UDP port 9993
As noted in README.md, to actually function properly, you need to open
UDP port 9993 in your firewall. Following are instructions to open UDP port
9993 for specific operating systems.
--- Ubuntu (version 12.04 and possibly other versions, too)
Follow the Ubuntu documentation about UFW https://help.ubuntu.com/community/UFW
Check if your UFW is active.
sudo ufw status verbose
If it is active, open UDP port 9993
sudo ufw allow 9993/udp
You should now be able to ping and browse earth.zerotier.net
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>CFBundleIconFile</key>
<string>zt1icon.icns</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>ZeroTier One (Mac GUI)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleExecutable</key>
<string>ZeroTier One</string>
<key>CFBundleIdentifier</key>
<string>com.zerotier.ZeroTierOne</string>
</dict>
</plist>
+98
View File
@@ -0,0 +1,98 @@
QT += core gui widgets
TARGET = "ZeroTier One"
TEMPLATE = app
win32:RC_FILE = ZeroTierUI.rc
mac:ICON = zt1icon.icns
mac:QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
mac:QMAKE_INFO_PLIST = Info.plist
SOURCES += main.cpp\
mainwindow.cpp \
aboutwindow.cpp \
../node/C25519.cpp \
../node/CertificateOfMembership.cpp \
../node/Defaults.cpp \
../node/Demarc.cpp \
../node/EthernetTap.cpp \
../node/HttpClient.cpp \
../node/Identity.cpp \
../node/InetAddress.cpp \
../node/Logger.cpp \
../node/Multicaster.cpp \
../node/Network.cpp \
../node/NetworkConfig.cpp \
../node/Node.cpp \
../node/NodeConfig.cpp \
../node/Packet.cpp \
../node/PacketDecoder.cpp \
../node/Peer.cpp \
../node/Poly1305.cpp \
../node/Salsa20.cpp \
../node/Service.cpp \
../node/SHA512.cpp \
../node/SoftwareUpdater.cpp \
../node/Switch.cpp \
../node/SysEnv.cpp \
../node/Topology.cpp \
../node/UdpSocket.cpp \
../node/Utils.cpp \
../ext/lz4/lz4.c \
../ext/lz4/lz4hc.c \
networkwidget.cpp
HEADERS += mainwindow.h \
aboutwindow.h \
../node/Node.hpp \
../node/Utils.hpp \
../node/Defaults.hpp \
../node/Address.hpp \
../node/Array.hpp \
../node/AtomicCounter.hpp \
../node/BandwidthAccount.hpp \
../node/Buffer.hpp \
../node/C25519.hpp \
../node/CertificateOfMembership.hpp \
../node/CMWC4096.hpp \
../node/Condition.hpp \
../node/Constants.hpp \
../node/Demarc.hpp \
../node/Dictionary.hpp \
../node/EthernetTap.hpp \
../node/HttpClient.hpp \
../node/Identity.hpp \
../node/InetAddress.hpp \
../node/Logger.hpp \
../node/MAC.hpp \
../node/Multicaster.hpp \
../node/MulticastGroup.hpp \
../node/Mutex.hpp \
../node/Network.hpp \
../node/NetworkConfig.hpp \
../node/NodeConfig.hpp \
../node/NonCopyable.hpp \
../node/Packet.hpp \
../node/PacketDecoder.hpp \
../node/Peer.hpp \
../node/Poly1305.hpp \
../node/RuntimeEnvironment.hpp \
../node/Salsa20.hpp \
../node/Service.hpp \
../node/SHA512.hpp \
../node/SharedPtr.hpp \
../node/SoftwareUpdater.hpp \
../node/Switch.hpp \
../node/SysEnv.hpp \
../node/Thread.hpp \
../node/Topology.hpp \
../node/UdpSocket.hpp \
../ext/lz4/lz4.h \
../ext/lz4/lz4hc.h \
networkwidget.h
FORMS += mainwindow.ui \
aboutwindow.ui \
networkwidget.ui
RESOURCES += \
resources.qrc
+1
View File
@@ -0,0 +1 @@
IDI_ICON1 ICON DISCARDABLE "zt1icon.ico"
+17
View File
@@ -0,0 +1,17 @@
#include "aboutwindow.h"
#include "ui_aboutwindow.h"
#include <QMessageBox>
#include "../node/Defaults.hpp"
AboutWindow::AboutWindow(QWidget *parent) :
QDialog(parent),
ui(new Ui::AboutWindow)
{
ui->setupUi(this);
}
AboutWindow::~AboutWindow()
{
delete ui;
}
+22
View File
@@ -0,0 +1,22 @@
#ifndef AboutWindow_H
#define AboutWindow_H
#include <QDialog>
namespace Ui {
class AboutWindow;
}
class AboutWindow : public QDialog
{
Q_OBJECT
public:
explicit AboutWindow(QWidget *parent = 0);
virtual ~AboutWindow();
private:
Ui::AboutWindow *ui;
};
#endif // AboutWindow_H
+261
View File
@@ -0,0 +1,261 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AboutWindow</class>
<widget class="QDialog" name="AboutWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>508</width>
<height>261</height>
</rect>
</property>
<property name="windowTitle">
<string>About ZeroTier One</string>
</property>
<property name="windowIcon">
<iconset resource="resources.qrc">
<normaloff>:/img/zt1icon.png</normaloff>:/img/zt1icon.png</iconset>
</property>
<property name="sizeGripEnabled">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<widget class="QWidget" name="widget" native="true">
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="iconLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="pixmap">
<pixmap resource="resources.qrc">:/img/zt1icon.png</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::NoTextInteraction</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="aboutTextLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="text">
<string>ZeroTier One GUI
(c)2012-2013 ZeroTier Networks LLC
Author(s): Adam Ierymenko
Version: 1.0</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set>
</property>
<property name="textInteractionFlags">
<set>Qt::NoTextInteraction</set>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Ok</set>
</property>
<property name="centerButtons">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="resources.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>AboutWindow</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>AboutWindow</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>applet</string>
<key>CFBundleIconFile</key>
<string>applet</string>
<key>CFBundleIdentifier</key>
<string>com.zerotier.one.ZeroTierOneMacAuthenticateScript</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>ZeroTier One (Authenticate)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>aplt</string>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>x86_64</key>
<string>10.6</string>
</dict>
<key>LSRequiresCarbon</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>(c) 2013 ZeroTier Networks LLC</string>
<key>WindowState</key>
<dict>
<key>dividerCollapsed</key>
<false/>
<key>eventLogLevel</key>
<integer>-1</integer>
<key>name</key>
<string>ScriptWindowState</string>
<key>positionOfDivider</key>
<real>333</real>
<key>savedFrame</key>
<string>7 181 602 597 0 0 1280 778 </string>
<key>selectedTabView</key>
<string>result</string>
</dict>
</dict>
</plist>
@@ -0,0 +1 @@
APPLaplt
Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

@@ -0,0 +1,4 @@
{\rtf1\ansi\ansicpg1252\cocoartf1265
{\fonttbl}
{\colortbl;\red255\green255\blue255;}
}
Loaded 20 of 254 files, more files were not shown because too many files have changed in this diff. Show more