mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2026-09-22 15:29:03 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8f5cd0a361 | ||
|
|
d7bc3c6f4a | ||
|
|
d04e5a1fe0 | ||
|
|
bf5f09a0c7 | ||
|
|
a154d660d9 | ||
|
|
7a49d50187 | ||
|
|
ce0bd93289 | ||
|
|
0fdefdf7a4 | ||
|
|
8236f20759 | ||
|
|
e16b2a8831 | ||
|
|
f7fbc6f633 | ||
|
|
3a9b0cf132 | ||
|
|
2a3e646b94 | ||
|
|
64231aa3f0 | ||
|
|
117e6fb356 |
No files matched your search
@@ -29,3 +29,4 @@
|
||||
/ZeroTier One.zip
|
||||
/ZeroTier One.dmg
|
||||
/windows/x64
|
||||
/windows/ZeroTierOneInstaller/ZeroTierOneInstaller
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
Binary file not shown.
@@ -104,7 +104,8 @@ FORMS += mainwindow.ui \
|
||||
aboutwindow.ui \
|
||||
networkwidget.ui \
|
||||
installdialog.ui \
|
||||
licensedialog.ui
|
||||
licensedialog.ui \
|
||||
quickstartdialog.ui
|
||||
|
||||
RESOURCES += \
|
||||
resources.qrc
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
#include "aboutwindow.h"
|
||||
#include "networkwidget.h"
|
||||
#include "ui_mainwindow.h"
|
||||
#include "ui_quickstartdialog.h"
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <stdio.h>
|
||||
@@ -144,6 +145,13 @@ void MainWindow::timerEvent(QTimerEvent *event) // event can be null since code
|
||||
if (this->firstTimerTick) {
|
||||
this->firstTimerTick = false;
|
||||
this->killTimer(this->pollServiceTimerId);
|
||||
|
||||
if (!settings->value("shown_quickStart",false).toBool()) {
|
||||
on_actionQuick_Start_triggered();
|
||||
settings->setValue("shown_quickStart",true);
|
||||
settings->sync();
|
||||
}
|
||||
|
||||
this->pollServiceTimerId = this->startTimer(1500);
|
||||
}
|
||||
|
||||
@@ -387,3 +395,12 @@ void MainWindow::on_addressButton_clicked()
|
||||
{
|
||||
QApplication::clipboard()->setText(this->myAddress);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionQuick_Start_triggered()
|
||||
{
|
||||
Ui::QuickstartDialog qd;
|
||||
QDialog *qdd = new QDialog(this);
|
||||
qd.setupUi(qdd);
|
||||
qdd->setModal(false);
|
||||
qdd->show();
|
||||
}
|
||||
@@ -79,6 +79,7 @@ private slots:
|
||||
void on_actionAbout_triggered();
|
||||
void on_networkIdLineEdit_textChanged(const QString &text);
|
||||
void on_addressButton_clicked();
|
||||
void on_actionQuick_Start_triggered();
|
||||
|
||||
private:
|
||||
Ui::MainWindow *ui;
|
||||
|
||||
@@ -246,6 +246,7 @@
|
||||
<string>Help</string>
|
||||
</property>
|
||||
<addaction name="actionAbout"/>
|
||||
<addaction name="actionQuick_Start"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuFile">
|
||||
<property name="title">
|
||||
@@ -268,20 +269,15 @@
|
||||
<property name="text">
|
||||
<string>About</string>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionExit">
|
||||
<property name="text">
|
||||
<string>Exit</string>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</action>
|
||||
<action name="actionQuick_Start">
|
||||
<property name="text">
|
||||
<string>Quick Start</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>QuickstartDialog</class>
|
||||
<widget class="QDialog" name="QuickstartDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>480</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Quick Start</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<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="QScrollArea" name="scrollArea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>785</width>
|
||||
<height>800</height>
|
||||
</rect>
|
||||
</property>
|
||||
<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>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background: #000000;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="resources.qrc">:/img/ZT1GUI.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<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="QLabel" name="label_2">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Select Help -> Quick Start to see this screen again.</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::NoTextInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>702</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="okButton">
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="resources.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>okButton</sender>
|
||||
<signal>clicked()</signal>
|
||||
<receiver>QuickstartDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>753</x>
|
||||
<y>457</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>399</x>
|
||||
<y>239</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -1,6 +1,7 @@
|
||||
<RCC>
|
||||
<qresource prefix="/img">
|
||||
<file>zt1icon.png</file>
|
||||
<file>ZT1GUI.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/css">
|
||||
<file>stylesheet.css</file>
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Completely useless to outsiders. :)
|
||||
|
||||
scp ZeroTierOneInstaller-*-*-*_*_* nyarlathotep.zerotier.com:/www/download.zerotier.com/htdocs
|
||||
|
||||
if [ -f 'ZeroTier One.dmg' ]; then
|
||||
scp 'ZeroTier One.dmg' nyarlathotep.zerotier.com:/www/download.zerotier.com/htdocs/dist
|
||||
fi
|
||||
@@ -1,141 +0,0 @@
|
||||
|
||||
November 1, 2011:
|
||||
o Make the netmask address family fix work without knowledge of the struct
|
||||
ifaddr definition. This fixes a crash on Lion, where the layout of the
|
||||
structure has been changed, but at the cost of the fix no longer working for
|
||||
IPv6. I think this is OK though, since mDNSResponder has been fixed on
|
||||
Leopard and beyond to no longer require the hack.
|
||||
o Proper multicast address checking for tun; multicast should now work reliably
|
||||
with IP and IPv6 on tun also.
|
||||
o A quite comprehensive test suite has been added that allows for quick release
|
||||
testing.
|
||||
o PPC support has been dropped due to XCode 4 no longer supporting PPC arch.
|
||||
|
||||
September 13, 2009:
|
||||
o Change linker options to produce 64 bit kext bundle for Snow Leopard.
|
||||
o Switch from kmem_alloc and friends to OSAlloc for memory allocation and
|
||||
avoid the delay() call. Respective symbols are not available on 64 bit
|
||||
kernels anymore.
|
||||
|
||||
September 5, 2009:
|
||||
o Initial Snow Leopard port. Thanks to various people contributing patches in
|
||||
the bugtracker. The new official version can only be compiled on Snow
|
||||
Leopard but has been tested to work on all Tiger, Leopard and Snow Leopard
|
||||
o Clean up unused locking code and switch to rwlocks even for simple mutexes,
|
||||
which avoids a symbol incompatibility for Tiger and Leopard.
|
||||
o Clean up compilation flags in the Makefiles.
|
||||
|
||||
July 4, 2008:
|
||||
o Adapt the former Leopard package to also be installable on Tiger systems.
|
||||
This obsoletes the Tiger version, both Leopard and Tiger are now supported
|
||||
by a single package.
|
||||
|
||||
June 7, 2008:
|
||||
o Protect the selwakeup() call by the lock. This fixes incorrect select()
|
||||
behaviour, thanks to Roland Wendelin for reporting this.
|
||||
o Fix tuntap_mbuf_queue::size initialization
|
||||
o Use a proper wait condition for synchronization when detaching the network
|
||||
interface. The old code would crash if the if_detached() handler was called
|
||||
from a different thread than unregister_interface().
|
||||
|
||||
January 21, 2008:
|
||||
o Work around an issue in the Darwin kernel. When unregistering an interface,
|
||||
addresses are not properly removed from the interface. This leads to
|
||||
crashes and other problems when reusing the interface. Introduce an ugly
|
||||
hack that tries to remove all interface addresses when shutting the
|
||||
interface down.
|
||||
o Fix a small mbuf leak that could occur when the output queue was full.
|
||||
Thanks to Oleg Dolgov for reporting this.
|
||||
|
||||
December 21, 2007:
|
||||
o Fix paths in the startup item postflight scripts
|
||||
o Check if_ioctl arguments more defensively after a report of a panic after
|
||||
receiving a NULL arg.
|
||||
|
||||
November 14, 2007:
|
||||
o I have done a complete rework of the installer package generation. The
|
||||
package is now edited in PackageMaker. The distribution package can still
|
||||
be built from the commandline though.
|
||||
o Fix incorrect permission & ownership of the installed files.
|
||||
|
||||
Oktober 11, 2007:
|
||||
o Fix the permissions of the postflight scripts. Installer packages should work
|
||||
again.
|
||||
o Drop the kmod and kmodc++ in the linker command, they seem to be unneeded
|
||||
with Leopard.
|
||||
|
||||
September 20, 2007:
|
||||
o Initial Leopard port, it's basically the latest Tiger version with some
|
||||
Leopard-related fixes and s/Tiger/Leopard/g
|
||||
o I have switched to a proper version management system (git) and could
|
||||
remove some of the CVS hacks subsequently.
|
||||
o The installation packages have been reworked a bit, they now install into
|
||||
/System/Extensions and /System/StartupItems directly by using
|
||||
DestinationPaths.
|
||||
|
||||
May 13, 2006:
|
||||
o This version is not stable, it may crash, sorry.
|
||||
o Universal binaries that run on ppc and intel macs.
|
||||
o Adds tap MAC address randomization
|
||||
o Redesigned locking.
|
||||
o Better multicast support
|
||||
o mDNSResponder workaround, so that the tap interfaces should get picked up
|
||||
now. Note that we are fixing ifconfig/kernel behaviour here.
|
||||
o All tapX and tunX devices are visible in /dev at all times, network
|
||||
interfaces still created dynamically, though.
|
||||
o Startup items moved to /Library/StartupItems
|
||||
|
||||
May 17, 2005:
|
||||
o Initial Tiger port. We now have KPI-style interfaces. I guess the Tiger
|
||||
version is little slower than the Panther version because of all the
|
||||
wrapping and hiding in the kernel.
|
||||
o The kernel extensions moved to /Library/Extensions. That is the place where
|
||||
non-Apple kexts are supposed to live.
|
||||
|
||||
April 21, 2005:
|
||||
o I added support in tun for AF prepending like some BSDs do. Thanks to Dennis
|
||||
kSchneider for mailing the initial patch. You can also set the value of
|
||||
AF_INET6 to be used.
|
||||
o I finally found that major bug causing crashes (especially on multiprocessor
|
||||
machines). It also caused a memory leak (lost mbufs), and might have caused
|
||||
performance/througput/data-loss problems. Everyone is recommended to upgrade.
|
||||
|
||||
April 6, 2005:
|
||||
o I rewrote the common part concerning the tun and tap initialization and
|
||||
cleanup. This should make the code more maintainable (less duplication).
|
||||
o The devices now reinitialize to the state they were started in when they
|
||||
are closed by an application. This concerns IP addresses for example.
|
||||
o I changed the package building system to use PackageMaker.app in batch
|
||||
mode. The packages also check for version 10.3 now, so nobody should be
|
||||
able to install tun/tap on 10.2 using installer packages. Furthermore I
|
||||
have sprinkled some warnings telling you not to use tun/tap on SMP machines
|
||||
over the installation process ;-)
|
||||
o Some minor locking fixes.
|
||||
|
||||
November 19, 2004:
|
||||
o Jamie Wood reported that the packet queue in the driver could be considered
|
||||
empty even if there were packets in it. This was probably caused by a
|
||||
synchronization problem that should be fixed now. People encountering
|
||||
timeouts etc. should try the new version.
|
||||
o I finally implemented support for changing the interface MTU. The driver
|
||||
enforces the MTU when writing packets to the character device now. However,
|
||||
packets coming from the kernel are not checked.
|
||||
|
||||
September 9, 2004:
|
||||
o Marcello Teodori told me that the tun driver wasn't working with openvpn.
|
||||
The problem was the fcntl call, fixed that. Should work now. Thanks
|
||||
Marcello!
|
||||
o changed the tun driver not to prepend the address family field before each
|
||||
and every packet (which is the behaviour of OpenBSD). As there is currently
|
||||
only IPv4 and IPv6 support there is no problem with the standard tun
|
||||
approach used on other OSes. This should make the driver much more
|
||||
compatible.
|
||||
o Did a script and makefile support so that the installer packages can now be
|
||||
built from the command prompt. Unfortunately this might break things
|
||||
someday as I am not using the 'official' way to build the packages
|
||||
o Cleaned up installer packages a little.
|
||||
|
||||
August 24, 2004:
|
||||
o initial version put online
|
||||
o basic tun/tap support, tap working with qemu
|
||||
|
||||
File renamed without changes.
@@ -2,7 +2,12 @@ Building the tap for both x86_64 and i386 requires an older version of the
|
||||
Xcode tools than what now ships for Mavericks (10.9). The newer version
|
||||
does not support creating i386 kernel images.
|
||||
|
||||
These can be obtained from:
|
||||
At the moment this is done on an OSX 10.6 virtual image that is used for
|
||||
building. (It doesn't have to be done often.) Then the kext is signed on
|
||||
the regular build system. That's because images built on newer OSX don't
|
||||
seem to load on 10.6 but 10.6 built kexts seem fine on 10.9. Go figure.
|
||||
|
||||
Older Xcode can also be found at:
|
||||
|
||||
https://developer.apple.com/downloads
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>ethertap device kernel extension</key>
|
||||
<string>ethertap kernel extension</string>
|
||||
<key>Initializing tap devices</key>
|
||||
<string>Initializing tap devices</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
Description = "ethertap device kernel extension";
|
||||
Provides = ("ethertap");
|
||||
Requires = ("Network Configuration");
|
||||
OrderPreference = "None";
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
##
|
||||
# load the tap kext
|
||||
##
|
||||
|
||||
. /etc/rc.common
|
||||
|
||||
StartService ()
|
||||
{
|
||||
ConsoleMessage "Initializing tap devices"
|
||||
|
||||
if [ -d /Library/Extensions/tap.kext ]; then
|
||||
kextload /Library/Extensions/tap.kext
|
||||
fi
|
||||
}
|
||||
|
||||
StopService ()
|
||||
{
|
||||
if [ -d /Library/Extensions/tap.kext ]; then
|
||||
kextunload /Library/Extensions/tap.kext
|
||||
fi
|
||||
}
|
||||
|
||||
RestartService ()
|
||||
{
|
||||
if [ -d /Library/Extensions/tap.kext ]; then
|
||||
kextunload /Library/Extensions/tap.kext
|
||||
kextload /Library/Extensions/tap.kext
|
||||
fi
|
||||
}
|
||||
|
||||
RunService "$1"
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<dict>
|
||||
<key>ip tunnel device kernel extension</key>
|
||||
<string>ip tunnel kernel extension</string>
|
||||
<key>Initializing tun devices</key>
|
||||
<string>Initializing tun devices</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
Description = "ip tunnel device kernel extension";
|
||||
Provides = ("tun");
|
||||
Requires = ("Network Configuration");
|
||||
OrderPreference = "None";
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
##
|
||||
# load the tun kext
|
||||
##
|
||||
|
||||
. /etc/rc.common
|
||||
|
||||
StartService ()
|
||||
{
|
||||
ConsoleMessage "Initializing tun devices"
|
||||
|
||||
if [ -d /Library/Extensions/tun.kext ]; then
|
||||
kextload /Library/Extensions/tun.kext
|
||||
fi
|
||||
}
|
||||
|
||||
StopService ()
|
||||
{
|
||||
if [ -d /Library/Extensions/tun.kext ]; then
|
||||
kextunload /Library/Extensions/tun.kext
|
||||
fi
|
||||
}
|
||||
|
||||
RestartService ()
|
||||
{
|
||||
if [ -d /Library/Extensions/tun.kext ]; then
|
||||
kextunload /Library/Extensions/tun.kext
|
||||
kextload /Library/Extensions/tun.kext
|
||||
fi
|
||||
}
|
||||
|
||||
RunService "$1"
|
||||
+7
-2
@@ -304,6 +304,11 @@ error_no_byte_order_defined;
|
||||
*/
|
||||
#define ZT_PEER_LINK_ACTIVITY_TIMEOUT ((ZT_PEER_DIRECT_PING_DELAY * 2) + 1000)
|
||||
|
||||
/**
|
||||
* Stop relaying via peers that have not responded to direct sends in this long
|
||||
*/
|
||||
#define ZT_PEER_RELAY_CONVERSATION_LATENCY_THRESHOLD 10000
|
||||
|
||||
/**
|
||||
* Number of outgoing verb/packetId pairs to keep for sends expecting responses
|
||||
*/
|
||||
@@ -343,9 +348,9 @@ error_no_byte_order_defined;
|
||||
#define ZT_UPDATE_MIN_INTERVAL 120000
|
||||
|
||||
/**
|
||||
* Maximum interval between attempts to do a software update
|
||||
* Maximum interval between checks for new versions (2 hours)
|
||||
*/
|
||||
#define ZT_UPDATE_MAX_INTERVAL 28800000
|
||||
#define ZT_UPDATE_MAX_INTERVAL 7200000
|
||||
|
||||
/**
|
||||
* Update HTTP timeout in seconds
|
||||
|
||||
Loaded 20 of 34 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user