Adam Ierymenko
7e46c83592
1.8.10
2022-05-10 13:45:12 -04:00
Sean OMeara
ba74abb753
pull latest sid builder
2022-05-10 18:31:09 +02:00
Joseph Henry
c34325fee7
Fix attribute placement for debugging functions ( #1587 )
2022-05-06 17:25:15 -07:00
Joseph Henry
db8443ef7d
Remove attributes causing build failures on various platforms ( #1587 )
2022-05-06 15:19:59 -07:00
Joseph Henry
6c85f8c7a7
Safely handle disappearing bonded interfaces (See issue #1587 )
2022-05-06 14:59:34 -07:00
David Baird
eea93d2607
Fix SEGV caused by format string on 32-bit platforms / armv7l, reported in #1587 ( #1658 )
...
Looks great. Thanks for this!
2022-05-06 09:11:47 -07:00
Joseph Henry
e9f8ecbf7e
Properly initialize active-backup path index as partial fix for #1587
2022-05-04 09:51:48 -07:00
Grant Limberg
48852e8cb4
add ZT_SSO_ENABLED=1 to preprocessor definition list in Visual Studio
...
fixes sso not working
2022-05-03 14:39:08 -07:00
Joseph Henry
55ec325961
Add localSocket to listpeers JSON output
2022-04-28 15:58:12 -07:00
Grant Limberg
59151fbf86
remove max count for xread
2022-04-28 13:10:07 -07:00
Grant Limberg
1c700b7b41
Fix redis cluster usage
2022-04-28 13:05:02 -07:00
Grant Limberg
ff18bacd94
fix XREAD commands for redis message queue
2022-04-28 11:16:45 -07:00
Joseph Henry
caf1de3bcf
Allow TCP fallback when multipath is enabled
2022-04-28 11:12:04 -07:00
Joseph Henry
a9ad2924ac
Re-add user-configurable TCP fallback
2022-04-28 11:05:54 -07:00
Adam Ierymenko
7ea2354540
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2022-04-27 17:10:19 -04:00
Adam Ierymenko
760bba67e7
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2022-04-27 14:12:10 -04:00
Adam Ierymenko
1fe3a4402d
1.8.9 Windows installer stuff
2022-04-27 14:11:48 -04:00
Adam Ierymenko
166c7978ee
ALMOST compiles for ARM64 Windows, only remaining barrier is ring in zeroidc.
2022-04-27 12:19:42 -04:00
Joseph Henry
4f80e79886
Add QNAP build scripts
2022-04-26 15:04:19 -07:00
Adam Ierymenko
b47a2c9ac5
Forgot to bump Debian version.
2022-04-26 17:38:57 -04:00
Joseph Henry
1a5274b86b
Add Asustor build scripts
2022-04-26 08:33:48 -07:00
Joseph Henry
66236e91a2
Style fix
2022-04-26 08:26:45 -07:00
Joseph Henry
36475aebc7
Merge branch 'erikh-fix-cargo-root'
2022-04-25 20:39:22 -07:00
Joseph Henry
acd1f24a3f
Add Western Digital apkg build scripts
2022-04-25 17:47:58 -07:00
Joseph Henry
a74532fa0b
Move Snap and Synology packaging to new pkg dir
2022-04-25 17:47:15 -07:00
Erik Hollensbe
59d4aef7c2
Fix cargo home directory (was previously hard-coded to /root)
...
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-04-25 15:52:39 -07:00
Adam Ierymenko
dfb291090d
release notes
2022-04-25 17:09:14 -04:00
Grant Limberg
dac32f863e
fix deadlock on sso network leave
2022-04-25 14:00:04 -07:00
Adam Ierymenko
f3b56d3d94
More simplification of Debian control
2022-04-25 15:21:29 -04:00
Adam Ierymenko
eb95a427fa
1.8.9 version bump
2022-04-25 13:24:24 -04:00
Joseph Henry
f16299b10b
Add credit line to release notes
2022-04-21 09:50:18 -07:00
Adam Ierymenko
76bce44280
Build fix.
2022-04-19 21:30:36 -04:00
Adam Ierymenko
ee0a194b25
Several more SSO/OIDC related fixes, and bump version to 1.8.9.
2022-04-19 21:29:11 -04:00
Adam Ierymenko
ef08346a74
Fix a possible excessive memory use issue in controller and clean up a bunch of COM handling and other code in the normal node.
2022-04-19 19:59:54 -04:00
Adam Ierymenko
fe0068da52
A bit more auth cleanup in the local node.
2022-04-19 16:34:46 -04:00
Adam Ierymenko
cd70fefc5e
Clean up some credential push stuff.
2022-04-19 16:06:53 -04:00
Adam Ierymenko
877f86a896
build fix
2022-04-19 12:44:18 -04:00
Adam Ierymenko
912036b260
Push credentials always if updated (client-side) and some controller-side cleanup that should be logically irrelevant but will prevent unnecessary DB lookups.
2022-04-19 12:41:38 -04:00
Adam Ierymenko
a4e8847664
Restore sending of rejections but move it exclusively to a thread, widen netconf window to 30 minutes.
2022-04-19 10:37:58 -04:00
Adam Ierymenko
c492bf7eea
Forgot to send error on v0 auth expiry.
2022-04-18 16:36:09 -04:00
Adam Ierymenko
cb086ff97f
Simplify SSO logic. SSO should just normally expire when it expires. No full deauth needed. Deauth is for really giving someone the boot.
2022-04-18 16:32:05 -04:00
Joseph Henry
7e4da53c0b
Check reference to failover path before use in active-backup scenario
2022-04-17 21:03:57 -07:00
Adam Ierymenko
fe376f6a1e
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2022-04-15 14:23:40 -04:00
Adam Ierymenko
55a99f34d0
Tighten certificate window and deprecate sending of revocations for ordinary SSO timeouts. Revocations should only be for deliberate deauth to kick people off networks. Cert window should now stay within refresh window for SSO so normal cert expiration should handle it just fine.
2022-04-15 14:23:26 -04:00
Joseph Henry
99df637aae
Improve relationship between QOS timers and bucket sizes
2022-04-15 09:55:00 -07:00
Adam Ierymenko
d0c68096df
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2022-04-15 12:46:48 -04:00
Grant Limberg
1c464c2da1
fix potential cstring leaks
2022-04-15 09:16:02 -07:00
Adam Ierymenko
5b15da98b4
Start of 1.8.9 release notes.
2022-04-15 11:58:21 -04:00
Adam Ierymenko
d5a95f9224
Add SSO enable def to macOS
2022-04-14 20:57:35 -04:00
Adam Ierymenko
a7dcfa18a2
Oops forgot last part of that fix for MAC errors.
2022-04-14 20:13:57 -04:00
Adam Ierymenko
4389b9feff
Likely fix for invalid MAC problem.
2022-04-14 20:10:20 -04:00
Adam Ierymenko
cf03996bf2
clangd stuff
2022-04-14 12:00:36 -04:00
Adam Ierymenko
e1a3bd3a92
ignore .nova
2022-04-14 11:50:47 -04:00
Adam Ierymenko
58119598ae
comment out some new deauth code
2022-04-13 23:10:11 -04:00
Adam Ierymenko
42a2afaef9
This may improve controller behavior with SSO and mixed SSO, needs testing!
2022-04-13 21:39:56 -04:00
Grant Limberg
c2cfb4d1dc
remove stray #endif
2022-04-13 17:47:56 -07:00
Adam Ierymenko
f0b0172434
Merge branch 'master' into dev
2022-04-13 19:55:22 -04:00
Adam Ierymenko
8217cadc08
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2022-04-13 19:55:08 -04:00
Grant Limberg
6ad047a8fc
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2022-04-13 13:54:03 -07:00
Grant Limberg
23ef742e08
Fix for #1626
...
Port used for PortMapping was not properly randomized causing multiple clients on the same lan to request the same UPnP port, and not all routers handle this gracefully.
Also fixes issue where the portmapper wasn't started at all if a secondary port wasn't specified, or if the tertiary port was manually specified.
2022-04-13 13:53:42 -07:00
Joseph Henry
1294767b44
Fix ZT_SSO_SUPPORTED flag behavior. Allow disabling for embedded targets.
2022-04-13 10:05:49 -07:00
Erik Hollensbe
eca645fc52
Merge pull request #1625 from erikh/prettify-entrypoint-output
...
prettify the entrypoint log output
2022-04-13 00:17:07 -07:00
Erik Hollensbe
8598f34ebf
prettify the entrypoint log output
...
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-04-13 00:09:46 -07:00
Erik Hollensbe
cade483a00
Merge pull request #1624 from erikh/silence-entrypoint-errors
...
silence catting files that don't exist in docker entrypoint
2022-04-12 23:58:00 -07:00
Erik Hollensbe
df46248a0c
silence catting files that don't exist in docker entrypoint
...
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-04-12 23:56:16 -07:00
Joseph Henry
6cddb94509
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2022-04-12 17:46:13 -07:00
Joseph Henry
0e658828fb
Add Synology Docker target to Linux makefile
2022-04-12 17:45:54 -07:00
Sean McAvoy
de04240ca6
update alpine linux release to current supported ( #1599 )
2022-04-11 21:24:57 -07:00
fuowang
40681328ec
Add loongarch64 support ( #1614 )
...
* add loongarch64 support
2022-04-11 20:33:40 -07:00
Joseph Henry
4dbdfb6972
Fix missing symlink and high CPU usage of route watchdog on Synology
2022-04-11 15:22:13 -07:00
Adam Ierymenko
bd9c8d65ef
Release notes for 1.8.8
2022-04-11 12:46:12 -04:00
Adam Ierymenko
24ec634005
Possible fix for Ubuntu versioning issue on libstdc++6
2022-04-11 12:28:14 -04:00
Adam Ierymenko
ff0e6a53fc
Release notes for 1.8.8
2022-04-11 12:16:32 -04:00
Adam Ierymenko
ffb444dbeb
1.8.8 bump
2022-04-11 12:15:41 -04:00
Adam Ierymenko
d6f32516d8
Merge branch 'master' of github.com:zerotier/ZeroTierOne into dev
2022-04-11 11:11:13 -04:00
Joseph Henry
29566bfe7d
Add Synology target to Linux makefile
2022-04-10 22:50:53 -07:00
Erik Hollensbe
16d2b85c71
Merge pull request #1619 from altano/master
...
Add `zerotier-cli info` output to Docker logs
2022-04-08 22:09:32 -07:00
Alan Norbauer
193b357a0c
Add zerotier-cli info output to Docker logs
...
When I first bring up the container, I want to know I'm approving the join request for the right node. I can get the node's ZT address by manually executing `zerotier-cli info` in the node (e.g. with `docker-compose exec zerotier zerotier-cli info`) but just having it in the logs to start with is very convenient.
2022-04-08 21:56:13 -07:00
Joseph Henry
8ee8870c27
Add Docker image and build script for DSM 7
2022-04-05 16:38:20 -07:00
Joseph Henry
3c59de7c00
Change directory structure for DSM packages
2022-04-05 15:27:35 -07:00
Joseph Henry
e87bf87046
Remove unnecessary packages from Synology Dockerfile
2022-04-05 14:20:51 -07:00
Joseph Henry
b4f7a9a4f4
Temporarily disable certain arch builds on Synology
2022-04-05 09:52:25 -07:00
Joseph Henry
a360416655
Move Synology home-dir to /var/packages/zerotier/var
2022-04-05 09:51:35 -07:00
Joseph Henry
26dbebbba7
Add Synology packaging
2022-04-05 08:54:16 -07:00
Joseph Henry
04b77773c4
Remove Synology-specific IP add block
2022-03-31 22:01:50 -07:00
Joseph Henry
6f4a69703b
Fix ZT_SSO_SUPPORTED flag behavior. Allow disabling for embedded targets.
2022-03-31 21:45:38 -07:00
Joseph Henry
d67f59f5b5
Fix ARMv6 arch moniker
2022-03-31 09:43:06 -07:00
Joseph Henry
00d9abb612
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2022-03-31 09:40:45 -07:00
Adam Ierymenko
c8920cff19
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2022-03-30 15:51:33 -04:00
Adam Ierymenko
7293ba7d71
Merge branch 'master' into dev
2022-03-30 15:51:18 -04:00
Adam Ierymenko
e73d7d9349
Merge branch 'master' of http://git.int.zerotier.com/zerotier/ZeroTierOne
2022-03-30 15:51:01 -04:00
Adam Ierymenko
0e3be9b837
1.8.7
2022-03-30 15:50:26 -04:00
Adam Ierymenko
c600590aa6
Windows 1.8.7 installer config.
2022-03-29 19:36:56 -04:00
Adam Ierymenko
1343f15a07
Merge branch 'master' of http://git.int.zerotier.com/zerotier/ZeroTierOne
2022-03-29 14:28:12 -04:00
Grant Limberg
5fcaed086d
another at->idt for exp
2022-03-29 11:09:50 -07:00
Grant Limberg
130689d82b
remove extraneous debug log line
2022-03-29 11:09:14 -07:00
Grant Limberg
1efceb86fc
get exp time out of correct token
2022-03-29 11:08:59 -07:00
Grant Limberg
1d92974447
auth0 compatibility
2022-03-29 11:07:44 -07:00
Grant Limberg
de56f571c7
enable rfc3339 timestamps in oidc library for auth0
2022-03-29 11:07:30 -07:00
Grant Limberg
3670b8cefd
another at->idt for exp
2022-03-29 10:33:27 -07:00
Grant Limberg
425f5201a2
remove extraneous debug log line
2022-03-29 10:03:34 -07:00
Grant Limberg
df3b29e6ff
get exp time out of correct token
2022-03-29 10:01:02 -07:00
Grant Limberg
96a49bf476
auth0 compatibility
2022-03-29 09:11:55 -07:00
Grant Limberg
2d975f275c
enable rfc3339 timestamps in oidc library for auth0
2022-03-29 09:11:25 -07:00
Erik Hollensbe
76e30cf165
Merge pull request #1596 from erikh/docker-image-fixes
...
Fix dockerfile & entrypoint:
2022-03-24 10:53:52 -07:00
Erik Hollensbe
da603208b4
Dockerfile: Reduce healthcheck interval to 1s (it's cheap)
...
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-03-23 18:17:21 -07:00
Erik Hollensbe
6dc7bdf72e
Fix ^C issue
...
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-03-23 18:09:04 -07:00
Erik Hollensbe
d52ebaa412
HEALTHCHECK operation
...
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-03-23 18:08:46 -07:00
Erik Hollensbe
c30a1f60ea
Join networks by touching a file
...
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-03-23 17:56:09 -07:00
Erik Hollensbe
2388c9f4e4
added additional informational messages to argument usage in zerotier docker image
...
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-03-23 17:40:28 -07:00
Erik Hollensbe
f41372680d
Fix dockerfile & entrypoint:
...
- Resolve issue with join not being checked properly for success without
using external tools
- Resolve issue where initial boot was not being checked properly
- Now output errors when zerotier fails to start
closes #1581
cc @altano for inspiration for this patch
Signed-off-by: Erik Hollensbe <git@hollensbe.org >
2022-03-23 17:40:28 -07:00
Adam Ierymenko
7efb1cf7d3
Bundle Edge WebView dependency EXE and statically link MSVC DLLs
2022-03-22 17:43:43 -04:00
Joseph Henry
0547fd3593
Merge branch 'master' of https://github.com/zerotier/zerotierone into dev
2022-03-21 19:51:53 -07:00
Adam Ierymenko
2800534445
1.8.7
2022-03-21 17:34:52 -04:00
Adam Ierymenko
e464050a40
Merge branch 'master' of http://git.int.zerotier.com/zerotier/ZeroTierOne
2022-03-21 17:30:18 -04:00
Grant Limberg
73ec8cddd7
Show sso errors on the last step of the oidc process
2022-03-21 17:30:03 -04:00
Joseph Henry
1c171b5d99
Merge pull request #1589 from hcwhan/patch-1
...
Dockerfile version bump to 1.8.6
2022-03-15 09:52:55 -07:00
Joseph Henry
32f49b44b0
Modify snap to use pre-compiled static binaries
2022-03-15 09:44:46 -07:00
hcwhan
e2d4571ade
Dockerfile version bump to 1.8.6
2022-03-14 10:34:26 +08:00
Grant Limberg
3f19e7d73c
Show sso errors on the last step of the oidc process
2022-03-10 13:08:35 -08:00
Adam Ierymenko
93076dde56
Fix merged OneService.
2022-03-10 15:57:15 -05:00
Adam Ierymenko
3e78785dea
Merge OneService changes from master.
2022-03-10 15:50:01 -05:00
Adam Ierymenko
68c9398f71
Merge branch 'master' into dev
2022-03-10 15:48:47 -05:00
Adam Ierymenko
4b3a13797a
Windows Advanced Installer stuff for 1.8.6
2022-03-10 15:45:33 -05:00
Adam Ierymenko
4a2c75a609
Release notes
2022-03-10 13:36:31 -05:00
Adam Ierymenko
34a64f30de
Bump the peer cache serialization version due to path changes, will cause peers to be re-learned. Technically the peer cache is optional anyway so it's not going to break anything and should guard against weird issues due to path learning changes on restart.
2022-03-09 09:13:26 -05:00
Adam Ierymenko
4bdf0317c3
Forgot to version bump RH.
2022-03-08 15:18:57 -05:00
Adam Ierymenko
8624972d01
More 1.8.6 bumps.
2022-03-08 09:17:14 -05:00
Adam Ierymenko
6bfaaaa557
1.8.6 bump and add AutoReqProv:no for GitHub issue #1575
2022-03-07 14:06:12 -05:00
Adam Ierymenko
b42c998095
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2022-03-07 13:58:51 -05:00
Adam Ierymenko
56357c077b
Merge pull request #1110 from neheb/patch-1
...
LinuxNetLink: Add cerrno header for (str)errno
2022-03-07 13:53:14 -05:00
Adam Ierymenko
3def00370e
Merge pull request #1187 from rjsocha/win-service-description
...
Add description for Windows service
2022-03-07 13:52:41 -05:00
Adam Ierymenko
e1a3285273
Update ServiceInstaller.cpp
...
Some very minor changes to this PR
2022-03-07 13:52:05 -05:00
Joseph Henry
59b392af10
Merge pull request #1572 from zerotier/configurable-tcp-proxy
...
make TCP fallback relay address configurable
2022-03-07 09:17:43 -08:00
Grant Limberg
a8dde7b89b
update JNI to add new status code
2022-03-04 14:28:25 -08:00
Grant Limberg
ecde26c823
fix http return value from one service when nework list is empty
2022-03-04 12:35:11 -08:00
Adam Ierymenko
567969d33c
1.8.6 with a UI non-responsiveness fix.
2022-03-04 14:54:51 -05:00
Adam Ierymenko
544a4de1e0
Merge branch 'master' into dev
2022-03-03 18:35:05 -05:00
Adam Ierymenko
c341bf6d8c
Merge
2022-03-03 18:32:54 -05:00
Adam Ierymenko
297869163e
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2022-03-03 18:30:19 -05:00
Joseph Henry
3ead6b67cd
Dynamically scale bonded link monitor frequency according to aliveness
2022-03-02 14:58:31 -08:00
Grant Limberg
3cbea6c898
make TCP fallback relay address configurable
2022-03-02 11:44:04 -08:00
Adam Ierymenko
1f73ab4b05
Debian lowest common denominator dependency for libssl.
2022-03-02 14:11:39 -05:00
Joseph Henry
8148c658cf
Remove bonds for peers that have fully expired. Remove notion of bond health
2022-03-02 09:55:23 -08:00
Adam Ierymenko
15ddf28c6a
Makefile fix for Linux.
2022-02-28 19:08:13 -05:00
Adam Ierymenko
16b5274963
Fix to selinux fix.
2022-02-28 16:10:44 -05:00
Grant Limberg
f8e24f4629
Fix issue where restarting a controller causes a DB write for each network member
2022-02-28 12:26:32 -08:00
Joseph Henry
1cf8a1f493
More accurate accounting of bond layer overhead traffic
2022-02-25 15:04:48 -08:00
Joseph Henry
bc2c4cf80a
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2022-02-25 11:39:21 -08:00
Joseph Henry
9933d83cf8
Merge pull request #1564 from zerotier/dev-whoami
...
Proactively seek, and distribute external surface addresses
This patch introduces a new "self-awareness" behavior which proactively queries peers for external surface addresses and distributes them via PUSH_DIRECT_PATHS. This has the effect of making ZT more responsive to interface changes.
Current behavior:
Previously, this type of information was only mediated via RENDEZVOUS and was only triggered when the client detected that it no longer had a single alive path to a peer. While PUSH_DIRECT_PATHS would correctly (and often) send local addresses, this was not the case for external addresses collected from response HELLOs. This would lead to situations where only one physical address would be distributed to peers. Additionally, if a new physical interface were to be made available to the client, the client would correctly bind to it but never seek information about its external mapping from a peer, and thus the new physical interface would remain unavailable for other peers to learn about until all paths on the previous interface have expired which can take a couple of minutes. In traditional usage of ZT this is not usually a problem, but it becomes a problem in the following scenarios:
Network interfaces go up and down while ZT is running (e.g. switching to LTE or WiFi from a wired connection)
Network interfaces are added or removed in multipath setups
Proposed behavior:
I propose that normal full HELLOs are sent not only on the first interface in use, but all interfaces. This causes planets to respond with a HELLO containing the surface address for each interface. We then collect each address using SelfAwareness::whoami() and distribute them via the normal PUSH_DIRECT_PATHS mechanism.
2022-02-25 11:30:45 -08:00
Joseph Henry
1918c29fd7
Change ECHO divisor from 20 to 6
2022-02-25 11:29:07 -08:00
Joseph Henry
84705aafc7
Merge pull request #1569 from zerotier/dev-echo-rate-gate
...
Rate gate ECHO per Path instead of per Peer
In multipath scenarios user traffic is used to judge the aliveness of a path. If the user traffic is too infrequent to establish aliveness for a given time window (say 500 ms), the bonding layer will send extra ECHOs at a maximum rate of failoverInterval / 3 (or ~ 166 ms) per path. This patch relaxes the rate-limiting of ECHOs significantly in order to prevent a non-multipath node from dropping ECHOs causing multipath nodes to erroneously judge paths to that node to be dead.
Details
This patch decreases the rate limiting from 1000 ms per peer by a factor of 6 to ~166 ms and rate limits ECHOs per Path instead of per Peer. This allows rate limiting to scale with the number of established paths to a peer.
As a result, if all 64 path slots are used a total of 64 x 6 = 384 ECHOs per second will be allowed in the most aggressive case where failoverInterval is set to 500 ms.
2022-02-25 11:23:42 -08:00
Joseph Henry
618202d426
Increase min failover to 500 ms and probe period to 1/3rd of failover
2022-02-25 10:52:39 -08:00
Adam Ierymenko
8b9a7d2c8f
1.8.5 release notes
2022-02-22 13:15:39 -05:00
Joseph Henry
d1335dca11
Change ECHO rate-limit divsor from 16 to 20
2022-02-21 16:22:33 -08:00
Joseph Henry
5e13b42abc
Rate gate ECHO per Path instead of per Peer
2022-02-21 14:37:39 -08:00
Adam Ierymenko
b4b5a70a03
Windows build update.
2022-02-21 13:53:55 -05:00
Joseph Henry
96aa1c30a6
Proactively seek, enumerate, and distribute external surface addresses
2022-02-17 15:39:17 -08:00
Joseph Henry
1b0c183913
Force non-leaf peers into local active-backup bond when multipath is enabled
2022-02-17 15:16:33 -08:00
Joseph Henry
5d4a9a4aa1
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2022-02-17 09:48:15 -08:00
Grant Limberg
31c12aebb5
more fun with linux ethernet taps
...
older kernels: must set MTU before IFF_UP.
newer kernels: must set MTU *after* IFF_UP
2022-02-17 09:26:53 -08:00
Joseph Henry
40269c2a97
Comment out debug traces
2022-02-16 20:39:18 -08:00
Adam Ierymenko
ed74ed6ed2
CentOS/RHEL 6 SELinux permissions.
2022-02-16 12:56:17 -05:00
Adam Ierymenko
26e684eb0e
Add OpenSSL requirements to Linux package manifests.
2022-02-15 14:39:23 -05:00
Adam Ierymenko
fc66f79988
1.8.5 Windows
2022-02-15 13:09:54 -05:00
Adam Ierymenko
3c85a7f074
Rev roots.
2022-02-15 09:13:58 -05:00
Adam Ierymenko
62d2a00e74
Merge pull request #1093 from keur/unit_after_network
...
systemd: fix zerotier hanging on shutdown
2022-02-11 18:03:18 -05:00
Adam Ierymenko
bb2b109707
Merge pull request #1559 from zerotier/oldlinux
...
potential fix for 2.6.x kernels
2022-02-11 17:59:53 -05:00
Joseph Henry
c5008031b9
Increase ifname size to accomodate Windows (issue #1560 )
2022-02-11 10:08:56 -08:00
Joseph Henry
1d15d4e8d3
Add ZT_DEBUG to DEFS when specified
2022-02-09 14:32:10 -08:00
Joseph Henry
da898d5a19
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2022-02-08 15:47:43 -08:00
Joseph Henry
f9c84c8c52
Remove stray debug trace
2022-02-08 15:32:25 -08:00
Grant Limberg
5d63ed6739
fix function call
2022-02-07 17:14:43 -08:00
Grant Limberg
fdf4ebd43c
potential fix for 2.6.x kernels
...
detect if the kernel is super old. if so, do not execute the post IF_UP commands on the interface
2022-02-07 17:10:54 -08:00
Grant Limberg
dc9fdb7da8
Merge branch 'notify' into dev
2022-02-07 13:59:22 -08:00
Grant Limberg
2652c71c9e
remove tag one more time
2022-02-07 11:54:50 -08:00
Grant Limberg
806d1fff42
Merge branch 'notify' into dev
2022-02-07 11:46:23 -08:00
Grant Limberg
c065e88e1e
notify tags are back
2022-02-07 11:39:47 -08:00
Grant Limberg
4641a44029
does order matter?
2022-02-07 11:36:52 -08:00
Grant Limberg
f544f75c36
notify all again
2022-02-07 11:32:19 -08:00
Grant Limberg
720168f0a0
only notify on failure for now
2022-02-07 11:27:03 -08:00
Grant Limberg
6dfecca91e
poke
2022-02-07 11:23:38 -08:00
Grant Limberg
10b38b5b0a
poke
2022-02-07 11:14:46 -08:00
Sean OMeara
dbc5d5c453
Update .drone.yml
...
OCD made me do it
2022-02-07 19:54:56 +01:00
Grant Limberg
a3e0ba16f5
poke
2022-02-07 10:43:56 -08:00
Grant Limberg
3c906102e1
update notify image
2022-02-07 10:26:29 -08:00
Joseph Henry
566ac113e4
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2022-02-07 10:10:24 -08:00
Grant Limberg
5abc8bd2af
specify tag
2022-02-07 10:09:01 -08:00
Joseph Henry
926b2e168e
Add external listening addr/port pairs to status output (ticket #1555 )
2022-02-07 10:08:02 -08:00
Grant Limberg
e475e8151d
set pull: always on notify image
2022-02-07 09:56:31 -08:00
Grant Limberg
440f10e353
max retires 3
2022-02-04 13:48:48 -08:00
Grant Limberg
30256c7106
set max retries
2022-02-04 13:44:00 -08:00
Grant Limberg
21946f38d0
oops
2022-02-04 13:35:44 -08:00
Grant Limberg
549673664d
custom image
2022-02-04 13:34:28 -08:00
Sean OMeara
b45d0c5a36
tweaking
2022-02-04 22:08:56 +01:00
Sean OMeara
4df05c2890
running s390x on xeons
2022-02-04 22:08:14 +01:00
Sean OMeara
d886089091
running s390x on xeons
2022-02-04 22:05:29 +01:00
Grant Limberg
51158dde93
make it run on failure and succes
2022-02-04 12:58:12 -08:00
Grant Limberg
09fff7f1cb
lets try this
2022-02-04 12:50:19 -08:00
Sean OMeara
91f435f32f
trying s390 on a gravaton
2022-02-04 21:42:00 +01:00
Sean OMeara
726ffddce2
adding platform routing for arm64
2022-02-04 21:28:07 +01:00
Adam Ierymenko
4ecf692f46
Remove -j1
2022-02-04 14:51:13 -05:00
Adam Ierymenko
2a461a9aac
Merge dev
2022-02-04 13:32:06 -05:00
Grant Limberg
211b1fc23c
enable on x32
2022-02-03 12:52:35 -08:00
Grant Limberg
df6bbb0b0c
more fun with makefiles
2022-02-03 11:47:03 -08:00
Grant Limberg
cfae20e0df
LDFLAGS fix on non-supported platforms
2022-02-03 11:30:39 -08:00
Grant Limberg
3c0adde0c7
don't build on unsupported platforms
2022-02-03 11:26:10 -08:00
Grant Limberg
f511c9c938
fix compile errors on non-sso platforms
2022-02-03 10:07:25 -08:00
Sean OMeara
20f88b37ef
adding drone config
2022-02-03 14:19:06 +01:00
Sean OMeara
269501eaa0
adding drone config
2022-02-03 14:18:36 +01:00
Adam Ierymenko
330e1de3d1
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2022-02-01 16:04:06 -05:00
Adam Ierymenko
25e14e2164
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2022-02-01 16:03:04 -05:00
Grant Limberg
aa97aabb4e
for now, only enable sso on certain platforms
...
mac, windows, linux x86/x86_64/aarch64
2022-02-01 11:07:37 -08:00
Travis LaDuke
59cd2766e3
Shorten issue template. Add docs site to it.
2022-01-31 13:52:38 -08:00
Grant Limberg
b7952d7f39
no longer need direct import of serde here either
2022-01-31 12:13:30 -08:00
Grant Limberg
c380a4e4bd
cleanup
2022-01-31 12:02:14 -08:00
Grant Limberg
9c487cbfb8
Remove jsonwebtoken package dependency
...
Replaced with rust-jwt. `jsonwebtoken` relies on the ring package which explodes on non-x86/x64 architectures
2022-01-31 11:58:51 -08:00
Adam Ierymenko
6fc636535f
Merge branch 'dev-enlarge-netconf-limits' into dev
2022-01-31 10:52:34 -05:00
Joseph Henry
4190318c85
Fix typo in constant name
2022-01-28 10:41:21 -08:00
Joseph Henry
2f554fd6f8
Merge pull request #1552 from Shawn8410/master
...
FIX: fix wrong flag usage of rateGateCredentialsReceived
2022-01-28 10:12:16 -08:00
Shawn
ae93cccde6
FIX: fix wrong flag usage of rateGateCredentialsReceived
2022-01-27 11:59:21 +08:00
Joseph Henry
46e955e3a1
Split bond logs into two categories to reduce logging size
2022-01-26 15:14:02 -08:00
Joseph Henry
60057d7072
Fix SSL-related linker errors on Linux
2022-01-26 14:02:42 -08:00
Joseph Henry
2850f131e2
Fix code style
2022-01-25 18:03:36 -08:00
Adam Ierymenko
440568a516
Enlarge maximum routes and maximum assigned addresses.
2022-01-24 14:26:15 -08:00
Adam Ierymenko
e31088aaf9
Debian build tweaks, and deparallelize Rust for higher order build parallelization.
2022-01-21 17:27:07 -05:00
Grant Limberg
63b36e8569
.
2022-01-20 15:36:29 -08:00
Grant Limberg
726d359335
part 2
2022-01-20 15:35:18 -08:00
Grant Limberg
fc0858a4a3
fix the fix cargo build on mac
...
--debug isn't a cargo option at all
2022-01-20 15:32:58 -08:00
Grant Limberg
f80103778a
Merge branch 'dev' into central-controller
2022-01-20 15:15:59 -08:00
Grant Limberg
c09010c25a
handle nonce rotation in controller better
...
Won't generate new nonces until there are no active ones.
2022-01-20 15:14:29 -08:00
Grant Limberg
9cd1466e6b
Merge branch 'dev' into central-controller
2022-01-20 11:12:21 -08:00
Grant Limberg
801be64ed3
Merge branch 'zeroidc' into dev
2022-01-20 09:46:22 -08:00
Grant Limberg
d719137565
temp workaround for oidc auth dropping issue
...
Add a method to "kick" the refresh thread and re-post the tokens in the case where the thread is somehow still running & controller pushes out an AUTH_REQUIRED. This situation happens in a corner case still under investigation where the controller pushes out many copies of the network config repeatedly
2022-01-20 09:44:56 -08:00
Adam Ierymenko
58aba96494
Mac Rust build fix.
2022-01-20 11:16:26 -05:00
Adam Ierymenko
f8d7796099
Merge branch 'zeroidc' into dev
2022-01-20 10:43:37 -05:00
Adam Ierymenko
241c41267b
Merge branch 'master' into dev
2022-01-20 08:23:12 -05:00
Adam Ierymenko
2ac1ff9be2
Merge pull request #1451 from channelbeta/update-pgp-url
...
Update PGP keyserver URL
2022-01-20 08:22:52 -05:00
Adam Ierymenko
cb31b3987f
Merge pull request #1539 from khng300/getdefaultgateway-rtm-fix
...
ext/libnatpmp: Set sa_len properly in getdefaultgateway()
2022-01-20 08:21:24 -05:00
Adam Ierymenko
c256398095
Merge pull request #1541 from khng300/fbsd-osdep-PortMapper
...
Build osdep/PortMapper on FreeBSD
2022-01-20 08:21:08 -05:00
Ka Ho Ng
7bb8703bf9
Build osdep/PortMapper on FreeBSD
...
This enables NAT-PMP and UPnP supports on FreeBSD.
2022-01-12 13:52:46 -05:00
Sean OMeara
0da00bf546
Merge pull request #1535 from zerotier/linux-route-metric
...
Set a high metric on linux routes that have a via.
2022-01-12 18:41:54 +01:00
Sean OMeara
4866490cdf
Merge pull request #1533 from zerotier/tl-linux-route-if
...
Prevent adding routes to non-zerotier interfaces in rare cases.
2022-01-12 18:41:45 +01:00
Grant Limberg
1547b1a581
Merge branch 'zeroidc' into central-controller
...
# Conflicts:
# node/NetworkConfig.cpp
# node/NetworkConfig.hpp
2022-01-11 12:09:57 -08:00
Ka Ho Ng
511c77aa99
ext/libnatpmp: Set sa_len properly in getdefaultgateway()
...
In USE_SOCKET_ROUTE's implementation, sa_len of the sockaddrs need to be
set as well.
Sponsored by: The FreeBSD Foundation
2022-01-10 20:42:34 -05:00
Travis LaDuke
692a0e7ac2
Set a high metric on linux routes that have a via.
...
See issue #750 .
zerotier doesn't currently set a metric on routes. Linux
takes this to mean "0", the highest priority.
Every comment in the issue is about routing between zerotier
and lan and how they conflict.
This quick change could fix this problem for most people.
The subnet route for the zerotier network, the one with no
via, is still 0 in this patch. Just the "via" routes get
higher metrics.
If for some reason, you needed your via routes to have
higher priority, you could use a prefix work-around:
192.168.1.0/25 via 10.147.17.1
192.168.1.128/25 via 10.147.17.1
2022-01-07 13:10:36 -08:00
Travis LaDuke
fa25b45198
Keep interface name on via routes on linux
...
See issue #1498
2022-01-07 11:58:42 -08:00
Grant Limberg
cdd25c389e
Merge branch 'dev' into zeroidc
2022-01-06 14:55:40 -08:00
Grant Limberg
133a6ff7b3
fix env var
2022-01-06 14:55:20 -08:00
Grant Limberg
96add0ba65
Merge branch 'dev' into zeroidc
2022-01-06 14:54:09 -08:00
Grant Limberg
f5096a1f26
add wait for docker in controller startup script
2022-01-06 14:51:56 -08:00
Grant Limberg
3d4d087f07
make some impl functions pub
2022-01-05 15:43:45 -08:00
Grant Limberg
953e62f103
Clean up some extraneous output in release mode
2022-01-05 11:55:47 -08:00
Grant Limberg
084727c54a
link zeroidc to selftest
2022-01-05 11:55:25 -08:00
Grant Limberg
8ea192fcab
update dependency specs
2022-01-05 08:44:01 -08:00
Grant Limberg
dceba1f2f1
Merge branch 'dev' into zeroidc
2022-01-05 08:35:15 -08:00
Grant Limberg
73878fbdc4
Merge pull request #1531 from StephenCWills/mingw32-disable-salsasse
...
Disable Salsa20 SSE on MinGW 32-bit compiler
2022-01-04 17:42:40 -08:00
staphen
87d17088cc
Disable Salsa20 SSE on MinGW 32-bit compiler
2022-01-04 20:39:08 -05:00
Grant Limberg
cc6c48fca8
Merge pull request #1525 from StephenCWills/lowercase-windows-headers
...
Use lowercase when including Windows headers
2022-01-04 17:11:51 -08:00
Grant Limberg
e556a2ee23
Merge pull request #1528 from StephenCWills/android-miniupnpc
...
[Android] Fix include for miniupnpc
2022-01-04 16:56:05 -08:00
Grant Limberg
50b866c5cf
clean up & pass along errors from ZeroIDC::new() method
2022-01-03 17:25:30 -08:00
staphen
f83eed9ef9
[Android] Fix include for miniupnpc
2022-01-03 12:15:21 -05:00
Grant Limberg
cb9313a454
Merge branch 'dev' into zeroidc
2022-01-03 08:37:10 -08:00
Grant Limberg
cf411efd1d
a little cleanup
2022-01-03 08:36:16 -08:00
staphen
1c956494a4
Use lowercase when including Windows headers
2021-12-29 16:29:08 -05:00
Adam Ierymenko
dbe3aa1efc
Merge branch 'master' into dev
2021-12-17 17:41:03 -05:00
Adam Ierymenko
4128d80974
1.8.5 version bump.
2021-12-17 17:40:00 -05:00
Grant Limberg
057356a725
Just some comments
2021-12-16 22:07:17 -08:00
Grant Limberg
a69e91c541
Fix hash verification on refresh
2021-12-16 19:49:15 -08:00
Grant Limberg
8fccf3136c
Enable validation of token hashes as part of the oidc process
2021-12-16 18:44:36 -08:00
Grant Limberg
2435ab70ab
remove some extra verbose logging
...
... and baby you got a full flow goin on
2021-12-16 12:37:22 -08:00
Grant Limberg
f489862500
update final page text a smidge
2021-12-16 12:20:31 -08:00
Grant Limberg
2642fa1ee2
Return HTML instead of blank page when auth is successful!
2021-12-16 12:06:16 -08:00
Grant Limberg
2293b0703f
Can get Central JSON bundle back to zerotier-one window
2021-12-16 11:37:58 -08:00
Grant Limberg
1375e3e2f5
allow debug & release builds of Rust
2021-12-15 15:53:48 -08:00
Grant Limberg
0ab5cce878
TIL: Its not as hard as I thought to make Rust deadlock
2021-12-15 14:37:06 -08:00
Grant Limberg
b567e91f68
fix
2021-12-15 14:36:50 -08:00
Grant Limberg
eee31605b1
Merge branch 'dev' into zeroidc
2021-12-15 14:17:26 -08:00
Grant Limberg
df9a7497b1
refactor out the separate AuthInfo struct
...
consolidated everything into the single IDC struct. Should help keep from rotating the pkce token as often & causing issues with the login window flapping
2021-12-15 14:16:17 -08:00
Joseph Henry
c6adb6df12
Merge pull request #1513 from andrejbinder/dev
2021-12-15 13:25:12 -08:00
Andrej Binder
aeec7dae36
Prevent arithmetic error on interface change.
2021-12-15 22:22:02 +01:00
Adam Ierymenko
fa58909d44
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-12-15 12:32:41 -05:00
Adam Ierymenko
06ed114fb6
Release notes and GitHub issue #1512
2021-12-15 12:32:28 -05:00
Joseph Henry
bdef9d3bd7
Fix situation where too many ECHOs are sent to multipath peer
2021-12-14 21:20:58 -08:00
Joseph Henry
b154b7296c
Improve multipath logging output
2021-12-14 21:13:19 -08:00
Joseph Henry
8019f13479
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2021-12-14 15:31:29 -08:00
Joseph Henry
1c6fd4125d
Fix custom policy parsing bug mentioned in issue #1507
2021-12-14 11:49:43 -08:00
Travis LaDuke
1f99f1d5f4
Merge pull request #1488 from zerotier/macos-ipv6-config
...
Convince macOS to do ipv6 dns lookups
2021-12-14 08:54:45 -08:00
Sean OMeara
30c77cfee5
Merge pull request #1510 from zerotier/nolint
...
removing commit linter
2021-12-13 21:35:36 +01:00
Travis LaDuke
afdc91f21f
Convince macOS to do ipv6 dns lookups
...
Puts a value into System Config, similar to how DNS push works.
closes #1466
https://apple.stackexchange.com/questions/309430/ipv6-dns-resolution-on-macos-high-sierra
2021-12-13 12:34:41 -08:00
Sean OMeara
3470c5314d
removing commit linter
2021-12-13 21:25:17 +01:00
Adam Ierymenko
f0e824416b
Merge pull request #1509 from zerotier/dev-antiflap
...
Proposed fix for "path amnesia"
2021-12-13 15:17:40 -05:00
Joseph Henry
52ff67fb2c
Merge pull request #1504 from capruro/patch-1
...
Version bump to 1.8.4
2021-12-13 11:56:51 -08:00
Joseph Henry
e9375b50b0
Prevent path-amnesia
2021-12-13 11:54:23 -08:00
Joseph Henry
1f43a736b2
Fix active-backup path selection bug
2021-12-09 13:43:52 -08:00
Joseph Henry
05a0a20197
Fix multipath flow reallocation. Prevent allocation to dead paths
2021-12-08 14:32:58 -08:00
Grant Limberg
2ee595553a
Merge branch 'dev' into zeroidc
2021-12-08 12:35:36 -08:00
Grant Limberg
2d4fe9e6d0
Get oidc lib compiled into main binary on Windows
2021-12-08 12:14:15 -08:00
Grant Limberg
dc12bde068
add vs makefile project to build oidc rust library
2021-12-08 09:49:29 -08:00
Grant Limberg
b3fbbd3124
refresh tokens now working
...
Still investigating the best way to do a couple things, but we have something working
2021-12-07 16:29:50 -08:00
Joseph Henry
983336911c
Remove obsolete documentation
2021-12-07 09:14:54 -08:00
Grant Limberg
48b39ab005
removing comments
2021-12-03 17:46:37 -08:00
Grant Limberg
5095d73de3
moar better error handling
2021-12-03 16:32:27 -08:00
Grant Limberg
1192b1b422
refresh token run loop
...
Need central-side work to complete
2021-12-03 15:44:04 -08:00
Grant Limberg
43c528fdb6
Get expiry time out of access token & propagate
2021-12-03 11:32:29 -08:00
Grant Limberg
da4b9922d4
Merge branch 'dev' into zeroidc
2021-12-03 09:58:04 -08:00
Grant Limberg
7a8c89be9d
Post ID token to Central
2021-12-03 09:57:39 -08:00
capruro
3b37db1a36
Version bump to 1.8.4
2021-12-03 14:30:05 +01:00
Joseph Henry
5ae0f9d03f
Add a few more Snap targets to Linux makefile
2021-12-02 10:54:43 -08:00
Joseph Henry
1dd1bf8bac
Add Snap targets to Linux makefile
2021-12-02 10:07:41 -08:00
Grant Limberg
8966002685
Merge branch 'dev' into zeroidc
2021-12-01 16:59:06 -08:00
Grant Limberg
4ce810b421
On our way to processing tokens
2021-12-01 16:57:18 -08:00
Grant Limberg
730482e62f
encode network ID into sso state param
2021-12-01 15:02:21 -08:00
Adam Ierymenko
eac56a2e25
Build fix in ARM flags for Snap builds.
2021-12-01 17:27:55 -05:00
Adam Ierymenko
5c3a2357ef
VERSION 1.8.4
2021-12-01 17:01:57 -05:00
Grant Limberg
663a09b38d
oidc stuff coming across the wire properly and generating a working login URL
2021-12-01 13:01:32 -08:00
Grant Limberg
eaccce743f
moar plumbing progress
2021-12-01 12:07:05 -08:00
Grant Limberg
7cce23ae79
wip
2021-12-01 10:44:29 -08:00
Grant Limberg
73c186b111
add network_id extra param to auth flow
2021-12-01 09:27:30 -08:00
Adam Ierymenko
5ce0019ee5
ARM wrestling.
2021-12-01 10:40:01 -05:00
Grant Limberg
ca8d315924
Merge branch 'dev' into zeroidc
2021-11-30 18:42:45 -08:00
Grant Limberg
dfdac7adbd
iomanip
2021-11-30 17:31:46 -08:00
Grant Limberg
a33d7c64fe
more fixin
2021-11-30 17:27:13 -08:00
Adam Ierymenko
e37c9055b3
ARM flags
2021-11-30 19:54:17 -05:00
Grant Limberg
d15516f0ef
query fix & controller build fix
2021-11-30 16:18:34 -08:00
Grant Limberg
4a1d6f4cc8
get central controller docker builds working again
2021-11-30 15:22:31 -08:00
Grant Limberg
6393a4beec
progress
2021-11-30 14:22:25 -08:00
Adam Ierymenko
06125c48bc
Another build speedup.
2021-11-30 15:35:18 -05:00
Adam Ierymenko
8cda04cc98
Use nproc to get the number of cores on Linux to speed up bounds.
2021-11-30 13:14:38 -05:00
Adam Ierymenko
f20b7e8cee
ARM32 flags update.
2021-11-30 12:35:22 -05:00
Adam Ierymenko
19dded141a
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-11-30 12:27:15 -05:00
Adam Ierymenko
d19cf1eaac
Merge branch 'dev' of http://10.95.0.64/zerotier/ZeroTierOne into dev
2021-11-30 09:10:14 -05:00
Adam Ierymenko
d6b00bcd40
Fix Windows 32-bit installation.
2021-11-30 09:10:07 -05:00
Joseph Henry
1b1fe61fd0
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2021-11-29 19:44:51 -08:00
Joseph Henry
3bce783cbc
Add minor help tip to Snap instructions
2021-11-29 19:44:34 -08:00
Adam Ierymenko
5966f7d9d2
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-11-29 22:03:58 -05:00
Adam Ierymenko
aed0b4941f
GUID bump for Windows
2021-11-29 22:03:40 -05:00
Grant Limberg
9ef75c0e13
Merge branch 'dev' into zeroidc
2021-11-29 14:12:10 -08:00
Grant Limberg
5f548705dd
lots more refactoring
2021-11-29 14:11:29 -08:00
Joseph Henry
39d3c8402e
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2021-11-26 11:00:48 -08:00
Joseph Henry
5cb6265547
Re-word Snap package description
2021-11-26 10:59:42 -08:00
Adam Ierymenko
03dd537ea4
1.8.4 in Windows
2021-11-23 17:36:24 -05:00
Adam Ierymenko
4af8f1bf03
1.8.4 🦃
2021-11-23 16:39:20 -05:00
Adam Ierymenko
ae8df648d5
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-11-23 15:44:54 -05:00
Adam Ierymenko
5e24166318
Remove unused but shipped curl dependency in ext/
2021-11-23 15:44:08 -05:00
Joseph Henry
4e10b4e017
Modify snap command aliases
2021-11-19 08:16:14 -08:00
Grant Limberg
87fdd644d4
cleanup some ifdef'd things
2021-11-18 13:36:09 -08:00
Grant Limberg
2e356613ec
Refactor NetworkState into object with accessor methods
2021-11-18 12:39:55 -08:00
Grant Limberg
91e9b736dd
make service objs dependent on zeroidc
2021-11-18 10:42:12 -08:00
Adam Ierymenko
7f4cc1a239
VERSION 1.8.3
2021-11-16 13:27:27 -05:00
Adam Ierymenko
3e3d46e72e
Windows 1.8.3
2021-11-16 12:04:10 -05:00
Adam Ierymenko
460c2552a8
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2021-11-16 11:24:08 -05:00
Adam Ierymenko
1a7fb83882
Release notes.
2021-11-16 11:23:57 -05:00
Adam Ierymenko
dfac6303bc
Version bump (all but Windows) and limit .pkg to MacOS 10.13
2021-11-15 19:55:58 -05:00
Adam Ierymenko
8b77a93d60
release notes
2021-11-15 19:51:56 -05:00
Adam Ierymenko
fabfb10b97
Remove managed routes in destructor (regression fix).
2021-11-15 19:48:07 -05:00
Adam Ierymenko
65549cb0da
Fix the FD leak fix, and release notes.
2021-11-15 18:27:14 -05:00
Adam Ierymenko
bee137c6d9
Set shell for ZeroTier service user account on Debian to /usr/sbin/nologin for GitHub issue #1492
2021-11-15 17:27:16 -05:00
Adam Ierymenko
a2a7122da9
release notes
2021-11-15 17:18:04 -05:00
Adam Ierymenko
0e798222a7
Fix FD leak on MacOS.
2021-11-15 17:17:05 -05:00
Adam Ierymenko
c890f1762a
This code is obsolete but remove vfork anyway.
2021-11-15 14:09:52 -05:00
Adam Ierymenko
ea4d7ae92f
Add spinlock removal to release notes.
2021-11-15 12:16:22 -05:00
Adam Ierymenko
1ef385b685
Spinlock removed, causes long standing issues on single core machines.
2021-11-12 16:44:54 -05:00
Grant Limberg
0875fb5fe0
have this make an rlib too for the future
2021-11-11 16:29:14 -08:00
Grant Limberg
b5186f7293
Merge branch 'dev' into zeroidc
...
# Conflicts:
# .gitignore
2021-11-11 16:20:43 -08:00
Grant Limberg
fa21fdc1cc
rename stuff for clarity
...
authenticationURL will still be used by the client for v1 and v2 of sso
2021-11-11 16:19:26 -08:00
Joseph Henry
3f4cd7f5a2
Merge pull request #1489 from capruro/master
...
removing source-type from snapcraft
2021-11-11 13:53:43 -08:00
Adam Ierymenko
272fb2ca96
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-11-10 22:19:59 -05:00
Adam Ierymenko
a7116bc971
VERSION 1.8.2
2021-11-10 22:19:11 -05:00
Adam Ierymenko
502cbc2175
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2021-11-10 22:18:48 -05:00
Adam Ierymenko
953d22de14
VERSION 1.8.2
2021-11-10 22:18:35 -05:00
Adam Ierymenko
cacfc294d9
Windows package version bump and PATH fix.
2021-11-10 20:04:36 -05:00
capruro
f8ca7002c2
removing source-type
...
Unnecessary
2021-11-10 23:15:41 +01:00
Joseph Henry
6c728313f5
Merge branch 'master' into dev
2021-11-10 13:09:56 -08:00
Joseph Henry
1a2dc67702
Merge pull request #1487 from capruro/master
...
Adding snapcraft
2021-11-10 13:07:07 -08:00
capruro
f7dbd050af
snapcraft
2021-11-09 19:33:11 +01:00
Adam Ierymenko
c16b03c8b8
Set MAC address twice, once before and once after bringing interface up, since different kernels behave differently (Linux).
2021-11-09 13:28:15 -05:00
Adam Ierymenko
357e1aca54
Likely MAC fix for Linux.
2021-11-09 13:24:03 -05:00
Adam Ierymenko
c15890b4db
Version bump to 1.8.2.
2021-11-09 09:31:52 -05:00
Grant Limberg
f268237372
add FORCE tag to cargo step
2021-11-08 09:32:15 -08:00
Grant Limberg
4d021e16a5
update field lengths
2021-11-08 09:30:13 -08:00
Joseph Henry
62ce6e6a60
Disable faster x64 crypto mode for IA32 builds
2021-11-05 19:38:11 -07:00
Joseph Henry
c7109c646a
Add IA32 build flag
2021-11-05 16:52:16 -07:00
Grant Limberg
43433cdb5a
integrate rust build of zeroidc to linux
2021-11-04 17:16:23 -07:00
Grant Limberg
8d39c9a861
plumbing full flow from controller -> client network
2021-11-04 15:40:08 -07:00
Grant Limberg
f8bf91426b
.
2021-11-02 16:30:09 -07:00
Grant Limberg
f7934972ea
gitignore
2021-11-02 15:56:40 -07:00
Grant Limberg
4cadfd736f
move ffi code into its own file
2021-11-02 15:55:26 -07:00
Grant Limberg
c46309ea8a
Merge pull request #1478 from zerotier/fix-linux-multicast
...
Fix multicast flag on linux interfaces.
2021-11-02 11:38:33 -07:00
Travis LaDuke
37f26beb50
Fix multicast flag on linux interfaces.
...
When we re-ordered the way the interfaces come up, this flag
stopped getting set automatically.
see 9374e45449
and github issue #1477
2021-11-02 11:28:13 -07:00
Grant Limberg
1c7a5439d5
expose AuthInfo struct to external code
...
also get the auth URL
2021-10-29 16:04:19 -07:00
Grant Limberg
ebc4c898ff
pass in csrf token & nonce (generated externally)
2021-10-29 15:43:39 -07:00
Grant Limberg
56cf874d99
slow progress
2021-10-29 15:31:23 -07:00
Grant Limberg
079ff50622
Merge branch 'dev' into zeroidc
2021-10-29 09:44:11 -07:00
Grant Limberg
31888f5ef8
provide issuer URL, client ID and local web port to constructor
...
also construct the oidc client
2021-10-29 09:43:14 -07:00
Grant Limberg
7a626abf15
remove BondController.cpp from android makefile
2021-10-28 12:37:36 -07:00
Adam Ierymenko
3c7bd65bc9
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2021-10-28 14:46:58 -04:00
Adam Ierymenko
01bf3b8245
1.8.1 merge of changes in master
2021-10-28 14:46:38 -04:00
Adam Ierymenko
a6c1998c81
VERSION 1.8.1 -- see RELEASE-NOTES.md
2021-10-28 14:24:27 -04:00
Grant Limberg
0069b1bac3
we can start & stop a thread. so that's nice.
2021-10-28 09:29:33 -07:00
Adam Ierymenko
25c5cad1d1
Advanced Installer for Windows.
2021-10-28 08:52:31 -04:00
Grant Limberg
c689c0bd8c
integrate with mac build system and add skeleton
2021-10-27 17:09:01 -07:00
Grant Limberg
271dfc0d2b
initial rust oidc lib
2021-10-27 16:11:06 -07:00
Grant Limberg
0032df3bf1
Merge branch 'dev' into zeroidc
2021-10-27 15:02:46 -07:00
Grant Limberg
993e58773a
needed in 2 more spots
2021-10-27 14:58:17 -07:00
Grant Limberg
8f4c038e23
fix ifdef
...
wasn't running IPv6 temporary address detection for binding
2021-10-27 14:48:07 -07:00
Adam Ierymenko
81f2c57656
Properly launch the app on post-install restart.
2021-10-27 16:17:57 -04:00
Adam Ierymenko
594853e251
Remove deprecated vfork call on Mac, and make Mac route application more robust.
2021-10-26 22:15:06 -04:00
Adam Ierymenko
cce8411c22
Make debian parallelism sane.
2021-10-20 20:51:01 -07:00
Adam Ierymenko
786906b0f7
Version bump to 1.8.1
2021-10-20 19:33:32 -07:00
Adam Ierymenko
aed37a391d
Windows installer updates for 1.8, install dependencies.
2021-10-20 21:33:20 -04:00
Joseph Henry
cc6de583be
Prevent balance-xor from de-allocating from bad paths
2021-10-20 10:48:07 -07:00
Joseph Henry
b277e04efa
Remove vestigial bonding parameters
2021-10-18 20:52:49 -07:00
Grant Limberg
95032cc74d
add sso version to network config object
2021-10-14 11:40:48 -07:00
Grant Limberg
3818351287
use pqxx::pipeline for online update thread
2021-10-06 09:39:30 -07:00
Grant Limberg
4d26b5a868
no reason for this to be a pointer
2021-10-05 17:02:50 -07:00
Grant Limberg
ac0dc7844f
rework commit thread & some connection pool borrowing issues
2021-10-05 09:25:24 -07:00
Grant Limberg
27e3597d5e
Merge branch 'dev' into central-controller
2021-10-01 11:30:23 -07:00
Joseph Henry
9e8de2a702
Compilation fix
2021-10-01 11:19:04 -07:00
Joseph Henry
165757176a
Potential fix fro deadlock bug
2021-10-01 11:11:20 -07:00
Grant Limberg
a411b83a65
remove strip calls from linux makefile
2021-10-01 09:05:35 -07:00
rjsocha
12900d914a
Merge branch 'zerotier:master' into win-service-description
2021-09-29 15:47:55 +02:00
Sean OMeara
190e9464ce
adding commit message linter
2021-09-28 17:15:44 +02:00
Sean OMeara
57dd26baa9
adding commit linter
2021-09-28 17:06:50 +02:00
Adam Ierymenko
19f3a97a8d
More reverting of dumb PR
2021-09-23 19:02:38 -04:00
Adam Ierymenko
375e5ee7dd
Revert stupid spam PR AGAIN
2021-09-23 18:59:48 -04:00
Grant Limberg
05df378dce
clear variables between gets for dump
2021-09-22 16:13:54 -07:00
Adam Ierymenko
f1efea6800
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2021-09-22 13:26:45 -04:00
Adam Ierymenko
eb1cafcd01
Windows installer.
2021-09-22 10:43:53 -04:00
Adam Ierymenko
81de6d2dfa
Merge branch 'dev' of http://10.95.0.64/zerotier/ZeroTierOne into dev
2021-09-22 10:31:17 -04:00
Adam Ierymenko
9e38c31b64
Windows installer fun.
2021-09-22 10:31:07 -04:00
Adam Ierymenko
7d1f447458
Build fix.
2021-09-22 09:20:53 -04:00
Adam Ierymenko
1b66a1cd2f
Version bump.
2021-09-21 14:26:00 -04:00
Adam Ierymenko
eabe091038
Backport only the COM mitigation instead of everything from 1.8
2021-09-21 14:14:34 -04:00
Adam Ierymenko
b403f106fb
Revert "Use a faster method of fingerprinting identities."
...
This reverts commit b72e5e8386 .
2021-09-21 09:57:08 -07:00
Adam Ierymenko
75a45eeb27
Revert "Backport guts of 1.8 to 1.6 tree so we can point release without waiting for UI quirks to be fixed."
...
This reverts commit 48ce7632fa .
2021-09-21 11:51:26 -04:00
Adam Ierymenko
452b1e806b
Revert "Version bump, backport one more fix."
...
This reverts commit 9f9a870399 .
2021-09-21 11:51:10 -04:00
Adam Ierymenko
9f9a870399
Version bump, backport one more fix.
2021-09-21 11:31:25 -04:00
Adam Ierymenko
48ce7632fa
Backport guts of 1.8 to 1.6 tree so we can point release without waiting for UI quirks to be fixed.
2021-09-21 11:20:15 -04:00
Adam Ierymenko
30d5d5a892
Revert "Don't assume roots validated the identity, just in case they did not."
...
This reverts commit 39b97f9163 .
2021-09-20 19:27:01 -07:00
Adam Ierymenko
9bc79f94df
Revert "Don't assume roots validated the identity, just in case they did not."
...
This reverts commit 39b97f9163 .
2021-09-20 22:05:49 -04:00
Adam Ierymenko
a0239e17e9
Revert "Use a faster method of fingerprinting identities."
...
This reverts commit b72e5e8386 .
2021-09-20 22:05:39 -04:00
Adam Ierymenko
c8a58b4b04
Use a faster method of fingerprinting identities.
2021-09-20 17:05:23 -07:00
Adam Ierymenko
b72e5e8386
Use a faster method of fingerprinting identities.
2021-09-20 20:02:39 -04:00
Adam Ierymenko
565885a4c0
Remove ancient controller support.
...
# Conflicts:
# RELEASE-NOTES.md
2021-09-20 15:41:57 -07:00
Adam Ierymenko
134d33c218
Add a bit of hardening in the network certificate of membership by incorporating a full hash of the identity to which it is issued. This means the recipient need not depend entirely on the root verifying identities properly to make sure impersonation is not occurring.
2021-09-20 15:40:55 -07:00
Adam Ierymenko
9cfb807fcb
Don't assume roots validated the identity, just in case they did not.
2021-09-20 15:40:44 -07:00
Grant Limberg
46adc1f059
ifdef this out
2021-09-20 15:39:53 -07:00
Grant Limberg
9002555596
ensure count > 0
2021-09-20 15:39:44 -07:00
Grant Limberg
3b375b55c2
fix central docker launch without redis
2021-09-20 15:39:14 -07:00
Adam Ierymenko
3f49570f45
Remove ancient controller support.
2021-09-20 18:38:29 -04:00
Adam Ierymenko
7c3166e9be
Add a bit of hardening in the network certificate of membership by incorporating a full hash of the identity to which it is issued. This means the recipient need not depend entirely on the root verifying identities properly to make sure impersonation is not occurring.
2021-09-20 18:26:49 -04:00
Adam Ierymenko
39b97f9163
Don't assume roots validated the identity, just in case they did not.
2021-09-20 16:15:59 -04:00
channelbeta
af79be5002
Update PGP keyserver URL
2021-09-20 13:51:41 -03:00
Grant Limberg
a20a290836
ifdef this out
2021-09-15 15:27:29 -07:00
Adam Ierymenko
e822463916
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-09-15 13:31:22 -04:00
Adam Ierymenko
d2c3ea6901
Another route fix on BSD.
2021-09-15 13:31:18 -04:00
Grant Limberg
83265768c1
ensure count > 0
2021-09-15 09:45:10 -07:00
Grant Limberg
27ce787fbd
fix central docker launch without redis
2021-09-15 09:21:41 -07:00
Adam Ierymenko
9c6ec2c52e
Version bump.
2021-09-15 11:55:07 -04:00
Adam Ierymenko
3a4425fd4e
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-09-15 11:51:09 -04:00
Adam Ierymenko
6bb1598fa3
Another fix for routing and interface issues on MacOS
2021-09-15 11:50:54 -04:00
Sean OMeara
4eb6a4286e
using json.hpp 3.10.2
2021-09-15 08:21:45 +02:00
Sean OMeara
a9942ca412
more RELEASE-NOTES
2021-09-15 08:12:25 +02:00
Joseph Henry
8d21ae9813
Merge branch 'dev' of https://github.com/zerotier/zerotierone into dev
2021-09-10 13:26:54 -07:00
Joseph Henry
ff8044f0c0
Improve multipath startup time
2021-09-10 13:26:29 -07:00
Adam Ierymenko
1b8917a57c
Fix for MacOS interface setup and config timing bugs.
2021-09-09 09:30:48 -04:00
Adam Ierymenko
a91c49fa52
Advanced installer changes and build fixes for Windows.
2021-09-08 17:51:42 -04:00
Joseph Henry
e607348c7e
Fix bad index bug (during switching) in balance-rr
2021-09-07 21:41:54 -07:00
Joseph Henry
b6ed919fbc
Call recordOutgoingPacket regardless of policy to generate sufficient entropy for bond layer
2021-09-07 13:44:02 -07:00
Joseph Henry
109252be4e
Remove debug trace
2021-09-06 20:13:13 -07:00
Joseph Henry
a4b98518e3
Nominate newly-learned paths to bond
2021-09-06 15:29:03 -07:00
Grant Limberg
c3a42bf590
remove heartbeat log
2021-09-02 16:46:42 -07:00
Grant Limberg
8b95afa96a
logging
2021-09-02 16:32:40 -07:00
Grant Limberg
6a49a766ca
logging
2021-09-02 16:22:59 -07:00
Adam Ierymenko
932584f8fc
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-09-02 17:56:18 -04:00
Adam Ierymenko
d7ba2957cd
Tear down routes before devices when leaving a network or shutting down.
2021-09-02 17:56:06 -04:00
Grant Limberg
16ff14bda7
identify controller in pool stats
2021-09-02 13:48:08 -07:00
Grant Limberg
57c1d96b71
math
2021-09-02 12:48:49 -07:00
Grant Limberg
40f376e2b9
print db pool stats periodically
2021-09-02 12:45:26 -07:00
Adam Ierymenko
1a1d7d9ada
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-09-02 15:23:38 -04:00
Adam Ierymenko
d1c88971ae
Possible Mac route borking fix.
2021-09-02 15:23:26 -04:00
Grant Limberg
dc61f78916
set psql application_name in startup script
2021-09-02 11:24:07 -07:00
Grant Limberg
a2ffe8c05e
dont generate nonce for deleted members
2021-09-02 11:24:04 -07:00
Joseph Henry
e1af003e4f
Consolidation of multipath logic. Better system separation
2021-09-01 21:37:49 -07:00
Adam Ierymenko
19391858d4
Version 1.7.2, almost 1.8.0
2021-09-01 22:01:41 -04:00
Adam Ierymenko
5005244d1b
Mac install fixes, remove obsolete stuff, and write local.conf via API for new UI integration.
2021-09-01 21:55:54 -04:00
Joseph Henry
15380cfc14
Merge pull request #1400 from rollcat/openbsd
...
Use clang on OpenBSD
2021-09-01 14:08:23 -07:00
Adam Ierymenko
11b352458e
Pick a new random secondary port if we are offline for more than path-timeout seconds (COMA problem workaround).
2021-08-31 16:47:00 -04:00
Joseph Henry
b6680b18e7
Merge pull request #1304 from skunkwerks/dev
...
BSD: add debug fprintf for all external commands
2021-08-30 10:11:53 -07:00
Adam Ierymenko
ec4c2aa12f
versions
2021-08-26 11:13:13 -04:00
Adam Ierymenko
0e8c43cfdd
Merge branch 'dev' of http://10.95.0.64/zerotier/ZeroTierOne into dev
2021-08-23 11:58:06 -04:00
Adam Ierymenko
958420ee44
Fix Windows slowness on API query bug.
2021-08-23 11:58:02 -04:00
Adam Ierymenko
2d8a54f05d
Version bump -- still pre1.8
2021-08-23 11:57:12 -04:00
Grant Limberg
d0f4cfe6b4
print load status messages a little less often now that things go brrrrrrrrr
2021-08-20 10:34:00 -07:00
Grant Limberg
3ec23f92ec
helps to add part of the query
2021-08-20 10:30:37 -07:00
Grant Limberg
6baac1b4e0
more query optimizations
2021-08-20 10:27:45 -07:00
Grant Limberg
1d8b8d8e9c
optimize the controller build & ship workflow a bit
2021-08-20 09:22:44 -07:00
Grant Limberg
50b0b2e2e9
query optimization
2021-08-19 17:55:30 -07:00
Grant Limberg
20721491e8
kill some noisy logs
2021-08-19 13:03:56 -07:00
Grant Limberg
eec46a137e
optimize data loading from psql on startup
2021-08-19 12:44:02 -07:00
Grant Limberg
9eae444104
kill some verbose logs
2021-08-19 09:21:52 -07:00
Adam Ierymenko
576b4f03a5
Adjust deauth time window and send revocation when SSO members expire.
2021-08-18 12:17:40 -04:00
Adam Ierymenko
2d0f76bb9c
Make desktop UI project when making official release.
2021-08-13 21:40:22 -04:00
Adam Ierymenko
6492f4487b
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2021-08-13 15:12:23 -04:00
Adam Ierymenko
126669b718
MTU fix
2021-08-13 15:12:07 -04:00
Adam Ierymenko
6fd45c1f9d
Throw old WinUI in attic
2021-08-12 18:51:45 -04:00
Adam Ierymenko
4eb3b762d4
MacOS pkg update to reference DesktopUI project and add hostArchitecture flags to not require Rosetta even though the binaries are multiarch.
2021-08-11 15:05:51 -04:00
Adam Ierymenko
f24afca1ba
Put old school MacUI in the attic.
2021-08-11 13:19:49 -04:00
Adam Ierymenko
461810b06a
Move return so record gets created before URL.
2021-08-10 11:22:29 -04:00
Grant Limberg
20050662b2
Merge pull request #1430 from zerotier/mac-managed-route-issue-1104
...
Don't use v6 source addresses for v4 routes
2021-08-04 13:14:10 -07:00
Joseph Henry
2053415418
Fix erroneous listpeers last send and receive values
2021-08-04 12:16:26 -07:00
Grant Limberg
613d7b5ece
fix backwards logic
2021-08-04 09:16:04 -07:00
Travis LaDuke
db29c3ac13
Don't use v6 source addresses for v4 routes
...
and vice versa.
For issue #1104
With some printf debugging, I was seeing:
here, src fe80::3c7a:2dff:fe0c:21ed, target 10.147.20.0, matchingPrefixBits 0, mostMatchingPrefixBits 0
here, src fd8b:d512:4fd6:255:3c99:932f:2fda:6eff, target 10.147.20.0, matchingPrefixBits 0, mostMatchingPrefixBits 0
and (matchingPrefixBits >= mostMatchingPrefixBits) would be true
Then on mac, somewhere downstream from there, the default route would
get messed up:
default via 92:29:f1:6f:2f:76 dev en0
2021-08-03 16:21:18 -07:00
Adam Ierymenko
c101d71d7c
Tweak auth timeout notify.
2021-07-30 18:44:34 -04:00
Adam Ierymenko
63a44c9268
Fix feth max MTU sysctl.
2021-07-30 18:44:23 -04:00
Grant Limberg
5623a0b420
fix central controller build from linux
2021-07-27 10:18:48 -07:00
Adam Ierymenko
663e748b8d
Deauth expiring members right away.
2021-07-26 23:45:18 -04:00
Adam Ierymenko
0cf62d334d
Remove pointless check.
2021-07-26 13:38:35 -04:00
Adam Ierymenko
0872012cd9
small fix
2021-07-26 13:11:01 -04:00
Adam Ierymenko
c2d8fe46d5
About ready to test notify of SSO timeout...
2021-07-23 19:20:10 -04:00
Adam Ierymenko
0310bfa3e3
Include authentication URL in config
2021-07-23 19:17:42 -04:00
Adam Ierymenko
efe0e8aa7b
Notification of about-to-expire status... almost there.
2021-07-23 19:05:59 -04:00
Adam Ierymenko
5c7e51feaf
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-07-23 18:49:05 -04:00
Adam Ierymenko
34de579c91
Handling of soon-to-expire members
2021-07-23 18:49:00 -04:00
Joseph Henry
0ed9db05d2
Restore original ECHO rate limiting (changed for multipath)
2021-07-20 19:06:47 -07:00
Travis LaDuke
46387e2f2b
Minor Readme updates
...
People with support issues still commonly say "9993 is open. why doesn't
work?"
Trying to improve this across all of our docs.
2021-07-16 15:17:54 -07:00
Travis LaDuke
8913f13b36
Add website links to top of readme
2021-07-16 14:46:53 -07:00
Travis LaDuke
e5007f1290
Delete outdated
2021-07-16 14:20:43 -07:00
Travis LaDuke
740c77a488
Add more help for local.conf
2021-07-16 14:20:30 -07:00
Grant Limberg
73ddea8864
use network ID, not controller ID for looking up network data
2021-07-06 14:15:01 -07:00
Grant Limberg
10215af96d
whoops
2021-07-06 13:18:08 -07:00
Grant Limberg
e67fee0264
debug logging
2021-07-06 13:08:21 -07:00
Grant Limberg
5ece4f734a
fix error message
2021-07-06 13:08:16 -07:00
Travis LaDuke
27409b615a
Merge branch 'thoradia-bind' into dev
2021-06-29 11:44:35 -07:00
Travis LaDuke
8866fbd618
Merge branch 'bind' of https://github.com/thoradia/ZeroTierOne into thoradia-bind
2021-06-29 11:22:46 -07:00
Adam Ierymenko
8885149cd3
Revert "Revert "Revert a change to LinuxEthernetTap threading to eliminate out of order packet issues on some systems.""
...
This reverts commit 89ddf2991b .
2021-06-28 19:29:53 -04:00
Adam Ierymenko
89ddf2991b
Revert "Revert a change to LinuxEthernetTap threading to eliminate out of order packet issues on some systems."
...
This reverts commit 0461b24db3 .
2021-06-28 17:59:28 -04:00
Adam Ierymenko
547b0de8a5
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-06-28 17:15:59 -04:00
Adam Ierymenko
0461b24db3
Revert a change to LinuxEthernetTap threading to eliminate out of order packet issues on some systems.
2021-06-28 17:15:34 -04:00
Sean OMeara
c698e9c122
Merge pull request #1420 from zerotier/someara/dev-json-hpp
...
updating json.hpp to 3.9.1
2021-06-24 23:30:58 +02:00
Sean OMeara
8f84a968de
updating json.hpp to 3.9.1
2021-06-24 20:33:45 +02:00
Grant Limberg
f8ea7fdc2b
Fix for GitHub #859
...
Wrong DB::get() method being called to look up the network member for deletes
2021-06-24 10:32:21 -07:00
Travis LaDuke
7b0d11b187
Merge pull request #1408 from erikh/docker-release-fixes
...
Small dockerfile release fixes
2021-06-08 08:44:53 -07:00
Grant Limberg
8dd3639576
set ssoEnabled = true on network config if we get ERROR_NETWORK_AUTHENTICATION_REQUIRED
2021-06-05 14:00:03 -07:00
Grant Limberg
364ad87e2b
add ssoEnabled flag to network config
2021-06-05 13:44:45 -07:00
Grant Limberg
9380ef708a
debug strings & query fixes
2021-06-05 13:44:07 -07:00
Grant Limberg
fd174b3459
fix auth time lookup
2021-06-04 20:55:22 -07:00
Grant Limberg
21d27c314c
HMACSHA384 the nonce bytes, not the hex encoded nonce bytes
2021-06-04 20:06:04 -07:00
Grant Limberg
0b89a49201
typo
2021-06-04 16:56:28 -07:00
Grant Limberg
de718d9743
handle ZT_SSO_REDIRECT_URL env file in docker
2021-06-04 16:32:02 -07:00
Grant Limberg
e6b4fb5af7
add "ssoRedirectURL" to local.conf
...
plumbed it through to the central controller code
2021-06-04 16:29:03 -07:00
Grant Limberg
c227330d09
fix redirect_uri substitution
2021-06-04 15:58:38 -07:00
Adam Ierymenko
c769e282fb
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-06-04 18:52:23 -04:00
Adam Ierymenko
98722ed7ea
Increase URL buffer sizes
2021-06-04 18:52:10 -04:00
Grant Limberg
b16f40c0de
.
2021-06-04 15:18:18 -07:00
Grant Limberg
fd85f87ade
handle null in result set
2021-06-04 15:15:42 -07:00
Grant Limberg
add33f1ab3
cast to bigint in query
2021-06-04 14:48:41 -07:00
Grant Limberg
3bfc438ae8
null handling
2021-06-04 14:40:14 -07:00
Adam Ierymenko
1dfe909bab
Increase authentication URL sizes.
2021-06-04 16:46:56 -04:00
Grant Limberg
75d17ea3c8
Helps to commit when trying to write a change to the db
2021-06-04 13:20:03 -07:00
Grant Limberg
96d15337bb
default 0
2021-06-04 13:19:39 -07:00
Grant Limberg
74a678c1e1
chicken or egg problem.
...
member must exist in the database before we can generate a nonce & SSO URL
2021-06-04 12:49:26 -07:00
Grant Limberg
fed1846c6f
need tres commas
2021-06-04 12:19:52 -07:00
Grant Limberg
f27d193cf6
.
2021-06-04 11:56:12 -07:00
Grant Limberg
7941b63543
another typo
2021-06-04 11:43:42 -07:00
Grant Limberg
21965ac8e8
yet another query fix
2021-06-04 11:40:03 -07:00
Grant Limberg
7ca2ecb421
put expiry time back on nc object
2021-06-04 11:39:52 -07:00
Grant Limberg
1dcfc03cbc
another query fix
2021-06-04 11:22:30 -07:00
Grant Limberg
0702e581a1
remove some noisy log lines & fix a query error
2021-06-04 11:06:54 -07:00
Grant Limberg
c78792a705
moar temporary debug printfs
2021-06-04 11:00:51 -07:00
Grant Limberg
287c19e822
move this outside the auth block. If SSO is enabled, it should be checked whether authorized or not
2021-06-04 09:46:31 -07:00
Grant Limberg
bc901d613d
check for nulls
2021-06-04 09:20:39 -07:00
Grant Limberg
2192a8b0ec
do the ld.so dance in the docker container
2021-06-04 08:31:34 -07:00
Grant Limberg
6cb4c58d9a
linux docker build
2021-06-03 18:30:32 -07:00
Grant Limberg
4f521baafd
Big SSO update
...
make things hopefully work
2021-06-03 14:38:26 -07:00
Grant Limberg
81fda3f5b8
set a default and goes boom 🤦♂️
2021-06-02 15:07:53 -07:00
Grant Limberg
91c4dfc7c0
database version
2021-06-02 14:49:12 -07:00
Erik Hollensbe
788296ea29
Expand links in a few spots since this'll be used in the docker image
...
Signed-off-by: Erik Hollensbe <linux@hollensbe.org >
2021-06-02 14:36:55 -07:00
Erik Hollensbe
60c1fcbc48
Docker usage README
...
Signed-off-by: Erik Hollensbe <linux@hollensbe.org >
2021-06-02 14:31:34 -07:00
Grant Limberg
fc6d90a04a
set the correct default
2021-06-02 14:27:58 -07:00
Grant Limberg
faf0c6bbfa
make sure to commit on online notification thread
2021-06-02 14:08:09 -07:00
Grant Limberg
79f1e81745
debug printf typo & line break
2021-06-02 13:51:47 -07:00
Grant Limberg
7427961fcf
bug fixes & debug code
2021-06-02 13:46:54 -07:00
Grant Limberg
d2f1d05a06
handle cases where authenticationURL and authenticationExpiryTime don't exist
2021-06-02 13:46:43 -07:00
Grant Limberg
19f4146aca
make DB::_memberChanged and _networkChanged virtual
2021-06-02 13:46:11 -07:00
Grant Limberg
47154fa623
transiton to libpqxx & connection pool for central controllers
2021-06-02 11:44:00 -07:00
Erik Hollensbe
5c508515c4
Fix issue requiring CAP_SYS_PTRACE
...
Signed-off-by: Erik Hollensbe <linux@hollensbe.org >
2021-06-01 12:30:01 -07:00
Erik Hollensbe
2824139510
Small dockerfile release fixes
...
- Activate zerotier-one.port file (we'll do more with this later)
- Add a better process trap
Signed-off-by: Erik Hollensbe <linux@hollensbe.org >
2021-06-01 09:27:05 -07:00
Grant Limberg
c2efdcabc5
fix
2021-05-28 15:01:42 -07:00
Grant Limberg
6f622e4551
no idea why these lines needed to be broken up
...
docker gonna docker
2021-05-28 15:00:54 -07:00
Grant Limberg
6d8c96b89f
formatting
2021-05-28 14:19:13 -07:00
Adam Ierymenko
bf4bb414dd
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-05-28 17:08:44 -04:00
Adam Ierymenko
dee3361c1d
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2021-05-28 17:08:35 -04:00
Adam Ierymenko
c470c6255e
Postgres code for SSO (almost certainly needs work)
2021-05-28 17:08:24 -04:00
joseph-henry
6faca86bb4
Update bugs-and-issues.md
...
Add troubleshooting tip
2021-05-27 19:48:01 -07:00
Grant Limberg
4fed56443e
secondary ports are no longer based on the node ID and fully randomized instead
2021-05-27 15:41:11 -07:00
Grant Limberg
1859365f9d
same IPv6 temp address detection code for macOS works on FreeBSD.
...
update ifdefs & go
2021-05-27 16:43:12 -04:00
Grant Limberg
ab87b8f881
Don't bind to temporary IPv6 addresses (linux)
2021-05-26 15:50:14 -07:00
Grant Limberg
b8b65da51c
Don't bind temporary IPv6 addresses (macOS)
2021-05-26 11:01:44 -07:00
Grant Limberg
198e6f765c
Don't bind to temporary Ipv6 addresses (windows)
2021-05-26 09:15:24 -07:00
Adam Ierymenko
810e2a761f
Fix authentication URL...
2021-05-25 14:49:06 -04:00
Adam Ierymenko
6ce71c1bc3
Fix reporting of status.
2021-05-25 14:45:49 -04:00
Adam Ierymenko
6b3a7ec827
Fix a few things...
2021-05-25 14:40:40 -04:00
Adam Ierymenko
ed2360d9f7
Version bump.
2021-05-25 13:31:40 -04:00
Adam Ierymenko
1ce71f9dc0
Build fix.
2021-05-25 13:05:06 -04:00
Adam Ierymenko
18508b5a2e
Build fix.
2021-05-25 13:04:14 -04:00
Adam Ierymenko
621898f3c5
Forgot to set auth info in NetworkConfig.
2021-05-25 13:02:06 -04:00
Adam Ierymenko
2c1d7f3dcc
CLI printing of URL.
2021-05-25 12:58:33 -04:00
Adam Ierymenko
8bb5bc736d
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-05-24 22:58:36 -04:00
Adam Ierymenko
b270d527f4
Basic plumbing for authentication requirement and piping through of URL information.
2021-05-24 22:58:17 -04:00
Grant Limberg
1bd9e9078e
libhiredis++ multi-arch binary
2021-05-21 15:48:19 -07:00
Grant Limberg
a3361a7d97
libhiredis + arm64 for controller
2021-05-21 15:35:26 -07:00
Grant Limberg
ca1715118f
force mac native central controller builds to be x64 only for now
2021-05-21 15:29:35 -07:00
Joseph Henry
27ecb7c7b6
Merge branch 'xumng123-master' into dev
2021-05-18 00:26:17 -07:00
Joseph Henry
be7fca254f
Merge branch 'master' of https://github.com/xumng123/ZeroTierOne into xumng123-master
...
Remove unnecessary include
2021-05-18 00:24:19 -07:00
Joseph Henry
b64ae8c8a5
Fix for bug #1403
2021-05-18 00:05:46 -07:00
Kamil Cholewinski
b984eb2808
Use clang on OpenBSD
2021-05-06 13:04:58 +02:00
joseph-henry
15905b2fe3
Merge pull request #1397 from zerotier/bugfix-bad-traces
...
Fix erroneous cast of verb to double that causes invalid tracing output
2021-05-04 10:33:10 -07:00
Joseph Henry
24615ed24b
Fix erroneous cast of verb to double that causes invalid tracing output
2021-05-04 08:59:52 -07:00
Joseph Henry
13481cea18
Fix (some) compile-time warnings on Windows
2021-05-03 21:12:45 -07:00
Joseph Henry
7faaa55436
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev-multipath
2021-05-03 19:41:41 -07:00
Joseph Henry
11ddbc6f30
Fix (some) compile-time warnings on Linux
2021-05-03 19:35:28 -07:00
Joseph Henry
29e5880d8b
Match formatting of Bond-related sources to ZeroTier standard (no functional changes)
2021-05-03 17:59:31 -07:00
Joseph Henry
63fd2cbaeb
Add ZeroTier standard .clang-format -- Keeping tabs for 1.X line. Mostly based on LLVM format.
2021-05-03 13:00:30 -07:00
Grant Limberg
9c58308e6a
Merge pull request #1383 from erikh/docker-image-fixes
...
Multiple image fixes:
2021-04-28 13:26:37 -07:00
Grant Limberg
5fb814a04f
Merge pull request #1388 from emundo/fix/1387-dns-issue
...
Fix macOS DNS issue
2021-04-28 13:19:09 -07:00
Grant Limberg
c69d2df0a2
Merge pull request #1390 from jonathonf/linux-tap-link-ordering
...
Set MAC address before bringing up Linux TAP link
2021-04-28 13:17:38 -07:00
Adam Ierymenko
46a7136b0d
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-04-28 16:16:17 -04:00
Adam Ierymenko
d2974f2e60
Do not inherit open file descriptors on fork() in MacEthernetTapAgent
2021-04-28 16:16:02 -04:00
Adam Ierymenko
ed8fe8990b
Revert "Removed language from comments"
...
This reverts commit 1bd1923964 .
2021-04-21 18:54:59 -04:00
Adam Ierymenko
50703534b1
Revert "Removed language from comments"
...
This reverts commit 57a225cb39 .
2021-04-21 18:54:43 -04:00
Adam Ierymenko
4a7c156bf8
Revert "Removed language from comments"
...
This reverts commit 0a18e66a83 .
2021-04-21 18:54:27 -04:00
Adam Ierymenko
54680a6edc
Revert "Update zttap300.inf"
...
This reverts commit 3af693af34 .
2021-04-21 18:54:11 -04:00
Jonathon Fernyhough
bac57e355d
Set MAC address before bringing up Linux TAP link
...
This corrects the flow for bringing up a TAP device under Linux by
setting the device MAC address prior to bringing up the device.
Closes #1314
2021-04-21 20:46:13 +01:00
Jonathon Fernyhough
b8b1f64959
Revert "Reorder Linux TAP link sequence"
...
This reverts commit 9374e45449 .
2021-04-21 20:45:17 +01:00
Grant Limberg
cdcd6c4886
Merge pull request #1389 from jonathonf/linux-tap-link-ordering
...
Reorder Linux TAP link sequence
2021-04-21 09:27:26 -07:00
Robert.Schreib
4e8640b380
Handle case where no old DNS servers exist
2021-04-21 13:49:55 +02:00
Jonathon Fernyhough
9374e45449
Reorder Linux TAP link sequence
...
This corrects the flow for bringing up a TAP device under Linux.
Closes #1314
2021-04-21 12:30:51 +01:00
Robert.Schreib
31ffe4403c
Check if DNS servers need to be Applied on macOS
2021-04-21 12:02:31 +02:00
Adam Ierymenko
e8f7d5ef9e
VERSION 1.6.5
...
This is a minor release that fixes some path stability issues and an issue with Windows interface enumeration.
2021-04-20 18:49:10 -04:00
Adam Ierymenko
ee0e306685
Windows version bump.
2021-04-20 14:56:33 -04:00
Dave Cottlehuber
b37e9de24d
BSD: add debug fprintfs for external commands
2021-04-15 06:37:01 +00:00
Adam Ierymenko
df0007d532
Update hard-coded default planet to latest.
2021-04-14 12:25:35 -04:00
Adam Ierymenko
b70c5b94bd
1.6.5 version bump
2021-04-13 16:59:47 -04:00
Erik Hollensbe
23f9baa9f2
Multiple image fixes:
...
- Can now provide the following environment variables to populate
secrets (nice for kubernetes, other situations)
- ZEROTIER_API_SECRET: authtoken.secret
- ZEROTIER_IDENTITY_PUBLIC: identity.public
- ZEROTIER_IDENTITY_SECRET: identity.secret
- Joining networks by providing them as a part of docker's "command"
array should now work properly
Signed-off-by: Erik Hollensbe <linux@hollensbe.org >
2021-04-13 13:18:21 -07:00
xumng123
537ce83498
yes
2021-04-13 16:12:11 +00:00
Joseph Henry
1732f7371c
Minor bonding CLI fix
2021-04-07 15:15:35 -07:00
Adam Ierymenko
5262a2f753
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2021-03-16 13:50:12 -04:00
Adam Ierymenko
79e2fd4586
Automatically detect Ethernet tap friendly name in Windows shouldBind stuff.
2021-03-16 10:12:55 -04:00
Joseph Henry
353905394e
Fix interface blacklisting in shouldBindInterface
2021-03-09 12:34:01 -08:00
Joseph Henry
3870f7af27
Improve missing authtoken error message
2021-03-08 21:45:38 -08:00
Joseph Henry
b8e23e6fcc
Merge branch 'master' into dev
2021-03-08 18:13:00 -08:00
joseph-henry
a7f652781f
Merge pull request #1364 from Pablohn26/master
...
Show the port number which is not able to connect
2021-03-08 18:12:12 -08:00
Pablo Hinojosa
d3fd0d3916
Show the port number which is not able to connect
2021-03-09 02:25:41 +01:00
joseph-henry
1beacf3000
Merge pull request #1347 from showipintbri/patch-1
...
Patch 1 - Language suggestion
2021-03-08 17:23:26 -08:00
joseph-henry
88a1170966
Merge pull request #1354 from contrun/fix-sprintf-overflow
...
fix sprintf overflow
2021-03-08 17:07:54 -08:00
Joseph Henry
315a5cfd58
Fix ZT_SANITIZE flag handling in Linux makefile
2021-03-08 15:11:55 -08:00
Sean OMeara
a5a94e3c49
Merge pull request #1355 from erikh/docker-release-tooling
...
Initial docker release image tooling
2021-02-27 14:28:26 +01:00
Erik Hollensbe
ef784611b7
Initial docker release image tooling
...
Signed-off-by: Erik Hollensbe <github@hollensbe.org >
2021-02-24 03:43:45 -08:00
YI
d526dca1bb
fix sprintf overflow
2021-02-19 23:42:38 +08:00
Adam Ierymenko
e8390afad5
VERSION 1.6.4
...
This version just fixes the "connection coma" bug some users have
experienced in 1.6.
2021-02-17 11:35:28 -05:00
Adam Ierymenko
9fdf83be60
Version bumpity bumpity bump.
2021-02-15 19:37:46 -05:00
Adam Ierymenko
147945d20f
Lets try always supplying the AES keys to Packet dearmor() and see if that prevents the coma problem.
2021-02-13 00:01:49 -05:00
showipintbri
3af693af34
Update zttap300.inf
2021-02-03 22:31:16 -05:00
showipintbri
0a18e66a83
Removed language from comments
2021-02-03 22:30:34 -05:00
showipintbri
57a225cb39
Removed language from comments
2021-02-03 22:29:42 -05:00
showipintbri
1bd1923964
Removed language from comments
2021-02-03 22:26:41 -05:00
Adam Ierymenko
7c2066c258
VERSION 1.6.3
2021-02-03 22:06:34 -05:00
Adam Ierymenko
ac808d51d6
Crash fix
2021-02-03 18:56:07 -05:00
Adam Ierymenko
378bc73bf8
Clean up some peer path learning logic, use a cheaper data structure.
2021-02-03 14:30:03 -05:00
Adam Ierymenko
8430db4dc7
Windows 1.6.3 version bump.
2021-02-02 17:52:27 -05:00
Adam Ierymenko
0f049da84f
Dockerfile version bump to 1.6.3
2021-02-02 17:18:58 -05:00
Adam Ierymenko
a1b6cc44fc
Revert wireguard blacklist by default... turns out we have people who depend on that. may revisit.
2021-02-02 17:09:35 -05:00
Adam Ierymenko
201fd7c421
Revert "Revert "GitHub issue #1317 ""
...
This reverts commit 89efd09e20 .
2021-02-02 17:08:33 -05:00
Adam Ierymenko
89efd09e20
Revert "GitHub issue #1317 "
...
This reverts commit c14d1047d2 .
2021-02-02 17:08:07 -05:00
Adam Ierymenko
3eccb5a6f0
Merge branch 'master' into dev
2021-02-02 17:07:35 -05:00
Adam Ierymenko
191b802c50
docs
2021-02-02 17:07:28 -05:00
Adam Ierymenko
f4703905b9
docs
2021-02-02 17:05:30 -05:00
Adam Ierymenko
41a85b1de7
Merge pull request #1322 from capruro/patch-1
...
Update Dockerfile to 1.6.2
2021-02-02 17:05:19 -05:00
Adam Ierymenko
9021302578
Merge pull request #1330 from liweitianux/readme
...
README: Minor format fixes
2021-02-02 17:05:04 -05:00
Adam Ierymenko
e1aec2cb03
Merge pull request #1339 from dnadlinger/patch-1
...
.github: Fix typo in bug report template
2021-02-02 17:04:41 -05:00
Adam Ierymenko
3aa0390dba
Merge branch 'master' into dev
2021-02-02 17:04:03 -05:00
Adam Ierymenko
d3770eeccc
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2021-02-02 17:03:48 -05:00
Adam Ierymenko
1d6b8393e3
Merge pull request #1341 from bradleydiggs/master
...
blacklist wg# (WireGuard) interfaces by default
2021-02-02 17:03:36 -05:00
Adam Ierymenko
c14d1047d2
GitHub issue #1317
2021-02-02 17:00:56 -05:00
Adam Ierymenko
343ccd911b
Version bumps to 1.6.3
2021-02-02 16:51:02 -05:00
Adam Ierymenko
697c8c9882
Delete old code.
2021-02-02 16:17:53 -05:00
Adam Ierymenko
72d48da210
Fix duplicate paths and reduce thrashing issues.
2021-02-02 16:11:13 -05:00
Adam Ierymenko
b2b3271a96
Possible fix for path issues in 1.6.2
2021-02-02 14:55:47 -05:00
Adam Ierymenko
717e9238fe
Merge branch 'master' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2021-02-02 14:46:15 -05:00
Adam Ierymenko
12c77459d0
Merge branch 'master' into dev
2021-02-02 14:45:58 -05:00
bradleydiggs
5b1c55023f
Merge pull request #1 from bradleydiggs/wireguard-blacklist-default
...
blacklists wg# (WireGuard) interfaces by default
2021-01-14 02:49:25 -06:00
bradleydiggs
a401b21f3d
blacklists wg# (WireGuard) interfaces by default
...
On certain OSes (Linux & Apple) tun#, tap#, and of course zt# are blacklisted by default, this adds wg# to the list as WireGuard is a similar popular service with wg# being the default adapter name(s) by convention.
2021-01-14 02:45:42 -06:00
David Nadlinger
3a6cc1d8b7
.github: Fix typo in bug report template
2021-01-13 18:07:58 +01:00
Aaron LI
4944d044ce
README: Minor format fixes
2020-12-20 17:12:34 +08:00
Grant Limberg
b3228ab307
update issue templates
2020-12-16 14:50:26 -08:00
capruro
68b0e13991
Update to 1.6.2
2020-12-13 13:54:43 +01:00
Adam Ierymenko
70d81277e0
1.6.2-2 for Debian.
2020-12-01 16:05:16 -05:00
Adam Ierymenko
48814c1bfe
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne
2020-12-01 16:02:53 -05:00
Adam Ierymenko
0587e432c0
ARM wrestling.
2020-12-01 13:02:19 -08:00
Adam Ierymenko
e4404164bd
VERSION 1.6.2
...
See RELEASE-NOTES.md for details.
2020-11-30 19:33:39 -05:00
Adam Ierymenko
9d0b492642
Version bump.
2020-11-30 16:06:07 -05:00
Adam Ierymenko
5391e95fce
Typo fix.
2020-11-30 15:52:56 -05:00
Adam Ierymenko
954f6a77e5
Another Linux fix.
2020-11-30 15:46:16 -05:00
Adam Ierymenko
e8c6b4ab16
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2020-11-30 15:46:02 -05:00
Adam Ierymenko
21993819a5
Possible fix for Linux deadlock.
2020-11-30 15:41:47 -05:00
Grant Limberg
904348b2ad
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2020-11-30 09:20:47 -08:00
Grant Limberg
e59cec4e3c
Merge branch 'master' into dev
2020-11-30 09:20:32 -08:00
Adam Ierymenko
c2eeb5d553
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2020-11-30 12:12:12 -05:00
Adam Ierymenko
dea4bd01f4
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2020-11-30 12:11:24 -05:00
Grant Limberg
ec52af420e
Merge pull request #1306 from darkain/master
...
Fixing regression in AES for ARM targets
2020-11-30 08:59:38 -08:00
Rosen Penev
2aecb547d9
LinuxNetLink: Add cerrno header for (str)errno
...
Fixes compilation under libcxx.
2020-11-30 01:38:45 -08:00
Joseph Henry
3db328cc94
Fix minor semantic typo in error trace message
2020-11-29 16:57:30 -08:00
Vincent Milum Jr
a624dfd776
Fixing regression in AES for ARM targets
2020-11-27 08:22:55 +00:00
Adam Ierymenko
af705ac504
VERSIOM 1.6.1
...
This is a minor point release to fix a number of issues. See
RELEASE-NOTES.md.
2020-11-26 00:49:38 -05:00
Adam Ierymenko
af6d01e79b
Mac fix (probably) for old versions that require tap.kext.
2020-11-26 00:36:52 -05:00
Adam Ierymenko
1ef3b2d526
Windows build.
2020-11-25 21:36:31 -05:00
Adam Ierymenko
1afd097445
Microsoft signed 32-bit Windows x86 driver.
2020-11-25 23:45:28 -05:00
Adam Ierymenko
52fad6e18f
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2020-11-25 23:35:47 -05:00
Adam Ierymenko
3f921c01a6
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2020-11-25 23:35:39 -05:00
Adam Ierymenko
eefe34354e
Embeddable MSI for new MS-signed X64 Windows tap driver.
2020-11-25 23:35:32 -05:00
Grant Limberg
5188c7d41f
com & com security already initialized by here
2020-11-25 20:06:43 -08:00
Grant Limberg
f2ba613fb5
line endings
2020-11-25 19:02:00 -08:00
Grant Limberg
6cfdd5b2c1
force eol=crlf for driver .inf files
2020-11-25 18:22:52 -08:00
Grant Limberg
f2cd7cd4eb
set deployment target for tap agent
2020-11-25 15:34:52 -08:00
Grant Limberg
0a8b692482
fix device binding & possible loopback issue on FreeBSD
2020-11-25 12:03:17 -08:00
Adam Ierymenko
1542163689
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne
2020-11-25 14:28:48 -05:00
Adam Ierymenko
9d66d876f4
Likely fix for some alignment issues on ARM.
2020-11-25 14:28:41 -05:00
Grant Limberg
0456a71295
Windows feedback loop fix
2020-11-25 11:05:36 -08:00
Grant Limberg
70b1b4ecc7
Buffer<> has no .empty() method
2020-11-25 09:49:58 -08:00
Adam Ierymenko
bc4bd29488
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2020-11-25 10:50:35 -05:00
Adam Ierymenko
f906eec42e
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2020-11-24 23:37:54 -05:00
Adam Ierymenko
73b5eadd3c
Windows X64 Microsoft-Signed Driver for Windows 10
2020-11-24 23:37:37 -05:00
Adam Ierymenko
1f8905dfc9
Merge pull request #1191 from athoik/armv7ve
...
Add support for armv7ve
2020-11-24 19:25:53 -05:00
Adam Ierymenko
4465d36db5
Merge pull request #1194 from gutleib/master
...
Add support for Elbrus-family CPU
2020-11-24 19:25:10 -05:00
Adam Ierymenko
d64c5a92c6
Merge pull request #1233 from dosuperuser/improvement/optimizations
...
Minor C++ optimizations
2020-11-24 19:24:36 -05:00
Adam Ierymenko
0ba358a3d4
Merge pull request #1294 from darkain/master
...
Add ZT_NO_UNALIGNED_ACCESS for ARMv6/7 on FreeBSD
2020-11-24 19:23:19 -05:00
Grant Limberg
86ff1e7cd2
another comparison fix
2020-11-24 14:12:30 -08:00
Adam Ierymenko
13d7e2f2b9
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2020-11-24 17:02:17 -05:00
Adam Ierymenko
bad1e0d529
CentOS build fixes to build in Cent7.
2020-11-24 14:01:46 -08:00
Grant Limberg
6b21a4f494
fix dns equality check in Android
2020-11-24 13:51:00 -08:00
Adam Ierymenko
891815054c
Version bumps.
2020-11-24 16:27:19 -05:00
Adam Ierymenko
ce2fb18c02
Set MacOS version flag on assembly file.
2020-11-24 14:27:44 -05:00
Adam Ierymenko
2f359a43bf
1.6.1 notes
2020-11-23 20:17:09 -05:00
Grant Limberg
a1b72f0e1a
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2020-11-23 14:54:39 -08:00
Grant Limberg
de308f05e0
missing break in InetAddress::ipScope()
2020-11-23 14:54:13 -08:00
Joseph Henry
ecfac0601a
Add new bond control commands to CLI
2020-11-23 09:59:28 -08:00
Vincent Milum Jr
93ffd75b02
Add ZT_NO_UNALIGNED_ACCESS for ARMv6/7 on FreeBSD
...
Unaligned access caused SIGBUS errors on ARMv6 and ARMv7 targets under FreeBSD.
This was also the cause of the repeating TAP devices. Each time the SIGBUS happened, the service would auto-restart itself, create a new TAP device, and then crash again.
The particular place causing the SIGBUS was:
https://github.com/zerotier/ZeroTierOne/blob/master/node/Utils.hpp#L695
2020-11-21 13:30:31 -08:00
Joseph Henry
8af4eff43e
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-11-20 20:34:54 -08:00
Adam Ierymenko
167645ba6d
Fix for musl libc.
2020-11-20 21:10:08 -05:00
Adam Ierymenko
baeab92737
VERSION 1.6.0
...
See RELEASE-NOTES.md for details.
2020-11-20 18:53:33 -05:00
Joseph Henry
24162fd490
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-11-19 14:39:40 -08:00
Grant Limberg
95da2bcbcf
move CoUninitialize to the proper place at the end of the tap thread
2020-11-19 14:13:16 -08:00
Grant Limberg
a9e4fb0ed9
Fix multiple networks on Windows
2020-11-19 14:10:34 -08:00
Adam Ierymenko
45b092532e
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-11-19 13:44:03 -05:00
Adam Ierymenko
3ec932e194
MacOS ARM64 universal binary build fixes.
2020-11-19 13:43:57 -05:00
Adam Ierymenko
565bef05af
Release notes and version bumps.
2020-11-19 13:24:30 -05:00
Adam Ierymenko
a0c78da1ad
Revert "Tune thread count based on hardware concurrency."
...
This reverts commit 7b14aeb53e .
2020-11-18 22:54:05 -05:00
Adam Ierymenko
7b14aeb53e
Tune thread count based on hardware concurrency.
2020-11-18 22:42:00 -05:00
Adam Ierymenko
f934a09baa
Build fix.
2020-11-18 22:32:57 -05:00
Adam Ierymenko
414c248cc5
Try another approach...
2020-11-18 22:26:06 -05:00
Adam Ierymenko
ca428233ba
Revert "Try another optimization in LinuxEthernetTap."
...
This reverts commit a390629371 .
2020-11-18 22:24:18 -05:00
Adam Ierymenko
3712f9b318
Revert "Shutdown fix."
...
This reverts commit 11545bdb5d .
2020-11-18 22:24:09 -05:00
Adam Ierymenko
11545bdb5d
Shutdown fix.
2020-11-18 22:13:06 -05:00
Adam Ierymenko
a390629371
Try another optimization in LinuxEthernetTap.
2020-11-18 22:06:17 -05:00
Adam Ierymenko
e3e188109d
Build fix.
2020-11-18 10:14:39 -08:00
Adam Ierymenko
7cbbc38b89
Reduce mutex use in LinuxEthernetTap. Try to squeeze a bit more powah out of it.
2020-11-18 12:50:34 -05:00
Joseph Henry
bd1861ef4d
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-11-17 17:24:16 -08:00
Adam Ierymenko
b152f9e1d3
Version 1.6.0 bump in version.h
2020-11-17 15:15:06 -08:00
Joseph Henry
24339092f7
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-11-17 14:05:33 -08:00
Adam Ierymenko
4bd58d47cf
Revert "Try factoring out a mutex to see if its faster."
...
This reverts commit 982c32322b .
2020-11-17 12:52:48 -08:00
Adam Ierymenko
982c32322b
Try factoring out a mutex to see if its faster.
2020-11-17 15:48:15 -05:00
Adam Ierymenko
2fcc344299
Some buffer tuning.
2020-11-17 15:34:42 -05:00
Adam Ierymenko
3acd901c88
Build fixes.
2020-11-17 12:13:08 -05:00
Adam Ierymenko
0795dbf5f1
Revert "Moar threadz"
...
This reverts commit 101a3a7d74 .
2020-11-16 19:06:52 -08:00
Adam Ierymenko
101a3a7d74
Moar threadz
2020-11-16 21:49:51 -05:00
Adam Ierymenko
2da162bed7
Split Linux tap receive into two threads: one reader, one processor.
2020-11-16 21:40:25 -05:00
Adam Ierymenko
5282e06fd4
Tun/tap flags fix.
2020-11-16 19:08:09 -05:00
Adam Ierymenko
dc806dd718
Try pipelining tap reads on Linux for a little more speed.
2020-11-16 18:56:00 -05:00
Adam Ierymenko
31d8758ad9
Apple "fat binaries" are back!
2020-11-16 16:30:15 -05:00
Joseph Henry
ae70db0535
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-11-16 12:04:03 -08:00
Adam Ierymenko
6b67cb0e2a
Linux build fixes.
2020-11-16 11:11:52 -08:00
Adam Ierymenko
250f0ef9db
Remove dead code.
2020-11-16 13:51:27 -05:00
Joseph Henry
a690ffdb7c
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-11-15 19:00:02 -08:00
Adam Ierymenko
4aab9121d9
Linux build fixes, and new route code seems to work.
2020-11-13 22:25:12 -05:00
Adam Ierymenko
5ea7ef6b65
Rework Linux route setting to actually consult netlink interface.
2020-11-13 22:06:58 -05:00
Adam Ierymenko
a3875f9965
Add a route DB to LinuxNetLink to make route sync robust.
2020-11-13 21:55:31 -05:00
Adam Ierymenko
4e3a59f329
Build fix.
2020-11-13 21:21:28 -05:00
Adam Ierymenko
3730917dda
LinuxNetLink cleanup
2020-11-13 21:06:34 -05:00
Adam Ierymenko
57516cfbe6
revert queue... not quite what we need
2020-11-13 21:01:55 -05:00
Adam Ierymenko
bb62279a20
Queue up managed route syncs and do them periodically to avoid dependency problems.
2020-11-13 20:25:03 -05:00
Adam Ierymenko
e8be28734b
Linux netlink and route setting... work in progress.
2020-11-13 19:07:54 -05:00
Adam Ierymenko
6c5a097711
Use LinuxNetLink for routes on Linux... still needs testing/debugging on an actual Linux machine.
2020-11-13 18:16:14 -05:00
Adam Ierymenko
16a878adb1
... route fix test
2020-11-13 16:18:00 -05:00
Adam Ierymenko
020d882e82
Route assignment fix.
2020-11-13 16:02:59 -05:00
Adam Ierymenko
44af828aa4
Tweak multicast settings to prevent failures due to TX queue overflow.
2020-11-12 22:21:43 -05:00
Adam Ierymenko
26a0cbcd73
Revert "Push credentials in multicast."
...
This reverts commit 1316ee3127 .
2020-11-12 20:53:23 -05:00
Adam Ierymenko
1a106bca3b
Revert "Build fix, and move multicast pushCredentialsIfNeeded."
...
This reverts commit cc42d6f4e0 .
2020-11-12 20:53:14 -05:00
Adam Ierymenko
cc42d6f4e0
Build fix, and move multicast pushCredentialsIfNeeded.
2020-11-12 20:40:10 -05:00
Adam Ierymenko
1316ee3127
Push credentials in multicast.
2020-11-12 20:33:31 -05:00
Adam Ierymenko
eadca9dd75
Build fix.
2020-11-11 15:29:01 -05:00
Adam Ierymenko
59dd71187e
Build fix.
2020-11-11 15:14:08 -05:00
Adam Ierymenko
36e167013a
More Linux tap shotgun debugging.
2020-11-11 15:12:16 -05:00
Adam Ierymenko
2d489a8679
Another possible workaround for what seems to be a Linux bug in some newer kernels.
2020-11-11 14:42:56 -05:00
Adam Ierymenko
d735a1d04c
Reorder some stuff in LinuxEthernetTap as possible workaround for MAC-set weirdness.
2020-11-11 12:49:56 -05:00
Adam Ierymenko
9480ff1f37
Fix some timestamp signedness mismatches.
2020-11-11 11:46:09 -05:00
Adam Ierymenko
d2f2abe525
Add force-exit timeout to get around some of the exit hang issues users have observed. Will punt full diagnosis to V2 which rewrites all these code paths anyway.
2020-11-10 16:30:55 -05:00
Adam Ierymenko
e9e20fdad8
Increase multicast announce frequency a little.
2020-11-10 16:16:52 -05:00
Adam Ierymenko
53ba413d32
Dont use AES in HELLO.
2020-11-09 20:52:49 -05:00
Adam Ierymenko
7280fcdec2
Only define FreeBSD hwcaps stuff if ARM crypto is enabled for compiled.
2020-11-09 19:54:32 -05:00
Adam Ierymenko
cbcd2be232
Merge pull request #1288 from darkain/dev
...
FreeBSD ARMv6, ARMv7, and Aarch64 support
2020-11-09 19:50:46 -05:00
Vince
83a2dcb65a
FreeBSD ARMv6, ARMv7, and Aarch64 support
2020-11-07 14:16:03 -08:00
Adam Ierymenko
dd65680150
Windows build fixes, version bump in AIP.
2020-11-06 11:18:41 -08:00
Adam Ierymenko
90f18f7ee7
Fix for ZTO-33 (Jira), only assign routes if there is a viable source IP.
2020-11-06 11:01:45 -05:00
Adam Ierymenko
317263b31c
Remove unused variable on non-windows
2020-11-02 19:09:11 -05:00
Adam Ierymenko
52679d2784
Simplify and fix managed route logic.
2020-11-02 19:02:07 -05:00
Adam Ierymenko
763d1cc3dc
Some more changes for slow network leaving on Mac.
2020-11-02 14:00:35 -05:00
Adam Ierymenko
c9fe04d8ea
Version bump in prep for 1.6.0 beta 2
2020-10-30 17:42:15 -04:00
Adam Ierymenko
f2c490345c
Remove unnecessary includes that can cause compile problems.
2020-10-30 16:14:59 -04:00
Adam Ierymenko
fe5aad3cef
Some Mac feth tap changes to hopefully fix slow-leave problem.
2020-10-30 10:40:34 -04:00
Joseph Henry
927bc2e33d
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-10-22 14:04:41 -07:00
Joseph Henry
1331739ee4
Remove (some) debug tracing in Bond which may cause a segfault
2020-10-21 18:40:55 -07:00
Grant Limberg
3da8f5f053
freaking JNI
2020-10-21 16:08:19 -07:00
Grant Limberg
fbbcf292c6
forgot accessors
2020-10-21 15:06:50 -07:00
Grant Limberg
2851a9577c
JNI for dns configuration
2020-10-21 14:18:29 -07:00
Adam Ierymenko
ed9b09e980
Missing flag.
2020-10-20 18:52:36 -04:00
Adam Ierymenko
bcb3fc7fc0
Only use SSE/SSE2 for X64 for regular stuff.
2020-10-20 18:51:38 -04:00
Adam Ierymenko
70f37962cf
Backport AES fixes for compiler, arch, and splitting into separate files.
2020-10-20 18:50:28 -04:00
Joseph Henry
fd7f61bab7
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-10-14 18:40:38 -07:00
Joseph Henry
5f8714a0cd
Remove minor non-functional flow hashing stubs
2020-10-14 18:40:20 -07:00
Adam Ierymenko
8d83b9b7c5
Revert change to path quality to fix IPv6 issue in beta. We will rework this in 2.x.
2020-10-14 20:41:58 -04:00
Adam Ierymenko
2c75be0d64
Do not always enable SSE4 on X64 due to old Atom chips. Enable instead only for AES-NI code which is only run if AES-NI is present, which it is not on these old chips.
2020-10-13 16:08:30 -04:00
Grant Limberg
ee04118172
null check
2020-10-13 08:24:36 -07:00
Adam Ierymenko
fe1ce885a0
Version 1.6.0 (1.5.0 is a beta!) is a significant release that incorporates a number of back-ported fixes and features from the ZeroTier 2.0 tree.
...
Major new features are:
* **Multipath support** with modes modeled after the Linux kernel's bonding driver. This includes active-passive and active-active modes with fast failover and load balancing. See section 2.1.5 of the manual.
* **DNS configuration** push from network controllers to end nodes, with locally configurable permissions for whether or not push is allowed.
* **AES-GMAC-SIV** encryption mode, which is both somewhat more secure and significantly faster than the old Salsa20/12-Poly1305 mode on hardware that supports AES acceleration. This includes virtually all X86-64 chips and most ARM64. This mode is based on AES-SIV and has been audited by Trail of Bits to ensure that it is equivalent security-wise.
Known issues that are not yet fixed in this beta:
* Some Mac users have reported periods of 100% CPU in kernel_task and connection instability after leaving networks that have been joined for a period of time, or needing to kill ZeroTier and restart it to finish leaving a network. This doesn't appear to affect all users and we haven't diagnosed the root cause yet.
* The service sometimes hangs on shutdown requiring a kill -9. This also does not affect all systems or users.
* AES hardware acceleration is not yet supported on 32-bit ARM, PowerPC (32 or 64), or MIPS (32 or 64) systems. Currently supported are X86-64 and ARM64/AARCH64 with crypto extensions.
* Some users have reported multicast/broadcast outages on networks lasting up to 30 seconds. Still investigating.
We're trying to fix all these issues before the 1.6.0 release. Stay tuned.
2020-10-08 18:10:13 -04:00
Adam Ierymenko
24769219b5
Merge branch 'dev'
2020-10-08 18:08:24 -04:00
Adam Ierymenko
da6fe18e17
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2020-10-08 18:08:18 -04:00
Adam Ierymenko
a973a6e10e
Leave feth devices over feth10000 alone.
2020-10-08 12:04:57 -04:00
Adam Ierymenko
5bc64c4c4e
Windows build fixes and version bump in Advanced Installer.
2020-10-07 15:56:00 -07:00
Travis LaDuke
bd92990165
Update feature_request.md
2020-10-07 10:36:04 -07:00
Adam Ierymenko
e26a8be3df
Be more consistent about versioning.
2020-10-07 11:55:47 -04:00
Adam Ierymenko
3ef1c8e3fa
Use 1.5.0 for package version for centos.
2020-10-06 23:31:20 -04:00
Adam Ierymenko
0ab4b903f4
Cert and codesign tweaks, release notes.
2020-10-06 18:09:51 -04:00
Adam Ierymenko
b2ea5aa747
Version bump to 1.5.0 internally and 1.6.0-beta1 in packages.
2020-10-05 20:23:52 -04:00
Grant Limberg
c80843e496
Revert "remove redundant writes when changes come from Central"
...
This reverts commit f9396f979f .
2020-10-05 13:32:47 -07:00
Grant Limberg
f9396f979f
remove redundant writes when changes come from Central
...
network & member changes tagged with `"fromCentral": true` will not be rewritten to the db
2020-10-05 11:03:03 -07:00
Adam Ierymenko
610d4ff016
Remove old tap kext from normal pkg as it is too old to be notarized (signature too old, not sure if we can sign again as kexts are being deprecated). It is only used on very old MacOS versions that are rolling off support.
2020-10-02 18:42:40 -04:00
Adam Ierymenko
f16421225d
Enable hardened executable mode on Mac, should be fine...
2020-10-02 18:36:24 -04:00
Adam Ierymenko
d82b3684ac
Enable RV64
2020-09-30 21:17:04 -04:00
Adam Ierymenko
d7e5a92fe6
Increase debian build parallelism.
2020-09-30 17:39:15 -07:00
Adam Ierymenko
bb45f9ca3c
Upgrade cpp-httplib
2020-09-30 15:21:58 -04:00
Adam Ierymenko
c7dcbba442
Add an AES benchmark to 1.6 (backport)
2020-09-29 18:34:58 -04:00
Adam Ierymenko
255dee7a5e
MacOS build fixes.
2020-09-25 14:32:53 -04:00
Adam Ierymenko
c86418934c
PATH_MAX is not defined on some Linux systems.
2020-09-23 22:06:22 -04:00
Adam Ierymenko
70efa5f606
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2020-09-23 21:59:14 -04:00
Adam Ierymenko
69b2fcd5af
Get rid of obsolete musl libc fix.
2020-09-23 21:58:51 -04:00
Adam Ierymenko
1f93099e1a
Get rid of obsolete musl libc fix.
2020-09-23 21:58:28 -04:00
Joseph Henry
b3331c5ec2
Fix buffer overflow in windows tap driver
2020-09-23 15:31:20 -07:00
Grant Limberg
ff23d3051f
self hosted controller JSON format fix for DNS
2020-09-23 12:16:23 -07:00
Grant Limberg
7d8cfb1fee
more magic incantations to make crypto extensions work on Android/ARM64
2020-09-22 10:28:31 -07:00
Grant Limberg
8131680735
AES-NI enabled for Android ARM64
2020-09-22 08:04:16 -07:00
Grant Limberg
9e6dba9066
Enable AES-NI on Android X86-64
...
Need to find the magic incantation to enable it on ARM64 still
2020-09-21 18:05:25 -07:00
Grant Limberg
0f2887265c
AES-NI/NEON detection for iOS
...
Requires 64-bit CPU
2020-09-21 13:18:05 -07:00
Adam Ierymenko
1ff45020e2
Prefer IPv6 if all else is equal.
2020-09-18 16:27:41 -04:00
Grant Limberg
45c5abe05b
add Allow DNS settings to win UI
2020-09-18 10:12:11 -07:00
Grant Limberg
e7dafb3ae6
allow DNS field for mac UI
2020-09-18 09:30:43 -07:00
Adam Ierymenko
04f6140da6
AES builds and works now on ARM64.
2020-09-16 22:47:13 +00:00
Grant Limberg
afcbc6dd9f
clean up some error output
2020-09-16 10:54:14 -07:00
Grant Limberg
4da9bed4fa
add 'dump' to cli help
2020-09-16 10:52:23 -07:00
Grant Limberg
221e4ecb12
Add "documentation" networks as IP_SCOPE_PRIVATE
...
https://en.wikipedia.org/wiki/Reserved_IP_addresses
2020-09-16 10:24:36 -07:00
Grant Limberg
1883a8c9ee
Set 198.18.0.0/15 to IP_SCOPE_PRIVATE
2020-09-16 10:15:42 -07:00
Grant Limberg
83d92858c1
Merge branch 'dump' into dev
2020-09-16 10:04:01 -07:00
Grant Limberg
cff3152985
windows create dump file on desktop
2020-09-16 10:03:03 -07:00
Grant Limberg
5090e95003
dump basics to stdout on other platforms
2020-09-15 16:50:55 -07:00
Grant Limberg
927aeb15f6
macos output dump to file if possible
...
if not, write to stdout
2020-09-15 16:50:00 -07:00
Grant Limberg
361ca1e8b4
add link to CoreServices framework
2020-09-15 16:49:19 -07:00
Adam Ierymenko
9adf656db5
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-09-14 20:44:46 -04:00
Adam Ierymenko
7219ca0c0f
AES works! Only with this or newer nodes. Uses salsa with older ones as usual.
2020-09-14 20:44:21 -04:00
Grant Limberg
3a75950ff4
Merge branch 'dump' into dev
2020-09-14 15:25:34 -07:00
Joseph Henry
fa86b8bae0
Change ZT_MULTIPATH_FLOW_EXPIRATION_INTERVAL from 30 seconds to 5 minutes
2020-09-14 15:22:06 -07:00
Joseph Henry
f3c9ab8a7e
Add minor trace output formatting changes. Change ZT_MULTIPATH_BOND_STATUS_INTERVAL from 30000 to 60000
2020-09-14 15:21:53 -07:00
Grant Limberg
ace03d7c7b
zerotier-cli dump for Windows
2020-09-14 15:17:59 -07:00
Michael Adams
97801b3b56
Update issue templates
2020-09-14 13:10:41 -07:00
Michael Adams
74d9e1e558
Update issue templates
2020-09-14 12:59:36 -07:00
Michael Adams
c210e9e5cf
Update issue templates
...
Cleaned this up substantially
2020-09-14 12:58:29 -07:00
Grant Limberg
df640dc39b
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2020-09-14 12:45:11 -07:00
Grant Limberg
d980bba49f
fix windows compilation
2020-09-14 12:42:51 -07:00
Grant Limberg
059dfee0c3
fix windows compilation
2020-09-14 12:42:39 -07:00
Joseph Henry
55f442f1a9
Removed erroneous issue template
2020-09-12 13:09:51 -07:00
joseph-henry
2b9d9168e0
Update issue templates
2020-09-12 13:08:31 -07:00
Joseph Henry
94669a4709
Update Game issue template
2020-09-12 12:58:10 -07:00
joseph-henry
be560eb704
Game Connection Issue
...
Game connection issues can be resolved on our forums: discuss.zerotier.com
2020-09-12 12:23:49 -07:00
Grant Limberg
36d867c3fa
more config dump for macOS
2020-09-11 16:43:30 -07:00
Joseph Henry
cf47618ffb
Change ZT_MULTIPATH_FLOW_EXPIRATION_INTERVAL from 30 seconds to 5 minutes
2020-09-11 16:09:46 -07:00
Grant Limberg
62f23e0cfd
step 1 of zerotier-cli dump
...
dump status, networks, peers, bonds & version
2020-09-11 15:31:56 -07:00
Joseph Henry
0e8b54f7a1
Add minor trace output formatting changes. Change ZT_MULTIPATH_BOND_STATUS_INTERVAL from 30000 to 60000
2020-09-11 14:47:18 -07:00
Adam Ierymenko
1c9407e016
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-09-11 13:40:04 -04:00
Adam Ierymenko
cb8d773634
Disable unicast compression as it almost never helps and usually just wastes CPU.
2020-09-11 13:36:21 -04:00
Grant Limberg
bbb307aff7
DNS is now toggleable via zerotier-cli set <nwid> allowDNS=[0|1]
...
Flag is disabled by default as it should be opt-in on each endpoint
2020-09-10 15:59:18 -07:00
Grant Limberg
3db263284b
not sure how this got reverted
2020-09-10 13:18:25 -07:00
Grant Limberg
d8f041a484
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-09-10 12:50:30 -07:00
Adam Ierymenko
120bcbc2c9
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2020-09-10 15:44:47 -04:00
Grant Limberg
10ccaa2620
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-09-10 12:43:58 -07:00
Adam Ierymenko
e6b5f8aabd
AES work... but disabled in this commit.
2020-09-10 15:43:40 -04:00
Michael Adams
4798689bf3
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2020-09-10 12:43:24 -07:00
Michael Adams
0545e70bd5
Added error messages to use admin/sudo/root
2020-09-10 12:42:11 -07:00
Grant Limberg
5032a8eeac
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-09-10 11:57:51 -07:00
Adam Ierymenko
1ad555a071
More selective push of AES modifications and refactoring stuff.
2020-09-10 14:48:48 -04:00
Grant Limberg
7d0f6933d6
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-09-10 11:38:25 -07:00
Adam Ierymenko
4cd3d0bb76
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-09-10 14:37:16 -04:00
Adam Ierymenko
8374553b6a
Linux build fix for AES flags.
2020-09-10 14:36:33 -04:00
Grant Limberg
eca4052884
Merge branch 'dev-redis' into dev
2020-09-10 11:10:10 -07:00
Michael Adams
2d7a96416c
Update issue templates
...
Include use of Discuss forum as an option for feature requests.
2020-09-08 12:25:40 -07:00
thoradia
f2734dc3d8
add ports to addresses specified by the bind setting
2020-09-08 01:49:19 +02:00
Grant Limberg
a1f4397959
linux implementaiton of zerotier-cli dump
2020-08-30 14:19:56 -07:00
Grant Limberg
53d5c9890f
missed a rollback
...
# Conflicts:
# controller/PostgreSQL.cpp
2020-08-26 15:52:01 -07:00
Grant Limberg
43c108f077
missed a rollback
2020-08-26 15:50:36 -07:00
Grant Limberg
33cc59914a
Merge branch 'dev-redis' into dev
2020-08-26 14:52:54 -07:00
Grant Limberg
45b6d11126
Put upserts from controller into single transaction
2020-08-26 14:52:23 -07:00
Adam Ierymenko
b7b01da742
Wire up dearmor() path.
2020-08-25 14:13:20 -07:00
Adam Ierymenko
93d6b41898
Disable AES in commit so as not to break other builds.
2020-08-25 08:08:54 -07:00
Adam Ierymenko
47e9fb3ddb
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-08-25 08:07:23 -07:00
Joseph Henry
b1ddba0438
Remove a few old comments
2020-08-24 18:56:49 -07:00
Grant Limberg
e7891bfcb0
Merge branch 'dev-redis' into dev
2020-08-21 16:29:13 -07:00
Grant Limberg
7f99c4a779
Sleep 10 seconds between writes to DB
2020-08-21 16:22:28 -07:00
Adam Ierymenko
2ac49d99dd
AES integrated on send side.
2020-08-21 14:23:31 -07:00
Adam Ierymenko
3fd8efe642
AES builds now
2020-08-21 09:56:53 -07:00
Adam Ierymenko
06730c7d1d
BSL date bump
2020-08-20 12:51:39 -07:00
Grant Limberg
81c9db7a15
fix libs for non-controller builds on macOS
2020-08-18 11:46:29 -07:00
Grant Limberg
8d0a3563e4
Merge branch 'dns' into dev
2020-08-12 13:56:21 -07:00
Grant Limberg
c0c215c83c
single dns config per network
2020-08-12 13:08:47 -07:00
Grant Limberg
058d888311
More debug logging cleanup
2020-08-12 10:00:09 -07:00
Grant Limberg
30b18d925f
clean up some debug logging
2020-08-12 09:16:18 -07:00
Grant Limberg
137d05e799
add setDNS stubs for linux/bsd
2020-08-12 09:14:10 -07:00
Grant Limberg
d9c4e644de
Windows DNS
2020-08-11 18:55:42 -07:00
Joseph Henry
edd960566a
Improve bond tracing, fix bond initialization bugs, remove vestigial debug code
2020-08-06 18:10:40 -07:00
Grant Limberg
6868e98904
Get stuff building on Windows
...
Been a minute since any of this has been updated
2020-08-05 16:04:02 -07:00
Grant Limberg
85a5b0b948
Remove dns config on shutdown
...
Also add calls to MacDNSHelper to the kext tap
2020-08-05 14:49:45 -07:00
Grant Limberg
b9a1719cb1
Let's make sure to clean up our memory
2020-08-05 14:42:19 -07:00
Grant Limberg
d6e3164ea1
remove initial attempt at dns config via scutil
2020-08-05 14:42:09 -07:00
Grant Limberg
302ac8fefe
DNS config support on macOS
2020-08-05 14:26:11 -07:00
Grant Limberg
d2708daa8e
debug output
2020-08-04 14:33:18 -07:00
Grant Limberg
88a3c685fb
latest
2020-08-04 13:52:57 -07:00
Grant Limberg
2e52a1eebf
forgot a couple queries in postgres. trying to pull dns of member not network in embedded network controller
...
also some debug logging
2020-08-04 09:45:45 -07:00
Grant Limberg
d098a99d09
fix memory init issue
...
and another place where dns data needs to be copied
2020-07-31 11:42:03 -07:00
Grant Limberg
6b197e067a
Merge branch 'dev' into dns
2020-07-30 13:15:43 -07:00
Joseph Henry
9f4985b11a
Add basic bond health status reporting (listbonds)
2020-07-27 23:01:12 -07:00
Grant Limberg
5b700fa497
println for which notification stream the controller is listening to
2020-07-27 18:37:45 -07:00
Travis LaDuke
c92e030a4b
Create a bash completion script.
...
Just adding it to the repo, but it still needs to be dealt with during install.
Probably put it in $ZT_HOME and then symlink to the proper place for the distro?
searches $ZT_HOME/networks.d/ for network IDs
searches HISTORY for 16 digit numbers that look like network IDs.
2020-07-23 13:40:48 -07:00
Grant Limberg
251b06d812
revert redis for member status
2020-07-23 09:38:50 -07:00
Joseph Henry
ff50762649
Merge multipath branch into dev branch
2020-07-23 00:40:17 -07:00
Joseph Henry
29ebda62ef
Remove (some) debug functions and traces
2020-07-23 00:32:39 -07:00
Joseph Henry
a1b2ff772a
Add new replacement condition in peer path redundancy logic to fix duplicate paths
2020-07-23 00:15:38 -07:00
Joseph Henry
dc784f6213
Comment out Bond and BondController debug traces
2020-07-21 10:22:10 -07:00
Grant Limberg
387039456d
Pass 1 at adding DNS to controller
2020-07-20 14:34:19 -07:00
Suad Halilovic
c1f4168d2f
2020/07/16, Minor optmizations
2020-07-16 18:38:04 +02:00
Suad Halilovic
ffebcd247f
2020/07/16, Minor optmizations
2020-07-16 18:31:56 +02:00
Joseph Henry
fd0c906b1b
Merge branch 'multipath' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into multipath
2020-07-14 17:05:42 -07:00
Joseph Henry
decd5add2a
Fix segfault on unique interface name list generation (for multipath)
2020-07-14 17:05:05 -07:00
Joseph Henry
8eb453e042
Revert to ancient path redundancy check logic
2020-07-06 15:18:17 -07:00
Grant Limberg
bd6c97aeb8
dont strip binary
2020-07-06 14:35:05 -07:00
Joseph Henry
29e7fa5c4b
Revert to ancient path redundancy check logic
2020-07-06 14:07:31 -07:00
Joseph Henry
a23b6d09c0
Fix merge conflict for controller code (minor edit)
2020-06-29 10:27:22 -07:00
Grant Limberg
1bb1dfa87b
android changes
2020-06-18 09:32:00 -07:00
Joseph Henry
a33a494d60
Adjust terminology
2020-06-17 14:54:13 -07:00
Joseph Henry
5f0ee4fc78
Fix invalid defaultBondingPolicy conditions, Add ZT_MultipathFlowRebalanceStrategy, Add basic hysteresis mechanism to flow re-assignment
2020-06-16 12:30:21 -07:00
Grant Limberg
d0aacfddb7
one more spot
2020-06-04 14:12:20 -07:00
Grant Limberg
9b92ad7772
handle case of no networks and/or no members
2020-06-04 14:06:30 -07:00
Grant Limberg
17c7ae20cc
force add libredis++.a for mac
2020-06-04 13:46:16 -07:00
Joseph Henry
fa5c8ef434
Fix timers, fix flow count discrepancy after flow removal, fix balance-aware flow re-assignment when one or more links go down
2020-06-01 22:58:58 -07:00
Joseph Henry
1dca7b92cf
Remove exit condition for bond creation during re-learning of previously-known paths
2020-05-31 17:30:41 -07:00
Joseph Henry
5e122b95e7
Fix segfault during balance-rr when link is brought down
2020-05-30 21:21:22 -07:00
Grant Limberg
135a547889
No longer update both pgsql & redis
2020-05-28 19:22:07 -07:00
Grant Limberg
06de25a680
bump online notification pause to 100ms
...
also put all online notification redis commands into a single tx
2020-05-27 22:25:07 -07:00
Grant Limberg
5692402d32
A little more cleanup
2020-05-27 21:02:30 -07:00
Grant Limberg
ad7ae5a372
list of all network-node pairs
2020-05-27 20:43:31 -07:00
Grant Limberg
9794e31a64
Temporary online notification thread hack
...
Updates both Redis and Postgres
2020-05-27 20:43:31 -07:00
Grant Limberg
2f0f0e4f53
redis init optimization
2020-05-27 20:43:31 -07:00
Grant Limberg
7bde004c7c
Replace scan of Redis with iteration of _networks map
2020-05-27 20:41:47 -07:00
Joseph Henry
a8f830aa9c
Add multipath documentation to service/
2020-05-26 18:29:19 -07:00
Joseph Henry
7266550c22
Remove vestigial constructor, fix typos, clean up code
2020-05-26 17:57:37 -07:00
Joseph Henry
7ed960297b
Merge changes from dev into multipath
2020-05-26 17:57:09 -07:00
Grant Limberg
39da360725
add online controller list in Redis
2020-05-22 14:16:04 -07:00
Grant Limberg
beedee4401
fix typo
2020-05-22 11:07:12 -07:00
Grant Limberg
fb0e8aebdb
keep list of active networks in redis
2020-05-22 10:07:39 -07:00
Grant Limberg
13929aee6f
reduce log chattiness
2020-05-21 09:49:55 -07:00
Grant Limberg
c2409ad6c9
fix connection to redis cluster in online notification thread
2020-05-21 09:49:41 -07:00
Grant Limberg
08cb72bdba
Temp object was being destroyed before connection was used
2020-05-21 09:33:03 -07:00
Grant Limberg
d24c8d858c
include climits for Linux
2020-05-20 16:54:18 -07:00
Grant Limberg
879ef58565
Finalize Redis integration
2020-05-20 16:28:28 -07:00
Grant Limberg
8b8399efbc
Error recovery for network & member stream watchers
2020-05-20 11:42:51 -07:00
Grant Limberg
0f17508cac
error recovery in redis online notification
...
If a redis cluster member fails over to the slave, we'll get an error from not specifying the key for the insert. Recover from that instead of crashing the controller
2020-05-20 11:38:04 -07:00
Grant Limberg
7a138f963c
TIL: Creating a redis transaction without sending any commands throws an exception
...
So let's not do that
2020-05-19 17:47:06 -07:00
Grant Limberg
b637ced1ee
Track member status in Redis
2020-05-19 17:47:02 -07:00
Grant Limberg
ee91c81799
Initialize C arrays to NULL in NetworkConfig() constructor
2020-05-19 17:40:51 -07:00
Grant Limberg
8ac42b4600
controller status query fix
2020-05-19 17:40:11 -07:00
Grant Limberg
844725237d
Add new ZT_ result codes that were added
2020-05-18 10:31:17 -07:00
Joseph Henry
58d567c331
Formatting
2020-05-14 20:09:25 -07:00
Joseph Henry
4465952d11
Merge remote-tracking branch 'origin/dev' into multipath
2020-05-14 16:06:55 -07:00
Grant Limberg
f8ba1962e6
fix equals() methods
2020-05-14 15:08:37 -07:00
Grant Limberg
701960def5
Track member status in Redis
2020-05-13 17:23:27 -07:00
Grant Limberg
15c0c1db39
finish the RabbitMQ-ectomy
2020-05-13 09:46:41 -07:00
Grant Limberg
c9f942f79b
can now build centos8 docker container with Redis support
2020-05-12 15:17:57 -07:00
Grant Limberg
663df9118a
fix centos8 build
2020-05-12 14:04:03 -07:00
Grant Limberg
5d47697ade
helps to add the actual library
2020-05-12 13:04:16 -07:00
Grant Limberg
5babd01d40
centos8 binaries for libhiredis and libredis++
2020-05-12 12:58:09 -07:00
Grant Limberg
aab96964b6
Put debug output behind ZT_TRACE
2020-05-12 12:48:58 -07:00
Grant Limberg
c6518afa7a
Make sure the streams clean up after themselves
2020-05-12 12:37:05 -07:00
Grant Limberg
563655a1a4
Redis now usable as a message queue
2020-05-12 11:56:19 -07:00
Joseph Henry
a50e8e9878
Add Bonds, Slaves, and Flows
2020-05-12 01:35:48 -07:00
Joseph Henry
de9cfbe9b0
Merge dev into multipath
2020-05-12 00:08:52 -07:00
Grant Limberg
d699116795
mac deps
2020-05-11 16:48:14 -07:00
Grant Limberg
8f3a0b17ad
redis++ binaries for mac
2020-05-11 15:24:13 -07:00
Grant Limberg
b5c661c5d5
add libhiredis.a for mac
2020-05-11 15:06:10 -07:00
Grant Limberg
154470b570
add original hiredis
2020-05-11 15:03:56 -07:00
Grant Limberg
73b1d57b13
rip out rabbitMQ
2020-05-11 12:29:06 -07:00
Grant Limberg
acb4ef0f12
add hiredis-vip to controller build
2020-05-11 11:48:05 -07:00
Gleb Panov
d2db307bee
Add lines to enable Elbrus ( https://en.wikipedia.org/wiki/Elbrus-8S ) microprocessor architecture. No changes in code, only in build procedure (recognise relevant ARCH output.
2020-04-29 13:51:28 +03:00
Athanasios Oikonomou
182f16d2a4
Add support for armv7ve
...
This commit adds support for ARM armv7ve arch.
The extended version of the ARMv7-A architecture with support for virtualization.
2020-04-26 17:01:49 +02:00
Robert Socha
bfe5c758ba
Add description for Windos service
2020-04-18 18:56:28 +02:00
Joseph Henry
32a78b5f61
Fix preprocessor typo in previous commit
2020-03-31 20:34:48 -07:00
Joseph Henry
54f9f2ad53
Add special case for Ubiquiti routers in platformDefaultHomePath()
2020-03-31 20:27:41 -07:00
Adam Ierymenko
f12c75e68b
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2020-03-25 13:40:13 -07:00
Travis LaDuke
b6b11dbf82
Document allowSecondaryPort
2020-03-25 10:26:14 -07:00
Grant Limberg
0d42108254
member ip inserts DO NOTHING on conflict
2020-03-04 09:45:45 -08:00
Grant Limberg
f6026f94a5
More fun with dupes
2020-03-03 23:52:53 -08:00
Grant Limberg
e702942041
Fix duplicate assigned IP check when adding assigned IPs to database
2020-03-03 13:34:24 -08:00
Grant Limberg
00ac35ad62
add --no-cache for docker central controller build
2020-02-24 11:06:08 -08:00
Grant Limberg
12a92fc4a1
Un-log & some production build image fixes
2020-02-24 11:02:05 -08:00
Grant Limberg
baa14a63c9
It's LOG! It's LOG!
...
It's big, it's heavy, it's wood
2020-02-24 10:20:47 -08:00
Grant Limberg
cce51cea5d
Merge branch 'pipeline' into dev
2020-02-03 13:48:46 -08:00
Grant Limberg
ba4324f992
Update jenkinsfile for new build process
2020-02-03 12:51:46 -08:00
Grant Limberg
81e982991b
add kali rolling
2020-02-03 10:46:39 -08:00
Grant Limberg
f6f4fba90e
Add docker configs for multi arch jenkins builds
2020-02-03 09:57:48 -08:00
root
23d5a972ba
disable lintian because sid/bullseye are sitting there running /bin/sleep 3 endlessly on this step
2020-01-31 13:15:23 -08:00
root
d5467e130e
disable lintian because sid/bullseye are sitting there running /bin/sleep 3 endlessly on this step
2020-01-31 13:13:02 -08:00
Grant Limberg
5faf0f8ab6
whoops
2020-01-23 09:46:15 -08:00
Grant Limberg
0f17cd4791
Update to jenkinsfile for multi-platform release builds
2020-01-23 09:41:17 -08:00
Grant Limberg
e0518ab176
testing armv5t instead of armv5 flag
2020-01-22 16:36:26 -08:00
Grant Limberg
28df0c2e38
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2019-12-17 10:56:53 -08:00
Grant Limberg
7696d45093
Fix handling of invalid conf file
...
Fixes GitHub issue #1068
2019-12-17 10:51:01 -08:00
Grant Limberg
2a7d4fcde5
update vs project settings
2019-12-17 10:49:21 -08:00
Kevin Kuehler
c9f07e855e
systemd: fix zerotier hanging on shutdown
...
On system shutdown, zerotier is stopped after the network and gets
itself into a connection timeout loop. It hits the TimeoutStopUSec= and
is forcibly killed by SIGKILL. Order zerotier after network.target so it
can shutdown gracefully while the network is still up.
From systemd.special(7):
at shutdown, a unit that is ordered after network.target will be stopped
before the network — to whatever level it might be set up then — is shut
down. It is hence useful when writing service files that require network
access on shutdown, which should order themselves after this target, but
not pull it in
2019-11-27 16:29:39 -08:00
Grant Limberg
995fa4a76c
Merge branch 'refs/heads/master' into dev
2019-11-22 15:00:39 -08:00
Grant Limberg
d8597884f6
jenkins windows
2019-11-22 11:25:31 -08:00
Grant Limberg
a993ddc54d
Merge branch 'refs/heads/master' into dev
2019-11-21 15:12:37 -08:00
Grant Limberg
54e25084fe
re-enable CI on master
2019-11-21 14:51:33 -08:00
Grant Limberg
e58a0b3efb
build central controller docker images on macOS
2019-11-21 14:49:24 -08:00
Grant Limberg
381f15382c
Convert central-controller docker build to use a builder subcontainer
2019-11-20 13:56:26 -08:00
Grant Limberg
91d679af15
Merge pull request #1087 from skunkwerks/dev
...
drop -Werror from DEBUG builds
2019-11-19 08:47:38 -08:00
Dave Cottlehuber
8396f16dd2
drop -Werror from DEBUG builds
...
Appease compilers. Thanks @glimberg for the diff.
Closes #1086
2019-11-19 16:45:06 +00:00
Travis LaDuke
bb84c9b65c
Merge pull request #1082 from laduke/controller-readme
...
Add Managed Routes example to controller readme.
2019-11-15 10:35:13 -08:00
Travis LaDuke
e744c95c5b
Add Managed Routes example to controller readme.
2019-11-15 10:29:39 -08:00
Travis LaDuke
a725d1a29a
Merge pull request #1081 from 0xflotus/patch-1
...
fixed small error
2019-11-14 10:30:30 -08:00
0xflotus
38feda1594
fixed small error
2019-11-14 10:17:05 +01:00
Grant Limberg
dc19deb6c3
.
2019-11-13 12:46:52 -08:00
Grant Limberg
86abd31659
fix log line
2019-11-13 12:46:16 -08:00
Joseph Henry
b8e70d866a
Compile fix for unterminated conditional directive
2019-11-12 09:46:39 -08:00
Joseph Henry
e1e27eb19d
Bugfix for incorrect port binding of secondary and tertiary ports
2019-11-11 12:03:49 -08:00
Grant Limberg
088dab4f04
Let's not print this to the logs
2019-10-31 15:13:20 -07:00
Grant Limberg
cc79ec6179
use std::string instead of const char* in rmq struct
2019-10-31 15:08:59 -07:00
Grant Limberg
74478b24b0
add librabbitmq binaries for macos for testing central controller
2019-10-31 14:04:25 -07:00
Travis LaDuke
bad95d7c67
Update cli help to say <network ID> instead of <network>
...
Closes #1054
2019-10-15 13:15:45 -07:00
Adam Ierymenko
de127056c2
Add notarization to "make official".
2019-09-16 20:13:20 -07:00
Adam Ierymenko
0767ea5d69
* Update default root list to latest
...
* ARM32 platform build and flag fixes
* Add a clarification line to LICENSE.txt
* Fix license message in CLI
* Windows service now looks for service command line arguments
* Fixed a bug that could cause excessive queued multicasts
2019-09-05 11:02:16 -07:00
Adam Ierymenko
8454a14eac
new Windows GUID for build #2
2019-09-04 14:25:57 -07:00
Adam Ierymenko
ecee310087
Update built-in root list.
2019-09-04 14:17:41 -07:00
Adam Ierymenko
bcdab95e4c
Windows installer version bump, build fix.
2019-09-04 14:13:45 -07:00
Adam Ierymenko
a16377cea5
Add mitigations against borked ARM32 exception unrollers, possibly fix GitHub issue #1003
2019-09-04 12:48:28 -07:00
Adam Ierymenko
ef69f1bb27
ARM wrestling
2019-09-04 12:37:54 -07:00
Adam Ierymenko
27c8eb0d6d
GitHub issue #1019
2019-09-04 12:21:51 -07:00
Adam Ierymenko
3c0f54257b
Debian typo fix
2019-09-04 08:19:33 -07:00
Adam Ierymenko
e6ead35884
docs
2019-08-30 17:48:22 -07:00
Adam Ierymenko
a6dff8ff2f
Add an extra catch as workaround for possible cause of ARM crash.
2019-08-30 17:47:13 -07:00
Adam Ierymenko
4281b6b448
Ignore MULTICAST_GATHER replies with the wrong count.
2019-08-30 17:45:10 -07:00
Adam Ierymenko
6897f602bf
1.4.6 version bump
2019-08-30 15:30:37 -07:00
Adam Ierymenko
075321fd0d
debian build version bump
2019-08-30 15:16:05 -07:00
Adam Ierymenko
5e8e935189
world!
2019-08-30 11:57:18 -07:00
Adam Ierymenko
ebb5f1256f
ARM wrestling
2019-08-30 10:03:07 -07:00
Adam Ierymenko
7c6d0d3c0f
ARM wrestling
2019-08-30 09:50:37 -07:00
Adam Ierymenko
1b6b38e395
Add default addIps() implementation to EthernetTap base class to fix build on systems that do not need addIps().
2019-08-28 07:43:18 -07:00
Grant Limberg
1cf953c046
working docker image for end users.
...
GitHub Issue #1013
2019-08-27 16:57:07 -07:00
Grant Limberg
e5bf4565da
readme in central controller docker folder
2019-08-27 15:43:11 -07:00
Grant Limberg
ddc904a502
remove docker line from readme
2019-08-27 15:27:41 -07:00
Grant Limberg
5cda292d15
comment out docker docker target from makefile because broken
2019-08-27 15:16:05 -07:00
Grant Limberg
e51cf0d4d2
moved elsewhere for controller builds
2019-08-27 15:14:55 -07:00
Joseph Henry
d8de837c60
LinuxEthernetTap addIps virtual function fix for SYNOLOGY builds
2019-08-27 14:43:30 -07:00
Adam Ierymenko
ca89695270
Fix make central-controller-docker
2019-08-26 12:19:50 -07:00
Adam Ierymenko
91b16310ea
* Change license from GPL3 to BSL 1.1, see LICENSE.txt
...
* Fix an issue with the "ipauth" rule and auto-generated unforgeable IPv6 addresses
* Fix socket/bind errors setting IPs and routes on Linux
2019-08-26 10:33:26 -07:00
Adam Ierymenko
609873e6d1
Windows version bump
2019-08-23 22:10:15 -07:00
Adam Ierymenko
4c616621c2
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-08-23 21:38:15 -07:00
Adam Ierymenko
05470bf202
Fix RPM targets
2019-08-23 21:38:04 -07:00
Adam Ierymenko
633cf9ec04
Warning removal
2019-08-23 21:28:26 -07:00
Adam Ierymenko
f3c3a90393
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-08-23 21:24:34 -07:00
Adam Ierymenko
25a48f2f44
Fix RedHat sub-version.
2019-08-23 21:24:05 -07:00
Adam Ierymenko
d214a5437f
Bump Mac pkg version
2019-08-23 15:24:52 -07:00
Adam Ierymenko
de0a5aa840
GitHub issue #994
2019-08-23 12:09:31 -07:00
Adam Ierymenko
6f9e3e3b78
Back out unnecessary hack
2019-08-23 11:14:17 -07:00
Adam Ierymenko
5c5e7fc7ff
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2019-08-23 11:13:13 -07:00
Adam Ierymenko
43e98930e9
distro cleanup
2019-08-23 11:12:25 -07:00
Adam Ierymenko
51ebefc3ab
Ifdef these to stop non-Windows IDEs from complaining.
2019-08-23 10:34:37 -07:00
Adam Ierymenko
86add4a6d3
Tolerate any libstdc++6 package "version" for Mint and other distros with weird versions on libstdc++6.
2019-08-23 10:31:12 -07:00
Adam Ierymenko
221a3f9a08
Merge branch 'dev' of http://10.187.0.8/zerotier/ZeroTierOne into dev
2019-08-23 10:20:04 -07:00
Adam Ierymenko
2f74bd5150
Add "make docker" for GitHub issue #1013
2019-08-23 10:19:59 -07:00
Adam Ierymenko
e8ae333443
Version bumps, license fixed, and GitHub issue #990 take two
2019-08-23 10:15:13 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1
2019-08-23 09:23:39 -07:00
Adam Ierymenko
509da3ac34
Merge pull request #1012 from wendelb/wendelb-patch-1
...
Controller-Docs little cleanup
2019-08-21 08:14:38 -07:00
Joseph Henry
afca5c2536
Partial implementation of ZT_MULTIPATH_BALANCE_RR_OPAQUE
2019-08-20 23:28:59 -07:00
Joseph Henry
5453cab22b
Added flow-awareness check for policies, more work on ZT_MULTIPATH_ACTIVE_BACKUP
2019-08-20 18:50:38 -07:00
Joseph Henry
b0a91c0187
Partial implementation of ZT_MULTIPATH_ACTIVE_BACKUP
2019-08-20 16:19:20 -07:00
Joseph Henry
963113b86d
Minor adjustment to how _allowTcpFallbackRelay is disabled when _multipathMode is set
2019-08-20 10:38:18 -07:00
Joseph Henry
0634214f2c
Added notion of Flows
2019-08-19 21:52:33 -07:00
wendelb
fe18579061
Removed duplicate line creationTime
2019-08-17 22:50:13 +02:00
Joseph Henry
15e44f0ddd
Merge remote-tracking branch 'origin/dev' into multipath
2019-08-14 11:25:40 -07:00
Joseph Henry
b0e86d11c9
Minor. Name change for trace functions
2019-08-14 11:24:03 -07:00
Adam Ierymenko
2ec53df7ab
Put a limit on the multicast TX queue to prevent memory use ridiculousness.
2019-08-14 10:52:21 -07:00
Adam Ierymenko
1c7b553331
GitHub issue #1000
2019-08-14 10:47:58 -07:00
Joseph Henry
5b7d60f5cd
Whoops
2019-08-13 14:42:48 -07:00
Joseph Henry
640567a021
More informative link aggregation trace outputs
2019-08-13 14:34:47 -07:00
Joseph Henry
2593c6efee
Adjusted multipath constants
2019-08-13 14:34:11 -07:00
Joseph Henry
36d368cb78
Check for (local multipath support only) during decision to decrease direct path push interval. This prevents the chicken-and-egg situation of not knowing if two peers can support multipath on both ends and thusly not sending eachother their direct paths quickly enough.
2019-08-13 13:26:41 -07:00
Adam Ierymenko
a0fb519696
Make sure libstdc++ is in RH spec file
2019-08-13 12:58:14 -07:00
Joseph Henry
2e9fa7a811
Merge remote-tracking branch 'origin/dev' into multipath
2019-08-13 12:42:19 -07:00
Joseph Henry
d8ce1f7914
Added ZT_DIRECT_PATH_PUSH_INTERVAL_MULTIPATH to decrease link aggregation time
2019-08-13 12:41:30 -07:00
Adam Ierymenko
83e6864b78
Version bump in Linux packages for new binaries.
2019-08-13 09:34:56 -07:00
Joseph Henry
3c7e25ed58
Added call to computeAggregateAllocation() in multipath mode=1 to give realtime allocation output
2019-08-12 17:04:27 -07:00
Adam Ierymenko
98af3c0dc1
* Fix high CPU use bug on some platforms
...
* Fix issues with PostgreSQL controller DB (only affects Central)
* Restore backward compatibility with MacOS versions prior to 10.13
2019-08-12 13:25:12 -07:00
Joseph Henry
77ae929eb3
Merge master into multipath
2019-08-12 11:40:13 -07:00
Adam Ierymenko
5341c216a7
Comment ugly query
2019-08-08 19:20:01 -05:00
Adam Ierymenko
96a0c3d764
ugly query is ugly
2019-08-08 19:16:11 -05:00
Adam Ierymenko
783b49e383
more worky less not worky
2019-08-08 18:58:22 -05:00
Adam Ierymenko
d4dc983a01
fix bad column name
2019-08-08 18:31:41 -05:00
Adam Ierymenko
72ccd1020a
Another exception fix
2019-08-08 18:11:06 -05:00
Adam Ierymenko
6a9a577c59
rulesSource needs to be required in network or pgsql has issues
2019-08-08 17:56:27 -05:00
Adam Ierymenko
730305ecc7
One more sync fix.
2019-08-08 17:31:32 -05:00
Adam Ierymenko
f8f2432ece
Shutdown fix
2019-08-08 17:22:20 -05:00
Adam Ierymenko
55087521f6
Add periodic sync check when syncing LF<>another DB
2019-08-08 17:20:50 -05:00
Adam Ierymenko
760ae07d72
Sync bug fix
2019-08-08 16:30:52 -05:00
Adam Ierymenko
28d0070ce2
Fix race in multiple DB mirroring configurations.
2019-08-08 15:29:13 -05:00
Adam Ierymenko
ad2a7c2590
More windows build fixes
2019-08-08 15:15:12 -05:00
Adam Ierymenko
8b97755fc5
Windows fixes.
2019-08-08 14:08:35 -05:00
Adam Ierymenko
7bb0d9be1b
warning removal
2019-08-08 11:04:11 -05:00
Adam Ierymenko
6c44fcc290
more warning cleanup
2019-08-08 10:28:57 -05:00
Adam Ierymenko
c8e7031198
warning cleanup
2019-08-08 10:01:57 -05:00
Adam Ierymenko
fb3b2820b5
centos 7 docs
2019-08-08 09:50:05 -05:00
Adam Ierymenko
c83a4aef55
cleanup
2019-08-07 21:47:06 -05:00
Adam Ierymenko
af7a70bf02
cleanup
2019-08-07 21:11:48 -05:00
Adam Ierymenko
4d70640a15
Remove debug line
2019-08-07 19:06:02 -05:00
Adam Ierymenko
b11627a8bc
add SDK VirtualTap to new factory method
2019-08-07 18:45:04 -05:00
Adam Ierymenko
7436f85ad0
Require MacOS 10.10
2019-08-07 18:22:03 -05:00
Adam Ierymenko
237c379866
Choose which tap to use (feth or kext) on Mac based on Darwin version.
2019-08-07 18:20:17 -05:00
Adam Ierymenko
aca31c7055
Put kext back in Mac distro and use on versions older than High Sierra (which lack the feth device)
2019-08-07 18:14:12 -05:00
Adam Ierymenko
6073e7972f
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-08-07 11:24:04 -05:00
Adam Ierymenko
f7e8d8f1dd
Fix LFDB path issue when using with Postgress in DBMirrorSet config
2019-08-07 11:23:48 -05:00
Grant Limberg
87016ae815
network update to upsert
2019-08-06 15:30:50 -07:00
Adam Ierymenko
3ed8e46782
Use devtoolset-8 on RHEL/CentOS 7
2019-08-06 16:46:41 -05:00
Adam Ierymenko
3db0197865
Add try/catch in LFDB and add introspection into multicast subscriptions in client network status API
2019-08-06 15:22:57 -05:00
Adam Ierymenko
6174c0c103
Fix deadlock bug.
2019-08-06 13:20:37 -05:00
Adam Ierymenko
8898cb342b
.
2019-08-06 13:12:45 -05:00
Adam Ierymenko
9cc76d1115
Remove debug line
2019-08-06 11:01:08 -05:00
Adam Ierymenko
5289d3327c
Build fixes
2019-08-06 11:00:35 -05:00
Adam Ierymenko
00fb9c475e
More work on DB mirroring.
2019-08-06 10:42:54 -05:00
Adam Ierymenko
3c776675b3
Cruftectomy, work in progress on mirrorring
2019-08-06 08:51:23 -05:00
Adam Ierymenko
37d508ab96
Refactoring in prep for mirroring
2019-08-06 07:51:50 -05:00
Adam Ierymenko
f4f8fef82e
LFDB fix
2019-08-05 15:30:03 -05:00
Adam Ierymenko
cd2e3c79f2
Windows AIP version bump
2019-08-04 20:27:09 -07:00
Adam Ierymenko
7722350178
Version bump to 1.4.2 for all but Windows AIP
2019-08-04 20:13:12 -07:00
Adam Ierymenko
a77b4ecddb
Add optional function in DB change listener for member online events.
2019-08-04 19:55:52 -07:00
Adam Ierymenko
818b7e4a2e
GitHub issue #993 (???)
2019-08-04 15:35:43 -07:00
Adam Ierymenko
00d63f6046
GitHub issue #993 (???)
2019-08-04 15:15:02 -07:00
Adam Ierymenko
639fc60257
GitHub issue #990
2019-08-04 15:08:33 -07:00
Grant Limberg
21467596bc
Merge branch 'remove_network_status_table' into dev
2019-08-04 12:38:12 -07:00
Adam Ierymenko
75ebe5172f
Fix for sharing of capabilities in 1.4 (problem introduced when push frequency was reduced)
2019-08-02 20:43:02 -07:00
Adam Ierymenko
4a9030b4a0
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-08-02 13:59:10 -07:00
Adam Ierymenko
fdc708a624
GitHub issue #979
2019-08-02 13:59:03 -07:00
Adam Ierymenko
67beea1e3d
Batch file to clean Windows build dir
2019-08-01 13:21:36 -07:00
Adam Ierymenko
34364ab8ee
Bump version
2019-07-31 16:41:35 -07:00
Adam Ierymenko
bb99ef1351
Get rid of online status stuff in FileDB, not necessary at all.
2019-07-31 16:41:12 -07:00
Adam Ierymenko
b3891e5506
Version 1.4.0.1: bug fix for Mac multicast and IPv4 issues, no change for other platforms
2019-07-31 13:27:08 -07:00
Adam Ierymenko
632d6e04ad
Mac multicast bug fix -- GitHub issue #986
2019-07-31 13:25:58 -07:00
Adam Ierymenko
db813db7e8
2019-07-29 -- Version 1.4.0
...
Major Changes
* Mac version no longer requires a kernel extension, instead making use of the [feth interfaces](https://apple.stackexc
* Added support for concurrent multipath (multiple paths at once) with traffic weighting by link quality and faster rec
* Added under-the-hood support for QoS (not yet exposed) that will eventually be configurable via our rules engine.
Minor Changes and Bug Fixes
* Experimental DB driver for [LF](https://github.com/zerotier/lf ) to store network controller data (LFDB.cpp / LFDB.hpp
* Modified credential push and direct path push timings and algorithms to somewhat reduce "chattiness" of the protocol
* Removed our beta/half-baked integration of Central with the Windows UI. We're going to do a whole new UI of some kind
* Fixed stack overflow issues on Linux versions using musl libc.
* Fixed some alignment problems reported on ARM and ARM64, but some reports we could not reproduce so please report any
* Fixed numerous other small issues and bugs such as ARM alignment issues causing crashes on some devices.
* Windows now sets the adapter name such that it is consistent in both the Windows UI and command line utilities.
2019-07-29 16:11:06 -07:00
Adam Ierymenko
837c6270f2
More docs
2019-07-29 15:14:37 -07:00
Adam Ierymenko
8c3c07cb5d
docs
2019-07-29 13:50:02 -07:00
Adam Ierymenko
5cc0dd7f55
Windows installer version bump
2019-07-29 12:36:10 -07:00
Adam Ierymenko
79c4d98b61
docs
2019-07-29 12:10:39 -07:00
Adam Ierymenko
678e11530e
1.4 bump
2019-07-29 12:07:44 -07:00
Adam Ierymenko
a8f2b39f15
Windows project fixes
2019-07-29 11:05:46 -07:00
Adam Ierymenko
add2ac0369
Merge pull request #963 from atopuzov/armv6l
...
Fix compiling on Raspberry PI Zero W on Arch Linux
2019-07-29 10:23:09 -07:00
Adam Ierymenko
1e475edd1c
Merge pull request #973 from unquietwiki/patch-1
...
Update Dockerfile
2019-07-29 10:22:36 -07:00
Adam Ierymenko
745483708a
Merge pull request #974 from squeakbat/master
...
Don't relink zerotier-one every time.
2019-07-29 10:21:35 -07:00
Adam Ierymenko
d9432f2f1e
cleanup
2019-07-29 10:19:20 -07:00
Adam Ierymenko
eb7081d2a3
Fix for detecting changes in LF from other instances of the same controller.
2019-07-26 19:28:09 -07:00
Adam Ierymenko
d9befe3fb3
Debug code removal
2019-07-26 18:51:50 -07:00
Adam Ierymenko
0618452615
LF masking key should be a secret
2019-07-26 17:44:05 -07:00
Adam Ierymenko
f6b080b8a2
Abstract out change listener from controller itself to permit DBs to shadow changes from other DBs.
2019-07-26 17:39:00 -07:00
Adam Ierymenko
c8c33db1d1
.
2019-07-26 16:03:21 -07:00
Adam Ierymenko
196bac726c
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-07-23 16:06:40 -07:00
Adam Ierymenko
ac2688de58
More LFDB work
2019-07-23 16:06:35 -07:00
Joseph Henry
d2af12b6a0
Forgot to add ZT_DISABLE_COMPRESSION to linux makefile
2019-07-23 13:33:25 -07:00
Joseph Henry
6958ba9557
Added ZT_DISABLE_COMPRESSION build flag for SDK and low-end NAS builds
2019-07-23 12:39:07 -07:00
Adam Ierymenko
5f11daadf2
Build fix
2019-07-23 09:30:40 -07:00
Adam Ierymenko
99df3fe433
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-07-23 09:29:12 -07:00
Adam Ierymenko
d4d350a285
Work in progress
2019-07-23 09:29:08 -07:00
Joseph Henry
8a0b75c83a
Added LFDB.o to objects.mk
2019-07-22 15:24:16 -07:00
Joseph Henry
9cf74657e0
Commented out rtnetlink error debug trace
2019-07-22 14:12:21 -07:00
Adam Ierymenko
5edd04638d
LFDB work in progress
2019-07-22 13:43:06 -07:00
Ellen Wang
eb2f851e65
Don't relink zerotier-one every time.
...
Because zerotier-one depends on "one", which is a phony target,
making it relinks zerotier-one every time, which is probably
not the desired behavior.
In any case, zerotier-one, zerotier-cli, and zerotier-idtool are
real target, so they should have real dependencies and actions.
The "one" target now depends on these three files.
Behavior is mostly unchanged otherwise.
2019-07-21 21:37:01 -07:00
Joseph Henry
a0f47b12b4
Removed Synology-specific home path, changes made elsewhere in SPK
2019-07-19 16:34:31 -07:00
Adam Ierymenko
1b2d9e202e
Remove 44/8 as pseudoprivate since it is now partly global.
2019-07-19 13:33:14 -07:00
Michael Adams
daa8839005
Update Dockerfile
...
Update Dockerfile to use Debian 10 + pull the main.sh directly from Github; works for Portainer use.
2019-07-18 17:48:41 -07:00
Grant Limberg
80124bb753
Update release notes
2019-07-16 15:34:26 -07:00
Grant Limberg
861a319014
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2019-07-16 15:20:05 -07:00
Grant Limberg
d43e810ecb
Finally figured out how to update the network interface names on Windows so that they'll be visible in ipconfig, Get-NetAdapter etc.
2019-07-16 15:16:49 -07:00
Grant Limberg
7afcc17024
no usleep() on Windows
2019-07-16 13:09:10 -07:00
Grant Limberg
2ab2f68725
Add a central database schema version check to central controller startup
2019-07-16 12:15:38 -07:00
Adam Ierymenko
90872c906f
Fix FileDB stuff and latency measurement.
2019-07-15 16:30:34 -05:00
Adam Ierymenko
bdc2ec1f5e
Track online status in FileDB
2019-07-15 15:27:53 -05:00
Grant Limberg
692733fffb
Don't write to ztc_network_status table anymore in central controller
2019-07-15 13:00:16 -07:00
Adam Ierymenko
d3728d5859
cleanup
2019-07-10 21:30:11 -04:00
Joseph Henry
389331ca29
Ticket #915 , added allowSecondaryPort to optionally force ZT to use a single port
2019-07-09 10:31:03 -07:00
Adam Ierymenko
b2c4b7e99f
Version bunmp
2019-07-09 10:36:25 -04:00
Adam Ierymenko
fee6aae442
Drop in faster C25519 agreement code.
2019-07-09 10:31:08 -04:00
Grant Limberg
409406d114
Whoops
2019-07-08 12:36:49 -07:00
Grant Limberg
203414910f
Give up to a second for the interface to appear to assign IP addresses
2019-07-08 12:33:26 -07:00
Travis LaDuke
ac0082a67e
Update README.md
2019-07-02 11:56:19 -07:00
Aleksandar Topuzović
9ccbe85923
Fix compiling on Raspberry PI Zero W on Arch Linux
...
* Should also fix it for Raspberry PI 1
* "gcc -dumpmachine | cut -d '-' -f 1" reports armv6l
2019-07-01 14:56:02 +01:00
Adam Ierymenko
dffbd2113a
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-28 11:20:49 -07:00
Adam Ierymenko
7db073d993
Start 1.4.0 release notes.
2019-06-28 11:20:38 -07:00
Adam Ierymenko
3c02c2e4bd
Windows installer bump
2019-06-28 08:48:06 -07:00
Adam Ierymenko
a17c760181
Fix Mac installer
2019-06-27 14:36:31 -07:00
Adam Ierymenko
54d2fa65dd
Version bump, cleanup
2019-06-27 14:31:10 -07:00
Adam Ierymenko
a019c3dd5d
Tighten up credential push just a bit for faster up-time with older nodes, should not have significant impact on bandwidth. Also some cleanup and push direct path timing fixes.
2019-06-25 13:42:20 -07:00
Adam Ierymenko
a3ef9b8a15
Cleanup
2019-06-25 10:06:50 -07:00
Adam Ierymenko
554e0b7c6d
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-20 15:20:46 -07:00
Adam Ierymenko
fd74e2a583
Windows build changes for 1.2.99 (1.4.0pre)
2019-06-20 15:20:42 -07:00
Grant Limberg
af5d3a7f0b
dockerfile updates
2019-06-20 14:17:38 -07:00
Adam Ierymenko
bb0808c99c
Remove current multithreaded receive path, which is not that efficient. We will do something better in the future.
2019-06-19 10:19:59 -07:00
Adam Ierymenko
f0295b154b
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-17 15:50:11 -07:00
Adam Ierymenko
b041de831a
More stack->heap
2019-06-17 15:50:05 -07:00
Grant Limberg
21e844cd82
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-06-17 15:32:27 -07:00
Grant Limberg
4e2439bd12
Don't call _phy->getIfName if localSocket is -1
2019-06-17 15:32:21 -07:00
Adam Ierymenko
c5a07c7f20
More stack->heap
2019-06-17 15:28:02 -07:00
Adam Ierymenko
e2900f4f3c
Fix valgrind warning... not sure if it is an actual issue.
2019-06-17 15:23:52 -07:00
Adam Ierymenko
aa831dd843
More stack->heap...
2019-06-17 14:55:33 -07:00
Adam Ierymenko
2dc783214c
Allocate outp on heap in Peer.
2019-06-17 14:38:27 -07:00
Adam Ierymenko
523df47a65
Check for null data ptr
2019-06-17 14:02:35 -07:00
Adam Ierymenko
f66fac3982
Win32 build fix
2019-06-17 13:48:42 -07:00
Adam Ierymenko
9c51ce9c40
Windows build fixes, fix double/float types to get rid of warnings.
2019-06-17 13:32:41 -07:00
Adam Ierymenko
9797540212
merge
2019-06-13 12:53:05 -07:00
Adam Ierymenko
ce2338c24a
Fix null ptr on managed routes if no IPs are set.
2019-06-13 12:52:38 -07:00
Grant Limberg
3b188ba672
no message
2019-06-13 10:38:42 -07:00
Grant Limberg
eb84d61deb
remove these from jenkins for now
2019-06-13 10:35:54 -07:00
Grant Limberg
47d29ddcaf
Compiler warning cleanup
2019-06-13 10:28:09 -07:00
Grant Limberg
f411eb1651
Remove old RethinkDB.cpp/.hpp files from visual studio project
2019-06-13 10:15:45 -07:00
Joseph Henry
94bd2918fa
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-06-12 13:14:23 -07:00
Joseph Henry
c3bfcf560b
Removed check for port number in multipath path replacement logic
2019-06-12 13:14:14 -07:00
Adam Ierymenko
5b2b088714
Cleanup, version bump.
2019-06-11 14:58:23 -07:00
Adam Ierymenko
0bdfad52e7
docs
2019-06-11 13:51:10 -07:00
Adam Ierymenko
cf046a4039
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-11 11:01:20 -07:00
Adam Ierymenko
700cc92083
Indent fix
2019-06-11 11:01:12 -07:00
Joseph Henry
2eb9c0924a
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-06-11 10:54:14 -07:00
Joseph Henry
ebadc6f203
Added s390x arch flags to makefile and ZeroTierOne.h for ticket #950
2019-06-11 10:54:06 -07:00
Adam Ierymenko
87bce1a36b
GitHub issue #886
2019-06-11 10:53:35 -07:00
Adam Ierymenko
848f822171
.
2019-06-06 10:04:11 -07:00
Joseph Henry
d4199ddb3e
Commented out RingBuffer::dump() as an alternative solution to PR #952
2019-06-03 11:00:04 -07:00
Grant Limberg
e4abc91d35
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-05-31 15:10:53 -07:00
Grant Limberg
37d321afc8
dont spin as much in the onlineNotificationThread
2019-05-31 15:10:45 -07:00
Joseph Henry
541e5c510e
CLI improvements (peers, and get/set ip, ip4, ip6, etc)
2019-05-31 11:41:24 -07:00
Joseph Henry
90d324ae96
Fixed ZT_SDK build issue. Moved ZT_SDK preprocessor directives to more permanent homes
2019-05-17 10:15:40 -07:00
Adam Ierymenko
cacdb445c7
Bump protocol version to 10
2019-05-14 13:54:27 -07:00
Joseph Henry
4743ad0b16
Added convenience swtich for disabling JSON support in SDK build
2019-05-13 12:24:55 -07:00
Joseph Henry
2d5c6fa975
Disabled compression for outbound packets in SDK build
2019-05-13 12:24:22 -07:00
Joseph Henry
95ef13f7a1
Added divisor for ZT_PEER_ACTIVITY_TIMEOUT, gives quicker indication to status change in SDK
2019-05-13 12:24:01 -07:00
Joseph Henry
298e1d5a74
Added 90x90 AppIcon
2019-05-01 12:53:50 -07:00
Grant Limberg
87c75d033e
pt 2
2019-04-22 11:36:14 -07:00
Grant Limberg
71ae678930
Make things compile with Android NDK again
2019-04-22 11:35:35 -07:00
Grant Limberg
6a027c9c0a
amqp_consume_message now has a timeout
...
RabbitMQ::consume() will return an empty string if the call to amqp_consume_message times out
2019-04-18 14:57:06 -07:00
Grant Limberg
6014df2847
fix compile & sql errors
2019-04-04 15:11:01 -07:00
Grant Limberg
55a9e6e05e
Queue up inserts in onlineNotificationThread() into a multiple insert statement
2019-04-04 12:40:49 -07:00
Adam Ierymenko
02f0eead1c
More new Mac ethernet tap bugs.
2019-03-29 15:14:03 -07:00
Adam Ierymenko
d77846dcea
Add bigness to buffers to prevent overflow on high traffic (Mac tap).
2019-03-29 12:45:02 -07:00
Adam Ierymenko
92c811deb7
Destroy feth devices before creating to delete old ones if they were left behind (MacEthernetTap).
2019-03-29 12:14:03 -07:00
Adam Ierymenko
92f199ab98
More bug fixing for AARCH64.
2019-03-28 22:40:28 +00:00
Adam Ierymenko
b65feeba85
One more AARCH64 fix.
2019-03-28 15:23:53 -07:00
Adam Ierymenko
6914425b03
cleanup
2019-03-28 13:58:19 -07:00
Adam Ierymenko
89f57124b2
Never mind, only unused on some builds so leave them there.
2019-03-27 09:30:45 -07:00
Adam Ierymenko
65823332d4
Comment out some unused functions.
2019-03-27 09:29:34 -07:00
Adam Ierymenko
ee8682ac75
Temporarily disable the symmetric NAT port prediction code since the current version adds protocol overhead and probably is not that effective.
2019-03-26 15:23:51 -07:00
Adam Ierymenko
e3e5137757
Fix more alignment hell in LinuxNetLink for AARCH64 and probably other pedantic architectures.
2019-03-25 22:53:06 +00:00
Adam Ierymenko
d81549a7b1
Various other fixes including removal of more mem*() issues and netlink fixes for AARCH64.
2019-03-25 22:19:52 +00:00
Adam Ierymenko
d5ac8512e3
...
2019-03-25 12:58:43 -07:00
Adam Ierymenko
f23e354272
Nope, more...
2019-03-25 12:56:03 -07:00
Adam Ierymenko
6475e1faf6
I think this is the last one.
2019-03-25 12:53:31 -07:00
Adam Ierymenko
752fc0742e
More mem*() stuff... sigh...
2019-03-25 12:52:19 -07:00
Adam Ierymenko
e1091611da
More mem*() stuff...
2019-03-25 12:41:59 -07:00
Adam Ierymenko
678116b6d1
One more.
2019-03-25 12:36:54 -07:00
Adam Ierymenko
0a9e2227e8
... and more
2019-03-25 12:00:54 -07:00
Adam Ierymenko
2600b1f144
Removal of more mem*() calls.
2019-03-25 11:59:14 -07:00
Adam Ierymenko
b56753ea9f
Get rid of some mem* calls that are bad C++ form (but worked fine) and cause warnings.
2019-03-25 11:45:32 -07:00
Adam Ierymenko
97046b265c
Kill ZT_FAST_MEMCPY in selftest.
2019-03-22 15:52:16 -07:00
Adam Ierymenko
2966eac64f
Get rid of ZT_FAST_MEMCPY because this is not really needed.
2019-03-22 15:50:15 -07:00
Adam Ierymenko
d530356055
RingBuffer<> is now templated with size, buffer is now static.
2019-03-22 14:39:52 -07:00
Adam Ierymenko
af3ec000a0
Merge branch 'dev' into edge
2019-03-22 09:38:41 -07:00
Adam Ierymenko
8051127c3b
Update credits.
2019-03-21 16:43:53 -07:00
Adam Ierymenko
e37eb0aa54
More cleanup of old stuff no longer used.
2019-03-21 16:42:52 -07:00
Adam Ierymenko
130fa35bb1
cleanup
2019-03-21 16:39:56 -07:00
Adam Ierymenko
39e1021f62
Replace certificate based gating of multicast like/gather with a simpler more efficient method, fix some minor issues with request based com/cert push, and clean up some other random stuff.
2019-03-21 16:18:49 -07:00
Adam Ierymenko
63ec19674c
.
2019-03-19 16:43:43 -07:00
Travis LaDuke
af60e769b0
Allow mac users to make central-controller
...
Made the smallest change I could figure out.
Had to remove -Werror because something in the postgres adapter woudn't
compile.
brew install postgresql rabbitmq-c
and seems to put the libs in the right place
2019-03-18 17:01:05 -07:00
Adam Ierymenko
087c75d5ee
More cleanup.
2019-03-14 16:40:22 -07:00
Adam Ierymenko
e03102dbcb
Clean out some unnecessarily pedantic auth stuff in favor of a simpler way of gating multicast gathers.
2019-03-14 14:29:15 -07:00
Adam Ierymenko
9d7b7c72b2
Merge branch 'dev' into edge
2019-03-14 13:49:49 -07:00
Travis LaDuke
99c3f02343
Update controller readme
...
Delete `/controller/network/<network ID>/active` docs
re: #921
2019-03-12 13:02:49 -07:00
Grant Limberg
95bfc29c92
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-03-11 12:26:57 -07:00
Grant Limberg
e3cc7c9a80
fix non-central controller builds
2019-03-11 11:16:44 -07:00
Grant Limberg
d4c0349de9
Revert "#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10"
...
This reverts commit 270debb3fc .
2019-03-11 09:44:40 -07:00
Adam Ierymenko
d7a6357393
Merge branch 'dev' into edge
2019-03-08 13:16:02 -08:00
Adam Ierymenko
6fbf21b4f0
Use a smaller MTU, which should not impact throughput since 2800+overhead/2 still fits in two of these.
2019-03-08 13:15:47 -08:00
Grant Limberg
993d850f69
more logs
2019-03-08 10:50:33 -08:00
Grant Limberg
cda07b20a2
add mutex to channel numbering
2019-03-08 10:29:36 -08:00
Grant Limberg
52c85aa605
now with more -fPIC
2019-03-08 10:29:19 -08:00
Grant Limberg
e5155df6d5
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-03-08 10:21:19 -08:00
Grant Limberg
293d2064c4
librabbitmq built with same clang version as zt
2019-03-08 10:20:53 -08:00
Grant Limberg
171cc3e01a
reorder a couple of things
2019-03-08 10:20:19 -08:00
Grant Limberg
8141043560
finish up rabbitmq integration
2019-03-06 16:16:49 -08:00
Grant Limberg
9a3cc93d74
update dockerfile to generate rabbitmq config settings when necessary
2019-03-05 15:47:04 -08:00
Grant Limberg
fcb4221f97
rabbitMQ implementation
2019-03-05 15:11:50 -08:00
Grant Limberg
1f13374a4f
added struct for rabbitmq config
2019-03-04 17:01:16 -08:00
Grant Limberg
801401a6e7
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-03-04 16:31:36 -08:00
Grant Limberg
de1fc43cc5
added librabbitmq library for central controller
2019-03-04 16:27:39 -08:00
Joseph Henry
270debb3fc
#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10
2019-03-01 13:28:00 -08:00
Grant Limberg
59a0a25f35
Merge branch 'controller-live' into dev
2019-03-01 11:13:49 -08:00
Grant Limberg
a788486803
Remove /controller/network/<network ID>/active from controller documentation as that path no longer exists.
...
GitHub Issue #921
2019-02-25 12:13:55 -08:00
Grant Limberg
3d21f0a91f
update docker registry used
2019-02-08 10:40:57 -08:00
Grant Limberg
f726044e29
no message
2019-02-05 11:48:03 -08:00
Grant Limberg
a4b1917361
Fixed a bug where UI elements were attempting to be updated in a background thread.
...
Also code cleanup & removed confusing startup UI
2019-02-05 11:47:37 -08:00
Adam Ierymenko
a3b2aeb001
Take netmask bits from most specific route.
2019-02-01 14:06:34 -08:00
Adam Ierymenko
5b1ef2fb03
Take netmask bits from most specific route.
2019-02-01 14:05:29 -08:00
Joseph Henry
d0f78f1e03
Bugfix for heap-use-after-free in concurrent packet processing code (manifests only after terminate() is called)
2019-02-01 11:50:52 -08:00
Joseph Henry
541e91ed8e
Fixed potential memory leak in RingBuffer
2019-02-01 11:44:43 -08:00
Adam Ierymenko
321cada1d7
Wrong criteria was wrong. Now with less wrong.
2019-02-01 11:38:19 -08:00
Adam Ierymenko
34c1023ba7
Wrong criteria was wrong. Now with less wrong.
2019-02-01 11:37:30 -08:00
Joseph Henry
82a21d4b71
Bugfix for heap-use-after-free in concurrent packet processing code (manifests only after terminate() is called)
2019-01-30 22:29:51 -08:00
Joseph Henry
23996c7e6b
Fixed potential memory leak in RingBuffer
2019-01-27 14:43:29 -08:00
Joseph Henry
d7091a0bac
Fixed sign-comparison compile warnings in QoS code
2019-01-25 13:24:31 -08:00
Grant Limberg
7414418e2e
insert/update host_port on controller start
2019-01-21 11:29:13 -08:00
Grant Limberg
2294770e56
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-01-21 11:18:25 -08:00
Grant Limberg
d98bdb5643
WIP: Pass listen port down to Postgres
2019-01-21 11:18:20 -08:00
Joseph Henry
21f4f16e63
Disable HTTP control plane for libzt builds, introduction of getRoutes() for SDK API
2019-01-14 11:34:46 -08:00
Joseph Henry
0e597191b8
Updated licenses for 2019
2019-01-14 10:25:53 -08:00
Travis LaDuke
001ba1a4a7
Update link to knowledge base.
2019-01-09 10:19:02 -08:00
Grant Limberg
b59c4a2106
Print error & exit on local.conf parsing error
2019-01-07 11:19:50 -08:00
Grant Limberg
c35933cd1e
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-12-10 12:27:00 -08:00
Grant Limberg
0da2efa633
add application_name to pgbouncer connectio string
2018-12-10 12:26:20 -08:00
Grant Limberg
e23d95bf03
sleep 60 seconds between deployments
2018-12-07 15:17:12 -08:00
Grant Limberg
f6e9f0e2a2
cleanup
2018-12-07 01:58:23 -08:00
Grant Limberg
4a89729529
add INCOMING_PACKET_CONCURRENCY environment variable to be able to specify max threads for receive in controller
2018-12-07 00:59:08 -08:00
Grant Limberg
56a58f2b11
more logging of exits from the central controller
2018-12-06 13:26:53 -08:00
Grant Limberg
e959908c51
log message
2018-12-06 13:19:36 -08:00
Grant Limberg
6e3144370a
exit controller if onlinenotification thread exits while _run == 1
2018-12-06 13:10:59 -08:00
Grant Limberg
20f02bb772
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-12-06 13:08:39 -08:00
Grant Limberg
1c86f25fab
update # of threads for Postgres
2018-12-06 13:08:31 -08:00
Adam Ierymenko
e6f9ab929d
More speed stuff.
2018-12-06 12:47:58 -08:00
Adam Ierymenko
18d1772bb4
stuff for speed and stuff (testing)
2018-12-06 12:00:49 -08:00
Adam Ierymenko
5535cad773
Revert mutex change.
2018-12-04 16:15:46 -08:00
Adam Ierymenko
ec84934d48
Disable spinlock to check CPU usage implications on multithreaded controllers.
2018-12-04 15:59:39 -08:00
Grant Limberg
328d08781a
finish pgbouncer integration
2018-12-03 16:12:15 -08:00
Grant Limberg
c8d5215870
add handling for PGBOUNCER_CONNSTR environment variable.
...
alows Central controllers to connect to PGBouncer on some threads. LISTEN threads still require a direct connection to the DB
2018-12-03 15:19:15 -08:00
Grant Limberg
62ccb48a0b
allow alternative ports for central controllers
2018-12-03 15:06:26 -08:00
Grant Limberg
82409eb345
add script to cycle central controllers
2018-12-03 15:04:46 -08:00
Grant Limberg
b75f212d70
Replace RethinkDB section in controller/README with PostgreSQL
2018-11-30 10:41:54 -08:00
Grant Limberg
ccb856749f
back to plain old libpq in dev
2018-11-30 10:40:57 -08:00
Adam Ierymenko
9d2bc9bf4e
Merge branch 'master' into dev
2018-11-28 08:44:45 -08:00
Adam Ierymenko
52c4385c16
Merge branch 'master' of http://git.int.zerotier.com/zerotier/ZeroTierOne
2018-11-28 08:44:12 -08:00
Adam Ierymenko
5da7d6d1ae
Merge docker update PR
2018-11-28 08:43:50 -08:00
Adam Ierymenko
65e0a74718
Merge pull request #869 from bltavares/patch-2
...
Update ZeroTier version on Docker
2018-11-28 08:41:42 -08:00
Grant Limberg
01d5d7d78b
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-13 16:20:01 -08:00
Grant Limberg
e3381a4c1f
fix member init query
2018-11-13 16:19:55 -08:00
Adam Ierymenko
03e35b25b8
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-11-13 16:02:31 -08:00
Adam Ierymenko
e2b0fb26b1
self-test build fix.
2018-11-13 16:02:26 -08:00
Grant Limberg
01c18cc442
update makefile for libpqxx controller
2018-11-13 16:01:43 -08:00
Grant Limberg
01e6df4d46
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-13 16:00:17 -08:00
Grant Limberg
882b03436d
WIP: libpxx instead of libpq
2018-11-13 16:00:13 -08:00
Adam Ierymenko
690bd933d5
Support shutdown with postLimit in BlockingQueue
2018-11-13 13:52:45 -08:00
Adam Ierymenko
6684559cd9
More Mac tap improvements and threading efficiency improvements.
2018-11-13 13:51:25 -08:00
Adam Ierymenko
4ed7d20a48
Another stability fix... turns out vfork is problematic here.
2018-11-13 12:46:36 -08:00
Adam Ierymenko
350116c513
Stability improvements for Mac virtual Ethernet tap driver.
2018-11-13 12:42:03 -08:00
Adam Ierymenko
7bde2c089d
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-11-13 12:08:02 -08:00
Adam Ierymenko
90631adb9b
Improve multithreading support for OneService (faster, dynamic adjustment of thread count based on HW concurrency).
2018-11-13 12:07:58 -08:00
Adam Ierymenko
f6450cd7e1
Cleanup and a minor performance improvement.
2018-11-13 10:19:51 -08:00
Adam Ierymenko
3b6b1d1674
Make incoming packet processor thread pool dynamic based on core count.
2018-11-13 09:35:20 -08:00
Grant Limberg
33d7b22abe
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-11 23:06:31 -08:00
Grant Limberg
2f9712e6a7
utility script to update public controllers
2018-11-11 23:06:24 -08:00
Adam Ierymenko
b937aeb857
cleanup
2018-11-11 23:03:51 -08:00
Grant Limberg
f3d8846df3
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-11 22:55:57 -08:00
Grant Limberg
2729db9555
exceptions
2018-11-11 22:55:53 -08:00
Adam Ierymenko
1cec4b1c4c
Raise thread count to 8
2018-11-11 22:55:38 -08:00
Adam Ierymenko
7048c77ebc
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-11-11 22:35:26 -08:00
Adam Ierymenko
c9c17eaddd
Retire RethinkDB, simple receive path multithreading.
2018-11-11 22:35:15 -08:00
Grant Limberg
f1b82b734a
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-11-11 21:09:35 -08:00
Grant Limberg
4c0e7aa8b0
more error checking
2018-11-11 21:08:51 -08:00
Adam Ierymenko
296e4616cc
Migrate Windows to use Visual Studio 2017 Community instead of 2015.
2018-11-11 20:31:31 -08:00
Adam Ierymenko
15649334a6
Do not use new "feth" devices for ZT traffic.
2018-11-11 19:22:07 -08:00
Adam Ierymenko
b3c2c0866f
Times should be int64_t, not uint64_t
2018-11-11 17:38:17 -08:00
Joseph Henry
c6ae81fac7
Added preprocessor check for __APPLE__ as an attempted fix for ticket #600
2018-11-11 14:23:24 -08:00
Joseph Henry
79086f0858
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-10-26 12:00:01 -07:00
Joseph Henry
c148a23df4
Added preprocessor check for ZT_NO_CAPABILITIES around header includes
2018-10-26 11:59:55 -07:00
Adam Ierymenko
c56831767e
Fix Mac tap agent abort on EINTR.
2018-10-25 20:44:32 -07:00
Adam Ierymenko
72a724f075
Clean up some stuff after new feth tap implementation, and comment agent file.
2018-10-25 13:10:24 -07:00
Adam Ierymenko
96e1df5854
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-10-25 12:43:35 -07:00
Adam Ierymenko
2e44b90f63
OSX no longer requires the kext due to feth black magic! The MacEthernetTapAgent must be installed in /Library/Application Support/ZeroTier/One for ZT to work now. Eventually this can let us do an app bundle, get rid of the pkg, and have ZT itself run with normal or reduced privileges. Also fixes GitHub issue #870 (at least for me) and may be faster than the old kext.
2018-10-25 12:43:30 -07:00
Grant Limberg
5a0adba798
Setup docker container to use jemalloc
2018-10-24 13:36:21 -07:00
Grant Limberg
761cc5c923
remove another noisy log line
2018-10-24 13:36:07 -07:00
Grant Limberg
f901b9dd6b
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-10-24 12:08:48 -07:00
Grant Limberg
d87fcca176
Fully operational pgsql controller
2018-10-24 12:06:17 -07:00
Grant Limberg
7c72653385
because Windows....
2018-10-23 13:21:25 -07:00
Joseph Henry
7dbccf08ae
Removed unnecessary block before get request. Possible bug fix for Synology NAS ticket #27
2018-10-23 10:58:25 -07:00
Bruno Tavares
2d21c18ebd
Update ZeroTier version on Docker
...
This commit changes the Dockerfile ot use the multi-stage build and help
to get an automated build on Docker.
The idea of the multi-stage build is to use the already stable Debian
distribution channel to provide up-to-date versions of ZeroTier.
The benefit is that it would be possible to automate the image build,
either on Docker Hub, Travis or taking advantage of the [docker-library/official-images] infrastructure.
This changes follows the best-practices suggested by
[docker-library/official-images], such as using a High Availability GPG
keyserver, providing a default CMD, allowing "bash" on `docker run` and
others.
Given that both the builder `debian:stretch` and `alpine:latest` are
official messages and have [manifests], this means that this Dockerfile
is also multi-platform. This means that this same Dockerfile will
pick-up the correct Debian package according to the architecture of the
running system during build.
With this changes we could try to promote the image to be parte of
[docker-library/official-images], and take advantage of automated
publishing of multi-architecture images. Others would be able to use
`docker run zerotier` and download the latest version appropriate to
their system.
Related to #682
[docker-library/official-images]: https://github.com/docker-library/official-images
[manifests]: https://blog.docker.com/2017/09/docker-official-images-now-multi-platform/
2018-10-21 11:28:04 -03:00
Adam Ierymenko
15d0aad3c0
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-10-19 10:06:06 -05:00
Adam Ierymenko
f0fc9b1766
Merge branch 'master' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-10-19 10:05:51 -05:00
Joseph Henry
7c0331997a
Ticket #739 - Fixed what appears to be a copy-paste error for machine type detection in linux makefile, added line for armv7hl
2018-10-03 15:40:16 -07:00
Joseph Henry
04de2302a7
More insightful errors for get command
2018-10-03 14:24:21 -07:00
Grant Limberg
1da1409db2
get rid of a noisy log line
2018-09-28 10:58:26 -07:00
Grant Limberg
c1ea1329c1
Merge branch 'dev' into libpq
2018-09-28 10:56:40 -07:00
Grant Limberg
417aa9547b
Working controller & docker container for GKE
2018-09-28 10:55:39 -07:00
Adam Ierymenko
60d5a3c631
Merge pull request #853 from darkain/dev
...
Fix IPv6 address string representation
2018-09-25 15:32:39 -07:00
Adam Ierymenko
7a42416a78
Merge pull request #822 from dschulz/controller-patch1-dschulz
...
Add functionality to erase members from networks using file backend i…
2018-09-25 11:38:25 -07:00
Adam Ierymenko
2a143a7505
Merge pull request #858 from tommyang/fix/mac-uninstall-script
...
macOS uninstall script: remove symlinks from the actual location
2018-09-25 11:36:28 -07:00
Grant Limberg
0510f85a8f
Merge branch 'dev' into libpq
2018-09-25 10:19:59 -07:00
Grant Limberg
5b222d0a09
cleanup connections after errors
2018-09-25 10:17:15 -07:00
Travis LaDuke
133b64679c
Update README.md
2018-09-24 15:02:11 -07:00
Travis LaDuke
79b88a22c3
Update README.md
...
Document that allowManagementFrom is an array
2018-09-24 14:58:44 -07:00
Tommy Yang
88d879987d
Remove symlinks from the actual location
...
Binary symlinks are in `/usr/local/bin` instead of `/usr/bin` since commit 0cf4ddd
2018-09-23 16:53:30 -07:00
Joseph Henry
27c37a18f3
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-09-17 14:42:33 -07:00
Joseph Henry
b8268d894b
Changed home path for Synology
2018-09-17 11:44:56 -07:00
Vincent Milum Jr
79b47b055a
Only null terminate the first character
2018-09-15 12:13:06 -07:00
Vincent Milum Jr
8e260bae11
Correcting conversion to/from IP address / string
...
1) Use existing standard libraries to convert to/from IPv4/IPv6 strings and binary representation.
2) Move null terminator assignment InetAddress::toIpString to top of function, this way if ANY errors occurs that don't write content to the buffer, we're not passing a potentially dangerous buffer around.
2018-09-14 22:42:58 -07:00
Adam Ierymenko
af61ee6f3a
Merge pull request #836 from skunkwerks/feature/add-freebsd-debugs
...
add support for debug flags in FreeBSD
2018-09-14 08:08:59 -07:00
Adam Ierymenko
04d7a1df96
Merge pull request #837 from skunkwerks/feature/update-ext-json
...
update external JSON dependency to address libc++ compatibility
2018-09-14 08:08:21 -07:00
Adam Ierymenko
b9fd50e348
Merge pull request #845 from asbjornenge/docker-updates
...
Using multi-stage build for Dockerfile
2018-09-14 08:07:36 -07:00
Adam Ierymenko
ef48d11266
Merge pull request #848 from darkain/master
...
Fix compile on FreeBSD targeting ARMv6 (Raspberry Pi)
2018-09-14 08:05:39 -07:00
Adam Ierymenko
a47559d9e3
dev should have odd minor version
2018-09-14 08:05:07 -07:00
Vincent Milum Jr
cffb992ae8
Adding ARM/NEON detection for non-Linux targets
2018-09-12 19:51:28 -07:00
Vincent Milum Jr
39e720e811
Adding proper EABI target for ARM32/Salsa
2018-09-12 19:49:14 -07:00
Joseph Henry
258b1c8b55
Merge branch 'edge' into multipath
2018-09-12 13:57:57 -07:00
Joseph Henry
7b87e9c0cb
Added ability for OneService to monitor local.conf for changes and automatically reload
2018-09-11 16:55:46 -07:00
Joseph Henry
3dd9b1aa9b
Added ability to specify zt home directory via ZEROTIER_HOME - Addresses ticket #829
2018-09-10 16:25:39 -07:00
Joseph Henry
0fddebc791
Added ability to manually set secondary and tertiary ports in local.conf
2018-09-10 13:06:05 -07:00
Asbjørn Enge
701d64936d
Using builder pattern to build in container while keeping final image small
2018-09-07 14:11:25 +02:00
Grant Limberg
0ec6215493
Send member/network change notifications via Postgres
2018-09-06 15:14:16 -07:00
Grant Limberg
de45bdb448
quieting things down a little bit
2018-09-05 17:03:49 -07:00
Grant Limberg
7b608c6ca3
Fix testing for true/false. Dont attempt to update member status on networks that we know dont exist
2018-09-05 16:54:23 -07:00
Grant Limberg
6ff78c9c26
fix crashes
2018-09-05 16:08:06 -07:00
Grant Limberg
d701f4e331
Added some exception hadling. Dont want to live *too* dangerously here
2018-09-05 11:49:07 -07:00
Grant Limberg
92abc92463
Theoretically we have PostgreSQL support now
2018-09-05 11:30:17 -07:00
Grant Limberg
a4be9ceb5a
dont insert/update creation time. Let the database handle it with the default value
2018-09-04 16:08:26 -07:00
Grant Limberg
e21b6e1daf
commit thread WIP
2018-09-04 16:05:34 -07:00
Grant Limberg
2e3b03fff9
members initialized
2018-09-04 14:51:35 -07:00
Grant Limberg
cd657da431
Online Update/Notify thread
2018-09-04 14:00:02 -07:00
Grant Limberg
17af09a5cc
Postgres Integration has begun
2018-08-31 14:58:15 -07:00
Travis LaDuke
ceff48b07c
Update bug_report.md
2018-08-29 10:15:10 -07:00
Travis LaDuke
199566965e
Update issue templates
2018-08-29 09:39:18 -07:00
Travis LaDuke
46e46e9b7b
Update issue templates
2018-08-29 09:37:39 -07:00
Dave Cottlehuber
8b292d2dc7
ext: update nlohmann/json to v3.2.0
...
- include libc++7 compatibility for FreeBSD
- see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230629
2018-08-24 08:19:38 +00:00
Dave Cottlehuber
88abd6ffc6
add support for debug flags in FreeBSD
2018-08-24 08:18:25 +00:00
Joseph Henry
76b4ec12a0
Vault-related amendments
2018-08-09 14:32:26 -07:00
Joseph Henry
0e4cfd897b
Multipath-related amendments from merge into edge
2018-08-09 13:40:49 -07:00
Adam Ierymenko
515d7962b0
Build fixes.
2018-08-09 11:39:42 -07:00
Adam Ierymenko
553101e8b5
merge dev
2018-08-09 11:31:37 -07:00
Joseph Henry
1e66854b59
Temporarily added SO_REUSEADDR to netlink binding code
2018-08-07 12:57:40 -07:00
Joseph Henry
12f2df5586
uncommented status fields
2018-08-07 12:39:06 -07:00
Joseph Henry
20a25a6a45
Added debug traces
2018-08-06 14:31:12 -07:00
Joseph Henry
08d9dc5c68
Updated protocol version and versioning blurb
2018-08-06 10:29:37 -07:00
Joseph Henry
3cd0ab1b3b
Remove direct include of bits/sockaddr.h
2018-08-03 16:20:08 -07:00
Diego Schulz
fc6dba0797
Add functionality to erase members from networks using file backend in controller microservice
...
Signed-off-by: Diego Schulz <dschulz@gmail.com >
2018-08-02 17:13:55 -04:00
Joseph Henry
e01c0adff2
Added ifdef checks to omit some ManagedRoute code in SDK builds
2018-08-01 17:17:04 -07:00
Adam Ierymenko
e75a093a8c
2018-07-27 -- Version 1.2.12
...
* Fixed a bug that caused exits to take a long time on Mac due to huge numbers of redundant attempts to delete managed routes.
* Fixed a socket limit problem on Windows that caused the ZeroTier service to run out of sockets, causing the UI and CLI to be unable to access the API.
* Fixed a threading bug in the ZeroTier Core, albeit one that never manifested on the regular ZeroTier One service/client.
* Fixed a bug that could cause the service to crash if an authorized local client accessed an invalid URL via the control API. (Not exploitable since you needed admin access anyway.)
2018-07-27 14:14:09 -07:00
Adam Ierymenko
dcffb042ff
Windows Advanced Installer to 1.2.12
2018-07-27 13:35:20 -07:00
Adam Ierymenko
d724af6a99
Replace Sao Paolo root with Buenos Aires in default planet def (will push to network too)
2018-07-25 15:03:01 -07:00
Adam Ierymenko
b30f423fc9
.
2018-07-25 12:11:59 -07:00
Adam Ierymenko
1fc14292fe
Version bumps.
2018-07-25 12:09:31 -07:00
Adam Ierymenko
fa7e7fc6f9
Revert fix for GitHub issue #600 because it causes route objects to build up forever (at least on Mac). Bleh. #600 is a rare issue and will need some other fix after reliable duplication.
2018-07-20 15:53:19 -07:00
Adam Ierymenko
5b114791e5
Fix a bug that caused a crash on empty HTTP requests (localhost only) and add a lightweight lock to the RX queue to prevent possible threads stepping on each other in parallel receive paths.
2018-07-20 14:01:58 -07:00
Adam Ierymenko
9bc11a369c
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-07-20 07:41:52 -07:00
Adam Ierymenko
ac40f2191c
.
2018-07-20 07:41:47 -07:00
Joseph Henry
62a93c58fd
Added ifdefs surrounding usage of getifaddrs() on Android
2018-07-19 17:50:10 -07:00
Joseph Henry
65b0030342
Added basic QoS rule handling
2018-07-11 16:55:13 -07:00
Joseph Henry
f302fac423
Minor tweak to linux makefile
2018-07-11 16:32:49 -07:00
Adam Ierymenko
f94aea8119
Return error 503 if RethinkDB is down when built as RethinkDB-based controller.
2018-07-11 10:42:31 -07:00
Joseph Henry
28cb40529d
Rough draft of fq-codel implementation
2018-07-10 16:50:12 -07:00
Adam Ierymenko
37ae3b2b80
Remote debug printf.
2018-07-03 12:52:35 -07:00
Adam Ierymenko
73e4286fbf
Fix two controller bugs: filesystem bug and another possible infinite recursion bug.
2018-07-03 12:51:41 -07:00
Grant Limberg
4e6151ebd9
Added "Create and Join Network" menu item to windows system tray UI
2018-06-28 15:24:45 -07:00
Grant Limberg
fc225401a5
use easy mode for network creation
2018-06-28 15:05:24 -07:00
Joseph Henry
d74817f79f
Added blurb about allowTcpFallbackRelay to README
2018-06-22 16:46:50 -07:00
Joseph Henry
bdcdccfcc3
Improved path selection, more efficient traffic allocation, lower QoS/ACK overhead
2018-06-22 16:30:20 -07:00
Grant Limberg
352ec3430f
Add a define to set FD_SETSIZE=1024 on Windows
...
Default on Windows is extremely low at 64 and is the likely culprit behind the UI and CLI not being able to talk to the background service
2018-06-21 12:11:10 -07:00
Grant Limberg
978d2fcb56
Optimize C25519 and Poly1305 on Windows even in debug.
2018-06-21 12:08:15 -07:00
Joseph Henry
52264d5e28
Fixed aggregateLinkLatency(). Also changed unit for throughput from byte to bit
2018-06-14 16:48:35 -07:00
Joseph Henry
17fbb020e7
Added multipath field to zerotier-cli status output. Adjusted how path estimates are computed and cached
2018-06-14 16:34:45 -07:00
Joseph Henry
f8005b88ad
Minor cleanup. More efficient push() operation for RingBuffer
2018-06-13 14:50:37 -07:00
Joseph Henry
0faa655b83
Reduced how often relative path qualities and aggregate link allocations are computed
2018-06-12 16:30:46 -07:00
Joseph Henry
6fddf31db3
Improved rate limit logic for QoS/ACK packets. Also reduced how often processBackgroundPathMeasurements() is called
2018-06-12 15:24:12 -07:00
Adam Ierymenko
01257a461e
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2018-06-12 09:39:15 -07:00
Adam Ierymenko
817b9d012e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-06-12 09:38:52 -07:00
Adam Ierymenko
04b3525e0f
Merge pull request #755 from skunkwerks/fix/c++-17-deprecation
...
fix clang C++17 deprecation when building with ZT_DEBUG=1
2018-06-12 09:38:26 -07:00
Adam Ierymenko
d55c732e19
Merge pull request #764 from Elfe/master
...
fix MAC address rule parsing as even/uneven switches at every colon
2018-06-12 09:37:28 -07:00
Adam Ierymenko
d223427e22
Merge pull request #773 from alexforencich/master
...
Add UFW firewall application preset
2018-06-12 09:37:01 -07:00
Adam Ierymenko
64856adc3c
Merge pull request #776 from Wykks/patch-1
...
Improve debian service requirements
2018-06-12 09:36:46 -07:00
Grant Limberg
7c53adbcfe
quieting things down unless ZT_TRACE is defined
2018-06-11 10:47:58 -07:00
Grant Limberg
dce9cb27c1
helps to have an ==0 on a strcmp
2018-06-11 09:53:11 -07:00
Grant Limberg
4199c56e99
cant compare character arrays with ==
2018-06-11 09:53:00 -07:00
Joseph Henry
9681fedbb4
Spellcheck sweep across codebase
2018-06-07 17:25:27 -07:00
Joseph Henry
b6d97af451
Added rate gates for QOS and ACK packets
2018-06-07 15:26:18 -07:00
Joseph Henry
a9ca26c698
Added TX queue cap for issue #769
2018-06-07 12:58:07 -07:00
Grant Limberg
9463d4abe4
Fix for issue #778
...
Double quote before member name in `/controller/network/network_id/member` API
2018-06-05 12:55:39 -07:00
Grant Limberg
b9975845ff
Merge branch 'rtnetlink' into edge
2018-06-04 12:24:58 -07:00
Grant Limberg
b22405b64b
rtnetlink integrated. no more callouts to iproute2
2018-06-04 12:24:12 -07:00
Grant Limberg
62210e57f1
helps to have an ==0 on a strcmp
2018-06-04 11:24:24 -07:00
Grant Limberg
4dd093efc9
cant compare character arrays with ==
2018-06-04 11:07:12 -07:00
Joseph Henry
91a22a686a
Added auto-escalation to multipath if both peers support it. Improved QoS/ACK tracking. Related bug fixes
2018-06-01 18:03:59 -07:00
Guillaume de Jabrun
a307dff3b7
Improve debian service requirements
2018-05-31 23:55:36 +02:00
Alex Forencich
20f0bed2f6
Add UFW firewall application preset
2018-05-30 19:10:51 -07:00
Joseph Henry
46a7a2be2e
Added VERB_ACK and VERB_QOS_MEASUREMENT, refined notion of path quality
2018-05-30 17:45:29 -07:00
Adam Ierymenko
8199dbd0dc
Merge branch 'dev' into edge
2018-05-30 11:19:12 -07:00
Karsten Elfenbein
dfe426e4e0
fix MAC address rule parsing as even/uneven switches at every colon
2018-05-26 21:00:09 +02:00
Grant Limberg
3ace61ef85
comment out addInterface/removeInterface code for now
...
We already have ioctl based code to do this
2018-05-25 15:37:00 -07:00
Grant Limberg
442595d6fc
also store binary representation of mac address in the interface lookup table for later use
2018-05-25 14:25:44 -07:00
Grant Limberg
be469f4dd0
add/remove routes via rtnetlink
2018-05-25 14:18:06 -07:00
Grant Limberg
7da4b0af15
better data localization in LinuxNetLink now that I know what Im doing
2018-05-24 16:15:03 -07:00
Grant Limberg
2fff651378
whoops. committed a binary
2018-05-24 16:14:32 -07:00
Grant Limberg
c24d16e62e
ManagedRoute uses ioctl to add/remove routes on Linux
...
Added LinuxNetLink to talk to the rtnetlink socket for adding interfaces, addresses routes. Not yet complete. Can currently monitor changes on the system.
2018-05-24 15:22:11 -07:00
Dave Cottlehuber
c36c92e077
node: remove deprecated register hint for C++17 compatibility
...
when building with `ZT_DEBUG=1` this hint produces a warning:
> node/Packet.cpp:335:43: error: 'register' storage class specifier is deprecated and incompatible with C++17 [-Werror,-Wdeprecated-register]
See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340
2018-05-18 09:09:27 +00:00
Adam Ierymenko
c0efba79c7
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2018-05-11 13:40:22 -07:00
Adam Ierymenko
5809941ae9
Windows 1.2.10
2018-05-11 13:40:03 -07:00
Joseph Henry
535ba8a207
Consolidated powerpc64le machine types, added 32-bit powerpc machine type and a flag to disable use of Linux capabilities
2018-05-09 13:51:32 -07:00
Joseph Henry
43331d3fe8
Merge branch 'master' into dev
2018-05-09 10:31:19 -07:00
Adam Ierymenko
9765ba334a
1.2.10
2018-05-08 13:07:20 -07:00
Adam Ierymenko
0cd01b6ff8
Fix silly bug where moons and networks were being loaded by the address of an array rather than the proper value.
2018-05-07 12:51:39 -07:00
Adam Ierymenko
5f85e33510
GitHub issue #734 (warning removal)
2018-05-07 12:15:55 -07:00
Joseph Henry
22301a4599
Added override directive to CFLAGS for Synology builds in make-linux.mk
2018-05-04 14:31:34 -07:00
Joseph Henry
c8a907fd71
Added override directive to CXXFLAGS for Synology builds in make-linux.mk
2018-05-04 13:03:52 -07:00
Joseph Henry
d01b1ffde5
Added -fPIC for Synology builds
2018-05-04 12:09:04 -07:00
Adam Ierymenko
f4e993c814
Debian clean fix and CentOS 6 upgrade fix.
2018-05-03 12:51:49 -07:00
Joseph Henry
91c8e82c42
Adjusted locking order of _paths_m for path pruning. Other minor multipath changes
2018-05-02 15:24:14 -07:00
Adam Ierymenko
776ff46db7
User useradd not adduser on Debian.
2018-05-02 14:12:10 -07:00
Adam Ierymenko
9001ab5858
Do not add zerotier-one user if it does not exist (Debian)
2018-05-02 14:08:42 -07:00
Joseph Henry
1debe2292d
Cleanup. Misc type conversion and signedness fixes
2018-05-02 11:22:07 -07:00
Joseph Henry
6a2ba4baca
Introduced basic multipath support
2018-05-01 16:32:15 -07:00
Joseph Henry
836d897aec
Re-ordered local.conf and node init logic, also split software update config into separate method to fix bad node pointer reference
2018-05-01 13:39:06 -07:00
Adam Ierymenko
740b0fbbf6
Merge branch 'dev' into edge
2018-04-30 13:08:24 -07:00
Adam Ierymenko
92e716d93d
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-04-30 13:08:16 -07:00
Adam Ierymenko
c7115a0671
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2018-04-30 13:07:52 -07:00
Adam Ierymenko
020bbed935
ARM32 fix.
2018-04-30 13:07:32 -07:00
Grant Limberg
0c60963a94
app icon with no alpha channel
2018-04-30 12:08:09 -07:00
Travis LaDuke
d704f5f2d2
Remove alpha channel from app store icon
2018-04-30 12:06:41 -07:00
Adam Ierymenko
381bbb0e5e
Merge branch 'dev' into edge
2018-04-30 08:47:51 -07:00
Adam Ierymenko
0ebd19c14a
Merge branch 'dev' of /media/psf/Code/ZeroTier/ZeroTierOne into dev
2018-04-27 20:49:46 -07:00
Adam Ierymenko
d4160afac8
Another squeeze fix to see if we can make this work.
2018-04-27 19:51:27 -07:00
Adam Ierymenko
fffb037873
Fix for packaging on old Debian squeeze.
2018-04-27 18:53:55 -07:00
Adam Ierymenko
1df5d0453d
Remove separate dh-systemd dependency since this is obsolete on newer Debian anyway.
2018-04-27 18:50:40 -07:00
Travis LaDuke
19d453cb90
Add some more icon sizes
...
20x20, 60x60, 1024x1024 pngs
getting ready for an iOS release
2018-04-27 16:48:34 -07:00
Travis LaDuke
6e7437a0d0
Add some more icon sizes
...
20x20, 60x60, 1024x1024 pngs
getting ready for an iOS release
2018-04-27 16:40:36 -07:00
Adam Ierymenko
caf849fcba
Typo.
2018-04-27 16:22:36 -07:00
Adam Ierymenko
7533d244a9
Debian build fix.
2018-04-27 16:21:22 -07:00
Adam Ierymenko
0a52840fa3
1.2.8 Windows Advanced Installer update.
2018-04-27 13:52:33 -07:00
Adam Ierymenko
a7d0905b74
1.2.8 bump for all but Windows install files.
2018-04-27 13:06:00 -07:00
Adam Ierymenko
05bfafbce8
Merge branch 'master' into edge
2018-04-25 06:41:44 -07:00
Adam Ierymenko
d32a26f780
Merge pull request #428 from danielskowronski/netbsd-support
...
NetBSD support (we still consider this unsupported, but it might work -- thanks!)
2018-04-25 06:39:37 -07:00
Adam Ierymenko
42ec780a6f
Merge branch 'dev' into netbsd-support
2018-04-25 06:39:02 -07:00
Adam Ierymenko
4608880fb0
Re-enable faster ed25519 signatures on x64 thanks to PR from @jonathonf
2018-04-25 06:34:34 -07:00
Adam Ierymenko
7492e2789f
Merge pull request #722 from jonathonf/dev
...
Fix ed25519-amd64-asm PIC compatibility
2018-04-25 06:08:12 -07:00
Adam Ierymenko
9564a8eaf6
Delete junk.
2018-04-23 14:56:22 -07:00
Adam Ierymenko
f12c0e79c9
GitHub issue #723
2018-04-23 14:11:26 -07:00
Jonathon Fernyhough
e4e0be979e
Fix ed25519-amd64-asm PIC compatibility
...
The Hyperledger implementation (https://github.com/hyperledger/iroha-ed25519 )
contains changes to the assembly code to allow PIC. This in turn fixes
compilation/linking of ZeroTier One when "full hardening" flags are used.
2018-04-21 16:18:00 +01:00
Adam Ierymenko
86637cda9f
Disable ASM ed25519 by default (it only helps significantly on controllers) so fPIE will work -- GitHub issue #717
2018-04-20 11:35:50 -07:00
Adam Ierymenko
94f41e2332
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2018-04-18 08:08:06 -07:00
Adam Ierymenko
3d2a50f811
Merge pull request #654 from atopuzov/armv7l
...
Add support for armv7l
2018-04-18 08:06:53 -07:00
Adam Ierymenko
c2ffbb8627
Merge pull request #673 from neutronscott/dev
...
check physical blacklist for interface binding as well
2018-04-18 08:05:51 -07:00
Adam Ierymenko
54218f6c3c
Merge pull request #690 from Pablohn26/master
...
Warn about invalid network id instead of help
2018-04-18 08:05:28 -07:00
Adam Ierymenko
6fdbdf9272
Merge pull request #712 from elmar/master
...
fix typo in documentation
2018-04-18 08:04:19 -07:00
Adam Ierymenko
3de7691af3
Merge branch 'master' of github.com:zerotier/ZeroTierOne
...
* Features and Core Improvements
* Path selection has been overhauled to improve path stability, simplify code, and prepare for multi-path and trunking in the next major release.
* This version introduces remote tracing for remote diagnostics. Network controllers can set a node (usually the controller itself) to receive remote tracing events from all members of the network or from select members. Events are only sent if they pertain to a given network for security reasons.
* Multicast replication can now be done by designated multicast replicators on a network (flagged as such at the controller) rather than by the sender. Most users won't want this, but it's useful for specialized use cases on hub-and-spoke networks and for low-power devices.
* Cryptographic performance improvements on several platforms.
* Multithreaded performance improvements throughout the code base, including the use of an inline lightweight spinlock for low-contention resources.
* Bugs fixed
* Disappearing routes on Mac (GitHub issue #600 )
* Route flapping and path instability in some dual-stack V4/V6 networks
* Blacklist (in local.conf) doesn't work reliably (GitHub issue #656 )
* Connection instabilities due to unsigned integer overflows in timing comparisons (use int64_t instead of uint64_t)
* Binaries don't run on some older or lower-end 32-bit ARM chips (build problem)
* ARM NEON crypto code crashes (build problem)
* Fixed some lock ordering issues revealed by "valgrind" tool
* The "zerotier-idtool" command could not be accessed from "zerotier-one" via command line switch
* Leaking sockets on some platforms when uPnP/NAT-PMP is enabled
* Fixed two very rare multithreading issues that were only observed on certain systems
* Platform-Specific Changes
* MacOS
* Installer now loads the kernel extension right away so that High Sierra users will see the prompt to authorize it. This is done in the "Security & Privacy" preference pane and must be done driectly on the console (not via remote desktop). On High Sierra and newer kexts must be authorized at the console via security settings system preferences pane.
* Windows
* The Windows installer should now install the driver without requiring a special prompt in most cases. This should make it easier for our packages to be accepted into and updated in the Chocolatey repository and should make it easier to perform remote installs across groups of machines using IT management and provisioning tools.
* The Windows official packages are now signed with an EV certificate (with hardware key).
* The Windows UI can now log into ZeroTier Central and join networks via the Central API.
* The `zerotier-idtool` command should now work on Windows without ugly hacks.
* Upgraded the installer version.
* Made a few changes to hopefully fix sporadic "will not uninstall" problems, though we cannot duplicate these issues ourselves.
* Linux
* Device names are now generated deterministically based on network IDs for all newly joined networks.
* Android
* Multicast now works on Android in most cases! Android apps can send and receive multicast and subscribe to multicast group IPs. Note that in some cases the app must bind to the specific correct interface for this to work.
* IPv6 can be disabled in UI for cases where it causes problems.
2018-04-17 13:32:39 -07:00
Adam Ierymenko
bbed93bcf4
* Features and Core Improvements
...
* Path selection has been overhauled to improve path stability, simplify code, and prepare for multi-path and trunking in the next major release.
* This version introduces remote tracing for remote diagnostics. Network controllers can set a node (usually the controller itself) to receive remote tracing events from all members of the network or from select members. Events are only sent if they pertain to a given network for security reasons.
* Multicast replication can now be done by designated multicast replicators on a network (flagged as such at the controller) rather than by the sender. Most users won't want this, but it's useful for specialized use cases on hub-and-spoke networks and for low-power devices.
* Cryptographic performance improvements on several platforms.
* Multithreaded performance improvements throughout the code base, including the use of an inline lightweight spinlock for low-contention resources.
* Bugs fixed
* Disappearing routes on Mac (GitHub issue #600 )
* Route flapping and path instability in some dual-stack V4/V6 networks
* Blacklist (in local.conf) doesn't work reliably (GitHub issue #656 )
* Connection instabilities due to unsigned integer overflows in timing comparisons (use int64_t instead of uint64_t)
* Binaries don't run on some older or lower-end 32-bit ARM chips (build problem)
* ARM NEON crypto code crashes (build problem)
* Fixed some lock ordering issues revealed by "valgrind" tool
* The "zerotier-idtool" command could not be accessed from "zerotier-one" via command line switch
* Leaking sockets on some platforms when uPnP/NAT-PMP is enabled
* Fixed two very rare multithreading issues that were only observed on certain systems
* Platform-Specific Changes
* MacOS
* Installer now loads the kernel extension right away so that High Sierra users will see the prompt to authorize it. This is done in the "Security & Privacy" preference pane and must be done driectly on the console (not via remote desktop). On High Sierra and newer kexts must be authorized at the console via security settings system preferences pane.
* Windows
* The Windows installer should now install the driver without requiring a special prompt in most cases. This should make it easier for our packages to be accepted into and updated in the Chocolatey repository and should make it easier to perform remote installs across groups of machines using IT management and provisioning tools.
* The Windows official packages are now signed with an EV certificate (with hardware key).
* The Windows UI can now log into ZeroTier Central and join networks via the Central API.
* The `zerotier-idtool` command should now work on Windows without ugly hacks.
* Upgraded the installer version.
* Made a few changes to hopefully fix sporadic "will not uninstall" problems, though we cannot duplicate these issues ourselves.
* Linux
* Device names are now generated deterministically based on network IDs for all newly joined networks.
* Android
* Multicast now works on Android in most cases! Android apps can send and receive multicast and subscribe to multicast group IPs. Note that in some cases the app must bind to the specific correct interface for this to work.
* IPv6 can be disabled in UI for cases where it causes problems.
2018-04-17 13:30:37 -07:00
Adam Ierymenko
8900b30b6e
Windows installer tweaks and version bumps.
2018-04-17 12:47:33 -07:00
Adam Ierymenko
ae4fb799e4
More versioning
2018-04-17 12:14:59 -07:00
Adam Ierymenko
3f1d1fb3c3
'versioning'
2018-04-17 12:12:49 -07:00
Adam Ierymenko
f0a23ae0ea
docs
2018-04-17 10:48:00 -07:00
Elmar S. Heeb
c14f9cc247
fix typo in documentation
2018-04-14 10:52:30 +02:00
Adam Ierymenko
e276b6463e
Release notes, and shorten Linux canonical network ID derived device names a bit.
2018-04-12 10:33:06 -04:00
Adam Ierymenko
9da7967197
Merge branch 'dev' into edge
2018-04-12 09:08:48 -04:00
Adam Ierymenko
74f2b78c04
Refactor some potentially unsafe SharedPtr<> code.
2018-04-06 08:10:34 -07:00
Adam Ierymenko
2021f8cb5f
Merge branch 'dev' into edge
2018-03-29 13:34:54 -07:00
Adam Ierymenko
40a9ebd078
GitHub issue #675
2018-03-29 10:44:57 -07:00
Adam Ierymenko
8c1b73b29c
GitHub issue #701
2018-03-29 10:25:29 -07:00
Adam Ierymenko
6679a55693
certutil needs -f in case TrustedProvider store is not yet created
2018-03-27 19:15:14 -07:00
Adam Ierymenko
1101c1d919
Works on 32-bit too now.
2018-03-27 18:46:06 -07:00
Adam Ierymenko
fcb529b348
Take two on unattended driver installs. I think it works now.'
2018-03-27 17:53:28 -07:00
Adam Ierymenko
680b1ca208
Upgrade installer AIP versions and redo how we bundle the driver sub-installer to allow unattended driver installs (hopefully).
2018-03-27 14:19:45 -07:00
Adam Ierymenko
af74fe1711
Merge branch 'dev' into edge
2018-03-21 15:32:04 -07:00
Adam Ierymenko
494cf4049e
Add specification of anchor and multicast hub address (optional) to new multicast and IPv4 enabled ad-hoc network ID format.
2018-03-21 15:31:48 -07:00
Adam Ierymenko
c908b9f67a
Add anchor and multicast hub address field to new multicast enabled ad-hoc address format.
2018-03-21 15:27:26 -07:00
Adam Ierymenko
209f6d9d2d
Merge branch 'dev' into edge
2018-03-19 11:18:54 -07:00
Adam Ierymenko
916077012e
Make sure fopen is in binary mode on Windows.
2018-03-16 11:27:11 -07:00
Adam Ierymenko
beb170e4fb
Use X64 ASM ed25519 signatures on Linux/x64, which are about 10X faster. Will matter a lot for network controllers, not so much for other things.
2018-03-13 06:51:17 -07:00
Adam Ierymenko
a59912f3af
SHA512 using libcrypto (not enabled by default)
2018-03-12 16:56:47 -07:00
Adam Ierymenko
610e594a50
Speed tweaks for signatures, etc.
2018-03-12 16:16:20 -07:00
Joseph Henry
b4e2547052
Minor tweak to QNAP path getter
2018-03-12 11:23:10 -07:00
Pablo Hinojosa
a9778549f2
Warn about invalid network id instead of help
2018-03-11 03:39:13 +01:00
Adam Ierymenko
b601041b5b
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2018-03-09 07:51:43 -08:00
Adam Ierymenko
0945d6ec0d
Merge branch 'dev' into edge
2018-03-09 07:50:38 -08:00
Adam Ierymenko
78d9cee416
Other fixes to IPv4 ad-hoc networks.
2018-03-09 00:10:01 -08:00
Adam Ierymenko
bbdb2aa672
Some work on IPv4 enabled ad-hoc networks.
2018-03-08 23:53:57 -08:00
Adam Ierymenko
574b24c082
docs
2018-03-08 22:41:42 -08:00
Adam Ierymenko
874a187c7f
cleanup
2018-03-08 22:39:51 -08:00
Adam Ierymenko
e8fb443313
Forgot one other use in RethinkDb driver.
2018-03-08 22:34:51 -08:00
Adam Ierymenko
57b96af2c4
Fix for FileDB _networkChanged / _memberChanged problem.
2018-03-08 22:33:08 -08:00
Grant Limberg
e61d4ab67a
Merge branch 'dev' into edge
2018-02-23 13:58:24 -08:00
Grant Limberg
2ee358dbfc
TAP driver requires input and output buffers for calls passed into DeviceIoControl
...
Otherwise the driver returns STATUS_INVALID_PARAMETER and the call fails. This should fix some Multicast issues on Windows
2018-02-23 13:42:02 -08:00
Joseph Henry
e3bb67d188
Added debug output convenience macros
2018-02-16 16:55:31 -08:00
Grant Limberg
2d289a3308
Just a little cleanup
2018-02-16 15:20:07 -08:00
Grant Limberg
bdb2cc7c85
Linux: link system libcurl when compiling with ZT_VAULT_SUPPORT=1
...
Requires libcurl and development headers to be installed
2018-02-16 15:08:04 -08:00
Grant Limberg
7793060723
Add HashiCorp Vault storage of ZeroTier's public & secret identity
...
Adds a "vault" section to local.conf. Example local.conf:
{
"config": {
"vault": {
"vaultURL": "https://some.vault.host:8200 ",
"vaultToken": "my-super-secret-vault-token",
"vaultPath": "secure/place/to/put/identity"
}
}
Additionally, the following environment variables can be set. Environment variables override local.conf:
VAULT_ADDR
VAULT_TOKEN
VAULT_PATH
Identities will be placed in the keys "public" and "secret" under the user specified path. If no path is specified, they will be placed in the token specific cubbyhole.
If identity.public and identity.secret exist on disk and vault is configured, they will be automatically added to Vault and removed from disk.
TODO:
* Decide behavior for if Vault cannot be reached.
* Add libcurl as a dependency in Linux & Mac builds
* Add libcurl as a requirement for linux packages
2018-02-16 14:30:27 -08:00
Grant Limberg
84302ae9c7
Add CURL libs to VC project
2018-02-16 14:21:38 -08:00
Grant Limberg
cd801b96fa
libcurl binaries for Windows
2018-02-16 10:31:37 -08:00
Grant Limberg
5ff0653f9e
Hooks into StateGet and StatePut for grabbing identity.secret from Vault
2018-02-16 10:18:10 -08:00
Grant Limberg
9574d635c1
Add Vault configuration option parsing to local.conf
...
{
"settings": {
...
"valut": {
"vaultURL": "...",
"vaultKey": "...",
"vaultPath": "..."
}
}
}
2018-02-16 10:18:10 -08:00
Grant Limberg
1bec8ddce4
Better error messages when the ZeroTier service can't be contacted
...
Fixes #681
2018-02-13 16:41:21 -08:00
Grant Limberg
f9b07c63db
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-02-12 09:30:12 -08:00
Grant Limberg
8828fc7520
some JNI error checking
2018-02-12 09:29:44 -08:00
Adam Ierymenko
978d8fcd4a
Merge branch 'dev' of http://10.187.63.16/zerotier/ZeroTierOne into dev
2018-02-09 06:35:09 +00:00
Adam Ierymenko
51aadcf901
A few fixes dicatated by valgrind.
2018-02-09 06:35:01 +00:00
Joseph Henry
db952a050a
Added platform checks for Windows in OneService
2018-02-08 14:15:32 -08:00
Grant Limberg
f049740ae5
silence LOGV and LOGD in release builds for android
2018-02-07 15:53:23 -08:00
neutronscott
73ca9b6373
check physical blacklist for interface binding as well
2018-02-03 14:53:46 -05:00
Adam Ierymenko
c6949aad2d
Linux build fix on some versions.
2018-02-02 17:11:23 -08:00
Travis LaDuke
e57d0fdccc
Update README.md
...
this ip changes sometimes
2018-02-02 10:30:49 -08:00
Adam Ierymenko
82f383be43
A few other make changes.
2018-02-01 15:58:58 -08:00
Adam Ierymenko
26aaf253ac
Allow us to build a semi-dynamic official binary that works back to CentOS 6, at least on x64, and is very fast since we can build it with newer clang or icc.
2018-02-01 15:52:41 -08:00
Adam Ierymenko
51715376bf
Use Intel icc if available on Linux.
2018-02-01 13:05:17 -08:00
Adam Ierymenko
ff95b0278c
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-02-01 12:46:40 -08:00
Adam Ierymenko
fe1fa20c6c
Fix build on Intel C/C++ Compiler for Linux.
2018-02-01 12:46:35 -08:00
Joseph Henry
a867fe404b
Omit pragma comment for ZT_SDK builds on Windows
2018-01-31 17:08:42 -08:00
Adam Ierymenko
d6e8a5f3ca
Fix Windows compile error.
2018-01-30 16:07:41 -08:00
Grant Limberg
4878d8ec15
Add CAP_NET_BIND_SERVICE to capabilities
2018-01-30 10:47:31 -08:00
Adam Ierymenko
f7019d9e80
Tie up the rest of hub and spoke designated replicator multicast mode.
2018-01-26 22:14:10 -05:00
Adam Ierymenko
6d8e1e8783
More cleanup of old stuff.
2018-01-26 21:34:56 -05:00
Adam Ierymenko
939ab43ceb
Do not send to origin in second buffered multicast path.
2018-01-26 21:22:51 -05:00
Adam Ierymenko
d3d58ba8a7
Add support for designated multicast replicators to Multicaster::send().
2018-01-26 21:19:51 -05:00
Adam Ierymenko
f03fd57997
Clean up some multicast code.
2018-01-26 20:38:44 -05:00
Adam Ierymenko
e74cd4b4ef
A little more cleanup.
2018-01-26 20:06:11 -05:00
Adam Ierymenko
f3dfd63634
Clean up some old stuff.
2018-01-26 20:00:37 -05:00
Adam Ierymenko
5f5302e595
More useful to allow arrays of IPs to bind to.
2018-01-25 17:27:08 -05:00
Adam Ierymenko
125ec622ca
Add bindToWildcard local.conf option.
2018-01-25 14:59:11 -05:00
Adam Ierymenko
384e5b66de
More work on GitHub issue #666
2018-01-25 14:16:07 -05:00
Adam Ierymenko
7e7723e98f
A small memory use reduction.
2018-01-25 09:57:02 -05:00
Adam Ierymenko
4419734a7d
Implement continuous contacting of designated anchors and multicast replicators - GitHub issue #666
2018-01-25 07:11:59 -05:00
Adam Ierymenko
f821db29f3
.
2018-01-24 17:12:53 -05:00
Adam Ierymenko
6c64f1816d
cleanup
2018-01-24 16:16:00 -05:00
Adam Ierymenko
34e2ad0dfc
Stub out NetworkConfig for GitHub issue #666
2018-01-24 14:43:04 -05:00
Adam Ierymenko
055b99c3cb
cleanup
2018-01-12 15:44:27 -08:00
Adam Ierymenko
531842dc6b
Update miniupnpc to latest version (included library)
2018-01-12 15:30:40 -08:00
Adam Ierymenko
d7f3c33d72
Add zerotier-idtool to Windows.
2018-01-12 15:03:45 -08:00
Adam Ierymenko
4e689998f9
Sanity checks on array sizes and fix a bug in IPv4 auto-assign.
2018-01-12 10:38:19 -08:00
Adam Ierymenko
cd2a4b709c
Reduce maximum batcn size for status updates but increase the number of whole record commit threads.
2018-01-12 09:18:27 -08:00
Adam Ierymenko
d96aeac335
docs
2018-01-11 16:44:24 -08:00
Adam Ierymenko
c594351bcc
Remove old code.
2018-01-11 14:32:55 -08:00
Adam Ierymenko
5f976d7430
Reenable faster lock.
2018-01-11 14:31:19 -08:00
Adam Ierymenko
f87326fc21
Fixes for lock ordering -- GitHub issue #573
2018-01-11 14:29:57 -08:00
Adam Ierymenko
0574a70fac
docs
2018-01-11 09:49:13 -08:00
Adam Ierymenko
4e79804cd3
cleanup
2018-01-10 16:56:39 -08:00
Adam Ierymenko
86d5264167
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-01-10 16:55:15 -08:00
Adam Ierymenko
5bc4399a58
cleanup
2018-01-10 16:55:07 -08:00
Grant Limberg
406bcf7d3f
Fix compilation on Windows
...
DEBUG macro from miniupnpc interferring with enum Trace::DEBUG;
2018-01-10 15:24:54 -08:00
Adam Ierymenko
f17cc1c6d8
cleanup
2018-01-10 15:03:39 -08:00
Joseph Henry
57077e4607
Added (get) command blurb in cli help
2018-01-10 14:40:31 -08:00
Adam Ierymenko
6304c85d3f
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-01-10 14:31:31 -08:00
Adam Ierymenko
a1992d76f2
Doc updates and other fixes.
2018-01-10 14:31:28 -08:00
Joseph Henry
98b07f7f3c
Added (get) command to cli to single out JSON fields
2018-01-10 14:05:28 -08:00
Joseph Henry
6e1823ac81
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-01-10 12:43:18 -08:00
Joseph Henry
640cc22749
Added allowTcpFallbackRelay to local.conf, fixed logic in Binder's route enumeration
2018-01-10 12:41:52 -08:00
Adam Ierymenko
9bab49d2f9
Move DB stuff into Db.
2018-01-09 12:39:25 -08:00
Adam Ierymenko
2751a6d56d
cleanup
2018-01-09 12:31:00 -08:00
Adam Ierymenko
07cb62a503
cleanup
2018-01-09 11:41:26 -08:00
Adam Ierymenko
8a3b698407
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-01-09 11:23:44 -08:00
Adam Ierymenko
0c71d658fb
cleanup
2018-01-09 11:23:39 -08:00
Joseph Henry
7e2d614975
Attempted fix for ticket #656 (failes to acknowledge physical blacklists)
2018-01-09 10:16:49 -08:00
Joseph Henry
09e4ab9aa1
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2018-01-09 10:00:01 -08:00
Joseph Henry
2e1bc6e500
Cleaned up old code for attempted fix for ticket #600
2018-01-09 09:59:55 -08:00
Adam Ierymenko
1aea096b63
GitHub issue #492
2018-01-09 09:05:22 -08:00
Adam Ierymenko
30694f0b20
Allow trusted paths over global IPs for legacy config format too.
2018-01-09 08:59:26 -08:00
Adam Ierymenko
01b4cb64ee
cleanup
2018-01-09 08:35:02 -08:00
Adam Ierymenko
6fbd15f8b2
cleanup
2018-01-08 15:56:53 -08:00
Adam Ierymenko
65c07afe05
Copyright updates for 2018.
2018-01-08 14:33:28 -08:00
Adam Ierymenko
e338c5f91d
cleanup
2018-01-08 14:27:55 -08:00
Adam Ierymenko
0b0b5da240
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2018-01-08 13:06:30 -08:00
Adam Ierymenko
9c7ee5a21e
Tear out old "link quality" stuff since it is not currently used and will be done differently.
2018-01-08 13:06:24 -08:00
Joseph Henry
f7b3ffe8a0
Commented out block which ignores added routes if there already exists an IP in the route's range. Attempted fix for #600
2018-01-05 17:10:59 -08:00
Grant Limberg
381857ea49
macOS: add libcurl to libraries when ZT_VAULT_SUPPORT=1 is specified on the make command line
2018-01-03 11:56:20 -08:00
Aleksandar Topuzovic
50aef368f6
Add support for armv7l
...
* GCC running on Raspberry Pi 3 on Arch linux ARM reports arch as
armv7l-unknown-linux-gnueabihf
2018-01-02 11:32:17 +01:00
Joseph Henry
a9c4ce38f0
eh
2017-12-18 15:07:58 -08:00
Joseph Henry
bbc39d7648
Restore managed ZT routes that are deleted or otherwise mangled locally (Attempted fix for ticket #600 )
2017-12-18 15:05:19 -08:00
Adam Ierymenko
d3e8e9629b
More optimization work.
2017-12-15 14:24:17 -08:00
Adam Ierymenko
1f0b3a32d5
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-12-15 11:03:27 -08:00
Adam Ierymenko
0608704626
Some micro-optimizations, including a memcpy that is faster than Linux for most distro/compiler versions.
2017-12-15 11:03:20 -08:00
Adam Ierymenko
cb8e7b4d5e
Make UDP read loop eventually move on.
2017-12-15 10:15:13 -08:00
Joseph Henry
346fa4d7f4
Added ZT_SANITIZE option to makefiles. This your new memory debugging best friend
2017-12-14 13:27:49 -08:00
Adam Ierymenko
7a22f01dd8
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-12-14 08:53:32 -08:00
Adam Ierymenko
4704d115c4
Some controller fixes.
2017-12-14 08:53:24 -08:00
Joseph Henry
12c621c230
Removed build flag in CMake script
2017-12-13 14:57:20 -08:00
Joseph Henry
cba65d897a
Added CMake build script for libzerotiercore.a
2017-12-13 14:55:17 -08:00
Adam Ierymenko
e4a10cc510
Member commit bug fix.
2017-12-08 19:00:38 -05:00
Adam Ierymenko
249c27afd5
Fix old bug invoking idtool personality with -i
2017-12-08 11:17:07 -08:00
Adam Ierymenko
38cc89b2ca
Add time to rethinkdb message output in controller.
2017-12-08 12:39:20 -05:00
Adam Ierymenko
aeb1794be1
Comment out storage of secret ID in RethinkDb.
2017-12-07 16:04:41 -08:00
Adam Ierymenko
dae728124e
Fix to network path in conventional filesystem controller DB.
2017-12-07 14:42:33 -08:00
Adam Ierymenko
cf30b1fcdf
GitHub issue #589
2017-12-07 17:13:24 -05:00
Adam Ierymenko
19bfef36f1
Build fix.
2017-12-07 16:45:43 -05:00
Adam Ierymenko
8d9464c414
docs, and make RethinkDB controller DB driver upsert into the Controller DB and also update the hostname field.
2017-12-07 13:39:25 -08:00
Adam Ierymenko
ada611d597
Go ahead and load kext so MacOS High Sierra users will see kext auth dialog right away.
2017-12-07 08:56:15 -08:00
Adam Ierymenko
f13886d343
Warning removal.
2017-12-05 17:53:28 -05:00
Adam Ierymenko
520b0601db
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-12-05 14:51:06 -08:00
Adam Ierymenko
926ecf9640
docs
2017-12-05 14:50:59 -08:00
Adam Ierymenko
c57198decd
Add remoteTraceLevel to controller.
2017-12-05 17:49:20 -05:00
Adam Ierymenko
431716e249
Disable trace by default, stderr message improvements in RethinkDB driver.
2017-12-05 17:16:45 -05:00
Adam Ierymenko
694709f392
Add timestamp to network status.
2017-12-04 19:21:56 -05:00
Adam Ierymenko
16613ab5fb
Clean up remote tracing code, add per-network remote trace settings, add remote trace level, and make local trace output readable again.
2017-12-04 14:40:10 -08:00
Adam Ierymenko
c26bf45e28
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-11-29 04:47:16 -08:00
Adam Ierymenko
23e5c7b38d
Fix self-test compile.
2017-11-29 04:47:10 -08:00
Joseph Henry
382dd82eb6
Fix for local.conf virtual path blacklist (ticket #594 )
2017-11-27 15:31:25 -08:00
Joseph Henry
f18d5b2efe
Attempted fix for github issue #597 , leaking sockets. Added call to closenatpmp() after failure to init
2017-11-27 14:23:55 -08:00
Adam Ierymenko
0fb22df633
Get ephemeral status fields out of the configs. They do not belong there and it just complicates things.
2017-11-09 17:01:16 -05:00
Adam Ierymenko
750e36993f
GitHub issue #617
2017-11-09 11:35:46 -05:00
Adam Ierymenko
f7f658605d
Move more ephemeral stuff to a tiny MemberLastRequest table instead of the main Member table.
2017-11-08 20:19:46 -05:00
Adam Ierymenko
192e5dbff8
Another fix for uptime logging.
2017-11-08 20:02:10 -05:00
Adam Ierymenko
ef224c3547
RethinkDB build fix.
2017-11-08 19:52:36 -05:00
Adam Ierymenko
c12b68a6b2
More Central work.
2017-11-08 11:32:01 -08:00
Adam Ierymenko
4166d8ca35
Fix a deadlock and some more work on RethinkDB (for central) integration.
2017-11-08 11:06:14 -08:00
Adam Ierymenko
53e7e950f1
Windows build fixes.
2017-11-07 16:39:12 -08:00
Adam Ierymenko
0612879dec
Fix const.
2017-11-07 16:23:56 -08:00
Adam Ierymenko
3b21f946e4
Remove manual define of include rethinkdb driver symbol.
2017-11-07 16:18:48 -08:00
Adam Ierymenko
9f85371073
cleanup
2017-11-07 15:23:16 -08:00
Adam Ierymenko
cb550ab4fe
Merge branch 'dev' into edge
2017-11-07 14:59:18 -08:00
Adam Ierymenko
b8cbf08617
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-11-07 14:59:03 -08:00
Adam Ierymenko
1613f42d00
Re-integrate in-filesystem DB into new controller DB structure.
2017-11-07 14:44:46 -08:00
Joseph Henry
e5d1243dd2
Minor changes to SDK-related portions of OneService
2017-11-06 13:43:56 -08:00
Adam Ierymenko
7fc9094d8e
More fixes to RethinkDB.
2017-11-03 22:40:26 -04:00
Adam Ierymenko
92c7070aa8
RethinkDB fixes.
2017-11-03 20:55:16 -04:00
Adam Ierymenko
b68bca35db
Linux build fixes, linux build rule for RethinkDB mode controller, also force disable shitty allocators in libstdc++.
2017-11-03 16:59:36 -04:00
Adam Ierymenko
d97adc8789
Preparing for test.
2017-11-03 12:32:56 -07:00
Adam Ierymenko
f5014d7d71
RethinkDB direct connectivity integration.
2017-11-03 11:39:27 -07:00
Adam Ierymenko
4e88c80a22
RethinkDB native connector work, minor fixes.
2017-11-02 07:05:11 -07:00
Adam Ierymenko
a6203ed038
icon
2017-10-29 12:01:15 -07:00
Adam Ierymenko
1db547d607
Windows build fixes, AIP file update.
2017-10-25 16:25:57 -07:00
Adam Ierymenko
2cc4dc5a6f
Clean peers.d periodically and delete peers older than 30 days.
2017-10-25 16:08:14 -07:00
Adam Ierymenko
fac7dc9c91
Stop duplciate IPv6 addresses due to privacy mode IPs.
2017-10-25 16:01:36 -07:00
Adam Ierymenko
508fa6a7fe
A few fixes for cluster mode.
2017-10-25 15:44:10 -07:00
Adam Ierymenko
71bdaa9508
Now with more worky.
2017-10-25 13:27:28 -07:00
Adam Ierymenko
459f1e7bfb
Refactor path stability stuff and add basic multipath support.
2017-10-25 12:42:14 -07:00
Adam Ierymenko
0d8b8d8426
Remove some unused constants.
2017-10-24 15:04:19 -07:00
Adam Ierymenko
2d0dc62a53
docs
2017-10-24 14:57:02 -07:00
Adam Ierymenko
0d8e134f9f
Warning removal.
2017-10-24 14:54:15 -07:00
Adam Ierymenko
c7d370c17f
Delete something that turns out not to be useful. This will be handled differently.
2017-10-24 14:49:38 -07:00
Adam Ierymenko
395d8b3139
Full and clearer implementation of GitHub issue #588
2017-10-24 13:33:53 -07:00
Adam Ierymenko
b92ef67e56
Merge pull request #550 from surgicalcoder/patch-2
...
Peer's role misses a PLANET role
2017-10-24 12:22:38 -07:00
Adam Ierymenko
5a8aa66641
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-10-24 12:22:02 -07:00
Adam Ierymenko
e87ef18826
cleanup
2017-10-24 12:21:56 -07:00
Adam Ierymenko
7b78d4f11f
Merge pull request #605 from oneguynick/patch-1
...
Update make-linux.mk to include support for Armv7l
2017-10-24 12:21:32 -07:00
Nicholas Schmidt
65ac61b2ea
Update make-linux.mk to include support for Armv7l
...
When running ArchlinuxARM with 64bit support on Raspberry Pi3, the default build fails due to the architecture look-up at the beginning of the build process. A simple addition of the Armv7l section above allows the build to continue and successfully run.
2017-10-19 09:21:24 -04:00
Grant Limberg
629a3a2a24
call setFriendlyName() after tap adapter is initialized
2017-10-16 12:16:05 -07:00
Joseph Henry
ee4783e3fb
ifdef omit of deletePersistentTapDevice() in OneService for libzt builds on Windows
2017-10-10 15:01:15 -07:00
Joseph Henry
f2c69ede96
Conditionally omit reference to CancelSynchronousIo in Thread.hp when MINGW32/64 is detected for libzt build - Symbol not supported
2017-10-10 12:21:52 -07:00
Grant Limberg
ceeb35eaac
If lastSend/lastReceive is < 0, just put 0.
2017-10-05 13:19:25 -07:00
Grant Limberg
099bedd2e9
A few more uint64_t -> int64_t changes for timestamps
2017-10-04 12:01:17 -07:00
Grant Limberg
4177a11522
remove some leftover debug code
2017-10-04 09:18:13 -07:00
Grant Limberg
3d4a1b575e
Update Android NDK with uint64_t -> int64_t changes
2017-10-03 11:25:26 -07:00
Grant Limberg
b1d60df44c
timestamps changed from uint64_t to int64_t
...
There were cases in the code where time calculations and comparisons were overflowing and causing connection instability. This will keep time calculations within expected ranges.
2017-10-02 15:52:57 -07:00
Grant Limberg
7cf70d111a
Return an explicit NULL shared pointer at the end of Topology::getPeer()
2017-09-28 10:40:27 -07:00
Grant Limberg
e564c56dce
Set size of buffer after setting data with unsafeData() call
2017-09-28 10:39:43 -07:00
Grant Limberg
239c2540d6
Mutex::lock and ::unlock just called themselves
2017-09-27 15:05:13 -07:00
Grant Limberg
c53d140145
Replace '_' with '__' in network names on toolbar menu in Windows
...
Otherwise WPF gobbles up the underscores
2017-09-27 13:24:29 -07:00
Grant Limberg
12a6a2f2d2
remove reference to invalid file
2017-09-27 13:07:24 -07:00
Grant Limberg
9c903567bb
Hashtable needs to include Constants.hpp for ZT_EXCEPTION_OUT_OF_MEMORY
2017-09-25 13:42:19 -07:00
Grant Limberg
6782dee64a
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-09-25 10:10:17 -07:00
Adam Ierymenko
302c15140e
Fix API problem with path configuration..
2017-09-25 08:53:55 -07:00
Grant Limberg
c666f92e35
new startup process UI for Windows
2017-09-22 15:33:09 -07:00
Grant Limberg
eb42ef68ee
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-09-22 10:22:22 -07:00
Adam Ierymenko
52916eebcf
Keep attemting to upgrade direct path if path is not private to facilitate better use of LANs and backplane networks.
2017-09-14 20:56:50 -07:00
Adam Ierymenko
f8014413a3
Add UDP MTU configurability.
2017-09-01 16:25:34 -07:00
Adam Ierymenko
2d858b05ac
Another fix for ye old tyme clients.
2017-09-01 12:03:31 -07:00
Adam Ierymenko
b1fb020aea
Raise chunk size to max packet size for network configs. Chunking breaks really ancient clients, so this helps them live a little longer. No real downside for new clients.
2017-09-01 10:43:44 -07:00
Adam Ierymenko
02ed84774c
Non-x86 build fix.
2017-08-31 20:47:44 -04:00
Adam Ierymenko
283e8d5bc0
Start threads in Central harnessed mode.
2017-08-31 18:01:21 -04:00
Joseph Henry
f39e2e2a53
Fixed typo of mysterious origin
2017-08-31 11:37:29 -07:00
Adam Ierymenko
5bf5d5e9cb
Minor controller stuff.
2017-08-30 17:22:25 -07:00
Adam Ierymenko
e51e212b95
Add some defines of use to low level developers.
2017-08-25 16:04:04 -07:00
Adam Ierymenko
6418d02572
Fix HTTP DELETE stupid bug.
2017-08-24 15:33:24 -07:00
Adam Ierymenko
49fa30d495
Ticket lock for x64/gcc/clang platforms.
2017-08-23 18:52:32 -07:00
Adam Ierymenko
dd8b03a5c5
Threading issue fix?
2017-08-23 18:28:40 -07:00
Adam Ierymenko
4d5983114c
Fix another deadlock.
2017-08-23 17:14:06 -07:00
Adam Ierymenko
0a9c3b5571
Fix possible deadlock.
2017-08-23 16:59:31 -07:00
Adam Ierymenko
180049a277
Fix pointer bug.
2017-08-23 16:55:22 -07:00
Adam Ierymenko
6ee201865b
Clean up WHOIS code.
2017-08-23 16:42:17 -07:00
Adam Ierymenko
b1d94c9f93
Performance improvement to RX queue ring buffer.
2017-08-23 15:19:26 -07:00
Adam Ierymenko
a156a4dbe2
Symmetric NAT cleanup.
2017-08-23 15:12:00 -07:00
Adam Ierymenko
2cebe7a5e0
Fix name difference.
2017-08-23 14:09:29 -07:00
Adam Ierymenko
9cfc109527
Tighten a few timings.
2017-08-23 14:00:08 -07:00
Adam Ierymenko
64758c46b6
Implement peer serialization and deserialization.
2017-08-23 13:40:51 -07:00
Adam Ierymenko
4352202349
Reduce TCP relay latency -- see GitHub issue #564
2017-08-18 14:54:10 -07:00
Adam Ierymenko
ba07a60c44
Fix PPC PR.
2017-08-18 14:40:10 -07:00
Adam Ierymenko
72bfe0953a
Merge pull request #560 from andyfangdz/patch-1
...
Add `ppc64le` arch
2017-08-18 14:38:41 -07:00
Adam Ierymenko
bab5647522
Add make rule for official-static.
2017-08-18 14:00:35 -07:00
Adam Ierymenko
fcaf1d89c2
Get rid of some noisy remote traces that should not be needed.
2017-08-18 13:59:22 -07:00
Adam Ierymenko
106dff0d53
Make remote trace target null by default, which is probably what we want.
2017-08-18 13:52:10 -07:00
Adam Ierymenko
174ba8884e
Delete support in harnessed mode.
2017-08-17 13:10:10 -07:00
Adam Ierymenko
1ce0dcf0ea
Another Central harnessed mode fix.
2017-08-16 14:41:42 -07:00
Adam Ierymenko
1387e15c1b
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-08-16 14:14:56 -07:00
Adam Ierymenko
50e7ea088b
More work on controller for new Central harnessed mode, remove old http mode.
2017-08-16 14:14:49 -07:00
Joseph Henry
59b7cbb591
Rename SocketTap to VirtualTap to prevent confusion on role
2017-08-15 16:22:28 -07:00
Adam Ierymenko
23fe8975e7
.
2017-08-14 11:44:07 -07:00
Adam Ierymenko
a4bc40542b
GCC/G++ build fixes, GitHub issue #563
2017-08-14 11:43:39 -07:00
Joseph Henry
ee1dc16e8f
Added getRoutes() for libzt
2017-08-10 00:59:15 -07:00
Adam Ierymenko
1c04cc0485
.
2017-08-09 17:42:35 -07:00
Adam Ierymenko
2c682b4d1c
Small controller revisions, first run of controller API model JavaScript.
2017-08-09 14:37:19 -07:00
Grant Limberg
6842490c1f
Add menu option to open ZeroTier Central in the system default browser
2017-08-09 14:19:37 -07:00
Adam Ierymenko
ff5e22031a
Small fix: should expire packets to prevent repeated WHOISes.
2017-08-08 13:24:37 -07:00
Adam Ierymenko
e3cf756785
Make rxQueue lock-free using an atomic counter ring buffer.
2017-08-08 13:21:10 -07:00
Adam Ierymenko
7e6598e9ca
Possible deadlock fix.
2017-08-07 14:13:08 -07:00
Dezhi “Andy” Fang
48d2017629
Add ppc64le arch
...
I've only tested locally, on a power8 box running Ubuntu 16.10, but everything (and earth) checks out.
Let me know if more testing infrastructure is needed.
2017-08-06 02:06:00 -07:00
Adam Ierymenko
e4823381c6
.
2017-07-19 15:16:15 -07:00
Adam Ierymenko
66feaeb519
.
2017-07-19 15:06:23 -07:00
Adam Ierymenko
8c6b833fb3
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-07-19 14:13:23 -07:00
Adam Ierymenko
b62296a40b
Bug fixes in new harness mode.
2017-07-19 14:13:17 -07:00
Grant Limberg
fc7728212f
Fix ifndef on Windows
2017-07-18 15:59:11 -07:00
Adam Ierymenko
31785f7f6e
Automatic periodic status dump from controller.
2017-07-18 15:36:33 -07:00
Adam Ierymenko
ae65eb5105
Cleanup and replace trace field names with sane ones because usability > a few bytes.
2017-07-18 14:28:38 -07:00
Adam Ierymenko
727ccb1125
Cleanup and stdin/stdout harness mode for controller.
2017-07-18 13:57:37 -07:00
Adam Ierymenko
77ce238457
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-07-17 17:02:57 -07:00
Adam Ierymenko
1685659e37
Remote tracing works.
2017-07-17 17:02:50 -07:00
Grant Limberg
0f03d4ef51
Update Jenkinsfile for new NDK in Jenkins
2017-07-17 16:55:00 -07:00
Grant Limberg
bcf697cc2b
Wire up PortMapper in Android
...
Enables UPnP port mapping for Android client on networks with UPnP routers
2017-07-17 16:16:25 -07:00
Adam Ierymenko
5e2ea4a81a
Cleanup.
2017-07-17 14:24:57 -07:00
Adam Ierymenko
b9e1d53d7a
Minor cleanup.
2017-07-17 14:21:09 -07:00
Adam Ierymenko
ab0806a036
Cleanup.
2017-07-17 13:48:39 -07:00
Adam Ierymenko
3a1ec07db0
Remove some exception copypasta.
2017-07-17 10:43:28 -07:00
Adam Ierymenko
d939d8d21d
A bit more remote tracing stuff.
2017-07-14 14:57:40 -07:00
Adam Ierymenko
d9552fb120
Add remoteTraceTarget to network and member configs in controller.
2017-07-14 14:33:36 -07:00
Adam Ierymenko
4ecc0c59ca
Plumbing through of remote trace into controller code.
2017-07-14 13:03:16 -07:00
Adam Ierymenko
0655a1fcbe
Move old cluster code into attic.
2017-07-13 16:42:43 -07:00
Adam Ierymenko
c8d0cf2c40
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2017-07-13 16:31:30 -07:00
Adam Ierymenko
c692f2e740
Fix for new identity generation bug.
2017-07-13 16:31:16 -07:00
Alex
a83c7c0d07
remove debugging flag
2017-07-13 15:13:20 -07:00
Adam Ierymenko
ba6fd16823
More tracing stuff.
2017-07-13 15:08:57 -07:00
Adam Ierymenko
54893c35c1
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-07-13 10:51:19 -07:00
Adam Ierymenko
495c5ce81d
Bunch of remote tracing work.
2017-07-13 10:51:05 -07:00
Grant Limberg
4cc773ec1b
fix Windows build
2017-07-12 13:52:45 -07:00
Grant Limberg
69ae35494e
put the correct file extensions on data written to disk in JNI
2017-07-12 13:36:22 -07:00
Grant Limberg
512c3af4ea
fix packet sending functions
2017-07-12 13:12:45 -07:00
Grant Limberg
d8f1c3dff7
Update JNI code to reflect new ZeroTier API
2017-07-12 11:34:53 -07:00
Grant Limberg
0a11dd2d24
Fix NeighborDiscovery code now that ZT_SOCKADDR_NULL doesn’t exist
2017-07-11 15:45:36 -07:00
Monty A
78ee7f6573
Peer's role misses a PLANET role
...
Peer's role misses a PLANET role in documentation vs what's returned from API.
2017-07-09 15:39:49 +01:00
Adam Ierymenko
dab0fb9e05
Remote trace: plumbing, replace old TRACE with calls to Trace object.
2017-07-07 16:58:05 -07:00
Adam Ierymenko
e14d5d49a1
Merge branch 'master' into dev
2017-07-07 09:36:54 -07:00
Adam Ierymenko
782b2b1514
Merge pull request #537 from laduke/patch-1
...
Update README.md
2017-07-07 09:32:37 -07:00
Adam Ierymenko
a9582417e2
Merge pull request #547 from surgicalcoder/patch-1
...
Clarification on how to use JSON API with secret
2017-07-07 09:32:23 -07:00
Adam Ierymenko
69922b6c39
BSD build fix.
2017-07-07 09:29:24 -07:00
Adam Ierymenko
6fc70f7c16
More cleanup, Linux build fixes.
2017-07-07 06:50:40 -07:00
Monty A
a274e774ee
Clarification on how to use JSON API with secret
...
Makes it clear on how to use the authtoken.secret file when making requests.
2017-07-07 10:11:21 +01:00
Adam Ierymenko
f23a43fb81
More cleanup.
2017-07-06 17:32:41 -07:00
Adam Ierymenko
88997a0314
Windows build fixes.
2017-07-06 16:29:11 -07:00
Adam Ierymenko
d2415dee00
Cleanup.
2017-07-06 16:11:11 -07:00
Adam Ierymenko
53728b79b4
.
2017-07-06 12:35:23 -07:00
Adam Ierymenko
dff8c02cfe
Pull out and deprecate old cluster code. New cluster code will not be merged yet.
2017-07-06 12:33:00 -07:00
Adam Ierymenko
640ad577d1
.
2017-07-06 11:56:46 -07:00
Adam Ierymenko
cd63ecd3f3
.
2017-07-06 11:45:48 -07:00
Adam Ierymenko
f18158a52d
.
2017-07-06 11:45:22 -07:00
Adam Ierymenko
84748aab51
Merge branch 'dev' into edge
2017-07-06 10:26:04 -07:00
Adam Ierymenko
3fadc64ee0
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-07-06 10:25:58 -07:00
Adam Ierymenko
47594f7c99
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2017-07-06 10:25:44 -07:00
Adam Ierymenko
2f20258807
.
2017-07-06 10:25:36 -07:00
Grant Limberg
47122a3804
Merge branch 'dev' into edge
2017-07-03 13:29:54 -07:00
Grant Limberg
1730f8f5b7
also cluster.hpp
2017-07-03 13:04:11 -07:00
Grant Limberg
d258a75cd3
remove Cluster.cpp from build list as it's been removed
2017-07-03 13:03:43 -07:00
Adam Ierymenko
baa10c2995
.
2017-06-30 17:32:07 -07:00
Grant Limberg
207d6572e0
fix for changelist posting to mattermost
2017-06-30 14:24:40 -07:00
Grant Limberg
10264cec2f
slackSend -> mattermostSend
2017-06-30 13:43:39 -07:00
Adam Ierymenko
0ea1749c59
Merge pull request #540 from skunkwerks/master
...
build: all BSDs expect gmake here
2017-06-30 09:55:43 -07:00
Dave Cottlehuber
dd83c680e5
build: all BSDs expect gmake here
2017-06-30 13:11:05 +00:00
Adam Ierymenko
1a40f35fd4
Merge branch 'dev' into edge
2017-06-27 11:32:14 -07:00
Adam Ierymenko
8a99113c88
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-06-27 11:32:07 -07:00
Adam Ierymenko
ada2ea3a6b
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2017-06-27 11:31:39 -07:00
Adam Ierymenko
355cce3938
Rename Utils::snprintf due to it being a #define on one platform.
2017-06-27 11:31:29 -07:00
Travis LaDuke
9b2e08dd09
Update README.md
...
We've had multiple questions in the community chat regarding posting new
network and getting the curl syntax correct.
2017-06-26 11:53:35 -07:00
Joseph Henry
04cee3b8d3
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2017-06-26 02:13:40 -07:00
Joseph Henry
c61440efea
Detect platformDefaultHomePath on QNAP systems
2017-06-25 20:20:30 -07:00
Adam Ierymenko
02d18af57d
Remove Cluster.hpp
2017-06-23 16:10:26 -07:00
Adam Ierymenko
2225bb093a
Merge branch 'edge' into dev
2017-06-23 16:06:38 -07:00
Adam Ierymenko
75a6a7baca
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-06-23 16:05:58 -07:00
Alex
6b130e8311
fix for windows compilation (related to SDK implementation)
2017-06-21 14:58:39 -07:00
Alex
1b18923824
except wondows/lib
2017-06-13 14:25:53 -07:00
Alex
fc2ce439e2
remove unneeded files
2017-06-13 14:23:11 -07:00
Alex
5b3d9f9184
added Windows SDK in form of dlls
2017-06-13 13:28:23 -07:00
Adam Ierymenko
dd68c207f4
Stuff old Cluster code in attic.
2017-06-08 08:51:49 -07:00
Adam Ierymenko
9a3c34b5b3
Build fix, use -Os on Linux too.
2017-06-07 17:19:33 -07:00
Adam Ierymenko
951d911531
Last bit of new cluster code, ready to test.
2017-06-06 16:11:19 -07:00
Adam Ierymenko
4f2179b0df
.
2017-06-05 13:42:43 -07:00
Adam Ierymenko
9b287392a4
.
2017-06-05 12:15:28 -07:00
Adam Ierymenko
aa06470cb6
More cleanup for cluster refactor.
2017-06-01 20:32:43 -07:00
Adam Ierymenko
d7b4f24a7a
.
2017-06-01 17:21:57 -07:00
Adam Ierymenko
e8d11eb5c5
.
2017-06-01 17:21:04 -07:00
Adam Ierymenko
7f4da08ff7
.
2017-06-01 12:57:44 -07:00
Adam Ierymenko
1f9414a30f
.
2017-06-01 12:38:04 -07:00
Adam Ierymenko
6015b529a0
More clustering work.
2017-06-01 12:33:05 -07:00
Adam Ierymenko
76452b4e28
Data structure fixup.
2017-06-01 07:39:31 -07:00
Adam Ierymenko
64b7d9ef82
New clustering work.
2017-06-01 07:15:46 -07:00
Joseph Henry
7bc9666aac
fix for SDK's route/tap association in getTap()
2017-05-31 13:07:03 -07:00
Adam Ierymenko
2a4a50b1da
Add some also-ZeroTier-written ext/ code for use in new clustering, delete some old code, and change Mac to use -Os which is just as fast as -Ofast and may be faster due to cache effects.
2017-05-31 08:36:09 -07:00
Adam Ierymenko
2ec88e8008
Remove old circuit test code. Rules engine will let us do this much better and more simply.
2017-05-30 10:19:45 -07:00
Joseph Henry
36049a940c
added campaign tags to README.md
2017-05-25 17:09:21 -07:00
Grant Limberg
952834f7f3
Let Android Studio determine debug/release build
2017-05-23 14:56:29 -07:00
Adam Ierymenko
f9a9c2d009
Config object was never even being initialized on leave. Never noticed since desktop and server clients did not use.
2017-05-23 14:45:16 -07:00
Adam Ierymenko
fb71a6e2b4
skipRootCheck should also prevent dropping of privs on Linux
2017-05-19 16:16:10 -07:00
Adam Ierymenko
5e6a2a17b0
Cluster build fix.
2017-05-19 15:32:52 -07:00
Adam Ierymenko
92289c1981
Move to canonical device naming on Linux.
2017-05-19 15:18:47 -07:00
Adam Ierymenko
99e2098a48
Add a way to specify a different interface prefix (for internal use mostly).
2017-05-19 14:00:08 -07:00
Adam Ierymenko
5fc1c1de28
.
2017-05-19 13:24:40 -07:00
Grant Limberg
2fac693243
I guess there's a bug in Clipboard.SetText(). Clipboard.SetDataObject() works, though.
2017-05-12 16:42:54 -07:00
Grant Limberg
e9b956ed71
Swallow a possible ArgumentNullException when copying text to the system clipboard
2017-05-12 16:05:29 -07:00
Adam Ierymenko
236a952458
typo
2017-05-11 14:26:46 -07:00
Adam Ierymenko
426b7c2c76
Stupid bug is stupid.
2017-05-11 14:13:38 -07:00
Adam Ierymenko
22780a8504
Merge branch 'dev' of http://10.187.63.16/zerotier/ZeroTierOne into dev
2017-05-10 13:48:55 -07:00
Adam Ierymenko
a437fd420c
version
2017-05-10 13:48:47 -07:00
Adam Ierymenko
2d74c60d47
Add branch hints to bounds checking in Buffer.
2017-05-09 21:54:23 -07:00
Adam Ierymenko
ceee56af51
Fix for small stacks.
2017-05-09 21:36:25 -07:00
Adam Ierymenko
d297d8fe2e
Musl fix
2017-05-09 21:21:56 -07:00
Adam Ierymenko
f479b76772
define likely/unlikely
2017-05-09 20:22:08 -07:00
Grant Limberg
73f7088b45
Run Join/Leave commands asynchronously so the UI doesn't lock up on thoise commands
2017-05-08 16:17:33 -07:00
Adam Ierymenko
b3dd5c0e3a
Build fix.
2017-05-08 14:51:12 -07:00
Adam Ierymenko
ee7ee22555
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-05-08 14:46:54 -07:00
Adam Ierymenko
cf49e511a5
More makefile changes.
2017-05-08 14:46:45 -07:00
Adam Ierymenko
505b9c7f56
Makefile reorg to allow core to be built as a library.
2017-05-08 14:36:55 -07:00
Grant Limberg
8c30b2b9f5
Fixed falling out of the network monitor thread if the ZeroTier service isn't running on Windows
2017-05-08 13:27:54 -07:00
Adam Ierymenko
b9c1407013
Adjust PUSH_DIRECT_PATH circuit breaker, and comment out traces to reduce noise.
2017-05-08 09:36:37 -07:00
Adam Ierymenko
d905607353
Small optimizations.
2017-05-08 08:35:55 -07:00
Adam Ierymenko
e5e90b1f71
Wire MTU through to service.
2017-05-04 20:10:49 -07:00
Adam Ierymenko
d5ed025871
Support MTU reconfigure for Windows.
2017-05-04 19:50:02 -07:00
Adam Ierymenko
b55422a528
MTU integration in taps.
2017-05-04 19:31:50 -07:00
Adam Ierymenko
909a14fb48
MTU support in controller.
2017-05-04 17:22:24 -07:00
Adam Ierymenko
107e3e4106
First pass of configurable MTU and max MTU increase.
2017-05-04 17:12:02 -07:00
Adam Ierymenko
6ef247fb93
More ARM stuff.
2017-05-04 16:00:53 -07:00
Adam Ierymenko
b8e46b835b
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-05-04 15:54:15 -07:00
Adam Ierymenko
0900fee5d9
Linux build stuff for ARM.
2017-05-04 15:54:08 -07:00
Joseph Henry
1f26cb98de
updated OneService convenience functions for SDK
2017-05-04 15:26:44 -07:00
Joseph Henry
ceeb8ee0bc
added isEqualPrefix to InetAddress
2017-05-04 15:25:48 -07:00
Adam Ierymenko
54c47a1e03
Add some historic code just for the heck of it.
2017-05-04 10:42:22 -07:00
Adam Ierymenko
6bb855873d
GitHub issue #494 -- shut down and restart UI on Mac pkg install/upgrade.
2017-05-03 15:03:26 -07:00
Adam Ierymenko
39db45e144
Fix crash on exit (sometimes) in controller.
2017-05-03 09:48:08 -07:00
Adam Ierymenko
41c187ba12
Another very small crypto optimization.
2017-05-03 07:43:23 -07:00
Adam Ierymenko
d7c99728bc
Echo back ping payload.
2017-05-02 17:28:18 -07:00
Adam Ierymenko
8e19188f49
Do the sometimes rather big "pong" in a background worker thread.
2017-05-02 16:58:51 -07:00
Adam Ierymenko
625e3e8e25
Tiny optimization to prealloc string space.
2017-05-02 13:53:47 -07:00
Adam Ierymenko
fde99e2fcf
Fix for post size limit in Http library.
2017-05-02 12:08:53 -07:00
Adam Ierymenko
132643cd4a
Fix small issue preventing pongs if there are never seen members.
2017-05-02 10:34:33 -07:00
Adam Ierymenko
faf7b81c01
Send last requets time in status, and do not set physicalAddr unless we know one.
2017-05-01 15:48:52 -07:00
Adam Ierymenko
bcc6799902
Send member uptime in pong posts.
2017-05-01 15:23:21 -07:00
Adam Ierymenko
718e1d6c08
Finish removing constantly changing stuff from controller.
2017-05-01 13:21:26 -07:00
Adam Ierymenko
a9ce773584
Remove lastModified field in config which literally nothing uses anywhere, and prevent some unnecessary writes.
2017-04-28 19:58:21 -07:00
Adam Ierymenko
d69bc4fb5e
Main license file.
2017-04-27 20:54:42 -07:00
Adam Ierymenko
1b68d6dbdc
License header update.
2017-04-27 20:47:25 -07:00
Adam Ierymenko
62578a2162
Reduce memory use and a bit of cleanup.
2017-04-27 19:36:03 -07:00
Adam Ierymenko
9e80db0fd1
Cleanup, fix a valgrind error, stack use reduction.
2017-04-27 00:59:36 -07:00
Adam Ierymenko
e8ab6adf89
Deadlock fix.
2017-04-26 12:17:43 -07:00
Adam Ierymenko
7c184cf991
Another performance improvement to controller.
2017-04-26 10:35:59 -07:00
Adam Ierymenko
72def658d0
Add a dummy Ethernet tap and a build option to enable it.
2017-04-26 08:42:49 -07:00
Adam Ierymenko
e7cd888c7d
dev is now 1.2.5
2017-04-26 06:50:12 -07:00
Adam Ierymenko
1205578935
Big cleanup of controller code, should help performance.
2017-04-26 06:48:08 -07:00
Adam Ierymenko
4e77365e8d
Remove a little cruft.
2017-04-25 16:17:54 -07:00
Adam Ierymenko
4f2a779769
JSONDB performance improvements, threading fix.
2017-04-24 20:51:02 -07:00
Adam Ierymenko
cafbe44dde
Controller optimizations -- make locking more fine-grained, use true hardware concurrency, etc.
2017-04-24 19:16:36 -07:00
Adam Ierymenko
6234bfd8bf
4-core Debian build.
2017-04-24 18:40:34 -07:00
Adam Ierymenko
77796caba6
Static ARM32 build fixes.
2017-04-24 18:12:58 -07:00
Adam Ierymenko
97f1d7ae2e
.
2017-04-24 16:56:18 -07:00
Adam Ierymenko
487e89d4d0
Add i486 and i586 to Linux makefile for detection of ia32.
2017-04-24 15:19:03 -07:00
Adam Ierymenko
fe5257df81
VERSION 1.2.4: Bug fixes and performance improvements
...
* Managed routes are now only bifurcated for the default route. This is a change in behavior, though few people will probably notice. Bifurcating all managed routes was causing more trouble than it was worth for most users.
* Up to 2X crypto speedup on x86-64 (except Windows, which will take some porting) and 32-bit ARM platforms due to integration of fast assembly language implementations of Salsa20/12 from the [supercop](http://bench.cr.yp.to/supercop.html ) code base. These were written by Daniel J. Bernstein and are in the public domain. My Macbook Pro (Core i5 2.8ghz) now does almost 1.5GiB/sec Salsa20/12 per core and a Raspberry Pi got a 2X boost. 64-bit ARM support and Windows support will take some work but should not be too hard.
* Refactored code that manages credentials to greatly reduce memory use in most cases. This may also result in a small performance improvement.
* Reworked and simplified path selection and priority logic to fix path instability and dead path persistence edge cases. There have been some sporadic reports of persistent path instabilities and dead paths hanging around that take minutes to resolve. These have proven difficult to reproduce in house, but hopefully this will fix them. In any case it seems to speed up path establishment in our tests and it makes the code simpler and more readable.
* Eliminated some unused cruft from the code around path management and in the peer class.
* Fixed an issue causing build problems on some MIPS architecture systems.
* Fixed Windows forgetting routes on sleep/wake or in some other circumstances. (GitHub issue #465 )
2017-04-24 11:41:23 -07:00
Adam Ierymenko
9161424c97
Version bumps.
2017-04-24 11:41:01 -07:00
Adam Ierymenko
cdda0dd043
Windows version bump.
2017-04-24 11:37:54 -07:00
Adam Ierymenko
f4feccc626
Do not serve controller requests until init is done.
2017-04-24 09:09:04 -07:00
Adam Ierymenko
44cb2f4efd
++version
2017-04-21 15:32:00 -07:00
Adam Ierymenko
cacb8fae0d
GitHub issue #463 -- fix MacOS uninstall script.
2017-04-21 13:55:44 -07:00
Adam Ierymenko
fa99a5cf12
docs
2017-04-21 13:27:34 -07:00
Adam Ierymenko
e700165eba
GitHub issue #465 - Windows route amnesia
2017-04-21 13:26:02 -07:00
Adam Ierymenko
8542ee59db
Windows crash fix.
2017-04-21 12:42:51 -07:00
Adam Ierymenko
76108671f6
BSD makefile fix for OpenBSD.
2017-04-21 08:42:45 -07:00
Adam Ierymenko
8b0ce1cc00
More BSD make fixes.
2017-04-21 08:09:18 -07:00
Adam Ierymenko
0e88c73f68
Mirror over some arch rules from Linux to BSD make, and enable fast crypto there.
2017-04-21 08:04:33 -07:00
Adam Ierymenko
ba0d73d102
Windows build fixes.
2017-04-20 10:21:40 -07:00
Adam Ierymenko
d3ecd1d670
docs
2017-04-20 10:21:08 -07:00
Adam Ierymenko
f9ae5938d0
Makefile fix, only bifurcate routes for default, and release notes.
2017-04-20 10:08:46 -07:00
Adam Ierymenko
a8ced184dc
Some code cleanup and make sure any type punning is guarded with ZT_NO_TYPE_PUNNING.
2017-04-20 09:33:35 -07:00
Adam Ierymenko
e7a2c6ecef
Integrate ARM/NEON crypto.
2017-04-19 17:11:56 -07:00
Adam Ierymenko
a376bcc654
ARM NEON Salsa20/12 in build and selftest. Almost 2X speedup on a Raspberry Pi.
2017-04-19 23:49:26 +00:00
Adam Ierymenko
8e1ac9fb0c
ARM NEON Salsa20/12.
2017-04-19 15:58:20 -07:00
Adam Ierymenko
bc61357a44
HTTP backend support for JSONDB
2017-04-18 17:37:44 -07:00
Adam Ierymenko
f6d92eb737
JSONDB fix.
2017-04-18 13:48:19 -07:00
Adam Ierymenko
48cadcd2fc
More build fixes.
2017-04-18 12:48:56 -07:00
Adam Ierymenko
bd63a840c7
Mac build fix.
2017-04-18 12:44:27 -07:00
Adam Ierymenko
aaf597f020
Cleanup, Windows fixes, Self test fix
2017-04-18 12:22:44 -07:00
Adam Ierymenko
72bd3064a2
Windows build fixes, self test cleanup.
2017-04-18 11:00:29 -07:00
Adam Ierymenko
a1c316b940
Makefile cruft.
2017-04-18 09:19:39 -07:00
Adam Ierymenko
02f84b225c
Add MIPS architectures to Linux Makefile and add an error if architecture cannot be determined.
2017-04-18 09:14:33 -07:00
Adam Ierymenko
6551c20005
Enable x64 ASM Salsa20/12 on Linux.
2017-04-18 08:57:32 -07:00
Adam Ierymenko
a1e94154be
Just incorporate the X64 ASM version of Salsa20/12 for X64 platforms. This gives us (for example) 1.5gb/sec encryption on a Core i5 2.8ghz.
2017-04-18 08:45:37 -07:00
Adam Ierymenko
4938e82795
Delete junk.
2017-04-17 18:01:51 -07:00
Adam Ierymenko
7a94f63058
Back out NaCl since the old one with xmm6 salsa2012 does not support multi-block use and the new one is slower.
2017-04-17 17:54:12 -07:00
Adam Ierymenko
db0edf154c
Use right deployment target in OSX bin.
2017-04-17 16:54:41 -07:00
Adam Ierymenko
a1cd94a61d
Actually include .a
2017-04-17 16:43:36 -07:00
Adam Ierymenko
df48738ac9
Enable use of NaCl for faster X64 Salsa20 implementations. Also include binary for OSX for easy build. Blazingly fast.
2017-04-17 16:43:03 -07:00
Adam Ierymenko
d8f5cfdee4
Windows profile build target (CPU profiling), and a little bit of optimization revealed by such.
2017-04-17 15:45:49 -07:00
Adam Ierymenko
95e5345cc3
Cluster build fix.
2017-04-17 10:12:13 -07:00
Adam Ierymenko
ba5d0cc2f9
Silence some TRACE noise.
2017-04-17 09:31:07 -07:00
Adam Ierymenko
1d8ded3293
Tiny largely non-consequential credential fix.
2017-04-17 09:30:28 -07:00
Adam Ierymenko
2487a8bede
Fix for 100% cpu issue.
2017-04-17 09:14:21 -07:00
Adam Ierymenko
f1c0563c40
Fix for cluster handoff.
2017-04-14 18:02:04 -07:00
Adam Ierymenko
139c4b5633
Significant simplification to path logic.
2017-04-14 17:53:32 -07:00
Adam Ierymenko
645bf4a764
Resurrect zerotier-containerized.
2017-04-14 13:30:12 -07:00
Adam Ierymenko
88a4a3b1ba
Pass tptr on leave.
2017-04-11 08:47:02 -07:00
Adam Ierymenko
6fabaae736
Add simple root server watcher (for our own new dashboard, but also for user use).
2017-04-04 16:47:14 -07:00
Adam Ierymenko
1b2cfd63e5
add libstdc++ dependency
2017-04-04 14:10:38 -07:00
Adam Ierymenko
ff2b219abd
root-watcher code
2017-04-04 12:39:14 -07:00
Adam Ierymenko
33c3af752b
Need to just have a make option for soft float ARM.
2017-04-04 11:26:50 -07:00
Adam Ierymenko
f73a1d2d56
Linux ARM flags.
2017-04-04 09:41:34 -07:00
Adam Ierymenko
470ad39d0d
More Linux ARM stuff.
2017-04-04 09:15:38 -07:00
Adam Ierymenko
5ad120208f
Small fix, should filter by temporal validity.
2017-04-04 08:46:12 -07:00
Adam Ierymenko
b48a70db2e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-04-04 08:39:22 -07:00
Adam Ierymenko
cd050b3423
Performance improvement in controller.
2017-04-04 08:39:19 -07:00
Adam Ierymenko
eddbc7e757
Logic simplification, cleanup, and memory use improvements in Membership. Also fix an issue that may cause network instability in some cases.
2017-04-04 08:07:38 -07:00
Adam Ierymenko
8a62ba07e5
Membership cleanup work in progress.
2017-04-04 06:47:01 -07:00
Adam Ierymenko
b3298a8f57
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-30 09:54:10 -07:00
Adam Ierymenko
e5284771e4
Add ping/pong to API so controller supervisor in Central can do a full-path check of controller uptime, etc.
2017-03-30 09:54:04 -07:00
Grant Limberg
5f611dad51
added orbit/deorbit methods to java Node implementation
2017-03-29 13:29:02 -07:00
Grant Limberg
1c5fdb8a0a
fix path checker initialization
2017-03-29 13:28:06 -07:00
Grant Limberg
de4b9e9a16
Added path checking interface for Java
2017-03-29 12:52:52 -07:00
Adam Ierymenko
57b5a33fbb
Fix bug preventing default from being set to null if already set to an integer.
2017-03-29 12:32:59 -07:00
Adam Ierymenko
3f4f7145a3
Another rule compiler fix.
2017-03-28 22:25:24 -07:00
Adam Ierymenko
b959148447
Small rule compiler fix with tag defaults.
2017-03-28 21:50:44 -07:00
Grant Limberg
855361b5b8
fix native end of JNI code for new thread data ptr
2017-03-28 17:49:00 -07:00
Adam Ierymenko
91c9f4cb20
Fix TRACE and CLUSTER builds.
2017-03-27 17:33:25 -07:00
Adam Ierymenko
e4896b257f
Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call.
2017-03-27 17:03:17 -07:00
Adam Ierymenko
592cac5815
Remove from a few other places.
2017-03-27 12:09:37 -07:00
Adam Ierymenko
4244cca48c
Delete comically named SSL gateway code, which is going elsewhere.
2017-03-27 12:08:38 -07:00
Grant Limberg
179ab5220a
Set macOS deployment target to 10.10 for UI applet
...
Must use CLI for older versions of macOS
2017-03-27 11:36:11 -07:00
Grant Limberg
d6bb1b72c3
Fix some text colors to work on old OS X versions
2017-03-27 11:15:36 -07:00
Grant Limberg
3d9a5a4f91
Popovers now appear to work
2017-03-27 10:55:47 -07:00
Joseph Henry
683ba79ff0
Added ButtFlare stub code
2017-03-24 17:00:14 -07:00
Grant Limberg
0c69fc719f
Windows UI will attempt to re-copy the auth token if a 401 error is received
2017-03-22 10:48:42 -07:00
Grant Limberg
03b48a4ad4
add lock around [ServiceCom key] and remove some debug code
2017-03-22 10:22:15 -07:00
Grant Limberg
aa71292265
A couple more places we should check HTTP status
2017-03-22 10:18:12 -07:00
Grant Limberg
d72eee6cf7
If we get a 401 error from the ZeroTier service in the macOS UI, try re-copying the auth token
2017-03-22 09:58:13 -07:00
Adam Ierymenko
6bb19e7947
build fix
2017-03-21 09:08:32 -07:00
Adam Ierymenko
3d2518f799
crazy formatting fix
2017-03-21 08:21:11 -07:00
Adam Ierymenko
5268909075
Add a facility for full flow-through uptime test of controller by Central.
2017-03-21 06:31:15 -07:00
Adam Ierymenko
c62141fd98
Make controller do a simple write-through cache without revalidating. Means you must restart if files change on disk, but will decrease I/O considerably.
2017-03-21 06:15:49 -07:00
Adam Ierymenko
ae303ee902
dev is now 1.2.3
2017-03-20 16:17:11 -07:00
Adam Ierymenko
cfe0d0971f
VERSION 1.2.2
...
Version 1.2.2 fixes a few bugs discovered after the 1.2.0 release. These are:
* A bug causing unreliable multicast propagation (GitHub issue #461 ).
* A crash in ARM binaries due to a build chain and flags problem.
* A bug in the network controller preventing members from being listed (GitHub issue #460 ).
2017-03-17 21:13:41 -07:00
Adam Ierymenko
c5c8facc2d
Windows installer version bump and a build fix.
2017-03-17 20:20:47 -07:00
Adam Ierymenko
f78d6a8a93
docs
2017-03-17 20:04:25 -07:00
Adam Ierymenko
78ef2c5f16
Windows build fixes, app about text revisions.
2017-03-17 20:01:58 -07:00
Adam Ierymenko
ec8e1178e5
Version bumps, and fix Debian so default is to build normally and .static files are used in our builds.
2017-03-17 19:16:34 -07:00
Adam Ierymenko
4f3f471b4c
GitHub issue #460
2017-03-17 18:19:51 -07:00
Adam Ierymenko
e10325e133
GitHub issue #461 -- plus a bit of cleanup and optimization
2017-03-17 17:15:23 -07:00
Adam Ierymenko
ef46d3c97d
LZ4 cleanup
2017-03-17 23:09:18 +00:00
Adam Ierymenko
a9c08c5975
.
2017-03-17 22:35:56 +00:00
Adam Ierymenko
c467c3b7e4
ARM tweaks
2017-03-17 22:26:08 +00:00
Adam Ierymenko
cdc0eaec3a
Fix attempt to WHOIS self.
2017-03-17 22:13:34 +00:00
Adam Ierymenko
a7cb738175
.
2017-03-17 14:25:54 -07:00
Adam Ierymenko
d1bb22a583
.
2017-03-17 14:09:30 -07:00
Adam Ierymenko
553d972de5
bump that version. bump it good.
2017-03-17 13:56:45 -07:00
Adam Ierymenko
cc883cc3d8
Merge branch 'master' of http://10.6.6.2/zerotier/ZeroTierOne
2017-03-17 13:56:01 -07:00
Adam Ierymenko
c6a39ed927
Fixes for possible ARM issues, cleanup, fix for spurious meaningless exceptions on NETWORK_CONFIG_REQUEST
2017-03-17 13:55:26 -07:00
Adam Ierymenko
df30255542
Merge branch 'master' into dev
2017-03-17 12:37:23 -07:00
Adam Ierymenko
d5102539dd
Merge pull request #457 from skunkwerks/master
...
build: use clang on FreeBSD
2017-03-17 12:18:54 -07:00
Adam Ierymenko
e3feaf3f5d
Warning removal, and dev is now 1.2.1
2017-03-16 16:45:11 -07:00
Dave Cottlehuber
25dc596397
build: use clang on FreeBSD
...
this avoids a whopping 500+Mb dependency on gcc and friends at runtime
2017-03-16 12:58:04 +01:00
Adam Ierymenko
0daff26fba
Version 1.2.0 is a major milestone release representing almost nine months of work. It includes our rules engine for distributed network packet filtering and security monitoring, federated roots, and many other architectural and UI improvements and bug fixes.
...
The largest new feature in 1.2.0, and the product of many months of work, is our advanced network rules engine. With this release we achieve traffic control, security monitoring, and micro-segmentation capability on par with many enterprise SDN solutions designed for use in advanced data centers and corporate networks.
Rules allow you to filter packets on your network and vector traffic to security observers. Security observation can be performed in-band using REDIRECT or out of band using TEE.
Tags and capabilites provide advanced methods for implementing fine grained permission structures and micro-segmentation schemes without bloating the size and complexity of your rules table.
See the [rules engine announcement blog post](https://www.zerotier.com/blog/?p=927 ) for an in-depth discussion of theory and implementation. The [manual](https://www.zerotier.com/manual.shtml ) contains detailed information on rule, tag, and capability use, and the `rule-compiler/` subfolder of the ZeroTier source tree contains a JavaScript function to compile rules in our human-readable rule definition language into rules suitable for import into a network controller. (ZeroTier Central uses this same script to compile rules on [my.zerotier.com](https://my.zerotier.com/ ).)
It's now possible to create your own root servers and add them to the root server pool on your nodes. This is done by creating what's called a "moon," which is a signed enumeration of root servers and their stable points on the network. Refer to the [manual](https://www.zerotier.com/manual.shtml ) for instructions.
Federated roots achieve a number of things:
* You can deploy your own infrastructure to reduce dependency on ours.
* You can deploy roots *inside your LAN* to ensure that network connectivity inside your facility still works if the Internet goes down. This is the first step toward making ZeroTier viable as an in-house SDN solution.
* Roots can be deployed inside national boundaries for countries with data residency laws or "great firewalls." (As of 1.2.0 there is still no way to force all traffic to use these roots, but that will be easy to do in a later version.)
* Last but not least this makes ZeroTier somewhat less centralized by eliminating any hard dependency on ZeroTier, Inc.'s infrastructure.
Our roots will of course remain and continue to provide zero-configuration instant-on deployment, a secure global authority for identities, and free traffic relaying for those who can't establish peer to peer connections.
An element of our design philosophy is "features are bugs." This isn't an absolute dogma but more of a guiding principle. We try as hard as we can to avoid adding features, especially "knobs" that must be tweaked by a user.
As of 1.2.0 we've decided that certain knobs are unavoidable, and so there is now a `local.conf` file that can be used to configure them. See the ZeroTier One documentation for these. They include:
* Blacklisting interfaces you want to make sure ZeroTier doesn't use for network traffic, such as VPNs, slow links, or backplanes designated for only certain kinds of traffic.
* Turning uPnP/NAT-PMP on or off.
* Configuring software updates on Windows and Mac platforms.
* Defining trusted paths (the old trusted paths file is now deprecated)
* Setting the ZeroTier main port so it doesn't have to be changed on the command line, which is very inconvenient in many cases.
A good software update system for Windows and Mac clients has been a missing feature in previous versions. It does exist but we've been shy about using it so far due to its fragility in some environments.
We've greatly improved this mechanism in 1.2.0. Not only does it now do a better job of actually invoking the update, but it also transfers updates in-band using the ZeroTier protocol. This means it can work in environments that do not allows http/https traffic or that force it through proxies. There's also now an update channel setting: `beta` or `release` (the default).
Software updates are authenticated three ways:
1. ZeroTier's own signing key is used to sign all updates and this signature is checked prior to installation. ZeroTier, Inc.'s signatures are performed on an air-gapped machine.
2. Updates for Mac and Windows are signed using Apple and Microsoft (DigiCert EV) keys and will not install unless these signatures are also valid.
3. The new in-band update mechanism also authenticates the source of the update via ZeroTier's built-in security features. This provides transport security, while 1 and 2 provide security of the update at rest.
Updates are now configurable via `local.conf`. There are three options: `disable`, `download`, and `apply`. The third (apply) is the default for official builds on Windows and Mac, making updates happen silently and automatically as they do for popular browsers like Chrome and Firefox. Updates are disabled by default on Linux and other Unix-type systems as these are typically updated through package managers.
Version 1.2.0 is now aware of the link quality of direct paths with other 1.2.0 nodes. This information isn't used yet but is visible through the JSON API. (Quality always shows as 100% with pre-1.2.0 nodes.) Quality is measured passively with no additional overhead using a counter based packet loss detection algorithm.
This information is visible from the command line via `listpeers`:
200 listpeers XXXXXXXXXX 199.XXX.XXX.XXX/9993;10574;15250;1.00 48 1.2.0 LEAF
200 listpeers XXXXXXXXXX 195.XXX.XXX.XXX/45584;467;7608;0.44 290 1.2.0 LEAF
The first peer's path is at 100% (1.00), while the second peer's path is suffering quite a bit of packet loss (0.44).
Link quality awareness is a precursor to intelligent multi-path and QoS support, which will in future versions bring us to feature parity with SD-WAN products like Cisco iWAN.
Version 1.2.0 adds anti-DOS (denial of service) rate limits and other hardening for improved resiliency against a number of denial of service attack scenarios.
It also adds a mechanism for instantaneous credential revocation. This can be used to revoke certificates of membership instantly to kick a node off a network (for private networks) and also to revoke capabilities and tags. The new controller sends revocations by default when a peer is de-authorized.
Revocations propagate using a "rumor mill" peer to peer algorithm. This means that a controller need only successfully send a revocation to at least one member of a network with connections to other active members. At this point the revocation will flood through the network peer to peer very quickly. This helps make revocations more robust in the face of poor connectivity with the controller or attempts to incapacitate the controller with denial of service attacks, as well as making revocations faster on huge networks.
The Mac has a whole new UI built natively in Objective-C. It provides a pulldown similar in appearance and operation to the Mac WiFi task bar menu.
The Windows UI has also been improved and now provides a task bar icon that can be right-clicked to manage networks. Both now expose managed route and IP permissions, allowing nodes to easily opt in to full tunnel operation if you have a router configured on your network.
A special kind of public network called an ad-hoc network may be accessed by joining a network ID with the format:
ffSSSSEEEE000000
| | | |
| | | Reserved for future use, must be 0
| | End of port range (hex)
| Start of port range (hex)
Reserved ZeroTier address prefix indicating a controller-less network
Ad-hoc networks are public (no access control) networks that have no network controller. Instead their configuration and other credentials are generated locally. Ad-hoc networks permit only IPv6 UDP and TCP unicast traffic (no multicast or broadcast) using 6plane format NDP-emulated IPv6 addresses. In addition an ad-hoc network ID encodes an IP port range. UDP packets and TCP SYN (connection open) packets are only allowed to desintation ports within the encoded range.
For example `ff00160016000000` is an ad-hoc network allowing only SSH, while `ff0000ffff000000` is an ad-hoc network allowing any UDP or TCP port.
Keep in mind that these networks are public and anyone in the entire world can join them. Care must be taken to avoid exposing vulnerable services or sharing unwanted files or other resources.
The network controller has been largely rewritten to use a simple in-filesystem JSON data store in place of SQLite, and it is now included by default in all Windows, Mac, Linux, and BSD builds. This means any desktop or server node running ZeroTier One can now be a controller with no recompilation needed.
If you have data in an old SQLite3 controller we've included a NodeJS script in `controller/migrate-sqlite` to migrate data to the new format. If you don't migrate, members will start getting `NOT_FOUND` when they attempt to query for updates.
* **The Windows HyperV 100% CPU bug is FINALLY DEAD**: This long-running problem turns out to have been an issue with Windows itself, but one we were triggering by placing invalid data into the Windows registry. Microsoft is aware of the issue but we've also fixed the triggering problem on our side. ZeroTier should now co-exist quite well with HyperV and should now be able to be bridged with a HyperV virtual switch.
* **Segmenation faults on musl-libc based Linux systems**: Alpine Linux and some embedded Linux systems that use musl libc (a minimal libc) experienced segmentation faults. These were due to a smaller default stack size. A work-around that sets the stack size for new threads has been added.
* **Windows firewall blocks local JSON API**: On some Windows systems the firewall likes to block 127.0.0.1:9993 for mysterious reasons. This is now fixed in the installer via the addition of another firewall exemption rule.
* **UI crash on embedded Windows due to missing fonts**: The MSI installer now ships fonts and will install them if they are not present, so this should be fixed.
* **Improved dead path detection**: ZeroTier is now more aggressive about expiring paths that do not seem to be active. If a path seems marginal it is re-confirmed before re-use.
* **Minor performance improvements**: We've reduced unnecessary memcpy's and made a few other performance improvements in the core.
* **Linux static binaries**: For our official packages (the ones in the download.zerotier.com apt and yum repositories) we now build Linux binaries with static linking. Hopefully this will stop all the bug reports relating to library inconsistencies, as well as allowing our deb packages to run on a wider variety of Debian-based distributions. (There are far too many of these to support officially!) The overhead for this is very small, especially since we built our static versions against musl-libc. Distribution maintainers are of course free to build dynamically linked versions for inclusion into distributions; this only affects our official binaries.
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2017-03-14 22:08:48 -07:00
Adam Ierymenko
94ba5b3fbe
Version 1.2.0 is a major milestone release representing almost nine months of work. It includes our rules engine for distributed network packet filtering and security monitoring, federated roots, and many other architectural and UI improvements and bug fixes.
...
The largest new feature in 1.2.0, and the product of many months of work, is our advanced network rules engine. With this release we achieve traffic control, security monitoring, and micro-segmentation capability on par with many enterprise SDN solutions designed for use in advanced data centers and corporate networks.
Rules allow you to filter packets on your network and vector traffic to security observers. Security observation can be performed in-band using REDIRECT or out of band using TEE.
Tags and capabilites provide advanced methods for implementing fine grained permission structures and micro-segmentation schemes without bloating the size and complexity of your rules table.
See the [rules engine announcement blog post](https://www.zerotier.com/blog/?p=927 ) for an in-depth discussion of theory and implementation. The [manual](https://www.zerotier.com/manual.shtml ) contains detailed information on rule, tag, and capability use, and the `rule-compiler/` subfolder of the ZeroTier source tree contains a JavaScript function to compile rules in our human-readable rule definition language into rules suitable for import into a network controller. (ZeroTier Central uses this same script to compile rules on [my.zerotier.com](https://my.zerotier.com/ ).)
It's now possible to create your own root servers and add them to the root server pool on your nodes. This is done by creating what's called a "moon," which is a signed enumeration of root servers and their stable points on the network. Refer to the [manual](https://www.zerotier.com/manual.shtml ) for instructions.
Federated roots achieve a number of things:
* You can deploy your own infrastructure to reduce dependency on ours.
* You can deploy roots *inside your LAN* to ensure that network connectivity inside your facility still works if the Internet goes down. This is the first step toward making ZeroTier viable as an in-house SDN solution.
* Roots can be deployed inside national boundaries for countries with data residency laws or "great firewalls." (As of 1.2.0 there is still no way to force all traffic to use these roots, but that will be easy to do in a later version.)
* Last but not least this makes ZeroTier somewhat less centralized by eliminating any hard dependency on ZeroTier, Inc.'s infrastructure.
Our roots will of course remain and continue to provide zero-configuration instant-on deployment, a secure global authority for identities, and free traffic relaying for those who can't establish peer to peer connections.
An element of our design philosophy is "features are bugs." This isn't an absolute dogma but more of a guiding principle. We try as hard as we can to avoid adding features, especially "knobs" that must be tweaked by a user.
As of 1.2.0 we've decided that certain knobs are unavoidable, and so there is now a `local.conf` file that can be used to configure them. See the ZeroTier One documentation for these. They include:
* Blacklisting interfaces you want to make sure ZeroTier doesn't use for network traffic, such as VPNs, slow links, or backplanes designated for only certain kinds of traffic.
* Turning uPnP/NAT-PMP on or off.
* Configuring software updates on Windows and Mac platforms.
* Defining trusted paths (the old trusted paths file is now deprecated)
* Setting the ZeroTier main port so it doesn't have to be changed on the command line, which is very inconvenient in many cases.
A good software update system for Windows and Mac clients has been a missing feature in previous versions. It does exist but we've been shy about using it so far due to its fragility in some environments.
We've greatly improved this mechanism in 1.2.0. Not only does it now do a better job of actually invoking the update, but it also transfers updates in-band using the ZeroTier protocol. This means it can work in environments that do not allows http/https traffic or that force it through proxies. There's also now an update channel setting: `beta` or `release` (the default).
Software updates are authenticated three ways:
1. ZeroTier's own signing key is used to sign all updates and this signature is checked prior to installation. ZeroTier, Inc.'s signatures are performed on an air-gapped machine.
2. Updates for Mac and Windows are signed using Apple and Microsoft (DigiCert EV) keys and will not install unless these signatures are also valid.
3. The new in-band update mechanism also authenticates the source of the update via ZeroTier's built-in security features. This provides transport security, while 1 and 2 provide security of the update at rest.
Updates are now configurable via `local.conf`. There are three options: `disable`, `download`, and `apply`. The third (apply) is the default for official builds on Windows and Mac, making updates happen silently and automatically as they do for popular browsers like Chrome and Firefox. Updates are disabled by default on Linux and other Unix-type systems as these are typically updated through package managers.
Version 1.2.0 is now aware of the link quality of direct paths with other 1.2.0 nodes. This information isn't used yet but is visible through the JSON API. (Quality always shows as 100% with pre-1.2.0 nodes.) Quality is measured passively with no additional overhead using a counter based packet loss detection algorithm.
This information is visible from the command line via `listpeers`:
200 listpeers XXXXXXXXXX 199.XXX.XXX.XXX/9993;10574;15250;1.00 48 1.2.0 LEAF
200 listpeers XXXXXXXXXX 195.XXX.XXX.XXX/45584;467;7608;0.44 290 1.2.0 LEAF
The first peer's path is at 100% (1.00), while the second peer's path is suffering quite a bit of packet loss (0.44).
Link quality awareness is a precursor to intelligent multi-path and QoS support, which will in future versions bring us to feature parity with SD-WAN products like Cisco iWAN.
Version 1.2.0 adds anti-DOS (denial of service) rate limits and other hardening for improved resiliency against a number of denial of service attack scenarios.
It also adds a mechanism for instantaneous credential revocation. This can be used to revoke certificates of membership instantly to kick a node off a network (for private networks) and also to revoke capabilities and tags. The new controller sends revocations by default when a peer is de-authorized.
Revocations propagate using a "rumor mill" peer to peer algorithm. This means that a controller need only successfully send a revocation to at least one member of a network with connections to other active members. At this point the revocation will flood through the network peer to peer very quickly. This helps make revocations more robust in the face of poor connectivity with the controller or attempts to incapacitate the controller with denial of service attacks, as well as making revocations faster on huge networks.
The Mac has a whole new UI built natively in Objective-C. It provides a pulldown similar in appearance and operation to the Mac WiFi task bar menu.
The Windows UI has also been improved and now provides a task bar icon that can be right-clicked to manage networks. Both now expose managed route and IP permissions, allowing nodes to easily opt in to full tunnel operation if you have a router configured on your network.
A special kind of public network called an ad-hoc network may be accessed by joining a network ID with the format:
ffSSSSEEEE000000
| | | |
| | | Reserved for future use, must be 0
| | End of port range (hex)
| Start of port range (hex)
Reserved ZeroTier address prefix indicating a controller-less network
Ad-hoc networks are public (no access control) networks that have no network controller. Instead their configuration and other credentials are generated locally. Ad-hoc networks permit only IPv6 UDP and TCP unicast traffic (no multicast or broadcast) using 6plane format NDP-emulated IPv6 addresses. In addition an ad-hoc network ID encodes an IP port range. UDP packets and TCP SYN (connection open) packets are only allowed to desintation ports within the encoded range.
For example `ff00160016000000` is an ad-hoc network allowing only SSH, while `ff0000ffff000000` is an ad-hoc network allowing any UDP or TCP port.
Keep in mind that these networks are public and anyone in the entire world can join them. Care must be taken to avoid exposing vulnerable services or sharing unwanted files or other resources.
The network controller has been largely rewritten to use a simple in-filesystem JSON data store in place of SQLite, and it is now included by default in all Windows, Mac, Linux, and BSD builds. This means any desktop or server node running ZeroTier One can now be a controller with no recompilation needed.
If you have data in an old SQLite3 controller we've included a NodeJS script in `controller/migrate-sqlite` to migrate data to the new format. If you don't migrate, members will start getting `NOT_FOUND` when they attempt to query for updates.
* **The Windows HyperV 100% CPU bug is FINALLY DEAD**: This long-running problem turns out to have been an issue with Windows itself, but one we were triggering by placing invalid data into the Windows registry. Microsoft is aware of the issue but we've also fixed the triggering problem on our side. ZeroTier should now co-exist quite well with HyperV and should now be able to be bridged with a HyperV virtual switch.
* **Segmenation faults on musl-libc based Linux systems**: Alpine Linux and some embedded Linux systems that use musl libc (a minimal libc) experienced segmentation faults. These were due to a smaller default stack size. A work-around that sets the stack size for new threads has been added.
* **Windows firewall blocks local JSON API**: On some Windows systems the firewall likes to block 127.0.0.1:9993 for mysterious reasons. This is now fixed in the installer via the addition of another firewall exemption rule.
* **UI crash on embedded Windows due to missing fonts**: The MSI installer now ships fonts and will install them if they are not present, so this should be fixed.
* **Improved dead path detection**: ZeroTier is now more aggressive about expiring paths that do not seem to be active. If a path seems marginal it is re-confirmed before re-use.
* **Minor performance improvements**: We've reduced unnecessary memcpy's and made a few other performance improvements in the core.
* **Linux static binaries**: For our official packages (the ones in the download.zerotier.com apt and yum repositories) we now build Linux binaries with static linking. Hopefully this will stop all the bug reports relating to library inconsistencies, as well as allowing our deb packages to run on a wider variety of Debian-based distributions. (There are far too many of these to support officially!) The overhead for this is very small, especially since we built our static versions against musl-libc. Distribution maintainers are of course free to build dynamically linked versions for inclusion into distributions; this only affects our official binaries.
2017-03-14 22:07:26 -07:00
Adam Ierymenko
002f9bb105
.
2017-03-14 22:05:39 -07:00
Adam Ierymenko
e86b1146a6
Windows version bump.
2017-03-14 21:35:41 -07:00
Adam Ierymenko
d44fb3a2f6
bump bump bump that version
2017-03-14 21:23:47 -07:00
Adam Ierymenko
1ef3069a7e
1.2.0 release notes and a few final tweaks and cleanup.
2017-03-14 21:21:12 -07:00
Adam Ierymenko
f99b62c48d
fix stupid thing.
2017-03-14 15:38:24 -07:00
Adam Ierymenko
0fd45a640b
Allow multiple architectures in software update dist .json file arch fields.
2017-03-14 15:19:16 -07:00
Adam Ierymenko
0b0d03dbe2
Merge branch 'dev' of http://10.187.63.16/zerotier/ZeroTierOne into dev
2017-03-14 14:40:27 -07:00
Adam Ierymenko
533baf921f
Software update cleanup, and a fix for updates on Windows.
2017-03-14 14:40:17 -07:00
Adam Ierymenko
8e9767f3c6
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-14 13:17:16 -07:00
Adam Ierymenko
27d4bedd73
Wait a minute (literally) before doing software update check on startup.
2017-03-14 13:17:10 -07:00
Adam Ierymenko
c1c26ec73a
Version 1.2.0 bump
2017-03-13 15:41:42 -07:00
Adam Ierymenko
8f592ff6e8
Controller performance tweaks.
2017-03-13 13:58:29 -07:00
Adam Ierymenko
37629aaf87
Use cache on requests to decrease DB load.
2017-03-13 12:22:06 -07:00
Adam Ierymenko
d09d193715
release notes, and delete MANUAL from this repo for now since it isn't quite done and will take shape on the web site
2017-03-13 09:37:24 -07:00
Adam Ierymenko
010d0a7d56
Docs and a bit of cleanup. In particular ALL makes no sense for revocations because they have IDs. In that case you would just revoke the COM.
2017-03-13 06:53:23 -07:00
Adam Ierymenko
902807ea50
Software update check every 10min.
2017-03-10 22:03:07 -08:00
Adam Ierymenko
d0224b3623
Software update fix.
2017-03-10 22:02:08 -08:00
Adam Ierymenko
0f3148bda2
Roots need to respond to lots of WHOISes
2017-03-10 20:08:07 -08:00
Adam Ierymenko
e3b1fc2ac0
Tweak WHOIS path for federation.
2017-03-10 19:52:08 -08:00
Adam Ierymenko
6194d2af3d
Return 200 from JSON API when moon is POSTed.
2017-03-10 19:37:03 -08:00
Adam Ierymenko
db87d95c1d
getUpstreamPeer issue with interim federated roots
2017-03-10 19:31:51 -08:00
Adam Ierymenko
47166c9614
Sigh. Another thinko.
2017-03-10 17:54:14 -08:00
Adam Ierymenko
ecacdf27a9
Build fix (typo)
2017-03-10 17:45:05 -08:00
Adam Ierymenko
aad6f79efa
Also must mask off counter bits in IV in cryptField.
2017-03-10 17:44:25 -08:00
Adam Ierymenko
0c00b83702
cryptField() used to obscure extended fields in HELLO cannot use mangleKey()
2017-03-10 17:34:41 -08:00
Adam Ierymenko
7320e26730
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2017-03-10 11:34:00 -08:00
Grant Limberg
1520534660
fix some rediculousness in NDK-14
...
Apparently having -fPIC on the command line multiple times turns it back off
2017-03-09 17:48:40 -08:00
Adam Ierymenko
6d6719da27
Clarify key semantics.
2017-03-08 17:03:32 -08:00
Adam Ierymenko
20085cd15b
No need to put time in .moon filename.
2017-03-08 16:51:12 -08:00
Adam Ierymenko
9b001823f6
Add ifdef for synology around synology-only code in Linux Ethernet tap.
2017-03-08 16:12:54 -08:00
Grant Limberg
ed4f84cc57
Fix exception thrown in NetworkMonitor thread that can cause the UI to stop polling service for updates
2017-03-08 14:54:58 -08:00
Grant Limberg
c8e66a2b45
Don't crash when attempting to join a network while the zerotier service isn't running
2017-03-08 14:50:37 -08:00
Adam Ierymenko
6eb2e3ffa9
forgot to add prereq for adduser getent on fedora
2017-03-08 13:13:12 -08:00
Adam Ierymenko
748ad8a978
create zerotier-one user via rpm
2017-03-08 12:26:16 -08:00
Adam Ierymenko
d2f897f8de
add dependency on adduser
2017-03-08 12:26:16 -08:00
Adam Ierymenko
4b511d80a1
Windows directory cleanup and a Windows build fix.
2017-03-08 10:38:43 -08:00
Adam Ierymenko
a74e9e1dd3
remove debug line
2017-03-08 10:27:13 -08:00
Adam Ierymenko
9c1a9f984b
Clean iddb.d periodically.
2017-03-08 10:18:12 -08:00
Adam Ierymenko
04c7adea07
cleanup
2017-03-08 08:58:07 -08:00
Adam Ierymenko
5249ce8fb4
Small amount of cleanup.
2017-03-08 08:45:04 -08:00
Adam Ierymenko
ebd865dbda
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-07 18:25:44 -08:00
Adam Ierymenko
d377ef01af
Windows build process updates, and repackage everything using new EV certificate and SHA256.
2017-03-07 18:25:06 -08:00
Adam Ierymenko
393aa3c527
fix debuild comand
2017-03-07 14:20:06 -08:00
Adam Ierymenko
d7b6de57c5
update debian build files
2017-03-07 14:20:06 -08:00
Adam Ierymenko
05d4b0cd94
Update RPM spec file
2017-03-07 14:20:06 -08:00
Adam Ierymenko
5dbafc2eeb
Add config to status in JSON API.
2017-03-07 14:17:51 -08:00
Adam Ierymenko
a97918f812
Windows build fixes.
2017-03-07 13:57:31 -08:00
Adam Ierymenko
22f86df606
Merge ControlPlane into OneService to make variable access simpler.
2017-03-07 13:53:11 -08:00
Adam Ierymenko
712e8e828b
use .exe naming convention
2017-03-07 11:58:17 -08:00
Adam Ierymenko
7d3846bc49
Bump version to 1.1.19 in prep for release and software update testing.
2017-03-07 10:26:36 -08:00
Adam Ierymenko
9980526aaf
Consistent field names.
2017-03-07 10:12:05 -08:00
Adam Ierymenko
1d2cb867b2
Close all open FDs before exec in Unix software update code.
2017-03-07 09:26:27 -08:00
Adam Ierymenko
3859533e73
Minor software updater cleanup.
2017-03-07 09:18:00 -08:00
Adam Ierymenko
7ea7e1898a
Fix a bug that could cause duplicate IP address assignment on networks if many new members join the controller at once.
2017-03-06 16:21:49 -08:00
Adam Ierymenko
5e6a4e5f5e
Send revocations automatically on deauth for instant kill, also fix some issues with the RP.
2017-03-06 15:12:28 -08:00
Adam Ierymenko
66dfc33de9
Fix circuit test post in controller.
2017-03-06 11:23:46 -08:00
Adam Ierymenko
d56f740dc6
Now with less bugs.
2017-03-03 13:49:21 -08:00
Adam Ierymenko
a109d341ef
Send timestamp with new circuit test response.
2017-03-02 14:35:38 -08:00
Adam Ierymenko
87b53d67c5
Fix selftest build.
2017-03-02 10:02:29 -08:00
Adam Ierymenko
a577b8d381
Update how controller handles circuit tests -- save results to filesystem.
2017-03-01 16:33:34 -08:00
Adam Ierymenko
136fddc7f1
Fix FILTER_TRACE breakage.
2017-03-01 15:14:57 -08:00
Adam Ierymenko
ce0c87f8ff
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-01 15:12:26 -08:00
Adam Ierymenko
d79585d44d
Circuit tests now report link quality. Also fixed a little thing in revocation propagation.
2017-03-01 15:12:17 -08:00
Grant Limberg
592b628523
comment broken TRACE message
2017-03-01 14:50:28 -08:00
Adam Ierymenko
39f886ad88
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-03-01 14:37:01 -08:00
Adam Ierymenko
1d39be61b2
ZeroTier now has link quality measurement. We are not using this yet but decided to put it in to prep for future QoS support and SD-WAN stuff.
2017-03-01 14:36:52 -08:00
Adam Ierymenko
2bf9145ae6
Outgoing side of packet counter for link quality reporting. Also some cleanup and a cluster mode build fix.
2017-03-01 10:22:57 -08:00
Adam Ierymenko
127bcb02ff
Save space in expecting-reply-to tracking.
2017-03-01 09:41:37 -08:00
Joseph Henry
4430fc47c6
Added HTTP authorization block for synology builds
2017-02-28 16:30:20 -08:00
Adam Ierymenko
2b10a982e9
Match on tag sender equals or tag recipient equals.
2017-02-28 09:22:10 -08:00
Adam Ierymenko
31bece7fa0
Add ipauth handling of IPv6 NDP neighbor solicitations and advertisements. IPv6 works well now with ipauth.
2017-02-28 07:43:40 -08:00
Adam Ierymenko
4436824faf
ipauth characteristic now works with ARP
2017-02-27 17:51:58 -08:00
Adam Ierymenko
dd92f1d03d
.
2017-02-23 17:56:36 -08:00
Adam Ierymenko
b6f87565a9
Add wake on LAN (wol) to rules language ethertype shorthand.
2017-02-23 16:03:43 -08:00
Adam Ierymenko
0b909997b8
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-23 14:27:48 -08:00
Adam Ierymenko
9d7ff26f25
Helps if you actually add the ipauth mask to the characteristics mask.
2017-02-23 14:27:31 -08:00
Grant Limberg
06c866ceb4
Android JNI fix
2017-02-23 12:47:07 -08:00
Adam Ierymenko
fe19ad328c
Windows build fix.
2017-02-23 12:40:21 -08:00
Adam Ierymenko
010dbc8b2b
Merge.
2017-02-23 12:35:20 -08:00
Adam Ierymenko
72653e54f9
Finish wiring up ipauth and macauth to Network filter.
2017-02-23 12:34:17 -08:00
Grant Limberg
93ec86a26e
iOS fixes
2017-02-23 12:26:11 -08:00
Adam Ierymenko
10185e92fa
Certificate of ownership -- used to secure against IP address spoofing, especially for IPv4 and regular IPv6.
2017-02-23 11:47:36 -08:00
Grant Limberg
33b94e8478
fixed double firing of the leave network API call causing an error popup on windows
2017-02-22 16:54:57 -08:00
Adam Ierymenko
2ee53b0e75
Fix bug in default capability flag in rule parser.
2017-02-22 15:52:55 -08:00
Adam Ierymenko
fb00f0f94c
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-22 15:34:49 -08:00
Adam Ierymenko
b679ebde3b
Ad-hoc networks, a cool and easy to implement little feature that allows controllerless networks. These only allow IPv6 6plane, no multicast, and the network ID encodes the allowed port range.
2017-02-22 15:32:55 -08:00
Joseph Henry
f3ca08b0f1
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-02-21 17:55:07 -08:00
Joseph Henry
946e413997
properly fill out ifcfg files. also removed route re-add code for synology
2017-02-21 17:55:00 -08:00
Adam Ierymenko
b475bf4a21
.
2017-02-21 15:28:01 -08:00
Adam Ierymenko
54fa73844c
Fix crash.
2017-02-21 13:48:29 -08:00
Adam Ierymenko
32f5a0ab18
Add default tag values and default set capabilities for new members.
2017-02-21 13:27:20 -08:00
Joseph Henry
e4135ffb35
Decreased ZT_BINDER_REFRESH_PERIOD for Synology build
2017-02-16 16:56:23 -08:00
Joseph Henry
b5b335a6f8
Route re-add patch for linux build on Synology devices
2017-02-16 16:41:26 -08:00
Joseph Henry
57ef31d51c
Route re-add patch for linux build on Synology devices
2017-02-16 16:06:04 -08:00
Adam Ierymenko
61b413b57f
Found it in a few other places.
2017-02-16 09:54:52 -08:00
Adam Ierymenko
d2c0203dc9
Fix stupid inverted sense bug.
2017-02-16 09:53:39 -08:00
Adam Ierymenko
afba19e01c
When deciding whether to send PUSH_DIRECT_PATHS we should check global trust flag, not the one passed into receive().
2017-02-16 09:44:04 -08:00
Adam Ierymenko
b989c03416
Fix build on Linux if PR_CAP_AMBIENT is not defined, which is the case for some libc-dev installs.
2017-02-16 00:57:33 +00:00
Adam Ierymenko
3361b4030b
Integrate and test linux privilege drop code (from contributor PR). It works now if a "zerotier-one" user is present on a Linux system. Does everything automagically.
2017-02-15 16:25:49 -08:00
Adam Ierymenko
bdadd50251
.
2017-02-14 16:49:10 -08:00
Adam Ierymenko
d01f31197a
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-14 16:43:29 -08:00
Adam Ierymenko
8b82f1c609
Add rules compiler script.
2017-02-14 16:43:22 -08:00
Grant Limberg
de7e8a1ca4
fix About view on Mac so that it opens links in the system web browser
2017-02-14 16:39:15 -08:00
Grant Limberg
aa2ee3f7be
Right and left click both will now open the context menu on Windows
2017-02-14 16:31:11 -08:00
Adam Ierymenko
af4e79735c
Fix "orbit" semantics. Federation works.
2017-02-13 16:38:21 -08:00
Adam Ierymenko
969e09210d
Fix loading of existing moons.
2017-02-13 16:14:48 -08:00
Adam Ierymenko
cd7b571da0
Add a local.conf option to set the port.
2017-02-13 15:55:38 -08:00
Adam Ierymenko
0052877d2f
Add CLI shortcuts for adding federated roots.
2017-02-13 15:41:53 -08:00
Adam Ierymenko
23bb44f2d6
Fix small typo.
2017-02-13 14:28:17 -08:00
Adam Ierymenko
16f11e91d1
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-13 14:27:14 -08:00
Adam Ierymenko
4b11566505
Integrate moon concept into http config bus, and clean up that code quite a bit.
2017-02-13 14:27:08 -08:00
Grant Limberg
9ae49b5b85
Update JNI with new root terminology
2017-02-13 10:51:36 -08:00
Adam Ierymenko
c95bae2d73
Small fixes to moon-management code in CLI.
2017-02-13 10:05:00 -08:00
Adam Ierymenko
e4b6611201
Only accept world updates from upstreams.
2017-02-13 09:46:34 -08:00
Adam Ierymenko
e6840a1863
Can't erase from vector using const_iterator on some C++ compilers.'
2017-02-13 09:26:05 -08:00
Adam Ierymenko
78d5f1a803
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-02-13 09:03:54 -08:00
Adam Ierymenko
42f28bce52
Cleanup and make moons (federated roots) a little easier to deal with.
2017-02-13 09:03:48 -08:00
Grant Limberg
9a6c3e05ad
Fix for deleted networks not being removed from the network details list on macOS
2017-02-10 16:10:23 -08:00
Adam Ierymenko
cdc289fa9c
Tags work.
2017-02-07 14:06:40 -08:00
Adam Ierymenko
672f17c6e9
Add a mask and value range to the IP tos rule field. This allows TOS to be matched more usefully. This will break anyone using tos in the beta, but nobody seems to be and its pre-release so now is the time.
2017-02-07 09:33:39 -08:00
Adam Ierymenko
723a9a6e9a
Small additional efficiency improvement.
2017-02-06 17:20:22 -08:00
Adam Ierymenko
59ba7c8bf5
Improve efficiency of pushCredentials() method since it gets called a lot.
2017-02-06 17:10:20 -08:00
Adam Ierymenko
78d548458b
Capabilities basically work but need to refactor a bit for performance reasons.
2017-02-06 16:38:48 -08:00
Adam Ierymenko
ac3e883c05
One more place to add "break".
2017-02-06 14:07:30 -08:00
Adam Ierymenko
9ddc2a4331
Add a break action to rules engine to make capabilities easier to use.
2017-02-06 14:00:49 -08:00
Adam Ierymenko
435e4c4695
Fix HELLO parse bug.
2017-02-06 12:06:10 -08:00
Adam Ierymenko
21f4a97c35
CSPRNG performance improvement, self test build fix.
2017-02-06 11:49:41 -08:00
Adam Ierymenko
e0d63c50db
One more tweak after thinking about related keys and key stream reuse. Just a precaution.
2017-02-06 07:45:57 -08:00
Adam Ierymenko
803f74634a
Tweak how we do crypto of the masked portions of HELLO just to be more "boring" in the DJB sense.
2017-02-06 07:39:38 -08:00
Adam Ierymenko
f85a630a64
Docs and a small build fix in debug mode.
2017-02-06 07:17:45 -08:00
Adam Ierymenko
43182f8f57
Docs, code cleanup, and protect the extra new fields of HELLO with encryption as a precaution.
2017-02-05 16:19:03 -08:00
Adam Ierymenko
594cb1fad8
Small fix for duplicates in world definitions.
2017-02-04 19:29:39 -08:00
Adam Ierymenko
5eab6c2e5d
More docs.
2017-02-04 19:19:30 -08:00
Adam Ierymenko
3587aa1ea7
Add and send certificates of representation to tell people what our valid upstreams are. These are not used yet but will be needed for future privacy modes, etc. Also some cleanup.
2017-02-04 13:17:00 -08:00
Adam Ierymenko
beb642faa5
Stub out CAN_REACH.
2017-02-04 10:21:31 -08:00
Adam Ierymenko
31db768e4d
A bit of code cleanup.
2017-02-04 00:23:31 -08:00
Adam Ierymenko
d9e4ba1280
Eliminate a little copypasta.
2017-02-04 00:04:44 -08:00
Adam Ierymenko
dcb1233b0d
Slight refactor to RENEDEZVOUS sending code for federation.
2017-02-03 23:54:02 -08:00
Adam Ierymenko
8a2ff0b31e
Actual documentation.
2017-02-03 19:47:00 -08:00
Adam Ierymenko
be2881ae8d
.
2017-02-02 16:53:27 -08:00
Adam Ierymenko
88cba48f45
Eliminate warning.
2017-02-01 15:24:41 -08:00
Adam Ierymenko
9284e4edfe
agree() must be called on our identity, the one with the secret
2017-02-01 15:22:14 -08:00
Adam Ierymenko
62a705af1c
Eliminate another check in cluster frontplane mode.
2017-02-01 14:35:07 -08:00
Adam Ierymenko
29ec7bf3a2
Add more specific check in source==self case instead of dumping it.
2017-02-01 14:18:56 -08:00
Adam Ierymenko
fc3f4fb988
Yeah that could never have worked (normal packets in cluster mode).
2017-02-01 14:05:13 -08:00
Adam Ierymenko
60ff280dcb
Another tweak to cluster I/O rules.
2017-02-01 13:52:53 -08:00
Adam Ierymenko
b378f5dcd7
Take 3
2017-02-01 13:20:51 -08:00
Adam Ierymenko
e778d45128
Still want to send WANT_PEER under two failure modes.
2017-02-01 12:51:52 -08:00
Adam Ierymenko
5e11cf6378
Can't armor() a packet until all flags are set.
2017-02-01 12:32:06 -08:00
Adam Ierymenko
5dbebc513a
Minor send path refactor to make packet I/O work on clusters if they are members of networks. Also fix a crash if compiled in cluster mode but no cluster is enabled.
2017-02-01 12:00:25 -08:00
Adam Ierymenko
6d5a3cd2e2
Remove debug code. Cluster network config sharing seems to work.
2017-01-30 16:23:38 -08:00
Adam Ierymenko
f9ad80aa13
.
2017-01-30 16:15:47 -08:00
Adam Ierymenko
ed31cb76d6
Fix to cluster network configs.
2017-01-30 16:04:05 -08:00
Adam Ierymenko
eebd271bb1
Implement cross cluster sharing of network configs to make clusters able to actually join networks.
2017-01-30 15:40:22 -08:00
Adam Ierymenko
ff74ec2482
Cluster build fix.
2017-01-30 21:39:44 +00:00
Grant Limberg
49e31ca647
InetAddress.hpp needs to be included in OneService.hpp
2017-01-30 09:16:16 -08:00
Adam Ierymenko
471108f2e4
Slightly increase thread stack size for safety (primary Alpine related) possibly GitHub #443
2017-01-30 08:01:36 -08:00
Adam Ierymenko
2ceb162df0
Merge pull request #442 from zielmicha/allow-managed
...
allow user to specify arbitrary allowed IP networks in allowManaged
2017-01-30 06:54:49 -08:00
Adam Ierymenko
915206405c
docs
2017-01-27 17:41:07 -08:00
Adam Ierymenko
5fa1d9796c
zerotier-idtool commands to init and generate moons
2017-01-27 17:34:39 -08:00
Adam Ierymenko
77a1dd4737
Dead code removal, fix minor issue in upstream endpoint check.
2017-01-27 16:25:53 -08:00
Adam Ierymenko
9e7c778cc8
Fix deadlock.
2017-01-27 16:16:06 -08:00
Adam Ierymenko
1d775af34a
Fix moon persistence.
2017-01-27 15:35:21 -08:00
Adam Ierymenko
9f7919f71f
Add comments to join ("orbit") moons.
2017-01-27 15:27:26 -08:00
Adam Ierymenko
0b3b994241
Relay policy can now be computed.
2017-01-27 14:05:09 -08:00
Adam Ierymenko
bc218f9414
little fix
2017-01-27 13:52:29 -08:00
Adam Ierymenko
f102fd7f92
Extend in-band world updates to handle moons too.
2017-01-27 13:50:56 -08:00
Adam Ierymenko
64774d0d4f
Replace piecemeal designation of upstreams with the concept of moons, which is simpler and easier to use and inherits all the cool live update stuff of worlds (now called planets) and global roots.
2017-01-27 13:27:52 -08:00
Adam Ierymenko
b88f573733
tap-windows-ndis5 is definitely dead
2017-01-27 07:29:42 -08:00
Adam Ierymenko
b211e61671
debian rules
2017-01-26 16:12:50 -08:00
Adam Ierymenko
871cacf040
Remove junk.
2017-01-26 15:02:52 -08:00
Adam Ierymenko
7c3984413e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-01-26 15:02:20 -08:00
Adam Ierymenko
967ce78a57
Add static build option so we can build a static Linux binary for ancient distros (wheezy, etc.)
2017-01-26 15:02:03 -08:00
Grant Limberg
923d3f1fe8
remove references to deleted source files in Android NDK build files
2017-01-26 15:01:45 -08:00
Grant Limberg
e11f42a089
remove reference to BackgroundResolver.cpp/.hpp on Windows
2017-01-26 14:29:39 -08:00
Grant Limberg
9b8d9b7042
fix copy stage for paths with spaces
2017-01-26 14:27:39 -08:00
Adam Ierymenko
902e03bccc
build fix
2017-01-26 14:23:22 -08:00
Adam Ierymenko
ec0e8a9a43
Rip out resolver and use anycast address instead. In the long term existing TCP proxy dies anyway. Fixes static build problem for old Linux versions.
2017-01-26 13:59:20 -08:00
Adam Ierymenko
9e488ce322
delete binary
2017-01-26 21:55:35 +00:00
Adam Ierymenko
c111bf3080
Fix tcp-proxy build.
2017-01-26 21:54:55 +00:00
Michał Zieliński
8f2a42d1ad
allow user to specify arbitrary allowed IP networks in allowManaged
2017-01-23 12:16:40 +01:00
Adam Ierymenko
9a475eeff9
Windows build fix, warning removal.
2017-01-20 12:00:18 -08:00
Adam Ierymenko
91a37ec639
docs
2017-01-20 11:02:54 -08:00
Adam Ierymenko
db1e2aae41
docs
2017-01-20 11:00:18 -08:00
Adam Ierymenko
4a7c76a11b
docs, cleanup, temporarily put cli in attic since it is not done.
2017-01-20 10:51:55 -08:00
Adam Ierymenko
f1ed57c62d
Update nlohmann/json (header only lib).
2017-01-20 10:09:47 -08:00
Adam Ierymenko
3b0969e3a5
Fix build on G++ 4.9 on FreeBSD-11.
2017-01-20 10:07:25 -08:00
Adam Ierymenko
35174a8766
Basic BSD gmake install/uninstall.
2017-01-19 15:15:31 -08:00
Adam Ierymenko
d79f792e6f
OpenBSD fixes, workaround for apparent libstdc++ bug.
2017-01-19 15:05:26 -08:00
Adam Ierymenko
7b231b38b0
Now builds on OpenBSD, but segfaults. So not yet but close. GitHub issue #439
2017-01-19 10:39:42 -08:00
Adam Ierymenko
13263b8401
docs
2017-01-19 16:23:25 -08:00
Adam Ierymenko
a604294b1b
local.conf docs
2017-01-19 16:10:36 -08:00
Adam Ierymenko
89d74cd293
Add a portMappingEnabled flag to local.conf to allow uPnP/NAT-PMP to be disabled.
2017-01-19 15:57:50 -08:00
Adam Ierymenko
56e5b34934
Bump bundled miniupnpc to 20161216
2017-01-19 15:52:39 -08:00
Adam Ierymenko
f43365e4ba
Take LZ4 out of Debian depends.
2017-01-19 15:44:16 -08:00
Adam Ierymenko
4d071081bb
docs
2017-01-19 15:22:43 -08:00
Adam Ierymenko
b67b370dba
docs
2017-01-19 15:20:55 -08:00
Adam Ierymenko
0995c1dcaa
Encapsulate LZ4 in Packet.cpp to eliminate dependency.
2017-01-19 15:16:04 -08:00
Adam Ierymenko
7612bf3302
Fix LZ4 warning.
2017-01-19 14:54:39 -08:00
Adam Ierymenko
ba158d8dc6
Include LZ4 README and LICENSE.
2017-01-19 14:48:40 -08:00
Adam Ierymenko
a90f2249e8
Upgrade LZ4.
2017-01-19 14:48:01 -08:00
Adam Ierymenko
d8f36db5dd
Fix FreeBSD build in dev.
2017-01-19 12:11:49 -08:00
Adam Ierymenko
fd460d93c4
docs
2017-01-19 10:53:44 -08:00
Adam Ierymenko
989cbb4d8d
Merge pull request #434 from zielmicha/fix-ip
...
Binder.hpp: gather all IPv4 interface addresses
2017-01-19 10:47:47 -08:00
Adam Ierymenko
e9007b1f56
NodeJS migration script for old Sqlite controller.db to new controller data format.
2017-01-19 10:44:26 -08:00
Adam Ierymenko
0fb3d1d582
Add a build version for software update use so we can do very minor updates within a version.
2017-01-18 09:16:23 -08:00
Adam Ierymenko
81910c1d92
Replace update signing key with real key generated on air-gapped system.
2017-01-13 16:07:57 -08:00
Adam Ierymenko
d150f9b2bd
Windows update build in Advanced Installer, and warning removal.
2017-01-13 15:19:59 -08:00
Adam Ierymenko
1346e31a8e
Windows build fixes, Software update fix, warning removal.
2017-01-13 14:22:36 -08:00
Adam Ierymenko
54f25b14ee
Software updater log for distributors (does not affect real users much).
2017-01-13 14:03:06 -08:00
Adam Ierymenko
0e4d3244b2
"make official" for Mac now builds update image as well as pkg (update image is just PKG + SFX script)
2017-01-13 13:09:42 -08:00
Adam Ierymenko
87e3b5f076
Mac updater SFX code.
2017-01-13 12:42:49 -08:00
Adam Ierymenko
f8e18f2098
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-01-13 12:13:20 -08:00
Adam Ierymenko
f81c67c0f0
Make sure to respond to GET_LATEST with the actual latest.
2017-01-13 12:13:14 -08:00
Grant Limberg
4f4dd3446c
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-01-13 11:36:53 -08:00
Grant Limberg
f149dd9401
fix Android NDK build
2017-01-13 11:36:48 -08:00
Adam Ierymenko
3a730c4a5c
Remove debug printfs in software updater. It works! At least for unix. Now to test Windows.
2017-01-13 11:24:00 -08:00
Adam Ierymenko
b03247ec3c
SoftwareUpdate::apply()
2017-01-13 10:46:16 -08:00
Adam Ierymenko
8ebb49e972
Cache downloaded updates to disk.
2017-01-12 15:21:14 -08:00
Adam Ierymenko
84bfec8329
.
2017-01-12 14:35:52 -08:00
Adam Ierymenko
e1727d6297
Fix to software update repeat downloads.
2017-01-12 14:34:52 -08:00
Adam Ierymenko
e7bab66d29
Auto-apply updates if enabled.
2017-01-12 13:54:08 -08:00
Adam Ierymenko
ab25c96821
Build fixes.
2017-01-12 13:51:06 -08:00
Adam Ierymenko
c6b0b07605
More software update work, and settings in local.conf.
2017-01-12 13:18:11 -08:00
Adam Ierymenko
b5b583c397
.
2017-01-11 18:10:42 -08:00
Adam Ierymenko
56d969c709
.
2017-01-11 17:59:51 -08:00
Adam Ierymenko
3fedf16f35
.
2017-01-11 17:57:12 -08:00
Adam Ierymenko
5da56776d6
.
2017-01-11 17:54:43 -08:00
Adam Ierymenko
d58870a92d
.
2017-01-11 17:53:19 -08:00
Adam Ierymenko
15ed7423ac
.
2017-01-11 17:50:02 -08:00
Adam Ierymenko
d7e7ad4f88
Can't send a user message to self.
2017-01-11 17:46:52 -08:00
Adam Ierymenko
823a1963f6
init fix.
2017-01-11 17:45:09 -08:00
Adam Ierymenko
6513b21426
debug code.
2017-01-11 17:42:57 -08:00
Adam Ierymenko
d4321cdd41
Wire up user message handling in OneService event handler.
2017-01-11 17:20:43 -08:00
Adam Ierymenko
d301540d92
Software update stuff for test.
2017-01-11 16:58:37 -08:00
Adam Ierymenko
af5a3376f3
Should fix Windows build.
2017-01-11 16:56:16 -08:00
Adam Ierymenko
4aa52ffc77
Software update stuff.
2017-01-11 16:47:42 -08:00
Adam Ierymenko
47b62ece18
Software update integration.
2017-01-11 16:34:33 -08:00
Adam Ierymenko
2aab26a08e
Software update work.
2017-01-11 15:22:16 -08:00
Adam Ierymenko
565842b5ec
Software updater work.
2017-01-11 14:37:31 -08:00
Adam Ierymenko
a064e19b8a
Refactor some JSON stuff for performance, and fix a build error.
2017-01-10 13:51:10 -08:00
Adam Ierymenko
6fb49f68fc
Comment out and disable old auto-update code.
2017-01-10 12:20:29 -08:00
Adam Ierymenko
ef7faa7291
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2017-01-09 15:55:13 -08:00
Adam Ierymenko
d5528e4e9a
Wire up VERB_USER_MESSAGE in core.
2017-01-09 15:55:07 -08:00
Grant Limberg
f730f65aaf
bring window to front if already open
2017-01-09 14:23:37 -08:00
Grant Limberg
dbd577c6b0
Merge branch 'winroute' into dev
2017-01-09 12:41:45 -08:00
Grant Limberg
7ebb207005
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2017-01-05 13:56:15 -08:00
Grant Limberg
e41d71cd19
add implementations of compareTo() and equals() for VirtualNetworkRoute().
...
Android app was relying on these, but since they didn't exist, they didn't function properly
2017-01-05 13:56:07 -08:00
Grant Limberg
0f6c53589e
remove commented out function declaration
2017-01-05 11:46:33 -08:00
Grant Limberg
e2b1a7157e
Potential fix for routing issue on Windows
...
Move setting _initialized = true until after WindowsEthernetTap::threadMain() has actually created and brought up the adapter. Also in OneService::nodeVirtualNetworkConfigFunction(), wait up to 5 seconds for WindowsEthernatTap::isInitialized() to return true before attempting to configure the interface and managed routes. Without this, the adapter doesnt actually exist yet when trying to add routes
2017-01-05 11:43:26 -08:00
Grant Limberg
aaf69d1aff
properly quote string arguments to copyutil in case there are spaces in the path
2017-01-03 14:03:50 -08:00
Michał Zieliński
203b7e17de
Binder.hpp: gather all IPv4 interface addresses
2017-01-01 23:57:15 +01:00
Daniel Skowroński
18c9dc8a06
fix RTF_MULTICAST and g++ -w
2016-12-27 13:07:05 +01:00
Daniel Skowroński
ba07d1f91d
cleanup
2016-12-27 11:57:05 +01:00
Daniel Skowroński
9a2310395d
mimic BSDEthernetTap but with creating/destroying char tap device
2016-12-27 11:42:43 +01:00
Daniel Skowroński
218ace51a7
use /dev/tap{0..3}; it is fully working now
2016-12-26 02:52:07 +01:00
Daniel Skowroński
f09eedbd7a
make it compilable
2016-12-25 22:54:27 +01:00
Daniel Skowroński
546e8a3b44
initial netbsd support in makefile/flags
2016-12-25 20:59:12 +01:00
Adam Ierymenko
9a2b766aad
Windows installer updates.
2016-12-23 15:57:21 -08:00
Adam Ierymenko
24017659df
Update installer, etc., for Mac.
2016-12-23 15:25:04 -08:00
Adam Ierymenko
c175a5fcd7
Change org names, add makefile rule for Mac to build new UI.
2016-12-23 15:11:44 -08:00
Adam Ierymenko
5ec8465374
Remove dead Mac stuff.
2016-12-23 14:38:36 -08:00
Adam Ierymenko
6b5d6efe6c
Retire old build farm (something new is coming) and update makefile for linux to not auto-build doc.
2016-12-23 14:33:04 -08:00
Adam Ierymenko
5bff70194b
Ship pre-build man pages. We stopped doing this for a bit due to nit-picky Debian craziness but since we are not targeting core Debian at the moment bring it back.
2016-12-23 14:30:27 -08:00
Adam Ierymenko
d94d04d7d5
Bump to 1.1.17 for pre-1.2.0 beta.
2016-12-23 13:52:41 -08:00
Adam Ierymenko
bf2b9e3692
Auto-authorize new members on public networks properly.
2016-12-22 18:52:34 -08:00
Adam Ierymenko
c8554504f3
.
2016-12-22 18:37:46 -08:00
Adam Ierymenko
0d066e3b08
Fix JSON parse bug in REDIRECT target.
2016-12-22 18:26:43 -08:00
Adam Ierymenko
6b12d86209
Add a workaround for an edge case in TEE/REDIRECT if we are the inbound destination and teeing is only being done on the outbound side.
2016-12-22 18:06:35 -08:00
Adam Ierymenko
fe530548bb
Fix MATCH_RANDOM in controller.
2016-12-22 16:57:45 -08:00
Adam Ierymenko
2eaff6d484
Fix to characteristcs in rules engine.
2016-12-22 16:36:38 -08:00
Adam Ierymenko
a54c2b438c
Basic support for streaming of changes via stdout from controller.
2016-12-15 15:08:47 -08:00
Adam Ierymenko
890f6f0d35
Make allow management from a local.conf parameters.
2016-12-12 16:25:41 -08:00
Adam Ierymenko
bad4b72f82
Remove debug printf.
2016-12-12 14:44:21 -08:00
Adam Ierymenko
4702c5b4ee
Add local.conf option to blacklist interfaces by name.
2016-12-12 14:43:09 -08:00
Adam Ierymenko
4459d5ad54
Remove debug printf
2016-12-12 12:58:39 -08:00
Adam Ierymenko
39fb4b1b42
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-12-12 12:55:14 -08:00
Adam Ierymenko
3864a2e111
Use an alternative method for enumerating interface addresses on Linux to avoid poor performance of getifaddrs() when there are many network namespaces.
2016-12-12 12:53:51 -08:00
Grant Limberg
697520f1f5
Dont write IPv6 addresses to IPv4 sections of registry TCPIP settings.
...
Also, dont add the prefix length to the IP addresses in there.
Appears to fix Github Issue #357 . Still waiting on some info from Microsoft for confirmation of a few things.
2016-12-09 11:36:01 -08:00
Adam Ierymenko
244f37179c
Minor security: lock roots to only be reachable via World IPs.
2016-12-05 16:09:42 -08:00
Grant Limberg
4b3a47849d
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-11-30 15:21:33 -08:00
Grant Limberg
56faf774ff
Store MTU as String instead of DWORD
...
WindowsEthernetTap was storing the MTU for the ZeroTier Adapter as a
DWORD. When changing the value from the network adapter settings UI, it
was stored as a string. Updated the call when creating the adapter to
store it as a string as windows expects.
2016-11-30 15:18:38 -08:00
Adam Ierymenko
fa2bb91ae5
Kill some old debug code.
2016-11-30 10:48:09 -08:00
Grant Limberg
32478845b2
Merge branch 'dev' into systemtray
2016-11-30 10:21:19 -08:00
Adam Ierymenko
44f0e3097e
docs
2016-11-29 10:56:16 -08:00
Grant Limberg
289917e2b3
use msbuild instead of devenv
2016-11-28 15:30:52 -08:00
Grant Limberg
14fcb5867f
rethrow windows build error
2016-11-28 14:57:37 -08:00
Grant Limberg
cf59362c4a
add windows build to Jenkinsfile
2016-11-28 13:06:28 -08:00
Grant Limberg
8472918559
Change 'localhost' to 127.0.0.1
...
@makerspherehq reported it not working as 'localhost' via Twitter
2016-11-28 09:40:34 -08:00
Adam Ierymenko
ae8f51d608
.
2016-11-23 16:27:15 -08:00
Adam Ierymenko
4a7ee5472d
Small fixes.
2016-11-23 16:23:44 -08:00
Adam Ierymenko
8718b33a66
docs
2016-11-23 15:57:06 -08:00
Adam Ierymenko
27f1155f1b
docs and API stuff
2016-11-23 15:53:53 -08:00
Adam Ierymenko
84732fcb12
Wire through external path lookup. Static paths should now work.
2016-11-22 14:23:13 -08:00
Grant Limberg
c6c578ce1d
Fixes to allow usage of ZeroTierOne.h with a C compiler
2016-11-22 13:18:52 -08:00
Grant Limberg
3c5e28a27d
use new ZT_Node_Callbacks struct in JNI
2016-11-22 13:03:36 -08:00
Grant Limberg
a39f6e9b4c
clear cached window positions when display settings change
2016-11-22 12:02:49 -08:00
Grant Limberg
adb7a88836
cache window positions so we only have to move after open once.
2016-11-22 11:53:06 -08:00
Adam Ierymenko
9892f7bb47
Upgrade nlohmann::json
2016-11-22 11:06:58 -08:00
Adam Ierymenko
42ba70e79e
Replace long callback arg list with struct, and implement path whitelisting, path blacklisting, and local.conf support for roles.
2016-11-22 10:54:58 -08:00
Adam Ierymenko
cbaef66e82
Fix a deadlock in federation/upstream code.
2016-11-21 16:04:01 -08:00
Adam Ierymenko
97d915b06c
Expose relay policy in node settings.
2016-11-21 15:35:18 -08:00
Grant Limberg
3a3a23db34
hacky way to set window position but it works
2016-11-21 15:31:32 -08:00
Adam Ierymenko
d159e5ca44
Allow relay policy setting in local.conf
2016-11-21 15:21:24 -08:00
Grant Limberg
d3bd10952e
hyperlinks in the about page are clickable
2016-11-21 14:32:25 -08:00
Adam Ierymenko
40078a99de
Make parse failure of local.conf non-fatal in case people have ancient files sitting around.
2016-11-21 14:14:43 -08:00
Grant Limberg
0142c0d339
fill out the about view
2016-11-21 13:25:10 -08:00
Adam Ierymenko
2e5de46584
local.conf and support for virtual role definition
2016-11-21 13:20:56 -08:00
Grant Limberg
1be55d6182
Merge branch 'dev' into systemtray
2016-11-21 12:59:43 -08:00
Grant Limberg
8ebcd44405
dont close the network list. just hide it so its reusable
2016-11-21 12:54:27 -08:00
Adam Ierymenko
ccdd4ffda7
Move split() to OSUtils since it is not used in core.
2016-11-18 15:49:28 -08:00
Grant Limberg
a6ed711492
wired up the startup registry key to the registry
2016-11-18 15:44:41 -08:00
Grant Limberg
3fb224cb22
add a checkbox for startup option in preferences
2016-11-18 15:23:07 -08:00
Grant Limberg
5ca5af619d
Merge branch 'systemtray' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into systemtray
2016-11-18 14:58:01 -08:00
Grant Limberg
f61c5836b2
copy node ID by clicking on node ID menu item
2016-11-18 14:57:14 -08:00
Grant Limberg
535b33b46e
copy node ID by clicking on node ID menu item
2016-11-18 14:52:04 -08:00
Grant Limberg
a8847de910
proper shutdown
2016-11-18 14:23:22 -08:00
Grant Limberg
2231e878d5
Merge branch 'dev' into systemtray
2016-11-18 14:00:25 -08:00
Grant Limberg
299a7cab20
fixed an issue where sometimes network data wouldnt be updated
2016-11-18 13:59:31 -08:00
Grant Limberg
e48d6880c9
Wired up connected checkbox and delete button. just something not working with refresh.
2016-11-18 13:52:48 -08:00
Adam Ierymenko
673c0c811e
Wire through upstream stuff and add setRole().
2016-11-18 13:48:49 -08:00
Adam Ierymenko
6e1da35c12
Remove debug.
2016-11-18 13:15:58 -08:00
Adam Ierymenko
25f9c294dc
Small bug fix and warning removal.
2016-11-18 13:01:45 -08:00
Adam Ierymenko
2ea9f516e1
Rate gate expensive validation of new identities in HELLO.
2016-11-18 12:59:04 -08:00
Grant Limberg
dbe1461886
wire up the quit button
2016-11-18 12:17:57 -08:00
Grant Limberg
7bea709747
wire up the rest of the views to the menu. views not implemented yet tho.
2016-11-18 12:03:21 -08:00
Grant Limberg
6536474b94
moved stuff around again. WPF didnt like things once they were moved. Also wired up Join dialog.
2016-11-18 11:33:46 -08:00
Adam Ierymenko
ab4021dd0e
Do packet MAC check before locallyValidate(), and add timing measurement in selftest.
2016-11-18 11:09:19 -08:00
Adam Ierymenko
1fcbb1fbed
Proactively auto-load designated upstreams.
2016-11-18 10:39:26 -08:00
Adam Ierymenko
39333c9e8e
Modify unite() to deal with a second layer of upstreams.
2016-11-17 16:59:04 -08:00
Adam Ierymenko
1615ef1114
Rename getBestRoot() etc.
2016-11-17 16:31:58 -08:00
Adam Ierymenko
bf8d71e82c
Add notion of upstream that is separate from root in Topology, etc.
2016-11-17 16:20:41 -08:00
Grant Limberg
a4c2740852
added skeletons for join and about windows. moving things around a little bit too
2016-11-17 14:25:55 -08:00
Grant Limberg
afa1b8cb2d
add timeouts to requests to the json api
2016-11-17 14:23:04 -08:00
Grant Limberg
5447c01e1f
can finally join/leave networks by clicking on them in the context menu
2016-11-17 14:13:05 -08:00
Grant Limberg
b4bacd50a1
Merge branch 'dev' into systemtray
2016-11-16 16:23:56 -08:00
Grant Limberg
3c248ec61a
handle removing of networks we are no longer connected to from the UI
2016-11-16 15:50:56 -08:00
Grant Limberg
78a8ceda0e
IP addresses now selectable in Windows UI
2016-11-16 15:11:28 -08:00
Grant Limberg
14bf326de2
make device ID selectable
2016-11-16 14:50:25 -08:00
Grant Limberg
dc549b7f3c
add JSONDB.cpp
2016-11-16 14:50:03 -08:00
Grant Limberg
456c7ca661
only changed items in the full network list are updated now
2016-11-15 16:55:24 -08:00
Grant Limberg
bab75186f5
make some fields in the network list selectable
2016-11-15 15:51:25 -08:00
Adam Ierymenko
07b2a3818c
Fix TTL scaling in cert.
2016-11-15 14:26:05 -08:00
Adam Ierymenko
15c6e2ec70
Fix member deauthorization time threshold bug.
2016-11-15 14:06:25 -08:00
Adam Ierymenko
5bd8968eb8
Add rules engine debugging switch to make-linux.mk
2016-11-15 11:50:53 -08:00
Adam Ierymenko
4ad942522b
Kill unnecessary check in another spot.
2016-11-14 15:57:46 -08:00
Adam Ierymenko
b6c99ba3ef
Add (currently undocumented) option to allow management from certain networks.
2016-11-14 15:47:06 -08:00
Adam Ierymenko
ee5bd57d40
We don't bind to non-local IP for TCP yet, but eliminate double check.
2016-11-14 15:29:36 -08:00
Grant Limberg
6445337a32
looks like a garbage file got committed. deleting
2016-11-14 15:02:40 -08:00
Grant Limberg
f20c7303e8
remove timer thats no longer needed
2016-11-14 14:58:57 -08:00
Grant Limberg
c4c8ea62e2
Added network monitor pub/sub class
2016-11-14 14:56:36 -08:00
Grant Limberg
71aadcbecb
fix serialization issue.
...
Apparently the JSON parser uses this same serialization method under the hood to create objects from JSON.
2016-11-10 15:21:54 -08:00
Grant Limberg
fd71ceeab5
menu now dynamically populates the network list
2016-11-10 14:17:57 -08:00
Adam Ierymenko
e26bee45fb
Multithreading in network controller. Threads are only started if controller is used.
2016-11-10 13:57:01 -08:00
Adam Ierymenko
1b10d3413a
Use circuit breaker only for requests.
2016-11-10 13:08:43 -08:00
Adam Ierymenko
f0fcd222a1
Actually push updates when things change.
2016-11-10 12:54:43 -08:00
Adam Ierymenko
298e4a9f14
Also avoid sending tags and caps to old members since there is no point.
2016-11-10 12:33:09 -08:00
Adam Ierymenko
12d32b9311
Small fix to send pushes if not a reply.
2016-11-10 11:57:45 -08:00
Adam Ierymenko
226123ca08
Refactor controller to permit sending of pushes as well as just replies to config requests.
2016-11-10 11:54:47 -08:00
Adam Ierymenko
5ebf5077f5
Log last meta-data in controller, and ease up just a bit on keepalives.
2016-11-09 17:11:10 -08:00
Grant Limberg
e1c930f1b7
update JNI wrapper to reflect removal of lastMulticastFrame and lastUnicastFrame from ZT_Peer struct
2016-11-09 16:33:01 -08:00
Adam Ierymenko
c61ca1dea2
Keep connections up for netconf stuff as well as frames.
2016-11-09 16:04:08 -08:00
Adam Ierymenko
eea712a1ae
Field in wrong place fixed.
2016-11-09 13:26:14 -08:00
Adam Ierymenko
1ebfca666d
Memo-ize some computed stuff to control CPU utilization.
2016-11-09 12:34:20 -08:00
Grant Limberg
005b5aacaf
rename
2016-11-09 10:32:18 -08:00
Grant Limberg
7cf3d2caa1
Network list window opens with click on the menu item
2016-11-08 16:31:07 -08:00
Grant Limberg
e1f9f7b6dc
turn APIHandler into a singleton
2016-11-08 15:50:08 -08:00
Grant Limberg
6b0543ba27
starts up to a toolbar icon with context menu. still much more to do
2016-11-08 14:54:55 -08:00
Adam Ierymenko
3d948a930e
Send a blanket rule to old versions. New versions will still bidirecitonally enforce on the inbound side.
2016-11-08 14:24:30 -08:00
Adam Ierymenko
6f3595bfd2
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-11-08 12:41:32 -08:00
Adam Ierymenko
4524899e4d
Update LM time on members on request.
2016-11-08 12:41:27 -08:00
Grant Limberg
54206fd44d
add NotifyIcon NuGet package for tray icon support
2016-11-08 11:24:12 -08:00
Grant Limberg
6d8c8f9fd1
update JSON library to latest
2016-11-08 11:23:15 -08:00
Grant Limberg
00e1b0ed10
added docs for allowManaged, allowGlobal, allowDefault
2016-11-08 11:00:48 -08:00
Grant Limberg
4f8feaa530
update JSON API docs for OneService
2016-11-08 10:23:25 -08:00
Adam Ierymenko
0324e6ca3d
Merge pull request #402 from bobberb/patch-1
...
Typo fix line 77
2016-11-08 08:32:47 -08:00
Adam Ierymenko
d773ab2806
Merge pull request #407 from misuzu/chownfix
...
Chown fix
2016-11-08 08:32:31 -08:00
Tsukasa Hiiragi
8e76363ccf
Fix chown on /var/lib/zerotier-one
2016-11-08 16:50:32 +02:00
Adam Ierymenko
360c84e035
Minor fixes.
2016-11-08 00:05:18 +00:00
Adam Ierymenko
4868d21526
Bug fixes in controller refactor.
2016-11-07 23:49:03 +00:00
Grant Limberg
c802811ad2
Added a file copy util for Windows UI
...
Copies the authtoken.secret file into a private local folder for the user so that the UI doesnt have to be run with Admin privileges.
2016-11-07 14:09:01 -08:00
Adam Ierymenko
5f63d5039b
Bug fixes, self test of JSONDB disabled by default.
2016-11-07 14:01:23 -08:00
Adam Ierymenko
a454a37a6e
Self test JSONDB.
2016-11-07 13:27:17 -08:00
Adam Ierymenko
a78d7311a6
Fix network list API call.
2016-11-04 16:23:41 -07:00
Adam Ierymenko
08ff666e99
.
2016-11-04 16:14:58 -07:00
Adam Ierymenko
0d108d37f6
.
2016-11-04 16:12:44 -07:00
Adam Ierymenko
cae9041c2a
.
2016-11-04 15:52:01 -07:00
Adam Ierymenko
330a07a554
cleanup
2016-11-04 15:48:23 -07:00
Adam Ierymenko
7729cbe313
Fix ambiguous error on some compilers.
2016-11-04 15:34:49 -07:00
Adam Ierymenko
3e865067be
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-11-04 15:18:35 -07:00
Adam Ierymenko
b03c7b2f30
Refactor controller to use split-out DB for better performance and less ugly.
2016-11-04 15:18:31 -07:00
Grant Limberg
1ab9c43135
wire up allowDefault, allowManaged, allowGlobal, allowDefault options
2016-11-04 14:50:07 -07:00
Grant Limberg
efcc24a76b
increase window width so IPv6 addreses don't wrap
2016-11-04 14:49:15 -07:00
Grant Limberg
4762311977
work in progress windows UI update
2016-11-04 12:39:57 -07:00
Adam Ierymenko
ab2ccb094a
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-11-03 14:44:49 -07:00
Adam Ierymenko
3c00cd0f88
Separate out JSON store from controller code.
2016-11-03 14:17:46 -07:00
Grant Limberg
a7718bae39
link in notelemetry.obj even though Microsoft said CRT telemetry would be disabled in VS2015 Update 3. Just in case.
2016-11-03 12:25:09 -07:00
Grant Limberg
8ffae313fd
add new files & remove old ones from VS project. Now builds & runs on Windows again
2016-11-03 12:10:50 -07:00
Grant Limberg
8cced06a2d
upgraded vcxprojs to VS2015. got the tap driver building.
2016-11-03 10:04:50 -07:00
Grant Limberg
965399ba0c
fix a few warnings
2016-10-31 15:16:42 -07:00
Grant Limberg
231cc11a62
Update path to nkd-build
2016-10-27 14:28:42 -07:00
Grant Limberg
1afa9e992c
add color to success output in slack
2016-10-27 14:01:00 -07:00
Grant Limberg
be543c4039
use internal changelog library
2016-10-25 15:51:30 -07:00
Grant Limberg
7e7462b39e
attempting #2
2016-10-25 15:01:59 -07:00
Grant Limberg
d2ee37a3e0
attempting to add the changelog to the starting build slack message
2016-10-25 14:58:27 -07:00
Grant Limberg
1fcedb8d16
fix duplicate branch name in slack
2016-10-25 14:38:57 -07:00
Grant Limberg
5c476391da
fixed build number in slack messages
2016-10-25 14:37:19 -07:00
Grant Limberg
6cb23e7069
added slack notifications
2016-10-25 14:35:31 -07:00
Grant Limberg
c976b87ac7
-scheme -> -target
2016-10-25 13:33:50 -07:00
Grant Limberg
af2bdfc421
dir directive appears to create a tmpdir rather than just cd
2016-10-25 13:14:28 -07:00
Grant Limberg
b01c551197
fix directory directive in jenkinsfile
2016-10-25 13:04:24 -07:00
Grant Limberg
df6d3ca66b
add stage for building the new macOS UI in Jenkins
2016-10-25 12:58:54 -07:00
Grant Limberg
5be7374f56
added macOS build for jenkins
2016-10-25 12:40:03 -07:00
Grant Limberg
7300005398
fixed one more stage syntax for jenkins build
2016-10-25 11:21:39 -07:00
Grant Limberg
6cd36edf45
Update stages
2016-10-25 11:18:26 -07:00
Grant Limberg
604a0b1fe6
added Jenkinsfile for jenkins build config
2016-10-25 11:10:21 -07:00
bobberb
046d5bb9ff
Typo fix line 77
2016-10-23 15:45:45 -04:00
Adam Ierymenko
0e8442064e
Merge pull request #376 from siigna/debian
...
Move debian/format to debian/source/format
2016-10-21 13:39:55 -07:00
Adam Ierymenko
ea1f2762cf
Merge pull request #401 from zielmicha/dev
...
Run as nonroot user on Linux (with CAP_NET_ADMIN and CAP_NET_RAW added).
2016-10-21 13:37:27 -07:00
Grant Limberg
0f3095f130
Merge remote-tracking branch 'macui/master' into macui-merge
...
# Conflicts:
# .gitignore
2016-10-17 14:50:18 -07:00
Grant Limberg
7b7ec13349
Prepare for merging into main ZeroTier repo
2016-10-17 14:44:32 -07:00
Grant Limberg
7025c7090b
set proper copyright/license in code files
2016-10-17 14:43:24 -07:00
Grant Limberg
7c12991f57
wasn't setting the Connected checkbox to off if the network wasn't connected
2016-10-17 13:48:25 -07:00
Grant Limberg
f444da80bc
Add a 2 second delay before the About window shows up on the first run
2016-10-17 13:43:44 -07:00
Grant Limberg
ed58467d12
Clicking "Join" to join a new network now properly closes the popover
2016-10-17 13:43:27 -07:00
Grant Limberg
c44c3b0530
cleanup
2016-10-17 12:31:59 -07:00
Grant Limberg
46e9c1195c
more removal of NSMenuDelegate
2016-10-17 12:29:28 -07:00
Grant Limberg
4730111492
updated project settings for Xcode 8.0
2016-10-17 12:27:07 -07:00
Grant Limberg
a813e29491
Don't need AppDelegate to be a NSMenuDelegate
2016-10-17 12:26:48 -07:00
Michał Zieliński
344a25c133
Run as nonroot user on Linux (with CAP_NET_ADMIN and CAP_NET_RAW added).
...
- ZT will only drop root privileges if zerotier-one user exists. It is created by
Debian postinst script - in other cases the user has to be created by administrator.
- Linux >=4.3 with ambient capabilities is required, otherwise ZT will silently
- "-U" option now also disables privileges dropping
2016-10-16 13:53:44 +02:00
Grant Limberg
772599a6fc
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-10-13 15:18:12 -07:00
Grant Limberg
3a3fe272bb
add Revocation.cpp to android build
2016-10-13 15:18:07 -07:00
Adam Ierymenko
88e3fe699c
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-10-13 15:17:27 -07:00
Adam Ierymenko
27d997a2e5
.
2016-10-13 15:17:17 -07:00
Grant Limberg
8809c6d122
link atomic library. seems to be required in the latest Android NDK
2016-10-13 14:34:54 -07:00
Adam Ierymenko
6469aa9df9
typo
2016-10-13 14:28:39 -07:00
Adam Ierymenko
ce6b5bc6f5
.
2016-10-13 14:21:24 -07:00
Adam Ierymenko
4f3775bb86
Fix ICMP match.
2016-10-13 14:21:00 -07:00
Adam Ierymenko
2cb760e0ac
Fix ICMP json.
2016-10-13 14:14:46 -07:00
Adam Ierymenko
8850a8610a
Fix filter trace.
2016-10-13 13:59:17 -07:00
Adam Ierymenko
2d6a4e5974
cleanup
2016-10-13 13:52:45 -07:00
Adam Ierymenko
93b4ac5cb2
Remove unused POW code, will revisit later.
2016-10-13 13:17:30 -07:00
Adam Ierymenko
e2509af163
Fix bug in default rules init in new networks.
2016-10-12 12:30:32 -07:00
Adam Ierymenko
3f4c166861
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-10-11 12:00:38 -07:00
Adam Ierymenko
e53f63ca87
Broke down and added an OR to the rules engine. It is now possible to have a series of MATCHes that are ORed.
2016-10-11 12:00:16 -07:00
Grant Limberg
6a50291aa2
Fix the case for InetAddress::containsAddress for IPv6 route of ::
2016-10-07 14:29:06 -07:00
Grant Limberg
e59ed3e68f
Fix size of neighbor solicitation struct
2016-10-07 10:03:07 -07:00
Adam Ierymenko
45c4ccb153
Add a tags both equal match.
2016-10-05 16:38:42 -07:00
Adam Ierymenko
adeb7e7da0
Make capability flags match more user-friendly and appropriate since "match any flag" is generally what we want.
2016-10-05 12:54:46 -07:00
Adam Ierymenko
f1c8706485
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-10-05 10:12:16 -07:00
Adam Ierymenko
d5f4d381d0
Go ahead and loop back packets whose destination is self. Some OSes require this since they aactually follow the full network path even for local IPs.
2016-10-05 10:12:06 -07:00
Grant Limberg
69c5976775
fix typo in assert size
2016-10-04 17:35:52 -07:00
Adam Ierymenko
988049f39b
Add new rule to rules engine: random match.
2016-09-30 14:07:00 -07:00
Adam Ierymenko
6651b8310e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-30 13:47:40 -07:00
Adam Ierymenko
0843ed62fa
Network delete fix.
2016-09-30 13:47:30 -07:00
Grant Limberg
d817039f79
Add IPv6 Neighbor Discovery code. Not yet tested.
2016-09-30 13:18:17 -07:00
Adam Ierymenko
f0794e09b7
Controller cleanup.
2016-09-30 13:04:26 -07:00
Adam Ierymenko
9eaa3756f8
Fix deadlock-causing regression in Network.
2016-09-30 12:22:54 -07:00
Adam Ierymenko
1eeebba2f7
Drop old /active path from network.
2016-09-29 17:59:27 -07:00
Adam Ierymenko
2fc3d12fb6
Minor tweaks to member code in controller, and fix Linux build.
2016-09-29 14:48:39 -07:00
Adam Ierymenko
4fe9a4fe83
Fix memory leak.
2016-09-28 16:13:59 -07:00
Adam Ierymenko
01129d02b3
hashCode() for InetAddress
2016-09-28 13:45:25 -07:00
Adam Ierymenko
e1fbf7b34c
Check multicast limit on send after NDP emulation code.
2016-09-28 12:21:08 -07:00
Adam Ierymenko
7e90ab3534
TRACE verbosity increase on exceptions in NETWORK_CREDENTIALS.
2016-09-28 11:06:44 -07:00
Adam Ierymenko
5ee1ccd659
Send need credential error on more cases.
2016-09-27 16:41:08 -07:00
Adam Ierymenko
0b44919ba2
Clusters can send multiple OKs so we must allow this.
2016-09-27 16:33:37 -07:00
Adam Ierymenko
9f550292fe
Simply network auth logic and always sent error on auth failure even for unknown networks to prevent forensics.
2016-09-27 13:49:43 -07:00
Adam Ierymenko
5ba7ca91c0
TRACE build fix.
2016-09-27 12:44:44 -07:00
Adam Ierymenko
cc4bacc199
Cleanup, and implement compression disable flag for networks.
2016-09-27 12:22:25 -07:00
Adam Ierymenko
15c07c58b6
Refactored network config chunking to sign every chunk to prevent stupid DOS attack potential, and implement network config fast propagate (though we probably will not use this for a bit).
2016-09-27 11:33:48 -07:00
Adam Ierymenko
236fdb450c
cleanup attic
2016-09-27 07:02:16 -07:00
Adam Ierymenko
7e4b6b594b
It now builds.
2016-09-26 17:05:39 -07:00
Adam Ierymenko
eac3667ec1
Bunch more refactoring and work on revocations, etc.
2016-09-26 16:17:02 -07:00
siigna
e35bca2c3c
Move debian/format to debian/source/format
...
Fixes the following error during package building:
dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1)
Reference:
https://www.debian.org/doc/manuals/maint-guide/dother.en.html#sourcef
2016-09-23 20:13:37 -07:00
Adam Ierymenko
46049a1ef6
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-23 16:08:44 -07:00
Adam Ierymenko
1f74dd4589
Revocation work in progress, add WATCH which is TEE with implicit rate sync (thanks JG@DCVC!), and clean up some cruft in Network.
2016-09-23 16:08:38 -07:00
Grant Limberg
40d3993ceb
java code still needed to reflect PEER_ROLE_RELAY rename to PEER_ROLE_UPSTREAM
2016-09-21 14:12:20 -07:00
Grant Limberg
0564bb3b35
added missing copyright/license info from ZT_jniutils
2016-09-21 14:09:46 -07:00
Adam Ierymenko
29711e123f
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-20 21:21:43 -07:00
Adam Ierymenko
d3524f3609
Refactor COM stuff a bit, and respond to COM requests a bit more readily for rapid setup. Will need to revisit later.
2016-09-20 21:21:34 -07:00
Grant Limberg
d87f0293e3
Don't print a few error messages when they don't matter.
2016-09-19 13:40:53 -07:00
Grant Limberg
5fadd8bdd2
ZT_PEER_ROLE_RELAY -> ZT_PEER_ROLE_UPSTREAM in JNI glue
2016-09-19 12:54:19 -07:00
Grant Limberg
3366b53247
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-09-18 18:10:03 -07:00
Adam Ierymenko
68e549233d
Revise bearer token code in controller, and add relay policy as a meta-data item presented to controller by nodes (to facilitate future meshiness).
2016-09-15 13:17:37 -07:00
Adam Ierymenko
24fce0be86
No, definitely have to back out GitHub issue #385 (non-bisected routes) since this breaks IPv6 on OSX and probably IPv4 too if you were to encounter a 6-only situation.
2016-09-14 22:23:56 -07:00
Adam Ierymenko
740b34124f
Naming...
2016-09-14 17:35:50 -07:00
Adam Ierymenko
15402933bc
Add physical MTU recommendation hint to network config via API.
2016-09-14 16:55:25 -07:00
Adam Ierymenko
8d0b2b781e
Route management bug fixes.
2016-09-13 16:25:48 -07:00
Adam Ierymenko
83abc00aae
docs
2016-09-13 14:58:59 -07:00
Adam Ierymenko
5b6d27e659
Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected.
2016-09-13 14:27:18 -07:00
Adam Ierymenko
ced8dfc639
Try a version of GitHub issue #385 (non-bifurcated default if not present) on Mac. This version adds the bifurcated routes always but also adds a device-specific non-bifurcated route. Will have to see if this still interferes with OSX route settings, since by definition device specific routes should not conflict with general routes.
2016-09-13 11:07:59 -07:00
Adam Ierymenko
8ef0e4bbaf
Get rid of HELLO rate gate on path since its basically worthless. There are 65535 ports per IP.
2016-09-13 10:46:36 -07:00
Adam Ierymenko
0da9a9a3e0
Set trustEstablished in a few more places.
2016-09-13 10:33:03 -07:00
Adam Ierymenko
cba37c6107
Add a few more rate limit gates for anti-DOS hardening.
2016-09-13 10:13:23 -07:00
Adam Ierymenko
ea1da3321a
Rate gate requests for COM.
2016-09-12 15:19:21 -07:00
Adam Ierymenko
34b146f28b
Back out of GitHub issue #385 for now and maybe for this release. Would be nice but it is non-critical and rules are the priority. Current implementation bangs heads with OSX route assignment on WiFi join, etc.
2016-09-12 14:56:18 -07:00
Adam Ierymenko
fb46a546db
Just always do route bifurcation on Linux for now... basically the old behavior.
2016-09-09 12:53:44 -07:00
Adam Ierymenko
debc4c45ee
Set trust established flag in MULTICAST_GATHER.
2016-09-09 11:45:34 -07:00
Adam Ierymenko
ab9afbc749
(1) Public networks now get COMs even though they do not gate with them since they will need them to push auth for multicast stuff, (2) added a bunch of rate limit circuit breakers for anti-DOS, (3) cleanup.
2016-09-09 11:36:10 -07:00
Adam Ierymenko
ef87069957
Fix gating of multicast GATHER replies since these can come from upstream, etc., and fix an issue with sending ECHO to recheck marginal paths.
2016-09-09 09:32:00 -07:00
Adam Ierymenko
0d4109a9f1
More refactoring to clean up code, and add a gate function to make sure we do not handle OK packets we did not expect. This hardens up a few potential edge cases around security, since such messages might be used to e.g. pollute a cache and DOS under certain conditions.
2016-09-09 08:43:58 -07:00
Adam Ierymenko
16df2c3363
Clean up handling of COMs, network access control, and fix a backward compatiblity issue.
2016-09-08 19:48:05 -07:00
Grant Limberg
5ed5b22525
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-09-08 17:45:46 -07:00
Grant Limberg
dccca7df1a
another couple of missing semicolons
2016-09-08 17:45:40 -07:00
Adam Ierymenko
1f6b13b7fd
Fix bug causing null addresses to get in memberships[] hash.
2016-09-08 16:09:56 -07:00
Adam Ierymenko
d23ade879b
Do not bifurcate if not replacing an existing route. (Still need to tie up Linux and Windows.)
2016-09-08 15:42:46 -07:00
Adam Ierymenko
8afdb0aa65
GitHub issue #346
2016-09-07 17:07:06 -07:00
Adam Ierymenko
daf8a66ced
More correct and efficient to initialize member relationship push stuff lazily when member is learned.
2016-09-07 15:47:20 -07:00
Adam Ierymenko
20278bb9e4
Also send MULTICAST_LIKEs to controllers.
2016-09-07 15:34:34 -07:00
Adam Ierymenko
c7a4da3dd3
Turns out we do not need to pass network to receive().
2016-09-07 15:24:53 -07:00
Adam Ierymenko
1908aa55f5
Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary pushes and simplify code.
2016-09-07 15:15:52 -07:00
Adam Ierymenko
1c08f5e857
Tweak some expire times.
2016-09-07 12:25:19 -07:00
Adam Ierymenko
c9ee8612e4
Credential TTL (tags/capabilities) should be credential time max delta, since we could get pushed one that is newer.
2016-09-07 12:12:52 -07:00
Adam Ierymenko
a7d988745b
Use ECHO instead of HELLO where possible.
2016-09-07 12:01:03 -07:00
Adam Ierymenko
a9f404aac3
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-07 11:20:47 -07:00
Adam Ierymenko
ff9f8b1c2b
Typo fix.
2016-09-07 11:15:36 -07:00
Adam Ierymenko
b5c86b6ba4
Bunch more path refactoring. Peers no longer forget paths, but do not normally use expired paths. Expired paths might still be tried if nothing else is reachable.
2016-09-07 11:13:17 -07:00
Grant Limberg
407ad659ea
Reflect changes to strut ZT_PeerPhysicalPath
2016-09-06 17:59:01 -07:00
Adam Ierymenko
f2d2df2b11
Cluster build fix.
2016-09-06 15:06:07 -07:00
Adam Ierymenko
48a374c82c
(1) fix crazy bug introduced in doRENDEZVOUS(), (2) reclaim Paths after paths[] condense, (3) fix an edge case around symmetric NAT and external IP change detection.
2016-09-06 14:05:58 -07:00
Adam Ierymenko
deee39343e
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-06 12:45:37 -07:00
Adam Ierymenko
8a2e8bd585
Rework how paths are set as remote cluster preferred. The code is now clearer and cluster preference indications are now very sticky as they should be.
2016-09-06 12:45:28 -07:00
Adam Ierymenko
43780742b0
comments, docs
2016-09-06 11:10:04 -07:00
Grant Limberg
68a966fa55
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2016-09-05 16:19:10 -07:00
Grant Limberg
43b3ec4b1a
forgot a semicolon in a JNI java type specifier.
2016-09-05 16:19:04 -07:00
Grant Limberg
dcf1f70868
re-adding file
2016-09-05 16:12:29 -07:00
Grant Limberg
598ca48ed6
Attempting to fix VirtualNetworkRoute having 2 entries in git. Yay non case sensitive filesystems
2016-09-05 16:12:06 -07:00
Adam Ierymenko
3790ebe77a
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-09-05 15:49:07 -07:00
Adam Ierymenko
d7f2287ce9
More tweaks to path behavior.
2016-09-05 15:47:22 -07:00
Grant Limberg
9f717e79ea
Fixing filename again....
2016-09-05 14:42:36 -07:00
Grant Limberg
26d43c9b06
fix capitalization on file
2016-09-05 14:27:44 -07:00
Grant Limberg
8682c90c7d
ensure routes are also equal when checking for equality on VirtualNetworkConfig objects
2016-09-05 14:10:07 -07:00
Grant Limberg
d063f583ee
Added VirtualNetworkRoute class and added it to VirtualNetworkConfig
2016-09-05 13:52:29 -07:00
Adam Ierymenko
eebcf08084
Tweaks to new Path code for dual-stack operation, and other fixes.
2016-09-03 15:39:05 -07:00
Adam Ierymenko
01aa469591
Remove debug line.
2016-09-02 14:26:04 -07:00
Adam Ierymenko
4992ac2d9f
Cluster sub-optimal is in fact necessary...
2016-09-02 14:20:55 -07:00
Adam Ierymenko
412979ba8f
Attempt to reactivate dead paths.
2016-09-02 13:55:33 -07:00
Adam Ierymenko
4f8253dcdb
Tweaks to path handling...
2016-09-02 13:33:56 -07:00
Adam Ierymenko
4931e44998
Implement "weak pointer" behavior on Topology Path canonicalization hash table.
2016-09-02 12:34:02 -07:00
Adam Ierymenko
d1101441b3
Tweak some timings.
2016-09-02 11:54:59 -07:00
Adam Ierymenko
e8f6b4b5d3
Rest of big Path canonicalization refactor.
2016-09-02 11:51:33 -07:00
Grant Limberg
94263ffcc1
Added error handling messages
2016-09-01 19:02:27 -07:00
Adam Ierymenko
a3bdae9735
Work in progress: Path canonicalization refactor.
2016-09-01 15:43:07 -07:00
Adam Ierymenko
d5e6f59004
.
2016-09-01 13:45:32 -07:00
Adam Ierymenko
22271f2a49
Cleanup.
2016-09-01 13:36:41 -07:00
Adam Ierymenko
8b6d23b9f6
Optimize filter code a bit, and add a network-level setting for what should happen if an unsupported or unknown MATCH is encountered in a rules table.
2016-09-01 12:07:17 -07:00
Adam Ierymenko
25056de5d3
Also need to send credentials when TEEing and REDIRECTing.
2016-08-31 17:56:59 -07:00
Adam Ierymenko
994b25af4e
Simplify some logic.
2016-08-31 17:45:55 -07:00
Adam Ierymenko
74afef8eb1
Think through and refine a few things in rules, especially edge case TEE and REDIRECT behavior and semantics.
2016-08-31 16:50:22 -07:00
Adam Ierymenko
54489a7f61
rename SAMENESS to DIFFERENCE which is less confusing
2016-08-31 14:14:58 -07:00
Adam Ierymenko
8e3004591b
Add overlooked MATCH_ICMP to rule set.
2016-08-31 14:01:15 -07:00
Adam Ierymenko
2ff2a8fd9a
Cluster build fixes and warning elimination.
2016-08-31 09:38:21 -07:00
Grant Limberg
c2a01f6db4
Added a path for error handling when fetching data from the ZeroTier daemon
...
Still need to wire up error messages to the user.
2016-08-30 20:28:52 -07:00
Adam Ierymenko
7a00036954
Tweak log length to fit JSON for members within two 4096-kb blocks.
2016-08-29 18:10:02 -07:00
Adam Ierymenko
914c42537c
Type fixes.
2016-08-29 17:48:36 -07:00
Adam Ierymenko
cb63babac4
Debug output fixes.
2016-08-29 16:38:10 -07:00
Adam Ierymenko
ac1c127b68
Debug output fixes.
2016-08-29 16:24:08 -07:00
Adam Ierymenko
cb82193333
Debug output fixes.
2016-08-29 16:19:26 -07:00
Adam Ierymenko
f0636ffd4a
EXT_FRAME messages should always be accepted if we are the destination for a matching TEE or REDIRECT rule.
2016-08-29 15:54:06 -07:00
Adam Ierymenko
51a420671f
Make rules engine debug a bit more verbose.
2016-08-29 15:17:34 -07:00
Adam Ierymenko
77c2bf3ad9
Kill dead field from network JSON.
2016-08-29 14:47:19 -07:00
Adam Ierymenko
7223685b96
.
2016-08-26 15:30:20 -07:00
Adam Ierymenko
e7dff1c785
Change logic a little for self-as-destination in TEE and REDIRECT.
2016-08-26 15:28:31 -07:00
Adam Ierymenko
a5383d83d8
Do not TEE or REDIRECT to self.
2016-08-26 15:25:00 -07:00
Adam Ierymenko
a3c7627acf
Push more than one packet for credentials if we happen to have a whole lot. Should not happen often but might if a member has tons of tags.
2016-08-26 14:43:16 -07:00
Adam Ierymenko
297b1b4258
Another tiny API bug fix.
2016-08-26 14:16:55 -07:00
Adam Ierymenko
35ac995d05
Fix setting of v6AssignMode in controller.
2016-08-26 14:04:27 -07:00
Adam Ierymenko
6bd5aba4fa
fix frame size range bug
2016-08-26 13:26:26 -07:00
Adam Ierymenko
fb5217761b
Add missing names in filter debug code.
2016-08-26 13:20:55 -07:00
Adam Ierymenko
90f3e94565
Always output trace info when debugging rules.
2016-08-26 12:21:44 -07:00
Adam Ierymenko
ded5a53a6c
Documentation updates, add rules engine revision to network config request meta-data.
2016-08-26 10:38:43 -07:00
Adam Ierymenko
d637988ccf
Fix chicken or egg problem in tags, and better filter debug instrumentation.
2016-08-25 18:21:20 -07:00
Adam Ierymenko
858e8c5217
one more...
2016-08-25 16:28:54 -07:00
Adam Ierymenko
df1ce856c9
A little bit more controller code cleanup.
2016-08-25 16:25:28 -07:00
Adam Ierymenko
b5e0d014ab
Controller bug fixes
2016-08-25 16:08:40 -07:00
Adam Ierymenko
5eaf397a94
Add a debug log feature in the filter, which only works if enabled in Network.cpp.
2016-08-25 13:31:23 -07:00
Adam Ierymenko
1814016eb7
Add daemon thread to controller and move network member cache refreshes there.
2016-08-25 11:26:45 -07:00
Adam Ierymenko
6ecb42b031
docs and null check in controller code
2016-08-25 10:46:03 -07:00
Adam Ierymenko
584228b2b5
Dead code removal, and get rid of reliable() because we will no longer make that distinction.
2016-08-24 17:56:35 -07:00
Adam Ierymenko
cd3683f2ba
Fix a missing receive().
2016-08-24 17:50:51 -07:00
Adam Ierymenko
347ebcd899
Set trust flag in network controllers if remote query is accepted to allow NATed network controllers to better traverse.
2016-08-24 17:48:13 -07:00
Adam Ierymenko
e52c2c41ec
Add a circuit breaker to prevent too many credentials from being stored per member.
2016-08-24 17:24:35 -07:00
Adam Ierymenko
95ff057e04
Increase rule limits a little since chunking in netconf can accomodate this.
2016-08-24 17:16:26 -07:00
Adam Ierymenko
60bc291414
Add noAutoAssignIps for member of networks.
2016-08-24 17:05:43 -07:00
Adam Ierymenko
c476285bd6
Harden PUSH_DIRECT_PATHS and simplify things by only doing it on receive when hops>0 and trust has been established.
2016-08-24 16:16:39 -07:00
Adam Ierymenko
63e8ad4cc3
TRACE stuff.
2016-08-24 15:45:37 -07:00
Adam Ierymenko
2cdda38dc4
It basically works... at least on current controllers.
2016-08-24 15:26:18 -07:00
Adam Ierymenko
ccea3d04d6
Push NETWORK_CONFIG_REFRESH on POSTs to /member/... in controller.
2016-08-24 14:28:16 -07:00
Adam Ierymenko
90bd3e07a0
Remove http-parser from RPM spec.
2016-08-24 13:53:24 -07:00
Adam Ierymenko
8e3463d47a
Add length limit to TEE and REDIRECT, and completely factor out old C json-parser to eliminate a dependency.
2016-08-24 13:37:57 -07:00
Adam Ierymenko
8d594f8b53
cleanup
2016-08-23 16:05:10 -07:00
Adam Ierymenko
5f4df0c6a9
Controller cleanup and perf improvements.
2016-08-23 15:30:36 -07:00
Adam Ierymenko
0ee4d3554a
Stub out USER_MESSAGE.
2016-08-23 14:38:20 -07:00
Adam Ierymenko
0a7a33ef8f
Instantaneous blacklisting and credential revocation.
2016-08-23 13:46:36 -07:00
Adam Ierymenko
32fa061700
Compute credential TTL et al.
2016-08-23 13:02:59 -07:00
Adam Ierymenko
7036831203
Sign Dictionary in doNETWORK_CONFIG_REQUEST.
2016-08-23 11:57:56 -07:00
Adam Ierymenko
68b4ca9b31
Cleanup.
2016-08-23 11:52:10 -07:00
Adam Ierymenko
0dfc08b317
Tidy up a few minor protocol things, improve documentation in Packet.hpp.
2016-08-23 11:29:02 -07:00
Adam Ierymenko
77f7dcf40a
Obsolete "test network" removal.
2016-08-23 09:39:38 -07:00
Adam Ierymenko
9a3c652a51
Get rid of expiration in Capability and Tag and move this to NetworkConfig so it can be set network-wide and reset if needed. Also add NetworkConfig field for this and centralize checking of credential time validity.
2016-08-22 18:06:46 -07:00
Adam Ierymenko
6db47de25e
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-08-22 14:26:17 -07:00
Adam Ierymenko
b0d888d235
Signing of Capability and Tag objects.
2016-08-22 14:25:59 -07:00
Joseph Henry
af53e63ae2
Kube tut update
2016-08-22 11:33:10 -07:00
Grant Limberg
35d5ed9c2b
version bump i forgot to commit
2016-08-19 18:13:00 -07:00
Adam Ierymenko
9827b8991d
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-08-18 18:18:56 -07:00
Adam Ierymenko
4dce71879f
.
2016-08-18 18:18:50 -07:00
Joseph Henry
727fb197d8
kube tutorial update
2016-08-18 15:32:26 -07:00
Joseph Henry
c2f10a52de
zt-kubernetes tutorial update
2016-08-18 15:16:24 -07:00
Joseph Henry
cf2ec0797e
zt-kubernetes tutorial update
2016-08-18 15:15:38 -07:00
Joseph Henry
6443049f86
Merge branch 'edge' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into edge
2016-08-18 15:13:49 -07:00
Joseph Henry
44bee4e3ff
zt-kubernetes tutorial update
2016-08-18 15:13:43 -07:00
Adam Ierymenko
212a5af9a5
Capabilities and tags in POST JSON.
2016-08-18 14:37:56 -07:00
Adam Ierymenko
1cadbfb4d1
Little fixes.
2016-08-18 13:47:02 -07:00
Adam Ierymenko
4729fec2eb
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-08-18 13:00:00 -07:00
Adam Ierymenko
f119c4a456
Cache network members for performance, add network non-persisted fields.
2016-08-18 12:59:48 -07:00
Joseph Henry
3e261fb999
updated entrypoint
2016-08-17 18:33:49 -07:00
Joseph Henry
0fd3afe2c8
examples files for kube int
2016-08-17 18:03:34 -07:00
Joseph Henry
9dc507c9ae
examples files for kube int
2016-08-17 17:52:19 -07:00
Joseph Henry
5d37eabb59
Merge branch 'edge' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into edge
2016-08-17 17:43:44 -07:00
Joseph Henry
169664ffc2
examples files for kube int
2016-08-17 17:43:34 -07:00
Adam Ierymenko
4c0a7c0fb2
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-08-17 17:37:48 -07:00
Adam Ierymenko
faa9a06bf5
Controller fixes...
2016-08-17 17:37:37 -07:00
Joseph Henry
183434d30e
examples files for kube int
2016-08-17 17:29:14 -07:00
Joseph Henry
c84ce76c59
examples files for kube int
2016-08-17 17:22:05 -07:00
Joseph Henry
1833c61556
kubernetes tutorial update
2016-08-17 15:35:00 -07:00
Joseph Henry
ba78676ace
kubernetes tutorial update
2016-08-17 15:28:48 -07:00
Joseph Henry
0d37b7b665
zt-kubernetes tutorial outline
2016-08-17 15:12:48 -07:00
Adam Ierymenko
1254dece5b
Linux build fixes, and build controller.
2016-08-17 14:19:29 -07:00
Adam Ierymenko
b7ebf6edbf
Cleanup and log how member was authorized.
2016-08-17 13:54:32 -07:00
Adam Ierymenko
b72847d504
Finally implement network join auth tokens, at least at the protocol level.
2016-08-17 13:41:45 -07:00
Adam Ierymenko
168b86fdcd
Controller docs and API fix.
2016-08-17 12:27:07 -07:00
Adam Ierymenko
a13f4d8353
We now always build the controller in ZeroTier One, at least for desktop and server targets. Also means that ZeroTier One now requires C++11. (Still keeping C++11 out of the core in node/ though.)
2016-08-17 10:42:32 -07:00
Adam Ierymenko
cc808cc2dd
Rules parsing stuff.
2016-08-17 10:25:25 -07:00
Adam Ierymenko
ce001198d8
.
2016-08-16 16:57:45 -07:00
Adam Ierymenko
c0639ccd37
Just about ready to test.
2016-08-16 16:46:08 -07:00
Adam Ierymenko
58701c1ca8
.
2016-08-16 14:08:08 -07:00
Adam Ierymenko
402d99ea8d
C++11 mode build fix.
2016-08-16 14:07:11 -07:00
Adam Ierymenko
b08ca49580
More controller work -- it builds!
2016-08-16 14:05:17 -07:00
Adam Ierymenko
bd15262e54
Bunch of rule JSON stuff.
2016-08-15 18:49:50 -07:00
Adam Ierymenko
3cb2e1197f
.
2016-08-12 15:32:45 -07:00
Adam Ierymenko
7762cd680b
fix json include path in cli
2016-08-12 11:30:50 -07:00
Adam Ierymenko
c30f74987f
Starting refactor of controller...
2016-08-12 11:30:27 -07:00
Grant Limberg
628ef14d80
added more spacing at the bottom of each network info cell
2016-08-11 17:50:15 -07:00
Grant Limberg
bc48a097f8
add @2x versions of menu bar icon
2016-08-11 17:41:54 -07:00
Adam Ierymenko
dd21c8a577
Rev nlohmann/json
2016-08-10 17:27:46 -07:00
Adam Ierymenko
7d906df805
Better instrumentation for filter, and filter bug fixes.
2016-08-10 14:27:52 -07:00
Adam Ierymenko
d166b494ee
Rule parse fix.
2016-08-10 13:41:22 -07:00
Adam Ierymenko
81959f14af
Refactor and redesign symmetric NAT predictor. This is cleaner.
2016-08-10 10:28:54 -07:00
Grant Limberg
2300f3c92b
bump build number
2016-08-09 20:04:33 -07:00
Grant Limberg
73fd934fec
* Fixed menu icon size
...
* Added icon for dark mode
* Added detection for interface mode changing from light to dark and adjusting the icon accordingly
2016-08-09 20:02:12 -07:00
Grant Limberg
a7b635a980
add border around About web view. added padding to text div in the about page
2016-08-09 19:03:09 -07:00
Grant Limberg
91b8d6f34f
[pasteboard declareTypes] needs to be called before every time you set a string to the pasteboard.
2016-08-09 18:03:48 -07:00
Adam Ierymenko
c9d7845fea
Minor bug fix and some instrumentation stuff for testing.
2016-08-09 17:00:01 -07:00
Adam Ierymenko
0b0cda2be4
ZT_TRACE fix.
2016-08-09 15:55:41 -07:00
Adam Ierymenko
e1310a764a
More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff).
2016-08-09 15:45:26 -07:00
Adam Ierymenko
dbf3e6c3c9
Dead code removal.
2016-08-09 15:01:46 -07:00
Adam Ierymenko
dee7f75f7e
Minor cleanup.
2016-08-09 14:46:11 -07:00
Adam Ierymenko
774c7e0ea5
Put CONFIG_REFRESH back.
2016-08-09 13:52:08 -07:00
Adam Ierymenko
4d498b3765
Handling of multi-part chunked network configs on the inbound side.
2016-08-09 13:14:38 -07:00
Adam Ierymenko
bcd05fbdfa
Chunking of network config replies.
2016-08-09 09:34:13 -07:00
Adam Ierymenko
2ba9343607
Encode and decode of tags and capabilities in NetworkConfig.
2016-08-09 08:32:42 -07:00
Grant Limberg
8ae07fb9c9
build number bump
2016-08-08 19:04:50 -07:00
Grant Limberg
13682bd919
Change Deployment Target to 10.7. Apparently going below 10.10 was only an issue with Swift
2016-08-08 19:02:09 -07:00
Grant Limberg
b5cab8afaa
update build number
2016-08-08 17:46:01 -07:00
Grant Limberg
c15c9775bd
explicitly link to WebKit framework
2016-08-08 17:45:52 -07:00
Adam Ierymenko
51cf49a24f
cleanup
2016-08-08 17:40:22 -07:00
Adam Ierymenko
00fd9c3a15
It builds... almost ready to test some rules engine stuff.
2016-08-08 17:33:26 -07:00
Adam Ierymenko
8007ca56aa
Refactor and tie-up of capabilities and tags and packet evaluation points. Some optimization is possible here but it is minor and we will make it work first.
2016-08-08 16:50:00 -07:00
Grant Limberg
8d7f851b4e
Now translated. One minor crash to figure out.
2016-08-07 20:19:36 -07:00
Grant Limberg
5b13b282ed
Replace JoinNetworkViewController with obj-c
2016-08-07 19:13:12 -07:00
Grant Limberg
d965768004
Replaced the network list with Obj-C
2016-08-07 18:19:47 -07:00
Grant Limberg
a91187e60e
Convert NetworkMonitor to obj-c
2016-08-07 17:25:34 -07:00
Grant Limberg
179324e44a
Replace Preferences view. Removed LaunchAtLoginController and replaced with simpler code
2016-08-07 16:34:54 -07:00
Grant Limberg
c6dba50e35
replace AboutViewController
2016-08-07 15:18:32 -07:00
Grant Limberg
b51d68a419
replace ServiceCom with objc class
2016-08-06 19:45:58 -07:00
Grant Limberg
a0db48571d
Convert Network to OBJC
2016-08-06 18:50:50 -07:00
Adam Ierymenko
4d7f625aa1
.
2016-08-05 15:55:38 -07:00
Adam Ierymenko
e2f783ebbd
.
2016-08-05 15:02:01 -07:00
Grant Limberg
7a12d8193b
Replace NodeStatus object with Obj-C Class
2016-08-04 17:55:57 -07:00
Adam Ierymenko
4d9b74b171
.
2016-08-04 15:27:20 -07:00
Adam Ierymenko
37d139177d
Integrate Filter into OutboundMulticast properly.
2016-08-04 13:01:14 -07:00
Adam Ierymenko
8a7753cfe3
Filter cleanup, prep for filter integration in a few places.
2016-08-04 12:35:25 -07:00
Adam Ierymenko
331382cf2f
More cleanup and a tiny federation prep item.
2016-08-04 12:14:13 -07:00
Adam Ierymenko
98152d974a
More cleanup and removal of DeferredPackets, will do the latter in a more elegant way.
2016-08-04 11:40:38 -07:00
Adam Ierymenko
56febbf2ba
.
2016-08-04 10:39:28 -07:00
Adam Ierymenko
5cf410490e
.
2016-08-04 10:18:33 -07:00
Adam Ierymenko
404a0bbddd
...
2016-08-04 09:51:15 -07:00
Adam Ierymenko
f057bb63cd
More work on tags and capabilities.
2016-08-04 09:02:35 -07:00
Adam Ierymenko
7e6e56e2bc
Bunch of work on pushing and replication of tags and capabilities, and protocol cleanup.
2016-08-03 18:04:08 -07:00
Adam Ierymenko
67cb03742e
Add tag rules and split out rule serialize/deserialize so the code can be reused.
2016-08-03 14:12:38 -07:00
Grant Limberg
a08246ce5d
update build number
2016-08-02 20:30:49 -07:00
Grant Limberg
f54d5e9e8f
the quest for leaks is over.
...
Why a singleton doesn't leak, vs calling static methods on a class is beyond me
2016-08-02 20:30:09 -07:00
Adam Ierymenko
91940cbcf5
Kill network preferred relays -- this feature is gone (and was seldom used anyway) in favor of federation.
2016-08-02 14:40:26 -07:00
Joseph Henry
77bd8aacd1
merge cli from edge
2016-08-02 13:50:09 -07:00
Adam Ierymenko
ecc1324bb0
Rules engine work: capability based security model with tags and capabilities, and some cleanup across other places.
2016-08-02 13:36:17 -07:00
Adam Ierymenko
d3b0081447
Cleanup...
2016-07-28 12:09:58 -07:00
Adam Ierymenko
22e44c762b
More rules engine work: key/value pair matching for microsegmentation.
2016-07-28 10:58:10 -07:00
Grant Limberg
78e5a00a68
Only poll the ZeroTier service when the menu or Network List are visible. Reduces CPU idle prevention by a a LOT
2016-07-26 20:31:06 -07:00
Grant Limberg
b9a4d138fc
only update the network list view if it's visible
2016-07-26 20:05:33 -07:00
Grant Limberg
36a9aff283
Show "About" view on first run.
...
Still needs some work to show up in the right place
2016-07-26 20:04:59 -07:00
Grant Limberg
e1755e569e
build number bump
2016-07-26 19:16:33 -07:00
Grant Limberg
ae374a78fc
add some non Lorem Ipsum content to the about page
2016-07-26 19:15:12 -07:00
Grant Limberg
62befe006d
Route clicked links in the web view to the default web browser
2016-07-26 18:21:39 -07:00
Adam Ierymenko
1e6e112806
Dockerfile for building zerotier/zerotier-containerized for CoreOS et al.
2016-07-26 17:08:09 -07:00
Adam Ierymenko
830250759c
Fix for running under MUSL libc (e.g. Alpine Linux)
2016-07-26 16:39:02 -07:00
Adam Ierymenko
13100b245c
Fix for running under MUSL libc (e.g. Alpine Linux)
2016-07-26 16:36:20 -07:00
Adam Ierymenko
4929be08f7
Cleanup and stub out new object transfer messages.
2016-07-26 12:33:51 -07:00
Adam Ierymenko
088bbd1c08
Filter fixes.
2016-07-25 17:03:26 -07:00
Adam Ierymenko
7404eb46c4
Integration of Filter into inbound and outbound packet path.
2016-07-25 16:51:10 -07:00
Adam Ierymenko
eaf6d6c938
Basic L2/L3 filter for rules engine (not integrated yet) and some cleanup.
2016-07-25 15:52:16 -07:00
Adam Ierymenko
02d288e9d4
Merge branch 'dev' of Y:/ZeroTier/ZeroTierOne into dev
2016-07-21 20:45:17 -07:00
Adam Ierymenko
6f15c4a561
1.1.14 Windows version stuff
2016-07-21 20:45:05 -07:00
Adam Ierymenko
ae491c277e
VERSION 1.1.14: bug fixes!
...
This version fixes two bugs: a possible infinite loop when using network-specific relays,
and a bug causing a crash on Android.
2016-07-21 20:29:15 -07:00
Adam Ierymenko
ebe7e15475
sys/sysctl.h is required on OSX and probably other BSD
2016-07-21 19:21:51 -07:00
Adam Ierymenko
dced40361b
Bump version in most places to 1.1.14
2016-07-21 19:15:03 -07:00
Adam Ierymenko
faf864b8a2
Merge branch 'master' into dev
2016-07-21 19:07:50 -07:00
Adam Ierymenko
8a23d764de
Merge branch 'master' of http://10.6.6.2/zerotier/ZeroTierOne
2016-07-21 19:06:31 -07:00
Adam Ierymenko
f21af60a13
Init trusted path count to zero. Meh.
2016-07-21 19:06:18 -07:00
Adam Ierymenko
10564d8e14
Init trusted path count to zero. Meh.
2016-07-21 19:05:14 -07:00
Adam Ierymenko
095aef5f30
Merge pull request #348 from the-maldridge/remove-sysctl
...
Remove explicit sys/sysctl.h includes
2016-07-21 15:16:22 -07:00
Adam Ierymenko
145ac31c8a
Merge pull request #362 from mwarning/space-between-literal-and-string-macro
...
C++11 requires a space between literal and string macro
2016-07-21 15:16:05 -07:00
Adam Ierymenko
b7a5f783ba
Merge pull request #364 from mwarning/fortify-source-needs-optimization-flag
...
fix _FORTIFY_SOURCE warning
2016-07-21 15:15:42 -07:00
Adam Ierymenko
3d25a2ea02
Merge pull request #363 from mwarning/move-declaration-out-of-scope
...
move sourceAddress out of scope
2016-07-21 15:15:27 -07:00
Moritz Warning
76b785c90f
fix _FORTIFY_SOURCE warning
...
warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
2016-07-21 23:08:58 +02:00
Moritz Warning
b3073f44a2
move sourceAddress out of scope
...
sourceAddress is used in the catch block
2016-07-21 23:03:04 +02:00
Moritz Warning
bcdd158ad8
C++11 requires a space between literal and string macro
2016-07-21 22:41:02 +02:00
Grant Limberg
693ac4e86c
add web view and placeholder about page with ZT logo and lorem ipsum
2016-07-19 19:12:41 -07:00
Adam Ierymenko
6320879fe1
Fix for GitHub issue #358 and bump version to 1.1.13 (dev)
2016-07-18 10:56:33 -07:00
Grant Limberg
2afe3d89d0
Merge branch 'master' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne
2016-07-14 19:29:10 -07:00
Grant Limberg
8a15b42dab
switch to GCC for Android
2016-07-14 19:29:00 -07:00
Adam Ierymenko
4b9e84f42f
docs
2016-07-14 17:47:32 -07:00
Adam Ierymenko
ba87640e4c
Release howto for internal use.
2016-07-14 17:46:22 -07:00
Adam Ierymenko
a5400e0162
Windows installer now installs a batch file and Path variable settings to make zerotier-cli work in the Windows CLI (1.1.12 MSI updated on web for this too) and a Chocolatey packaging job for ZeroTier One.
2016-07-14 17:09:40 -07:00
Adam Ierymenko
bdc3b0834b
VERSION 1.1.12: yet another minor fix to managed routes
...
This version just contains another minor fix to managed routes for
GitHub issue #352 .
2016-07-12 15:09:44 -07:00
Adam Ierymenko
1a285e5342
Version bump again. Slack has updated their client twice in one day so its okay.
2016-07-12 15:03:06 -07:00
Adam Ierymenko
8912515011
Fix to fix to GitHub issue #352
2016-07-12 15:00:30 -07:00
Adam Ierymenko
6ec3464ee9
JSON fix for trusted paths (does not affect normal op)
2016-07-12 13:58:15 -07:00
Adam Ierymenko
4b5e43ab0d
VERSION 1.1.10: minor managed route fixes
...
Version 1.1.10 is a minor bug fix release. It fixes the following two issues:
* Routes are no longer added 'via' IP addresses of the current node's ZT interface.
* IPv6 default route is now fixed on Mac.
* IP addresses are now deleted before new ones are added to allow changes to netmask
on Mac and some other platforms.
This version also quietly introduces a feature called trusted paths. We'll be
documenting this in our community section soon. This is an experimental feature
for in-LAN SDN use.
2016-07-12 13:37:38 -07:00
Adam Ierymenko
a6d9ae3a36
Man page fix on fedora-22
2016-07-12 13:30:15 -07:00
Adam Ierymenko
34e7c8652a
Version bumps.
2016-07-12 12:30:35 -07:00
Adam Ierymenko
1861f67fa7
Version bump to 1.1.10
2016-07-12 12:21:36 -07:00
Adam Ierymenko
b5e9d3f6f4
Rename file to be intuitive.
2016-07-12 11:41:19 -07:00
Adam Ierymenko
9785fde32a
Trusted paths work!
2016-07-12 11:40:45 -07:00
Adam Ierymenko
9657675755
Plumbing through trusted path stuff to OneService.
2016-07-12 11:30:22 -07:00
Adam Ierymenko
5d7174b162
Go back to bundling libhttp-parser on Debian, at least for our own internally-created packages, since this library has a massively unstable ABI and causes nothing but problems if referenced from the distro.
2016-07-12 10:11:00 -07:00
Adam Ierymenko
cdb5ceac7b
Should remove old IPs before trying to add new ones.
2016-07-12 09:43:12 -07:00
Adam Ierymenko
23391ff9da
More OSX IPv6 fixes.
2016-07-12 09:22:04 -07:00
Adam Ierymenko
3f2b21ce71
Do not shadow our own route twice on Mac if there is no default route. (Fix for issue found during IPv6 default route override testing.)
2016-07-12 08:55:57 -07:00
Adam Ierymenko
6535730255
GitHub issue #352
2016-07-12 08:42:36 -07:00
Adam Ierymenko
765082fdb6
Trusted path support, and version bump to 1.1.9
2016-07-12 08:29:50 -07:00
Adam Ierymenko
aff62e9e10
Version bump in Mac pkg.
2016-07-08 14:28:34 -07:00
Adam Ierymenko
2d598dd433
Automatically add symlinks to redhat distro.
2016-07-08 14:25:25 -07:00
Adam Ierymenko
f86e9b7df2
Bump version in RPM spec and DEB.
2016-07-08 13:57:16 -07:00
Adam Ierymenko
898d889537
VERSION 1.1.8: minor Linux bug fix, controller fixes, controller doc improvements
...
1.1.8 is a very minor update. It contains a small fix to IP address management
on Linux but other than that there are no changes to the regular ZeroTier One
code.
The 1.1.8 controller contains several fixes and improvements:
* Network authorizedMemberCount works again
* Managed IP addresses are pushed as long as they fall within a LAN-local managed
route. The v4AssignMode and v6AssignMode settings only control automatic IP
assignment from pools. In previous versions v4AssignMode had to be on for IPs
to be pushed at all, making it impossible to just manually assign IPs.
* IPv6 now has an auto-assign mode ('zt' to match V4) that can work alongside the
special RFC4193 and 6PLANE modes (though it is not NDP emulated). If this is
enabled IPv6 addresses will be auto-assigned from IPv6 ranges in the assignment
pool list.
* Controller documentation is MUCH better! See controller/README.md for actual
useful information!
Finally 1.1.8 has several improvements to linux-build-farm including Debian wheezy
support.
2016-07-08 13:53:37 -07:00
Adam Ierymenko
0e2964261f
docs
2016-07-08 13:42:04 -07:00
Adam Ierymenko
ffe7d8d024
docs
2016-07-08 13:40:21 -07:00
Adam Ierymenko
c01ebbcbde
docs
2016-07-08 13:38:47 -07:00
Adam Ierymenko
a6e5914aa7
docs
2016-07-08 13:37:51 -07:00
Adam Ierymenko
6d8de214eb
Docs and controller API version
2016-07-08 13:10:02 -07:00
Adam Ierymenko
5bf3c54cd3
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-07-08 10:08:06 -07:00
Adam Ierymenko
959b64777f
1.1.8 bump
2016-07-08 10:08:01 -07:00
Grant Limberg
be0af135bc
update JNI code for 1.1.6
2016-07-07 20:07:07 -07:00
Adam Ierymenko
2d7c58540f
v6AssignMode bug fix
2016-07-07 17:05:12 -07:00
Adam Ierymenko
951038a304
Ignore /bits in IP assignments and just copy it from the corresponding LAN-local route. Having each managed IP assignment have its own bits field was just a source of user error and poor UX and was completely worthless.
2016-07-07 16:28:43 -07:00
Adam Ierymenko
912ee199ed
Tiny fixes to LinuxEthernetTap
2016-07-07 16:10:36 -07:00
Adam Ierymenko
b9329dc49a
Fix to IPv6 picking for small ranges.
2016-07-07 15:55:40 -07:00
Adam Ierymenko
6e08e1ae97
A few controller changes: (1) assign managed IPs that are assigned regardless of "assign mode" which now only controls auto-assignment or special addressing, (2) support proper issuing of managed IPv6 IPs, (3) support IPv6 auto-assign ranges
2016-07-07 15:42:10 -07:00
Adam Ierymenko
dd1d2b4d00
GitHub issue #343 -- fix authorizedMemberCount
2016-07-07 14:49:54 -07:00
Adam Ierymenko
f6d53cc568
.
2016-07-06 18:12:31 -07:00
Adam Ierymenko
b6cc815447
.
2016-07-06 18:07:42 -07:00
Adam Ierymenko
ddbbb8afec
Wheezy stuff
2016-07-06 18:04:13 -07:00
Adam Ierymenko
a8a497c621
Debian wheezy work.
2016-07-06 17:59:08 -07:00
Michael Aldridge
1a89694980
Remove explicit sys/sysctl.h includes
...
Explicitly including sys/sysctl.h breaks the ability to build
against muslc.
2016-07-06 02:38:23 -05:00
Adam Ierymenko
5c03416e84
Actually remove http-parser-devel
2016-07-05 14:28:58 -07:00
Adam Ierymenko
b732c445b8
Xenial fix (clang broken) and bundle http-parser even in Fedora because it is so version sensitive.
2016-07-05 14:09:33 -07:00
Adam Ierymenko
97ec88e346
.
2016-07-05 12:30:58 -07:00
Adam Ierymenko
192bc4fcf0
More repo work.
2016-07-05 10:54:07 -07:00
Grant Limberg
0e6065e3d5
another build number bump
2016-06-30 21:25:14 -07:00
Grant Limberg
a156fec25a
put node ID into the main menu.
...
Clicking on the menu item copies the node ID into the clipboard.
2016-06-30 21:24:45 -07:00
Grant Limberg
fe725f9995
fix a case where the "Allow Default" checkbox would be enabled when a network wasn't connected.
2016-06-30 20:35:32 -07:00
Grant Limberg
58207b30d1
now that the network details list uses the default background color of the pane its embedded in, we don't have to force to the "Light" theme, even if the user has selected the "dark" theme for the top menu bar.
2016-06-30 20:28:04 -07:00
Grant Limberg
f4192d7b9e
added separator between items in the network detail list
2016-06-30 20:17:33 -07:00
Grant Limberg
e747692727
remove background from network details view
2016-06-30 20:07:22 -07:00
Grant Limberg
d786c5265f
bump version number
2016-06-30 19:46:59 -07:00
Grant Limberg
ba0a45365c
Work around for several strange corner cases in Automatic Reference Counting in Apple's runtime
2016-06-30 19:42:23 -07:00
Adam Ierymenko
fc4ea57a9c
debian-stretch
2016-06-30 18:03:06 -07:00
Adam Ierymenko
751497a748
aptly script
2016-06-30 16:44:22 -07:00
Adam Ierymenko
c714e8baa6
Get rid of broken test code for controller so selftest build works with controller enabled.
2016-06-30 08:30:45 -07:00
Adam Ierymenko
2331a00555
Fedora-22 32-bit fix.
2016-06-29 18:53:31 -07:00
Adam Ierymenko
4218cd13d5
VERSION 1.1.6: route management, default route override, new IPv6 mode for Docker, and more!
...
(Retagged due to silly one-line bug and left over debug line... doh!)
Version 1.1.6 contains several significant improvements for use in complex network
environments along with some minor bug fixes and improvements to path stability and
dead path detection.
ROUTE MANAGEMENT AND FULL TUNNEL SUPPORT
1.1.6 is the first version of ZeroTier One to permit "full tunnel" (default route
override) operation on Linux, Mac, and Windows. This allows all Internet traffic
to be tunneled through ZeroTier while allowing ZeroTier peer-to-peer traffic to
continue to use the physical interface. 1.1.6 also brings route management support
and permissions settings for local networks to control whether networks are allowed
to modify the routing table or override default routing.
This is currently considered a beta/experimental feature and must be enabled via
the command line interface.
Route management and default route override requires support at the network controller.
When my.zerotier.com is updated and ready, we will post more information and testing
instructions at: https://www.zerotier.com/community
HIGHLY SCALABLE CONTAINER NETWORKING
1.1.6 also brings a new multicast-free (NDP emulated) IPv6 private addressing scheme
called "6plane." 6plane provides each host with a private IPv6 /80 and routes *all*
IPv6 traffic for this subnet to the host via transparent NDP emulation. This /80 can
then be assigned to Docker or other container/VM managers to assign a network-wide
IPv6 /128 to every container. Since NDP is emulated and multicast isn't needed, this
system can scale to millions of containers or more on a single backplane network with
a high degree of efficiency and reliability.
6plane also requires controller support. Look for it at my.zerotier.com once we have
upgraded our core infrastructure and web UIs.
(All hosts must be running 1.1.6 for 6plane to work properly. Other IPv6 addresses
or addressing modes are not affected and normal IPv6 NDP will continue to work
alongside 6plane in the same network.)
OTHER CHANGES
* Upgraded bundled miniupnpc, libnatpmp, and http-parser.
* New Debian and RPM packaging that is closer to compliance with distribution
guidelines, and a new Dockerized Linux package build system in linux-build-farm/
that can build every package on actual images of the correct distribution.
* Improvements to dead path detection.
* IPv6 now uses keepalive because a significant number of stateful IPv6 edge
routers have very short timeouts (30 seconds or less!).
* Significant performance improvements to network controllers under high load.
* Enable -fstack-protector-strong for better stack canary (security) support
in binaries. Note that this may require newer gcc/g++ or clang.
COMING SOON
The next version of ZeroTier One should have a new Mac UI. It's a system tray app
that looks and behaves a lot like the Mac WiFi pulldown menu. We'll also be adding
GUI support for default route and route management options and other new features.
Shortly after that we plan on adding full OpenFlow-like SDN rules engine support
to the ZeroTier core, making our planetary Ethernet switch a fully manageable smart
switch and enabling sophisticated security and flow rule management.
2016-06-29 18:16:58 -07:00
Adam Ierymenko
030dfde38e
Unused printf removal while we are at it.
2016-06-29 18:14:49 -07:00
Adam Ierymenko
901e2fd692
Fix silly one-liner bug... retag time.
2016-06-29 18:12:35 -07:00
Adam Ierymenko
c03ca3c278
VERSION 1.1.6: route management, default route override, new IPv6 mode for Docker, and more!
...
Version 1.1.6 contains several significant improvements for use in complex network
environments along with some minor bug fixes and improvements to path stability and
dead path detection.
ROUTE MANAGEMENT AND FULL TUNNEL SUPPORT
1.1.6 is the first version of ZeroTier One to permit "full tunnel" (default route
override) operation on Linux, Mac, and Windows. This allows all Internet traffic
to be tunneled through ZeroTier while allowing ZeroTier peer-to-peer traffic to
continue to use the physical interface. 1.1.6 also brings route management support
and permissions settings for local networks to control whether networks are allowed
to modify the routing table or override default routing.
This is currently considered a beta/experimental feature and must be enabled via
the command line interface.
Route management and default route override requires support at the network controller.
When my.zerotier.com is updated and ready, we will post more information and testing
instructions at: https://www.zerotier.com/community
HIGHLY SCALABLE CONTAINER NETWORKING
1.1.6 also brings a new multicast-free (NDP emulated) IPv6 private addressing scheme
called "6plane." 6plane provides each host with a private IPv6 /80 and routes *all*
IPv6 traffic for this subnet to the host via transparent NDP emulation. This /80 can
then be assigned to Docker or other container/VM managers to assign a network-wide
IPv6 /128 to every container. Since NDP is emulated and multicast isn't needed, this
system can scale to millions of containers or more on a single backplane network with
a high degree of efficiency and reliability.
6plane also requires controller support. Look for it at my.zerotier.com once we have
upgraded our core infrastructure and web UIs.
(All hosts must be running 1.1.6 for 6plane to work properly. Other IPv6 addresses
or addressing modes are not affected and normal IPv6 NDP will continue to work
alongside 6plane in the same network.)
OTHER CHANGES
* Upgraded bundled miniupnpc, libnatpmp, and http-parser.
* New Debian and RPM packaging that is closer to compliance with distribution
guidelines, and a new Dockerized Linux package build system in linux-build-farm/
that can build every package on actual images of the correct distribution.
* Improvements to dead path detection.
* IPv6 now uses keepalive because a significant number of stateful IPv6 edge
routers have very short timeouts (30 seconds or less!).
* Significant performance improvements to network controllers under high load.
* Enable -fstack-protector-strong for better stack canary (security) support
in binaries. Note that this may require newer gcc/g++ or clang.
COMING SOON
The next version of ZeroTier One should have a new Mac UI. It's a system tray app
that looks and behaves a lot like the Mac WiFi pulldown menu. We'll also be adding
GUI support for default route and route management options and other new features.
Shortly after that we plan on adding full OpenFlow-like SDN rules engine support
to the ZeroTier core, making our planetary Ethernet switch a fully manageable smart
switch and enabling sophisticated security and flow rule management.
2016-06-29 15:53:46 -07:00
Adam Ierymenko
af2268ebd7
docs
2016-06-29 15:33:18 -07:00
Adam Ierymenko
b9876d1809
docs
2016-06-29 15:30:49 -07:00
Adam Ierymenko
e64909cdcd
docs
2016-06-29 15:24:45 -07:00
Adam Ierymenko
ce2ad69e5f
Get rid of aptly script.
2016-06-29 14:44:29 -07:00
Adam Ierymenko
56fb08621e
amazon-2016.03 docker image
2016-06-29 14:35:53 -07:00
Adam Ierymenko
4457c8218d
Auto-detect miniupnpc 2.0 and use it on Linux if present.
2016-06-29 13:27:10 -07:00
Adam Ierymenko
c862f199e3
Windows: ship it!
2016-06-29 13:22:04 -07:00
Adam Ierymenko
7918b26f65
Hack settings into old CLI.
2016-06-29 12:22:37 -07:00
Adam Ierymenko
df00d3b046
Going to have to continue to use the old MAC web-container-based UI on Macs prior to 10.10 even when the new UI comes out, and the new UI is not ready yet anyway, so resurrect this.
2016-06-29 12:00:16 -07:00
Adam Ierymenko
19735e7050
Revert backgrounding of controller requests hack. Controller code is not really parallel anyway and we fixed the perf problem.
2016-06-29 11:43:22 -07:00
Adam Ierymenko
bb63646682
Fix broken SQL in controller.
2016-06-29 11:37:28 -07:00
Adam Ierymenko
b4fcf2ee60
Fix a valgrind warning.
2016-06-29 11:11:16 -07:00
Adam Ierymenko
d9eacd1616
Controller fixes...
2016-06-29 17:02:03 +00:00
Adam Ierymenko
5309c7e082
Merge branch 'dev' of https://github.com/zerotier/ZeroTierOne into dev
2016-06-29 16:47:57 +00:00
Adam Ierymenko
dbe57742e6
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-06-29 09:45:05 -07:00
Adam Ierymenko
928c625e2c
docs
2016-06-29 09:45:02 -07:00
Adam Ierymenko
1e00603241
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-06-28 16:09:41 -07:00
Adam Ierymenko
f6442f2752
fedora-22
2016-06-28 16:09:36 -07:00
Adam Ierymenko
7b7ab823b0
Fix getPeer(self) bug if I am the controller.
2016-06-28 22:49:01 +00:00
Adam Ierymenko
0410fd4824
Refactor recent member request history to fix performance problem in controller.
2016-06-28 12:44:47 -07:00
Adam Ierymenko
02fa32422a
Dockerfile ordering
2016-06-27 20:07:35 -07:00
Grant Limberg
decb4261d4
wire up control to launch at startup in preferences
2016-06-27 19:14:15 -07:00
Grant Limberg
b0971e3a01
setup launch at login on first start
2016-06-27 19:04:55 -07:00
Adam Ierymenko
12037961ff
small perf improvement in sqlite db.
2016-06-27 18:48:02 -07:00
Adam Ierymenko
8c572dead1
Query optimization.
2016-06-27 18:28:18 -07:00
Grant Limberg
583cd25506
slightly resize icons
2016-06-27 18:05:17 -07:00
Grant Limberg
1beacc8c32
wire up network delete again
2016-06-27 17:54:54 -07:00
Adam Ierymenko
3ddfebe742
dead code removal
2016-06-27 17:15:39 -07:00
Adam Ierymenko
972bbb7e06
Allow further concurrency on network controller.
2016-06-27 17:14:47 -07:00
Adam Ierymenko
45f315e603
Defer NETWORK_CONFIG_REQUEST packets and allow multithreaded processing.
2016-06-27 17:09:04 -07:00
Adam Ierymenko
b9e86103cf
Docker build farm seems to work!
2016-06-27 16:38:08 -07:00
Adam Ierymenko
0588589d57
.
2016-06-27 16:21:55 -07:00
Adam Ierymenko
4d30f60bbe
.
2016-06-27 16:12:17 -07:00
Adam Ierymenko
d58dcf29cc
For now go back to bundling http-parser etc. in our official RPM builds since this introduces an EPEL dependency for CentOS which would only make sense if we are actually in EPEL. Probably will eventually have two spec files: one for official and one for our own.
2016-06-27 15:46:54 -07:00
Adam Ierymenko
809457599a
CentOS7 fixes.
2016-06-27 15:21:24 -07:00
Adam Ierymenko
2d19fb7f8c
More RPM fixes.
2016-06-27 15:08:51 -07:00
Adam Ierymenko
2c9401ed74
CentOS6 fix.
2016-06-27 14:56:40 -07:00
Adam Ierymenko
af23596c34
Put everything in /usr/sbin on Linux.
2016-06-27 14:45:38 -07:00
Adam Ierymenko
233945e60f
More Dockerfile fixes, and do not use "ln -r" since it is not supported on older Linux distributions.
2016-06-27 14:36:58 -07:00
Adam Ierymenko
147f735333
More build fixes.
2016-06-27 14:21:54 -07:00
Adam Ierymenko
8de5b2beda
RPM build fixes -- use RPM cflags, spec fixes, etc.
2016-06-27 09:25:34 -07:00
Adam Ierymenko
b02c3dfe8d
Debian dependency for iproute2
2016-06-27 08:48:09 -07:00
Adam Ierymenko
c5d3895313
ZeroTier One requires /sbin/ip (RPM-based distros)
2016-06-27 08:47:09 -07:00
Grant Limberg
9f880d07ab
build number change
2016-06-26 18:21:26 -07:00
Grant Limberg
3fc11e2278
misc bug fixes related to default routes
2016-06-26 18:18:59 -07:00
Grant Limberg
1756e8b0f2
Wire up checkboxes for allowGlobal, allowDefault, allowManaged to set the proper state in zerotier daemon
...
checkboxes are disabled if the network is not currently connected.
2016-06-26 17:33:46 -07:00
Grant Limberg
d57e343245
add UI elements in network details for allowDefault, allowGlobal, allowManaged
2016-06-26 17:21:45 -07:00
Grant Limberg
7e17a2072c
add allowManaged, allowGlobal, allowDefault to Network object
2016-06-26 16:41:52 -07:00
Grant Limberg
9c94d6527a
add allowGlobal, allowDefault, allowManaged options to joining a network
2016-06-26 16:11:30 -07:00
Adam Ierymenko
d20bcdae12
CentOS 6 Docker build.
2016-06-25 16:27:28 -07:00
Adam Ierymenko
81cd68b60d
.
2016-06-25 14:07:02 -07:00
Adam Ierymenko
0582b3daba
.
2016-06-25 14:06:40 -07:00
Adam Ierymenko
af0a205594
Build and spec file updates for CentOS6
2016-06-25 14:04:08 -07:00
Adam Ierymenko
06e2e8119e
Script to create Debian repos (requires aptly)
2016-06-24 16:23:10 -07:00
Grant Limberg
5da4fd2aef
Added "..." to menu items to signify it pops up in a window
2016-06-24 15:24:29 -07:00
Grant Limberg
e621058cfd
build number 5
2016-06-24 15:24:03 -07:00
Adam Ierymenko
8b78f19335
More build targets.
2016-06-24 14:57:20 -07:00
Adam Ierymenko
9784393b15
More Linux Docker build farm targets.
2016-06-24 14:45:09 -07:00
Adam Ierymenko
65da797112
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
2016-06-24 14:19:01 -07:00
Adam Ierymenko
75fe981b9d
Bump version.
2016-06-24 14:18:28 -07:00
Adam Ierymenko
caaf33e4cf
Bump version.
2016-06-24 10:20:35 -07:00
Adam Ierymenko
d642db6f66
Changes for Debian packaging to prep for 1.1.6 interim.
2016-06-24 10:19:41 -07:00
Adam Ierymenko
3740b83f63
Don't back up sqlite db if it hasn't changed to prevent constant thrashing on inactive controllers.
2016-06-24 06:53:23 -07:00
Adam Ierymenko
90cdef8400
Forgot NDP emulation flag.
2016-06-24 06:43:23 -07:00
Adam Ierymenko
ee649ae69a
Add 6plane assignment support to network controller, and cleanup.
2016-06-24 06:40:50 -07:00
Adam Ierymenko
20d155e630
.
2016-06-24 05:21:25 -07:00
Adam Ierymenko
be5996daca
Cleanup of 6plane stuff.
2016-06-24 04:54:05 -07:00
Adam Ierymenko
38dfebad8c
IPv6 NDP emulation flag in NetworkConfig, and implement Docker-friendly
...
(and other host friendly) IPv6 /80 magic subnetting to allow massive
multicast-free NDP emulated IPv6 networks where each host can have a
/48 worth of IPv6 IPs for internal containers, VMs, etc.
Alan Kay, thou art avenged.
https://ivanovivan.wordpress.com/2010/09/13/alan-kay-quotes/
2016-06-23 22:41:14 -07:00
Grant Limberg
f2e2632ae7
Added About view
...
also not yet populated
2016-06-23 20:22:03 -07:00
Grant Limberg
35d1736c97
add preferences view
...
not populated yet
2016-06-23 20:04:57 -07:00
Grant Limberg
3c534abc99
"Show Networks" -> "Network Details"
2016-06-23 19:48:48 -07:00
Grant Limberg
c3deedd6fd
Fix menu bar icon. Add app icon.
2016-06-23 19:44:00 -07:00
Adam Ierymenko
a5a05e454e
cli work...
2016-06-23 17:00:33 -07:00
Adam Ierymenko
32d9850263
More new CLI work.
2016-06-23 12:37:15 -07:00
Adam Ierymenko
a5ea8cc5cb
.
2016-06-22 17:56:36 -07:00
Adam Ierymenko
0ad6b4105a
Outline of new CLI with ability to control controllers/central as well as service.
2016-06-22 17:54:07 -07:00
Grant Limberg
b256111a17
misc cleanup
2016-06-21 20:02:18 -07:00
Grant Limberg
b5a90a437b
update build number
2016-06-21 19:45:08 -07:00
Grant Limberg
6d114b7480
dynamically generate the menu so that networks are listed
...
can join/leave networks directly from the menu
2016-06-21 19:44:59 -07:00
Adam Ierymenko
f765597526
Add network local.conf stuff to save network permission settings and wire it all through via the JSON API. Default route and route management stuff just about done.
2016-06-21 16:52:49 -07:00
Adam Ierymenko
8ca4f22f1d
cleanup
2016-06-21 15:53:38 -07:00
Adam Ierymenko
674b84d908
Plumbing for network setting control, and GitHub issue #330
2016-06-21 14:58:30 -07:00
Adam Ierymenko
e2ca239be0
Comment cleanup.
2016-06-21 14:38:15 -07:00
Adam Ierymenko
4f237687ce
Route management now works on Windows, including default route override! 1.1.6 very close!
2016-06-21 13:54:03 -07:00
Adam Ierymenko
5b2d2efb45
Windows builds again. And there was much rejoicing.
2016-06-21 12:55:43 -07:00
Adam Ierymenko
82473c85e0
Default route override and route management in general now works in Linux.
2016-06-21 12:32:58 -07:00
Adam Ierymenko
51ced0cf41
GitHub issue #338
2016-06-21 09:41:55 -07:00
Adam Ierymenko
6c4a444f29
GitHub issue #339
2016-06-21 09:40:53 -07:00
Adam Ierymenko
330c80f3f5
Add rule type to match a COM field of the peer by ID and value because this will be powerful.
2016-06-21 08:09:20 -07:00
Adam Ierymenko
eee59ec9ce
Fix Buffer<> version of Dictionary.get().
2016-06-21 08:00:40 -07:00
Adam Ierymenko
0959d33ba0
Add a few technically unnecessary but feel-good paranoia bounds checks in Dictionary.get().
2016-06-21 07:59:42 -07:00
Adam Ierymenko
ca82715bfa
Another fuzzing code fix.
2016-06-21 07:52:32 -07:00
Adam Ierymenko
0c05b2cb50
Comment cleanup and fuzzing improvements.
2016-06-21 07:49:46 -07:00
Adam Ierymenko
b2d048aa0e
Make Dictionary templatable so it can be used where we want a higher capacity.
2016-06-21 07:32:58 -07:00
Adam Ierymenko
3ee15e65aa
Tying up default route and route mgmt loose ends. It now periodically updates shadow routes so hopefully your link will stay up as you move around.
2016-06-17 13:14:48 -07:00
Grant Limberg
c8f85ffec9
Factored network updates into its own class. Delivered via notification
2016-06-16 20:53:55 -07:00
Adam Ierymenko
1bf1c38b30
Default route population works on Mac!
2016-06-16 18:23:33 -07:00
Adam Ierymenko
eb4a78bcc3
Report routes in locally joined network JSON.
2016-06-16 17:40:32 -07:00
Adam Ierymenko
37afa876a7
Linux bug fixes, small controller fix.
2016-06-17 00:21:58 +00:00
Adam Ierymenko
601c51b351
Bug fix.
2016-06-16 23:18:20 +00:00
Adam Ierymenko
20d4dada40
Refactor controller for new merged format.
2016-06-16 16:05:57 -07:00
Adam Ierymenko
901b75e756
New format now integrated, and it works.
2016-06-16 15:48:58 -07:00
Adam Ierymenko
bc3d7d11fe
Remove netcon from dev branch. This is moving to its own new ZeroTierSDK repo for future release under the SDK name.
2016-06-16 14:50:08 -07:00
Adam Ierymenko
490d20e8fb
Self test for dictionary, and fixes.
2016-06-16 14:45:36 -07:00
Adam Ierymenko
2113c21fdc
devicemap now works again in OSXEthernetTap
2016-06-16 14:09:09 -07:00
Adam Ierymenko
e09c1a1c11
Big refactor mostly builds. We now have a uniform backward compatible netconf.
2016-06-16 12:28:43 -07:00
Adam Ierymenko
b104bb4762
New super-packed dictionary -- we are going back to a backward compatibile format with the old netconf but in an embedded-friendly way. This is simpler.
2016-06-15 18:47:35 -07:00
Adam Ierymenko
f41ea24e97
Build fixes.
2016-06-16 00:11:46 +00:00
Adam Ierymenko
3c655a4b84
Default route ready to test on Mac.
2016-06-15 15:46:57 -07:00
Adam Ierymenko
b90e66f7c7
ManagedRoute, which applies C++ RAII to injected routes. Move RoutingTable to attic.
2016-06-15 15:02:40 -07:00
Grant Limberg
bae0060552
add a timer to retrieve the network list every second.
2016-06-14 19:59:45 -07:00
Grant Limberg
c8750e5812
more error checking when parsing JSON for network list
...
remove "multicastSubscriptions" field as it isn't used anyway
2016-06-14 18:09:30 -07:00
Adam Ierymenko
4446dbde5e
Big refactor in service code to prep for plumbing through route management.
2016-06-14 10:09:26 -07:00
Grant Limberg
89cb0e260a
Set deployment target to 10.10 for the minimum OS X version for this app
...
I'm currently using features only available in 10.10 or above. We'll have to discuss this and see what can be done for OS X 10.7 through 10.9.
2016-06-13 19:58:21 -07:00
Grant Limberg
2c1a8524f0
remove unused variables
2016-06-13 19:56:43 -07:00
Grant Limberg
b085329bca
Base functionality complete. Can join/leave/list networks. Can disconnect from networks without removing them from the network list.
2016-06-13 19:46:54 -07:00
Adam Ierymenko
769351b30f
Fix to routes config in controller API.
2016-06-13 15:58:00 -07:00
Adam Ierymenko
734cbb2f1e
Controller modifications for default route are ready to test. Will require slight changes in ZeroTier Central when it goes live.
2016-06-10 15:58:35 -07:00
Adam Ierymenko
acbe8ad398
More controller work, and some RedHat fixes.
2016-06-10 08:26:27 -07:00
Grant Limberg
188f8021f8
Joining/Deleting networks now implemented.
...
Still need to implement known networks cache so we can join/leave networks without deleting them from the UI
2016-06-09 19:59:05 -07:00
Adam Ierymenko
9898066b47
Remove some deprecated stuff in controller -- not done yet.
2016-06-09 11:02:42 -07:00
Adam Ierymenko
82635ce606
Add flags and metric to ZT-managed routes.
2016-06-09 09:43:09 -07:00
Adam Ierymenko
8c7433a525
.
2016-06-08 17:45:25 -07:00
Adam Ierymenko
56ef9e0643
Add rpm target.
2016-06-08 16:29:30 -07:00
Adam Ierymenko
e6328dfe82
Add RPM spec conditionals to include json-parser or bundle it depending on whether we are fedora or rhel/centos/epel.
2016-06-08 16:19:38 -07:00
Adam Ierymenko
3a48e3781b
bundle miniupnpc for now... might change later.
2016-06-08 15:37:37 -07:00
Adam Ierymenko
f9056da6be
rpmbuild -ba zerotier-one.spec basically works
2016-06-08 15:33:59 -07:00
Adam Ierymenko
536feb632c
Support yet another old version of http-parser for CentOS/EPEL.
2016-06-08 15:09:09 -07:00
Adam Ierymenko
cafa41ba4d
RedHat stuff and cleanup.
2016-06-08 14:46:42 -07:00
Adam Ierymenko
196d96cfa7
Fix ronn convert problem in man page.
2016-06-08 14:08:56 -07:00
Adam Ierymenko
4e6f95e152
Build man pages with ruby-ronn on Debian.
2016-06-08 14:06:19 -07:00
Adam Ierymenko
de9fa6a334
All three init systems now covered in debian.
2016-06-08 13:30:29 -07:00
Adam Ierymenko
abd7071eaa
systemd stuff for debian
2016-06-08 13:19:08 -07:00
Adam Ierymenko
7e68791bee
Fix include for system json-parser.
2016-06-08 12:57:22 -07:00
Adam Ierymenko
6c6b18d003
Fix include for system lz4.
2016-06-08 12:50:56 -07:00
Adam Ierymenko
4da9d4e53a
Fix build against Debian version of libhttp-parser -- its old but it will work.
2016-06-08 12:49:07 -07:00
Adam Ierymenko
0ca764968a
Remove warnings, more Debian stuff, remove obsolete ui/ stuff.
2016-06-08 11:21:01 -07:00
Adam Ierymenko
62b64d39ab
Minimal debian is working.
2016-06-08 10:30:54 -07:00
Adam Ierymenko
ae87fbf8e3
make install installs man pages
2016-06-08 10:19:46 -07:00
Adam Ierymenko
2e890580fc
Stop shipping pre-build man pages since it violates Debian arcane rule #134931e+26 and add manpages build target.
2016-06-08 10:13:31 -07:00
Adam Ierymenko
afda5e684b
Make install/uninstall for Linux
2016-06-07 17:11:09 -07:00
Adam Ierymenko
9161eebc68
Carry virtual network routes through to API.
2016-06-07 12:15:19 -07:00
Adam Ierymenko
683254a0db
Don't bother signing if we are not using the legacy netconf.
2016-06-07 11:17:38 -07:00
Adam Ierymenko
2885aea65c
Only send new format netconf for PV>=6
2016-06-07 11:13:18 -07:00
Adam Ierymenko
523ea68ae2
Increment protocol version to indicate support for binary network config and config request meta-data.
2016-06-07 11:08:36 -07:00
Adam Ierymenko
ca88e1f1cf
fix size
2016-06-07 10:47:22 -07:00
Adam Ierymenko
be37d025b8
Make flags 64-bit in both network request and config.
2016-06-07 10:46:29 -07:00
Adam Ierymenko
4342b71d7a
Upgrade miniupnpc to 2.0
2016-06-02 17:04:15 -07:00
Adam Ierymenko
f20602a7b1
docs
2016-06-02 15:57:18 -07:00
Adam Ierymenko
f311b4111b
docs
2016-06-02 15:56:58 -07:00
Adam Ierymenko
61d6ada88d
.
2016-06-02 15:26:00 -07:00
Adam Ierymenko
506c74270c
Stash old Linux binary installer stuff in attic. This is going away.
2016-06-02 15:20:43 -07:00
Adam Ierymenko
4d13ddd48c
GPG public key for signing GitHub releases, etc.
2016-06-02 15:04:56 -07:00
Adam Ierymenko
cc89290eb6
last man page!
2016-06-02 14:50:38 -07:00
Adam Ierymenko
5bce3e37ee
clean doc node_modules on clean
2016-06-02 13:58:34 -07:00
Adam Ierymenko
6671d5553b
More man pages.
2016-06-02 13:56:24 -07:00
Adam Ierymenko
41b3b54bf8
man stuff
2016-06-02 13:04:46 -07:00
Adam Ierymenko
096db53822
Switch manual pages to "ronn," a program that converts MarkDown to roff man pages, and pre-build them. Also have the zerotier-cli(1) man page ready to go!
2016-06-02 12:33:28 -07:00
Adam Ierymenko
f9148bf9cb
Finally json-parser. Skip miniupnpc since some Linux distros (even newer ones) ship with an old unsafe crummy version.
2016-06-01 22:26:58 -07:00
Adam Ierymenko
a880f93166
also libnatpmp
2016-06-01 22:06:43 -07:00
Adam Ierymenko
fd81a7fe63
On Linux auto-detect presence of http-parser and lz4 and link against system libs instead of ext/ builtins (for RPM and DEB packaging effort)
2016-06-01 21:55:48 -07:00
Adam Ierymenko
65b7893a8a
add full docs to ext/json-parser (no upgrade available)
2016-06-01 18:51:22 -07:00
Adam Ierymenko
597dee40fd
upgrade ext/http-parser
2016-06-01 18:49:36 -07:00
Grant Limberg
975bcb8aff
some OS X Authentication Services wizardry to get /Library/Application Support/ZeroTier/One/authtoken.secret and copy it to ~/Library/Application Support/ZeroTier/One/authtoken.secret
2016-05-31 17:23:11 -07:00
Grant Limberg
51e74f8d4f
remove some extra logging
2016-05-31 15:01:42 -07:00
Grant Limberg
b4f3dfc347
look up authtoken in user's app support directory
2016-05-31 13:50:43 -07:00
Adam Ierymenko
2c995f1f91
IPv6 links are unfortunately not "reliable." Many IPv6 gateways, while not
...
implementing NAT, do implement stateful firewalling with absurdly short
timeouts (<60s). Keepalives are still required in IPv6.
Network engineers continue to mindlessly carry forward cruft and baggage
from IPv4 to IPv6.
2016-05-31 10:30:00 -07:00
Grant Limberg
41328eef94
.
2016-05-27 15:25:32 -07:00
Grant Limberg
59cf2ea341
add proper border around the network list
2016-05-27 15:21:23 -07:00
Grant Limberg
67d472424d
make the view show up light instead of dark
2016-05-27 15:07:20 -07:00
Grant Limberg
1d27adb102
Finished wiring up the view
2016-05-27 13:48:22 -07:00
Grant Limberg
940c0f2b93
WIP. Mac UI
2016-05-27 13:28:32 -07:00
Adam Ierymenko
68d950c344
Hack in zerotier-idtool to allow generation of vanity addresses.
2016-05-26 09:26:03 -07:00
Grant Limberg
d5620288d5
Parse JSON network list into Network objects for the view
2016-05-17 19:41:54 -07:00
Grant Limberg
da30d2898e
beginning of communicating with the zero tier service
2016-05-16 19:58:24 -07:00
Grant Limberg
40198d6c13
call super functions on a few overrides
2016-05-16 19:25:20 -07:00
Grant Limberg
4653ebc97f
add table view to show networks view
2016-05-16 19:08:00 -07:00
Adam Ierymenko
0bcc7d46a3
Disable debug code.
2016-05-16 18:39:34 -07:00
Adam Ierymenko
93b673043c
Fix new binary meta-data deserialization and add some debug code (will disable later).
2016-05-16 18:37:37 -07:00
Grant Limberg
acd6978a30
set the combo box to use a data source and remember the last 20 networks input
2016-05-16 18:26:33 -07:00
Grant Limberg
ccbd6f97cd
remove some mistakenly committed files and add .gitignore for Xcode projects
2016-05-16 18:02:26 -07:00
Grant Limberg
b4a8057994
limit the join network combobox to hex characters.
...
Join only clickable when a valid network is entered
2016-05-16 17:51:14 -07:00
Grant Limberg
225c2b095b
Initial start of the menu bar app.
...
Has menu items to join/leave networks which currently displays an empty popover from the icon (icon needs to be made still)
2016-05-14 15:42:45 -07:00
Grant Limberg
0582338015
Initial Commit
2016-05-14 13:54:49 -07:00
Grant Limberg
de1b745988
comment out a few TRACE messages that don't compile
2016-05-14 13:29:31 -07:00
Grant Limberg
efdbd6326f
compiling with C++11 requires a space between string literals
2016-05-14 13:25:40 -07:00
Adam Ierymenko
25c3d3a452
cleanup
2016-05-11 13:24:55 -07:00
Adam Ierymenko
548730660b
Ready to test whole new netconf refactor.
2016-05-11 10:19:14 -07:00
Adam Ierymenko
7ee3743c3d
Refactor controller to send both old and new format netconf.
2016-05-11 08:49:15 -07:00
Adam Ierymenko
37b89b3944
Add TCP relative sequence number criterion for documentation/posterity.
2016-05-09 17:00:17 -07:00
Adam Ierymenko
8b9519f0af
Simplify a bunch of NetworkConfig stuff by eliminating accessors, also makes network controller easier to refactor.
2016-05-06 16:13:11 -07:00
Adam Ierymenko
529515d1d1
Changes to how new-style binary network configs are detected, and a new-style binary serialized meta-data representation.
2016-05-06 13:29:10 -07:00
Adam Ierymenko
69d0562e2c
docs
2016-05-06 11:41:11 -07:00
Adam Ierymenko
7913fa7bbd
Dead code removal.
2016-05-06 11:13:34 -07:00
Adam Ierymenko
b543868351
Missing deserialize stuff.
2016-05-06 11:00:19 -07:00
Adam Ierymenko
0f17077b3d
Merge gateways and routes in netconf since they are the same thing.
2016-05-06 10:57:53 -07:00
Adam Ierymenko
9da8bf37d7
docs
2016-04-28 21:31:10 +02:00
Adam Ierymenko
e5cc487b95
Beginning of security doc and kill some obsolete defines in main include file.
2016-04-28 14:58:16 +02:00
Adam Ierymenko
726136beda
Ifdef fix.
2016-04-27 09:30:34 +02:00
Adam Ierymenko
59eb09d063
Deserialize new style netconf.
2016-04-26 17:20:31 -07:00
Adam Ierymenko
b9dba97fdb
Bunch more refactoring for an even more compact NetworkConfig representation, especially rules.
2016-04-26 17:11:25 -07:00
Adam Ierymenko
25a5275921
.
2016-04-26 08:53:49 -07:00
Adam Ierymenko
e731fc1a3a
Replace two bools in NetworkConfig with a flags field.
2016-04-26 08:40:26 -07:00
Adam Ierymenko
90e1262a8b
More refactoring to remove old Dictionary dependencies.
2016-04-26 08:20:03 -07:00
Adam Ierymenko
246f86dad3
Define an "anchor" as a statically defined device that serves as a network lookup point.
2016-04-26 07:56:41 -07:00
Adam Ierymenko
d736074301
Refactor rules table in-memory structure in new NetworkConfig to permit far more rules with better space efficiency.
2016-04-22 15:40:53 -07:00
Adam Ierymenko
368efaa2ba
Kill some old debug code.
2016-04-19 12:55:48 -07:00
Adam Ierymenko
2f18a92e20
Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, and fix a "how was that working" latent bug causing some control traffic to take the scenic route.
2016-04-19 12:09:35 -07:00
Adam Ierymenko
affbca74b4
Clean up Linux makefile and remove doc target from default since it requires rst2man. Add doc target to official instead.
2016-04-19 09:35:32 -07:00
Adam Ierymenko
4c455876f9
Revise peer path weighting to always prioritize cluster-optimal paths.
2016-04-19 09:22:51 -07:00
Adam Ierymenko
cecfa99b7b
(1) cluster members send a flag indicating that a PUSH_DIRECT_PATHS is a cluster redirect, (2) 1.1.5 uses this to avoid a bug (this bug does not exist in 1.1.4)
2016-04-18 16:44:23 -07:00
Adam Ierymenko
b3cac538cc
Store lat/lon too for testing and future display use.
2016-04-18 15:48:33 -07:00
Adam Ierymenko
587b1e05d1
Replace cluster-geo subprocess with in-memory loaded CSV of GeoIP data. This is faster, cheaper, more reliable. We use https://db-ip.com/ but others would work too.
2016-04-18 11:33:54 -07:00
Adam Ierymenko
02c3727ccd
.
2016-04-18 10:21:38 -07:00
Adam Ierymenko
af471af8ef
Shrink NetworkConfig slightly.
2016-04-12 13:32:41 -07:00
Adam Ierymenko
e28838805f
Brace fix...
2016-04-12 13:17:16 -07:00
Adam Ierymenko
8a9762331f
Fix one more old NetworkConfig bit of code.
2016-04-12 12:54:14 -07:00
Adam Ierymenko
31db6f8f36
NetworkConfig refactor almost done.
2016-04-12 12:49:46 -07:00
Adam Ierymenko
ad1e83d8b9
Refactor IncomingPacket for new NetworkConfig
2016-04-12 12:32:33 -07:00
Adam Ierymenko
bbd9915056
Refactor Node for new NetworkConfig
2016-04-12 12:26:10 -07:00
Adam Ierymenko
51fecc0be9
Refactor Network for new NetworkConfig.
2016-04-12 12:16:29 -07:00
Adam Ierymenko
6f854c8391
NetworkConfig refactor part 1
2016-04-12 12:11:34 -07:00
Adam Ierymenko
9b8444fff1
Merge of bignose/manual-pages (Linux man pages)
2016-04-07 12:28:43 -07:00
Adam Ierymenko
43e317f0b7
Authorship stuff.
2016-04-07 12:24:15 -07:00
Adam Ierymenko
0e40181d8f
Merge branch 'license-clarification' into dev
2016-04-07 12:18:46 -07:00
Adam Ierymenko
63b62ebf4c
Boost local interface check interval a bit to speed direct link provisioning on startup.
2016-04-07 12:13:18 -07:00
Adam Ierymenko
569de22481
Make port mapper names even more unique, and trial bind before binding TCP now which should work on Linux and others.
2016-04-07 09:51:14 -07:00
Adam Ierymenko
9085a04b16
Merge branch 'dev' of http://git.int.zerotier.com:/zerotier/ZeroTierOne into dev
2016-04-07 16:41:28 +00:00
Adam Ierymenko
c7df61a3c3
dev branch now works again on Linux
2016-04-07 16:41:07 +00:00
Adam Ierymenko
c278f05181
RoutingTable build fixes.
2016-04-06 17:29:38 -07:00
Adam Ierymenko
61a9c27af0
Consolidate routing table code.
2016-04-06 17:14:05 -07:00
Adam Ierymenko
e9b2613d5f
Put routing table code back in osdep/
2016-04-06 16:57:37 -07:00
Adam Ierymenko
24469a7f43
.
2016-04-06 16:47:11 -07:00
Adam Ierymenko
56096be8b6
Tweak new RX queue algorithm to "expire" old entries to prevent always needing to traverse the whole queue array.
2016-04-06 16:28:40 -07:00
Adam Ierymenko
8ef78e7e7d
Preserve add local interface address add order and send in that order since this is a priority.
2016-04-06 11:50:00 -07:00
Adam Ierymenko
504738b183
Binder for Windows, and use Binder to get local interface addresses to advertise.
2016-04-05 15:53:19 -07:00
Adam Ierymenko
32cd2a02c9
OneService now binds all ports to specific local interfaces instead of wildcard and rebinds on changes. (default route)
2016-04-05 15:44:08 -07:00
Adam Ierymenko
4a109658ab
More refactoring and prep for explicit interface bindings (for default route support).
2016-04-05 11:59:46 -07:00
Adam Ierymenko
52d9612301
Reduce symmetric prediction fuzz just a bit.
2016-04-05 10:49:14 -07:00
Adam Ierymenko
d8b89b0c86
Fix Cluster to send from a designated endpoint address instead of wildcard.
2016-04-05 10:47:13 -07:00
Adam Ierymenko
e0ad854d19
Beginning of local binding manager for default gateway support.
2016-04-04 18:46:41 -07:00
Adam Ierymenko
0e26917c72
Tweak metric and clean out attic a bit.
2016-04-01 11:07:44 -07:00
Adam Ierymenko
3df60995e1
nit pick... might this matter?
2016-03-30 16:49:21 -07:00
Adam Ierymenko
1a5e7cb0cb
More tweaks to OS determination stuff.
2016-03-28 12:26:49 -07:00
Adam Ierymenko
8035afae87
Try to define ZT_NO_TYPE_PUNNING on iOS in case it wasn't.
2016-03-28 12:22:05 -07:00
Adam Ierymenko
284e5d83b5
Fix some broken TRACEs and a tiny reorder in a few ifs.
2016-03-28 12:15:24 -07:00
Adam Ierymenko
2b3e1d5c10
Ignore IP assignment pool ranges that begin with 0.0.0.0 or that contain no IPs.
2016-03-24 13:34:01 -07:00
Adam Ierymenko
2c328d61ad
Do not auto-assign IP addresses on bridges. IPs can still be assigned manually.
2016-03-24 13:32:01 -07:00
Adam Ierymenko
76f9b4c582
A few other little formatting things.
2016-03-18 15:06:45 -07:00
Adam Ierymenko
c589bc4c57
Indentation
2016-03-18 14:32:48 -07:00
Adam Ierymenko
d6a1868d0a
Refactor incoming packet (rxQueue/fragmentQueue) to eliminate variable length queues and merge queues. This is both faster and saves memory.
2016-03-18 14:16:07 -07:00
Adam Ierymenko
9f31cbd8b8
Make /network/???/active return more info.
2016-03-17 13:05:51 -07:00
Ben Finney
c0262d8f76
Add “doc” to the dependencies for the “all” build target.
2016-03-04 17:01:31 +11:00
Ben Finney
92702615a7
Add an overall “doc” build target.
2016-03-04 17:01:14 +11:00
Ben Finney
c9d3f3ab96
Correct license grant to match “GPL v3 or later” grant in source.
2016-03-04 16:45:15 +11:00
Ben Finney
72797c25d5
Update copyright notice.
2016-03-04 16:44:23 +11:00
Ben Finney
ea6ce47345
Refactor the program name to a pre-processor directive.
2016-03-04 16:42:30 +11:00
Ben Finney
10855b451d
Refactor the copyright notice text to a pre-processor directive.
2016-03-04 16:40:09 +11:00
Ben Finney
3265b3594b
Refactor the license grant text to a pre-processor directive.
2016-03-04 16:37:36 +11:00
Ben Finney
cafc46a8e9
Add Makefile module for building documentation.
2016-03-04 16:06:17 +11:00
Ben Finney
5993b178c5
Ignore generated man page files.
2016-03-04 16:05:55 +11:00
Ben Finney
24e286b5ec
Add a stub for an encoding declaration on a man page.
2016-03-04 16:04:57 +11:00
Ben Finney
c63de27633
Add references to other tools for ‘zerotier-one’.
2016-03-04 15:41:06 +11:00
Ben Finney
a84a256df4
Add incomplete man pages for ‘zerotier-idtool’ and ‘zerotier-cli’.
2016-03-04 15:40:08 +11:00
Ben Finney
88dfa860f4
Document how the home directory is used, and its default value.
2016-03-04 15:08:17 +11:00
Ben Finney
83bc5d95aa
Document remaining options explicitly.
2016-03-04 14:57:10 +11:00
Ben Finney
09c61d5cb1
More explicit specification of how to use ‘-i’ and ‘-q’.
2016-03-04 14:53:50 +11:00
Ben Finney
71c84aee60
Add “see also” section referring to ZeroTier documentation online.
2016-03-04 11:36:19 +11:00
Ben Finney
cee09b0d2e
Refine description of ZeroTier One.
2016-03-04 11:36:04 +11:00
Ben Finney
fdb8ea93ef
Add a reStructuredText document for a ‘zerotier-one(8)’ man page.
2016-03-04 11:35:16 +11:00
Adam Ierymenko
60ab565185
Fix cluster-geo code to cache IPv6 by first 64 bits to prevent cache fillup due to IPv6 privacy extensions.
2016-03-03 15:33:38 -08:00
Adam Ierymenko
1fe251d0a0
stupid bug is stupid
2016-03-03 14:50:47 -08:00
Adam Ierymenko
ff931e53b5
more makefile stuff
2016-03-03 14:31:43 -08:00
Adam Ierymenko
ef376a7919
Linux make clean fix.
2016-03-03 14:24:52 -08:00
Adam Ierymenko
09fc9e4d0c
indent fix
2016-03-03 14:21:13 -08:00
Adam Ierymenko
fe3a84a422
Fix problems with previous commit.
2016-03-03 14:15:09 -08:00
Adam Ierymenko
ba56a5b9d1
Another NAT-t improvement:
...
Many NATs revert to symmetric behavior from friendlier modes if they cannot
preserve ports. This can occur if there is, for example, more than one ZT
device behind the NAT using port 9993.
Others (Airport Extreme?) seem to have bugs in which they completely freak
out if more than one device tries to do a lot of mappings using the same
internal local port.
Mostly to fix the latter case and somewhat to fix the former, we introduce
a secondary port. ZeroTier now binds 9993 (or whatever port you specify)
plus another port computed deterministically from your ZeroTier address.
This port is used for new links 1/4 of the time.
This mostly addresses the second problem above and partly helps to address
the first.
If uPnP/NAT-PMP is enabled we also still open a tertiary port because some
routers freak out if NAT-t is attempted using the same port as uPnP.
All of this is IPv4 only of course. IPv6 is sane.
2016-03-03 13:52:27 -08:00
Adam Ierymenko
a27d8b2910
Windows cleanup.
2016-03-02 19:20:04 -08:00
Adam Ierymenko
b6f6ed35fc
More Windows tweaks and a compile fix.
2016-03-02 19:06:29 -08:00
Adam Ierymenko
d3cb063d13
Tweaks to WindowsEthernetTap to attempt to address GitHub issue #308 and/or GitHub issue #277 -- we can't reproduce yet but I found one area where a spin was possible under certain failure conditions. Maybe.
2016-03-02 18:37:24 -08:00
Ben Finney
b9125e4256
Document myself as a contributor.
2016-03-02 10:38:30 +11:00
Adam Ierymenko
0aae86be2e
Merge branch 'dev' of https://github.com/krisek/ZeroTierOne into dev
2016-03-01 12:29:29 -08:00
Adam Ierymenko
d9fa07399e
Fix GitHub issue #311
2016-03-01 09:49:33 -08:00
Ben Finney
d570adf021
State grant of license in each third-party component.
2016-02-29 18:11:54 +11:00
Ben Finney
dcb91c043f
State which exact files constitute third-party works.
2016-02-29 18:04:20 +11:00
Ben Finney
f613930dee
Explicitly mark home page URLs of third-party code.
2016-02-29 18:03:16 +11:00
Ben Finney
667048310d
Remove text that paraphrases GPLv3 conditions.
2016-02-29 17:44:47 +11:00
Ben Finney
642aa3313d
Explicitly grant GPLv3-or-later terms to the overall code base.
2016-02-29 17:44:47 +11:00
Ben Finney
f6e98df8da
Refer directly to the accompanying GPL-3 license document.
2016-02-29 17:44:47 +11:00
Ben Finney
d37e44225f
Add explicit copyright statement in same file as license grant.
2016-02-29 17:44:47 +11:00
Ben Finney
5c172d1a15
Rename file that is not a license text.
2016-02-29 17:44:10 +11:00
Ben Finney
0bf2060a7d
Add verbatim text of GNU General Public License version 2.
2016-02-29 15:16:19 +11:00
Ben Finney
22883b3eeb
Add verbatim text of GNU General Public License version 3.
2016-02-29 15:13:37 +11:00
Kristof Imre Szabo
6d1dc47368
Typo fix.
2016-02-28 17:06:46 +01:00
Kristof Imre Szabo
f8d05eb625
Spec description rephrased.
2016-02-28 17:05:43 +01:00
Kristof Imre Szabo
45c233c0e7
Formatting change
2016-02-28 00:04:18 +01:00
Kristof Imre Szabo
b836228465
Formatting change
2016-02-28 00:02:48 +01:00
Kristof Imre Szabo
8118630861
Formatting change
2016-02-28 00:00:55 +01:00
Kristof Imre Szabo
bf3e31ece7
Initial commit of the standard zerotier RPM specification
2016-02-27 23:55:14 +01:00
Adam Ierymenko
f217ce7ff7
Upgrade http-parser.
2016-02-25 18:13:42 -08:00
Adam Ierymenko
039790cf26
Upgrade LZ4 to hopefully fix wacky sporadic crash when built with g++ 5.3.1 on Debian/testing.
2016-02-25 15:39:15 -08:00
Adam Ierymenko
e5f82f5457
cleanup
2016-02-25 10:08:30 -08:00
Adam Ierymenko
a5e4e3fcac
Remove ui/ on Linux uninstall.
2016-02-24 17:24:36 -08:00
Adam Ierymenko
3fe60615df
Make installers silent when run inside packages.
2016-02-24 15:23:49 -08:00
Adam Ierymenko
7b5c1696eb
Fix a CIRCUIT_TEST bug in forwarding of tests along hop paths on private networks. Unfortunately this means full circuit testing for private nets will need an upgrade. :(
2016-02-23 14:56:51 -08:00
Adam Ierymenko
c7c61b4ac0
Fix checking of path address validity.
2016-02-22 16:01:35 -08:00
Adam Ierymenko
92f24d1988
Make maximum size of a circuit test structure sane.
2016-02-22 15:54:18 -08:00
Adam Ierymenko
9b59bcd995
Clean controller circuit test memory.
2016-02-22 15:48:27 -08:00
Adam Ierymenko
43fff1a87e
Deprecate reporting of local clock in circuit tests since a small number of users might have security problems with this.
2016-02-22 12:59:26 -08:00
Adam Ierymenko
2aa7138373
Reduce direct ping delay back to 1m and make SelfAwareness aware of local received-on address to eliminate false symmetric classification.
2016-02-22 09:47:50 -08:00
Adam Ierymenko
69a438d64d
Small tweak to active threshold.
2016-02-19 09:10:31 -08:00
Adam Ierymenko
772551c45d
Try +1 and +2 existing surfaces for symmetric NATs.
2016-02-11 10:39:39 -08:00
Adam Ierymenko
0c951b6e56
More tweaks to new symmetric NAT buster, and stop using old iterative method since this supersedes it.
2016-02-10 18:41:39 -08:00
Adam Ierymenko
eadafd8de7
Little fix to NAT-t alg
2016-02-10 17:51:42 -08:00
Adam Ierymenko
f9230eb970
Widen max delta for TS/revision just a bit more for now.
2016-02-10 16:18:45 -08:00
Adam Ierymenko
82348e1537
Temporarily blacklist he.net IPv6 tunnel addresses for paths: these usually have a very low MTU which causes packet loss and other issues.
2016-02-10 11:06:26 -08:00
Adam Ierymenko
10bb9919f1
Tweak certificate of membership revision/time tolerance to eliminate boundary packet loss issues occasionally seen in the wild.
2016-02-10 09:32:42 -08:00
Adam Ierymenko
4769dacf61
Tweak needsOurMembershipCertificate timing to resolve a possible source of occasional dropped packets.
2016-02-09 16:54:47 -08:00
Adam Ierymenko
63ec7e58d4
Make activity no longer a function of ping frequency, since this causes compatibility bugs when the latter was modified due to timer interactions with other versions.
2016-02-08 10:03:01 -08:00
Adam Ierymenko
a963810e02
Tweak a few cluster params for higher perf / lower initial setup latency.
2016-02-08 09:57:46 -08:00
Adam Ierymenko
69b1da2e1d
return 200 instead of 404 when test is fetched
2016-02-04 16:27:25 -08:00
Adam Ierymenko
dc3d899e70
Return test ID when we post a test.
2016-02-04 16:09:26 -08:00
Adam Ierymenko
78c1d9006a
flood protection fix
2016-02-04 14:39:43 -08:00
Adam Ierymenko
5dad73647d
Lengthen backup period again
2016-02-04 14:22:54 -08:00
Adam Ierymenko
13b39a0c3e
SQLite perf tuning
2016-02-04 14:03:37 -08:00
Adam Ierymenko
90801a94d3
Track client version and tell whether active nodes support circuit test.
2016-02-04 13:38:42 -08:00
Adam Ierymenko
fab6f4450d
/active subpath off networks
2016-02-04 12:17:55 -08:00
Adam Ierymenko
2e04dc03f2
Logging to NodeHistory, SQL queries.
2016-02-03 18:10:56 -08:00
Adam Ierymenko
f8eb6b0067
Add NodeHistory table on sqlite controller.
2016-02-03 13:56:35 -08:00
Adam Ierymenko
7a63fdc447
Fix for GitHub issue #298 and hopefully #297
2016-02-01 14:41:54 -08:00
Adam Ierymenko
4655a59912
typo
2016-01-28 17:59:31 -08:00
Adam Ierymenko
c0668dcdf2
Merge branch 'edge' into dev
2016-01-26 14:20:25 -08:00
Adam Ierymenko
9cb4bbe2b8
Save test results for circuit tests in memory and then cancel the test and send the results when the test is queried later. This way you can POST a test and then come GET the result at the appointed time.
2016-01-26 12:42:44 -08:00
Joseph Henry
95d28494f6
Mac OSX Port - Lightly tested
2016-01-25 12:55:29 -08:00
Grant Limberg
67f678d60a
Merge branch 'master' into dev
2016-01-22 18:07:20 -08:00
Grant Limberg
3993dfa2a5
Fix JNI for API changes in 1.1.4
2016-01-22 18:06:58 -08:00
Adam Ierymenko
935f00ad4c
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-01-21 16:03:14 -08:00
Adam Ierymenko
bafdb54752
New dev version: 1.1.5
2016-01-21 16:02:16 -08:00
Adam Ierymenko
7526ed705c
Check for /dev/tun as well as /dev/net/tun since some Linux devices put it there.
2016-01-21 16:01:24 -08:00
Joseph Henry
bccd60125b
Added python, python3, darkhttpd unit tests
2016-01-21 15:52:54 -08:00
Joseph Henry
7127d2b811
Updated unit tests + README
2016-01-21 15:10:26 -08:00
Adam Ierymenko
9cc2733ed8
VERSION 1.1.4: Improved path detection, improved anti-recursion code, and Network Containers BETA
...
ZeroTier One version 1.1.4 has several improvements to path stability and
path learning logic. It also contains the BETA version of Network Containers!
See netcon/README.md and https://www.zerotier.com/product-netcon.shtml for more
information.
Improvements in 1.1.4:
- Paths are now confirmed more aggressively on inactivity. This version can
usually detect a dead direct path in under 10 seconds vs 1-2 minutes in
previous versions.
- Logic to prevent recursion has been overhauled. The old versions had code
that explicitly checked packet contents (AntiRecursion.hpp). This is now
gone in favor of a function that checks IP addresses of ZeroTier devices
when paths are learned or probed. This is both more efficient and less
prone to edge case failures. Testing in several complex environments has
shown that this eliminates a few edge cases where inappropriate paths would
be used.
2016-01-20 18:10:40 -08:00
Adam Ierymenko
3b10fd7557
Windows build fixes.
2016-01-20 18:06:20 -08:00
Adam Ierymenko
f782797dc7
readme
2016-01-20 17:44:17 -08:00
Adam Ierymenko
227b8bfbf6
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-01-20 16:59:59 -08:00
Adam Ierymenko
385770dcc8
1.1.4 bump
2016-01-20 16:59:54 -08:00
Janjaap Bos
4f6ca14d4f
typo
2016-01-20 16:52:46 -08:00
Janjaap Bos
c3fc5340b6
Added check for identiy
...
Needed if you just copy & paste the whole block.
2016-01-20 16:43:37 -08:00
Adam Ierymenko
4f30b06930
Merge branch 'dev' into edge
2016-01-20 16:28:14 -08:00
Joseph Henry
398e0b7c63
Removed debug line
2016-01-20 15:04:02 -08:00
Joseph Henry
b7b014298b
Bad connection reference fix + RX lock fix
2016-01-20 14:43:49 -08:00
Joseph Henry
bcaf42e075
Transfer speed increate + stability fixes
2016-01-20 13:38:14 -08:00
Joseph Henry
357cb92f2e
Stability fix + introduction of connection probation
2016-01-18 23:41:28 -08:00
Joseph Henry
31ed86740c
Added some safety + unregister callbacks on close
2016-01-18 16:04:29 -08:00
Joseph Henry
f2cc144811
Fixed nc_sent possible bad ptr on close issue
2016-01-18 12:26:40 -08:00
Joseph Henry
1783867f96
Print path for user. Removed unused stub Phy methods
2016-01-17 15:13:32 -08:00
Joseph Henry
a73638b214
Fixed memory leak
2016-01-17 14:32:34 -08:00
Grant Limberg
bd1884e48f
yay more icons
2016-01-15 18:39:16 -08:00
Grant Limberg
5cd20c0009
Adding app icons for iOS
2016-01-15 18:22:53 -08:00
Joseph Henry
58ebfdffcb
Debugs off by default
2016-01-15 13:03:37 -08:00
Joseph Henry
1e2c434ae8
nc_recved() connection closure change
2016-01-15 13:02:48 -08:00
Joseph Henry
7107297c25
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2016-01-15 11:19:25 -08:00
Joseph Henry
35fb602dff
Fixed pcb->state == CLOSE_WAIT bug
2016-01-15 11:18:26 -08:00
Adam Ierymenko
8af3d35234
Merge branch 'dev' into edge
2016-01-15 11:18:23 -08:00
Joseph Henry
323d40a560
Small formatting changes
2016-01-15 10:27:27 -08:00
Joseph Henry
321bca4bf7
Adjusted formatting/conventions to conform to rest of ZT codebase
2016-01-15 10:09:31 -08:00
Joseph Henry
7cb08630d0
Fixed RX race condition
2016-01-14 18:59:08 -08:00
Joseph Henry
45f0737a00
Naming convention update
2016-01-14 14:15:50 -08:00
Joseph Henry
6cf478c1b2
RX buffer update
2016-01-14 14:03:03 -08:00
Joseph Henry
f52a82d9f2
Updated RX buffer code
2016-01-14 13:23:01 -08:00
Grant Limberg
6dac0c8c4f
C doesn't support default arguments
2016-01-13 17:47:34 -08:00
Joseph Henry
5e30eabd30
Updated getsockopt/setsockopt, removed unused code
2016-01-13 15:52:15 -08:00
Joseph Henry
7bba867ce8
Fixed double-close bug
2016-01-13 13:55:11 -08:00
Adam Ierymenko
e8e6a4702b
Merge branch 'dev' into edge
2016-01-13 13:15:47 -08:00
Joseph Henry
c3e2cb9b8e
Modified PCB/state management logic
2016-01-13 12:19:48 -08:00
Adam Ierymenko
2e5caa335a
Old SF root is dead. Now we are just on Alice and Bob. (world update for 1.1.4)
2016-01-13 10:18:41 -08:00
Joseph Henry
bdabe40c65
Updated error reporting for sock_fd_read()
2016-01-12 14:25:30 -08:00
Adam Ierymenko
7991a7c50a
Merge branch 'dev' into edge
2016-01-12 14:05:40 -08:00
Adam Ierymenko
4e4fd51117
boring doc stuff
2016-01-12 14:04:55 -08:00
Joseph Henry
e91322bd10
README update and example server port change
2016-01-12 14:04:55 -08:00
Joseph Henry
23cdb3aed5
Removed ztnc network config file
2016-01-12 13:58:15 -08:00
Joseph Henry
bd3d9ee356
Removed terminology changes
2016-01-12 13:55:46 -08:00
Adam Ierymenko
76f1ab33f0
Make clean rm .depend
2016-01-12 13:44:59 -08:00
Adam Ierymenko
61fd8463f8
Merge branch 'dev' into edge
2016-01-12 13:19:53 -08:00
Adam Ierymenko
3883ac08c7
Docs and cleanup.
2016-01-12 13:17:30 -08:00
Joseph Henry
dd233fdb8d
Updated terminology. No functional change
2016-01-12 13:00:31 -08:00
Joseph Henry
18aea2d3d3
Removed unused code
2016-01-12 12:56:51 -08:00
Joseph Henry
74e22368b5
Fixed sketchy memcpy logic, also added checks for service RPC ACK
2016-01-12 12:42:46 -08:00
Adam Ierymenko
d03a63e055
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2016-01-12 12:25:19 -08:00
Adam Ierymenko
93ab8d46b9
Merge branch 'dev' into edge
2016-01-12 12:25:15 -08:00
Adam Ierymenko
740eb6ebc4
Simplify Peer locking to eliminate deadlock with new path recursion check code (and also probably improve performance).
2016-01-12 12:12:25 -08:00
Adam Ierymenko
d6f0f1a82a
Use network user ptr in lookup for Ethernet frame handling to eliminate map lookup.
2016-01-12 11:34:22 -08:00
Adam Ierymenko
83ef98a9dc
Add a network-associated user ptr in API.
2016-01-12 11:04:35 -08:00
Adam Ierymenko
3edfbfec93
Merge branch 'master' into dev
2016-01-12 09:50:19 -08:00
Adam Ierymenko
68c004ef68
Merge pull request #291 from JackyRen/patch-1
...
Update controller README.md
2016-01-12 09:49:54 -08:00
Joseph Henry
e2ae9165c6
RPC update
2016-01-12 09:46:49 -08:00
Adam Ierymenko
704205c5f7
Dead code removal.
2016-01-12 09:33:14 -08:00
Ren Jie
21656ba015
Update controller README.md
...
Sync make parameter with code.
2016-01-12 22:51:08 +08:00
Adam Ierymenko
bbcc3304a0
Check shouldUsePathForZeroTierTraffic in legacy beacon responder.
2016-01-11 15:57:58 -08:00
Adam Ierymenko
c6571073fe
Get rid of constructor/destructor in libzerotierintercept, and simplify a few things.
2016-01-11 15:27:22 -08:00
Adam Ierymenko
ba9fcb31d0
Merge branch 'dev' into edge
2016-01-11 14:30:24 -08:00
Joseph Henry
78c0f0a443
RPC detection fix
2016-01-11 13:23:43 -08:00
Joseph Henry
7656e6b9f8
Transfer tune-up
2016-01-11 11:37:04 -08:00
Joseph Henry
39d79f34ab
Added RPC ACK
2016-01-11 10:35:02 -08:00
Adam Ierymenko
b3e3d4cacc
Instead of using binary packet comparison, add a callback to the API to explicitly check whether paths should be used. Check in with this callback (if present) when learning new paths or sending initial packets.
2016-01-11 10:17:44 -08:00
Joseph Henry
3e65ecb93d
Stateless RPC rework
2016-01-11 10:12:59 -08:00
Adam Ierymenko
ba2a89c760
docs
2016-01-11 09:13:41 -08:00
Adam Ierymenko
eea634a432
Refactor to eliminate copypasta.
2016-01-11 09:11:35 -08:00
Adam Ierymenko
ab19e19f00
Fix a bug that we visually found in Windows code -- it was not advertising uPnP addresses?!?
2016-01-11 09:09:24 -08:00
Adam Ierymenko
1023ef23b7
Remove somewhat ugly and costly anti-recursion hack -- we will switch to more explicit methods.
2016-01-11 09:06:10 -08:00
Adam Ierymenko
a56fbc1929
Close another potential anti-recursion loophole.
2016-01-06 15:35:27 -08:00
Adam Ierymenko
47ce52228b
Roots should probably not do this since it would likely be a waste of packets.
2016-01-06 12:54:51 -08:00
Adam Ierymenko
ff9317365a
Merge branch 'dev' into edge
2016-01-06 11:38:11 -08:00
Adam Ierymenko
0a3ef38cad
Put old test code in attic.
2016-01-06 11:06:47 -08:00
Adam Ierymenko
9aee72099e
AntiRecursion cleanup and some other minor things.
2016-01-06 10:59:39 -08:00
Adam Ierymenko
05b2c0743f
Tighten up dead path detection. Should now auto-detect dead paths in less than 10 seconds at a very small cost in ECHO requests (or HELLOs for older peers). GitHib issue #272
2016-01-06 10:00:03 -08:00
Adam Ierymenko
4d94ae77b4
simplify if
2016-01-05 16:48:35 -08:00
Adam Ierymenko
d8143a5e18
Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev)
2016-01-05 16:41:54 -08:00
Adam Ierymenko
cba739fd6b
more dead code
2016-01-05 14:46:26 -08:00
Adam Ierymenko
fb5237d5b6
Outline dead path detection mechanism.
2016-01-05 14:42:56 -08:00
Adam Ierymenko
258f95b2cd
dead code removal
2016-01-05 14:19:16 -08:00
Janjaap Bos
b8059d5c87
typo
2015-12-23 22:54:36 +01:00
Adam Ierymenko
66894eb473
Merge branch 'dev' into edge
2015-12-21 16:56:13 -08:00
Adam Ierymenko
61becbb7e5
.
2015-12-21 16:56:11 -08:00
Adam Ierymenko
42e453872c
VERSION 1.1.2: bug fixes and NAT-PMP support
...
ZeroTier One version 1.1.2 is mostly a bug fix release, but also includes support
for NAT-PMP as a method of mapping external ports from behind supported routers.
Bugs fixed include:
- Refactored path selection code to eliminate a change that might have introduced
a reliability regression from earlier versions.
- Reworked UPnP code for improved reliability and also added NAT-PMP support.
- Fixed a crash on network preferred relays. (Not exploitable or security critical
since only network controllers can send that config option and there was no
buffer overflow or other exploitable issue.)
- Fix GUI problem on OSX where window could be larger than screen on some Macbooks.
- Fix a potential rate limit problem on PUSH_DIRECT_PATHS that could negatively
impact same-network connectivity.
- Update zerotier-cli to show preferred vs. active paths and hide inactive ones.
- Fix an issue on shutdown with thread delete order and thread synchronization.
2015-12-21 16:48:33 -08:00
Adam Ierymenko
2f42a7c010
Windows 1.1.2 build.
2015-12-21 16:36:56 -08:00
Adam Ierymenko
436c1fac1d
Selectively move over changes from "edge" to "dev" excluding netcon.
2015-12-21 16:15:39 -08:00
Adam Ierymenko
16bc9533ed
Fix a problem that made valgrind complain on shutdown (not otherwise an issue).
2015-12-21 15:23:14 -08:00
Adam Ierymenko
63a51e2890
Fix a small potential uninitialized variable issue.
2015-12-21 14:55:11 -08:00
Adam Ierymenko
23eaafc4eb
Remove stray file that is instead found in netcon.
2015-12-21 14:01:48 -08:00
Adam Ierymenko
536b7000bc
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-12-21 13:15:09 -08:00
Adam Ierymenko
24cc0904fa
1.1.2 Windows build fixes, tweaks, etc.
2015-12-21 13:14:48 -08:00
Janjaap Bos
5a65463b92
typo
2015-12-21 22:11:39 +01:00
Janjaap Bos
c8056452b8
fix / workaround for ubuntu
...
Otherwise, if started with -d as daemon, the netcon service dies after
intercept listen registers.
2015-12-21 21:20:22 +01:00
Janjaap Bos
64e273e9c0
updated netcon readme
2015-12-21 19:49:22 +01:00
Joseph Henry
6f62d6bb34
Removed straggler debug prints
2015-12-21 07:36:44 -08:00
Joseph Henry
d430457f1e
Updated readme, removed test network keys
2015-12-21 07:26:45 -08:00
Joseph Henry
4267cc138e
Readme changes, turned off debug
2015-12-21 07:17:37 -08:00
Joseph Henry
de2ba8d0f7
Fixed typo
2015-12-21 05:36:27 -08:00
Joseph Henry
c488fa8461
Tightening of RPC code
2015-12-21 05:03:26 -08:00
Joseph Henry
608e059b18
single updated test file
2015-12-18 15:19:34 -08:00
Joseph Henry
81203b20b8
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2015-12-18 15:09:18 -08:00
Joseph Henry
91bc32fe51
Re-added keys for testing
2015-12-18 15:09:08 -08:00
Adam Ierymenko
d3dacf5c2a
Tiny bit of dead code cleanup.
2015-12-18 14:51:24 -08:00
Adam Ierymenko
13036a1085
.
2015-12-18 14:30:47 -08:00
Adam Ierymenko
942ab6fd95
.
2015-12-18 14:29:23 -08:00
Adam Ierymenko
fd9b2e931f
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-12-18 14:26:37 -08:00
Adam Ierymenko
6de67e828d
Fix accept4() semantics.
2015-12-18 14:26:31 -08:00
Joseph Henry
2d9f1f7857
Added install script for debugging with strace
2015-12-18 13:13:47 -08:00
Joseph Henry
fde8af9483
getsockopt() tweak
2015-12-18 11:37:11 -08:00
Joseph Henry
c22c0a20f6
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2015-12-18 10:31:24 -08:00
Joseph Henry
9063209124
getsockname() fix
2015-12-18 10:31:11 -08:00
Adam Ierymenko
61dc13a6e1
Cache query in progress to reduce redundant GeoIP2 queries.
2015-12-18 09:38:34 -08:00
Joseph Henry
e3eea6fcbd
RPC Reliability improvements and partial getsockname() fix
2015-12-16 18:05:47 -08:00
Adam Ierymenko
7d001458cb
Update World to drop an old legacy root.
2015-12-17 11:52:05 -08:00
Adam Ierymenko
823c9979c0
Erase more debug junk.
2015-12-17 11:45:55 -08:00
Adam Ierymenko
9ebcbc94e4
Remove some stray debug stuff.
2015-12-17 11:44:48 -08:00
Adam Ierymenko
aa39b0dc24
Show paths as active or preferred in listpeers.
2015-12-17 11:03:39 -08:00
Adam Ierymenko
2160164e8c
(1) Get rid of path sorting and just scan them, since sorting may have been a premature optimization that introduced a regression and path instability in a few edge cases, and (2) do not attempt to contact remote paths received via PUSH_DIRECT_PATH if we already have that path and it is already active (dumb, should have done this originally)
2015-12-17 10:53:07 -08:00
Adam Ierymenko
3137f43da9
Fix for getsockname() crash and other address size issues.
2015-12-16 10:30:02 -08:00
Adam Ierymenko
efc2a74df1
Some final README revs.
2015-12-16 10:07:04 -08:00
Joseph Henry
9638889614
Removed docker-test keys/config for netcon network
2015-12-16 08:33:39 -08:00
Joseph Henry
0df639f8f5
readme update
2015-12-15 16:20:31 -08:00
Joseph Henry
011ce35ede
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2015-12-15 15:57:02 -08:00
Joseph Henry
a9802eff02
readme update
2015-12-15 15:56:47 -08:00
Adam Ierymenko
f9837163d3
docs
2015-12-15 15:43:07 -08:00
Adam Ierymenko
6bc93d2050
Docs, and change ZT_NC_NWID to ZT_NC_NETWORK and use full path in local ZT home dir to enable multiple instances.
2015-12-15 15:35:21 -08:00
Adam Ierymenko
37a7e9e275
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-12-15 15:00:05 -08:00
Adam Ierymenko
531e5f9923
.
2015-12-15 15:00:03 -08:00
Joseph Henry
617845a7da
readme and makefile updates
2015-12-15 14:59:17 -08:00
Joseph Henry
9dc59eff76
Cleaned up, tests updated, readme updated
2015-12-15 14:50:54 -08:00
Adam Ierymenko
a6c5596782
Patch controller to not send relays to 1.1.0 to avoid triggering 1.1.0 network preferred relays bug.
2015-12-15 10:53:15 -08:00
Adam Ierymenko
022d3857cc
Fix should use ECHO check.
2015-12-15 10:37:32 -08:00
Adam Ierymenko
82aa3f59d6
Fix bug in ECHO handling (OK was invalid!), and use ECHO on newer peers for path confirmation. Also get rid of path confirmation circuit breaker since this causes issues with some peers and should be done more intelligently anyway.
2015-12-15 10:30:40 -08:00
Adam Ierymenko
04d6b03733
Make auto backups slightly less frequent.
2015-12-15 09:22:10 -08:00
Adam Ierymenko
3b22ecc80c
Make hex device address in UPnP name the right length.
2015-12-14 17:35:45 -08:00
Adam Ierymenko
53fe576028
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-12-14 17:04:36 -08:00
Adam Ierymenko
f6dc99f345
Old NYC is dead.
2015-12-14 17:04:27 -08:00
Adam Ierymenko
c0df1169ee
Remove unimplemented SET_EPHEMERAL_KEY for now.
2015-12-14 14:53:43 -08:00
Joseph Henry
b92884a0ad
Merge branch 'edge' of http://10.6.6.2/zerotier/zerotierone into edge
2015-12-14 14:45:40 -08:00
Joseph Henry
a421e31dd5
send_cmd() retrun value bugfix + minor debug changes
2015-12-14 14:45:25 -08:00
Adam Ierymenko
7b1c0c4013
Cache null results from Maxmind.
2015-12-14 14:40:00 -08:00
Joseph Henry
f558b088e6
Library functions are now static, RPC return value tuning, and cleanup
2015-12-14 09:06:58 -08:00
Joseph Henry
99afc74021
FDs transferred over listen socket + other fixes
2015-12-12 01:28:59 -08:00
Joseph Henry
761bb4fdd0
Stability fix
2015-12-11 12:19:54 -08:00
Joseph Henry
663a336b83
RPC cleanup + Temporary timing fix
2015-12-10 09:24:56 -08:00
Adam Ierymenko
e506fda3e4
Only set SO_NO_CHECK on IPv4 UDP sockets for now due to broken V6 stacks that drop zero checksum UDP packets.
2015-12-09 15:02:42 -08:00
Joseph Henry
42da36ba81
Fixed addrlen assignment in getsockname()
2015-12-09 12:22:08 -08:00
Joseph Henry
a730c86907
getsockname() implemented
2015-12-09 12:20:38 -08:00
Adam Ierymenko
b8cba90d85
.
2015-12-09 09:01:09 -08:00
Adam Ierymenko
9090edebb0
.
2015-12-08 18:17:03 -08:00
Adam Ierymenko
49d76c6311
Stub out getsockname()
2015-12-08 18:07:46 -08:00
Adam Ierymenko
5717dfe3b9
.
2015-12-08 17:45:51 -08:00
Adam Ierymenko
c576cd68cb
.
2015-12-08 17:44:13 -08:00
Adam Ierymenko
f2078bf986
(WIP) more netcon work
2015-12-08 17:35:37 -08:00
Adam Ierymenko
c2c37f3a63
Merge with fixes of netcon to edge.
2015-12-08 15:15:44 -08:00
Joseph Henry
b1eb16d5fb
Updated README, tests, and Intercept
2015-12-08 07:47:20 -08:00
Joseph Henry
f2db82940b
Nginx patch. Verified to work in fc23 and ub14
2015-12-08 05:09:12 -08:00
Joseph Henry
a2837ccaa7
Fixed typo
2015-12-07 08:36:13 -08:00
Joseph Henry
284b37ccc0
Updated compatibility section
2015-12-07 08:35:26 -08:00
Joseph Henry
48d9708abe
Combined make-linux.mk and make-intercept.mk's installer section
2015-12-07 06:54:13 -08:00
Joseph Henry
b141026fc7
Replaced darkhttpd with httpd since darkhttpd is not currently supported and does not work
2015-12-07 06:41:20 -08:00
Joseph Henry
c9bd0b3bf1
More concise unit test section
2015-12-07 06:30:54 -08:00
Joseph Henry
21b158cc48
Added unit test info to README.md
2015-12-07 06:21:40 -08:00
Joseph Henry
dab13f59e5
Test updates
2015-12-07 05:37:14 -08:00
root
036bbfaff9
Modified test scripts to match new naming conventions
2015-12-07 03:21:46 -08:00
Joseph Henry
afafde2571
Modified Nginx test scripts
2015-12-06 22:37:23 -08:00
Joseph Henry
1dec034f77
Added application-specific test arguments to test script
2015-12-06 17:55:48 -08:00
Adam Ierymenko
0df33485ca
Merge remote-tracking branch 'origin/netcon' into edge
2015-12-04 15:41:56 -08:00
Joseph Henry
7ea53dd21b
(WIP) Additional test script changes
2015-12-04 15:39:35 -08:00
Adam Ierymenko
3869d6257b
Always Salsa20 encrypt the result of the system CSPRNG as a mitigation against various low-entropy bugs such as the recent Raspberry Pi one.
2015-12-04 14:50:24 -08:00
Adam Ierymenko
4e12899a8e
docs
2015-12-04 14:17:33 -08:00
Adam Ierymenko
cebced259e
docs
2015-12-04 13:48:53 -08:00
Adam Ierymenko
425d311ce8
Merge of netcon with edge and unification of make processes.
2015-12-04 13:19:31 -08:00
Adam Ierymenko
ac8918992b
Merge dev.
2015-12-04 12:45:21 -08:00
Adam Ierymenko
cbf8d9c45b
.
2015-12-04 12:43:48 -08:00
Adam Ierymenko
905253b4f5
First draft (unfinished) of new README for netcon (original in README.orig.md).
2015-12-04 12:43:21 -08:00
Joseph Henry
d9b12be697
ZT_NC_NWID patch + (WIP) test script modifications
2015-12-04 12:39:54 -08:00
Joseph Henry
2196d982c3
(fixed) nwid detection in test script
2015-12-03 18:50:20 -08:00
Joseph Henry
5c5943a00c
(fixed) test script liblwip.so placement, also streamlined test logic
2015-12-03 07:11:33 -08:00
Adam Ierymenko
a4cfe4cd16
Fix Linux init script to properly specify runlevels.
2015-12-01 10:19:10 -08:00
Adam Ierymenko
ceaef19fb7
Fix for GitHub issue #260 -- fix for (non-exploitable) crash in network preferred relay code
2015-11-30 17:20:12 -08:00
Adam Ierymenko
944fdfb65e
Low-impact sanity check against GitHub issue #247 -- will likely prevent other weird recursions too.
2015-11-30 16:44:32 -08:00
Adam Ierymenko
be44b15eac
Fix for GitHub issue #252
2015-11-30 16:15:23 -08:00
Adam Ierymenko
d73edfea56
GitHub issue #257
2015-11-30 16:12:03 -08:00
Adam Ierymenko
c21882da9c
Put selftest back and turn off tracing in PortMapper.
2015-11-30 16:07:02 -08:00
Adam Ierymenko
f260250580
Simplify IP assignment logic in OSXEthernetTap, also fix for GitHub issue #249
2015-11-30 15:39:34 -08:00
Adam Ierymenko
40a4ba6e39
indentation
2015-11-30 15:15:43 -08:00
Adam Ierymenko
d862d2868c
... and here.
2015-11-30 14:57:28 -08:00
Adam Ierymenko
1e213b4d4c
Need to close on premature abort too or resources are leaked.
2015-11-30 14:56:36 -08:00
Adam Ierymenko
3d66492828
Also add a timeout for the actual NAT-PMP port mapping step.
2015-11-30 14:17:58 -08:00
Adam Ierymenko
838fdf4d11
ifdef naming fix.
2015-11-30 13:32:30 -08:00
Adam Ierymenko
685c5e9ad1
Fix for uPnP
2015-11-30 13:25:34 -08:00
Adam Ierymenko
66a29a00ee
Merge miniupnpc/libnatpmp build into main build by just adding flags, defs, and objs.
2015-11-30 13:17:43 -08:00
Adam Ierymenko
6768521330
Ton of uPnP work and adding NAT-PMP support, still testing...
2015-11-30 13:10:22 -08:00
Adam Ierymenko
6c0de526e8
Merge pull request #261 from janjaapbos/synology
...
Fix for cross compiling
2015-11-30 11:07:20 -08:00
Adam Ierymenko
4c812e3796
Merge pull request #259 from janjaapbos/jb-dev
...
Increase maximum number of paths per IP scope to 4
2015-11-30 10:53:22 -08:00
Janjaap Bos
e6808c69f8
Increase maximum number of paths per IP scope to 4
...
Otherwise, local discovered routes are ignored.
Don't know what the best value would be. Taking 4 for now.
2015-11-30 19:48:38 +01:00
Adam Ierymenko
75637f68b3
Merge branch 'dev' of github.com:zerotier/ZeroTierOne into dev
2015-11-24 14:11:31 -08:00
Adam Ierymenko
56cb2f43fa
Merge pull request #254 from bonki/fix_iproute2_ip_handling
...
Fix for GitHub issue #253 .
2015-11-24 14:11:14 -08:00
Adrian Frühwirth
038476c412
Fix for GitHub issue #253 .
...
Make 'ip' detection more robust (some distros don't ship the binary in /sbin or /usr/sbin).
Add error handling for cases where an ip add/remove fails.
2015-11-24 22:56:02 +01:00
Joseph Henry
201109a7a0
(fixed) make-linux.mk conflicts, updated clean logic
2015-11-23 16:02:39 -08:00
Adam Ierymenko
7e28161638
Merge dev
2015-11-30 15:17:31 -08:00
Adam Ierymenko
ef4472e185
Intercept now checks ZT_NC_NWID environment variable for 16-digit network ID and does not initialize if not present.
2015-11-23 13:59:38 -08:00
Adam Ierymenko
4acb3d81f3
Rename Common to common.inc.c to indicate that this is an included C file not a primary build C file.
2015-11-23 13:25:46 -08:00
Adam Ierymenko
bee44ae731
Merge Sendfd into Common.c
2015-11-23 13:24:28 -08:00
Adam Ierymenko
95106e2e30
Mare make-self-contained code cleanup.
2015-11-23 13:18:46 -08:00
Adam Ierymenko
2a6ea38718
More code cleanup, just moving some stuff into NetconEthernetTap that is not used elsewhere.
2015-11-23 13:02:50 -08:00
Adam Ierymenko
d8d4cfbf01
Eliminate a few warnings and some small code reorg.
2015-11-23 12:43:42 -08:00
Adam Ierymenko
34404eb300
Ignore more DLL patterns.
2015-11-23 12:34:46 -08:00
Adam Ierymenko
7a84805824
Uncommit binary... :P
2015-11-23 12:34:23 -08:00
Adam Ierymenko
1d4563ac31
A few very tiny bits of dead code removal, etc.
2015-11-23 12:32:20 -08:00
Adam Ierymenko
a18336fa18
MERGE current "dev" into "netcon" -- should not affect netcon itself but will retest -- brings ZeroTier core up to 1.1.0
2015-11-23 10:46:52 -08:00
Adam Ierymenko
1e4a40e772
Reformat table.
2015-11-23 10:11:46 -08:00
Joseph Henry
6e5feaba3a
Updated test files
2015-11-23 07:08:07 -08:00
Joseph Henry
71b38a48ac
Replaced README
2015-11-23 06:22:09 -08:00
Joseph Henry
6a3f230555
Unit test info added to README
2015-11-23 06:20:01 -08:00
Joseph Henry
a952ff2c61
Removed odd file
2015-11-23 06:11:19 -08:00
Joseph Henry
05e51f40b4
README formatting update. Removed odd files
2015-11-23 06:07:48 -08:00
Joseph Henry
b83aefcf8f
Updated README, fixed node.js test bug
2015-11-23 05:59:05 -08:00
Joseph Henry
8b9b593256
Removed old READMEs and OS files
2015-11-23 05:21:20 -08:00
Joseph Henry
275a76ff5c
Test update
2015-11-23 05:15:19 -08:00
Joseph Henry
3d163f7044
Patch for Node.js -- accept() bug
2015-11-23 01:14:17 -08:00
Grant Limberg
764dd1c3d9
ARP packets do need the source IP address in them, as well as the MAC address.
...
Packets wouldn't even show up in WireShark without the source IP in it.
2015-11-21 19:14:59 -08:00
Grant Limberg
ac09c3569a
ARP packet lengths are 28 bytes. This condition required the packet to be 29 or more bytes.
2015-11-21 19:14:06 -08:00
Adam Ierymenko
ce5b7f0305
The World as of 2015-11-20
2015-11-20 12:49:23 -08:00
Adam Ierymenko
1fde17bacb
Update World to reflect Alice and Bob in their final glory. Will hot-push this soon.
2015-11-20 11:46:10 -08:00
Joseph Henry
d472c59b8d
Additional test files
2015-11-20 02:41:27 -08:00
Joseph Henry
126fc46dc4
Updated makefile, removed old results directory
2015-11-20 01:22:15 -08:00
Joseph Henry
d2e624f301
Updated makefile, removed old results directory
2015-11-20 01:19:16 -08:00
Joseph Henry
7173b0124b
Removed old test directory
2015-11-20 01:13:04 -08:00
Joseph Henry
1f27022fa7
Test/Code Refactor in preparation for merge
2015-11-20 01:08:38 -08:00
Joseph Henry
9a25a627bb
WIP: Unit tests -- more generalization
2015-11-19 17:34:56 -08:00
Adam Ierymenko
375aae44e4
.
2015-11-19 16:36:15 -08:00
Joseph Henry
31bc5e1559
WIP: Unit tests
2015-11-19 16:21:59 -08:00
Joseph Henry
b1100b3d13
WIP: Automated tests
2015-11-19 16:14:27 -08:00
Grant Limberg
399b2e9e26
forgot to submit this. Add DeferredPackets.cpp to the android makefile
2015-11-17 19:16:10 -08:00
Adam Ierymenko
6f16f44438
VERSION 1.1.0: Win/Mac UI improvements, improved NAT-t, CIRCUIT_TEST, and more!
...
ZeroTier 1.1.0 introduces a number of fixes and improvements in several areas.
We incremented the secondary version to indicate the significance of this release.
Version numbering has been a bit ad-hoc in the past. In future versions we will
adopt the following scheme: odd-numbered revision numbers like 1.1.1 will indicate
development versions, while even numbered ones like 1.1.2 will indicate tagged
releases. The public git repo branching has also been revised: master will always
be the latest tagged release, dev will be usually-working development, and edge
will host maybe-broken "bleeding edge" development. Pull requests on GitHub should
generally be made against dev, not master or edge. Other branches that may appear
from time to time may be feature or experimental branches. Only master is confirmed
good, with dev usually being okay but not guaranteed to be such. (To the extent
that any software is ever guaranteed to be anything.)
Change summary:
User-facing changes and improvements:
- Windows now has a new .NET-based native UI, which replaces the old WebControl
wrapper around the React UI. This just didn't work well on older Windows systems,
and we did not want to bundle 40+ megabytes of web browser with our app just for
its very simple UI.
- The web UI (still used for Mac and usable in Linux as well) is updated with
improved look and simplifications.
- Both UIs no longer have the "Peers" tab, since several users reported that non-
technical users found this confusing and even alarming (does this mean people
can access my system?). This information is visibile with "listpeers" from the
command line (zerotier-cli).
New features:
- Virtual networks that use our RFC4193-based IPv6 numbering scheme now emulate
IPv6 NDP for queries that target these addresses within the same network. This
allows for faster multicast-free connection init and improved security since
the address is now hard-wired to the device ID (which is a crypto token). This
does not affect IPv6 NDP for other IPv6 addresses or link-local, which will
continue to work normally. This also opens the potential for a reduced footprint
multicast-free build for embedded applications.
- This version includes beta support for a feature called CIRCUIT_TEST. Network
controllers for networks you have joined can now send a special message called
CIRCUIT_TEST which allows for ZeroTier-layer link testing and remote diagnosis
of link issues. Any operator of a network controller can do this; more
documentation will be forthcoming. The only information that may be gathered
in this way is IP addressing info and very basic system info (OS, 32/64 bit,
ZeroTier version). No personal information, hard drive data, location, or other
private info is available. This can only be ordered by a controller of a network
you have joined and is secured using cryptographic signatures.
- This version includes an alpha version of clustering a.k.a. multi-homing! This
powerful feature allows for a single ZeroTier device to be run from multiple
endpoints, with connecting peers being handed off to endpoints that are closer
via GeoIP lookup and/or are more lightly loaded. Currently this is only suitable
for use in our soon-to-be-upgraded root server infrastructure (details will be
blogged soon), but in the future it will be capable of hosting multi-homed
devices on user networks. This will allow things like (for example) a geo-
clustered Cassandra server that appears behind a single IP on a virtual LAN.
This feature must be enabled with the ZT_ENABLE_CLUSTER=1 build option.
Bug fixes and other improvements (including performance!):
- A faster version of the Poly1305 cryptographic MAC function was substituted
for sometimes greatly improved performance.
- C++ STL std::map was replaced throughout the entire core with a hand-rolled
Hashtable implementation for improved performance and in some cases a reduced
memory footprint. Some maps are still used in peripheral code that is not
performance critical or where ordered keys are needed.
- The zerotier-cli and zerotier-idtool symbolic links are now created in
/usr/local/bin on OSX to comply with El Capitan file security restrictions.
- The OSX tap device driver has been updated. This update may fix issues that
some users have reported with bridging on OSX. This new tap device driver
drops 32-bit support, but if you have a 32-bit system you can manually install
the old driver from ext/bin/tap-mac.
- Mac users could experience a problem with the UI if they installed ZeroTier,
then uninstalled it, then installed again. This is now fixed.
- UPnP port mappings should work better on some routers, and a different local
port is now used for UPnP mapped traffic vs. NAT-t'd traffic to get around
a bug in several popular mid-tier routers where using UPnP mapping alongside
traditional NAT traversal made a port unreachable.
- Debian package now builds with the right arch label on armv7l systems (Pi 2)
- The old "root topology" has been replaced with a similar but better thought
out concept called a World. The World defines the root servers and possibly
in the future other things, and can be updated in-band from trusted peers
allowing for software-upgrade-free network upgrades to keep up with growing
demand. See node/World.hpp for details.
- A fix was made to "self-awareness," which keeps track of your external IP
info and adapts to changes, to eliminate a problem that could cause "link
thrashing" behind some symmetric NATs.
- Escalating UDP TTLs was re-introduced to better transit some port-restricted
cone NATs such as Linux IP MASQ (used for Docker).
- An otherwise harmless crash-on-exit bug in the network controller was fixed.
- All new direct links are now confirmed in both directions. This adds a very
small amount of initial HELLO/OK traffic but fixes some edge cases where an
incomplete or unidirectional path might be used.
- [SECURITY] Better rate limiting was put in place for VERB_PUSH_DIRECT_PATHS
to prevent potential abuse for amplification attacks.
- [SECURITY] Build flags were tweaked on OSX to ensure that all code including
dependency libraries are built with full stack canary protection and ASLR
support.
Visit https://www.zerotier.com/blog or follow @ZeroTier on Twitter for updates
and announcements!
2015-11-17 12:18:45 -08:00
Adam Ierymenko
1c0c3e62dc
Just add a launch prerequisite for .NET 4.5 -- it's usually there, and if not it can be easily installed. This is mostly an issue on old Windows Server systems, and in that case the admin will likely want to decide how to proceed.
2015-11-17 11:13:44 -08:00
Adam Ierymenko
9169b6c999
Fix crash on exit in Windows (does not affect other OSes) and revert debugging tweak in Windows version that prevented service from starting after real install.
2015-11-17 09:56:19 -08:00
Joseph Henry
a660ec490e
Started work on automated unit test scripts
2015-11-17 02:28:23 -08:00
Joseph Henry
f5c2600ca4
Added symbol checks in intercept. This seems wise after all
2015-11-16 23:57:19 -08:00
Adam Ierymenko
48745eca57
Fix ARM dpkg build.
2015-11-16 19:54:58 -08:00
Joseph Henry
b0f6dc43b4
Revised fd RX logic
2015-11-16 19:53:59 -08:00
Adam Ierymenko
456bfea58d
Real World -- edge now talks to real net.
2015-11-16 19:27:36 -08:00
Adam Ierymenko
0f5fb48a0b
Turns out it wasn't hard to add miniupnpc to the VS2012 project and just have it build with the rest of the code.
2015-11-16 19:04:04 -08:00
Adam Ierymenko
dc8edea0c6
Linux make rules to make libminiupnpc from source.
2015-11-16 18:33:52 -08:00
Adam Ierymenko
cf6164e847
Build libminiupnpc from source now, and update version.
2015-11-16 18:28:55 -08:00
Adam Ierymenko
a13a21377c
Delete pre-build miniupnpc for Linux and Mac -- will add Make rules to build from source and include source in ext/
2015-11-16 18:18:08 -08:00
Adam Ierymenko
37acd375d6
Fix 64-bit int warning.
2015-11-16 18:10:40 -08:00
Joseph Henry
f2289544b7
Check for fork/clone and re-initialize in close() -- for nginx
2015-11-16 17:44:11 -08:00
Adam Ierymenko
7a53ecac86
UI stuff.
2015-11-16 17:18:44 -08:00
Adam Ierymenko
906e49ff72
Add make option ZT_ENABLE_CLUSTER and disable it in default Linux build.
2015-11-16 16:22:41 -08:00
Adam Ierymenko
e4d1aba3f8
Use new OSX tap version, and update OSX install scripts.
2015-11-16 16:19:24 -08:00
Adam Ierymenko
38fe77ecf2
WebUIWrapper is dead.
2015-11-16 15:44:07 -08:00
Adam Ierymenko
8fde33d87c
.
2015-11-16 14:45:17 -08:00
Adam Ierymenko
220552af62
GitHub issue #241 -- and also some appearance updates. Eventually this might get replaced by a native Mac app.
2015-11-16 14:30:25 -08:00
Adam Ierymenko
637d50a9de
Write binary of world too.
2015-11-16 13:11:16 -08:00
Adam Ierymenko
f5b465c0e1
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-11-16 11:13:02 -08:00
Adam Ierymenko
6ac70ba808
.
2015-11-16 11:01:19 -08:00
Adam Ierymenko
08cd603623
Code to generate real World for edge.
2015-11-16 10:58:40 -08:00
Adam Ierymenko
ddf0cb0278
Docs and tweak some caching values.
2015-11-16 09:54:08 -08:00
Grant Limberg
75f8ee1b9c
get the compiler to stop complaining about two string literals (one a macro) next to each other without an intervening space
2015-11-14 18:19:33 -08:00
Grant Limberg
0508a41afd
added ttl parameter to WirePacketSendFunction
2015-11-14 17:40:17 -08:00
Adam Ierymenko
0d9f33dc4f
Fix: (1) Windows stack overflow due to buffer too large in peer deserialize, (2) clean up some other stuff seen during debugging and reduce the sizes of some buffers due to Windows small stack size, (3) remove a redundant try/catch.
2015-11-13 12:14:28 -08:00
Adam Ierymenko
90f9415107
Update installer to drag along a net-install binary for .NET 4.5 that it runs if .NET 4.5 is not present... because yes we have to install Microsoft's own flagship runtime under some conditions. (Rare, but present.)
2015-11-13 09:11:12 -08:00
Adam Ierymenko
2ec638a23d
New Windows UI tweaks: get rid of networks tab (only one tab!), make networks full width and make window narrower and a bit taller, colors, fixed-width fonts in several places, make network IDs selectable.
2015-11-12 17:38:30 -08:00
Joseph Henry
a6cffefa6d
Updated compatibility
2015-11-12 17:15:44 -08:00
Joseph Henry
a818c622d9
Updated throughput_httpd docker test files
2015-11-12 16:57:45 -08:00
Adam Ierymenko
ccae473783
Eliminate Windows warnings.
2015-11-12 16:51:33 -08:00
Adam Ierymenko
54f68280bd
Minor Windows build fixes. Builds on VS2012 again.
2015-11-12 16:48:42 -08:00
Joseph Henry
7d8084262a
Fixed rpc_st command alignment bug for RPC_SOCKET
2015-11-12 16:48:08 -08:00
Adam Ierymenko
bacb53fe8f
Remove old Windows NDIS5 tap driver -- I think this is dead.
2015-11-12 16:40:50 -08:00
Adam Ierymenko
33c132968e
GitHub issue #219 -- make Linux makefile cross-compiler aware.
2015-11-12 15:37:32 -08:00
Adam Ierymenko
73e314cc1a
Shelve pcap-with-bridge OSX experiment -- apparently pcap_inject does not work with bridge devices. Still have to use a kext.
2015-11-12 15:28:55 -08:00
Joseph Henry
6af54c5943
Minor debug updates
2015-11-12 14:49:20 -08:00
Joseph Henry
fa7220ec0e
Removed old Common.h
2015-11-12 14:35:58 -08:00
Joseph Henry
d1a22a0878
Streamlined debug output code
2015-11-12 14:32:27 -08:00
Adam Ierymenko
8ac411a9e4
Stashing utun work for OSX -- abandoning for now since utun excludes mDNS among other issues.
2015-11-12 10:47:50 -08:00
Joseph Henry
e5fad005a9
Updated RPC handling
2015-11-12 08:21:05 -08:00
Adam Ierymenko
0940d673db
Always advertise to the cluster when we have a peer even if we have also initiated handoff. This might be the cause of the warmup problem -- will test later. At the very least it should not hurt anything due to pick-latest logic and the fact that cluster members with only suboptimal paths do not respond to WANT_PEER.
2015-11-11 14:36:22 -08:00
Adam Ierymenko
b94335f115
Increase WHOIS retry delay slightly to allow for global cluster latency (e.g. 300+ms from New York to Johhannesburg)
2015-11-11 11:07:08 -08:00
Adam Ierymenko
a13ba7102a
GitHub issue #242 -- crappy uPnP protocol demands infinite lease time or else
2015-11-10 17:45:05 -08:00
Adam Ierymenko
451b8aa7b2
Query both root and network controller for multicast last resort GATHER.
2015-11-10 17:37:38 -08:00
Adam Ierymenko
53731acf51
Bracket by time in result cruncher script.
2015-11-10 17:15:06 -08:00
Adam Ierymenko
3b9411044f
Patch tap-mac to latest tuntaposx upstream changes, and add updated build for 10.8 or later (keep old one for 10.7).
2015-11-10 16:00:21 -08:00
Adam Ierymenko
141e2db38c
More results.
2015-11-10 15:47:18 -08:00
Adam Ierymenko
0cf4ddda4a
Some more test results, and fix OSX installer to put symlinks in /usr/local as per El Capitan requirements.
2015-11-10 15:11:15 -08:00
Adam Ierymenko
0e4a2c378f
Fix a sporadic warning in cluster-geo, and fix test to not overload the test-watcher.
2015-11-10 13:09:58 -08:00
Adam Ierymenko
2854f14966
Some cluster parameter tweaks, and change the test code in tests/http to dramatically reduce the amount of data transfer to/from the test master. Also add results of first successful 50k test.
2015-11-10 11:59:03 -08:00
Adam Ierymenko
4328c6c3bc
Fix delete oldest logic.
2015-11-10 09:46:14 -08:00
Adam Ierymenko
b171c9a0db
Replace slow std::list<> with an O(log(N)) data structure for the cluster relaying send queue.
2015-11-10 09:05:01 -08:00
Joseph Henry
82a60b1e28
Fixed throughput build script
2015-11-09 20:16:27 -08:00
Joseph Henry
19f09e46fa
Moved/Renamed Docker test dirs
2015-11-09 19:37:19 -08:00
root
134ad8ac21
Changed httpd version in throughput-test Dockerfile
2015-11-09 19:13:53 -08:00
Adam Ierymenko
32ec378e3b
Announce that we have peers on the cluster when we first see them to improve startup times, and add a result crunching script to tests/http.
2015-11-09 18:01:23 -08:00
Adam Ierymenko
2cc50bdb10
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
2015-11-09 15:44:13 -08:00
Adam Ierymenko
94f4316a0e
Fix for possible high CPU usage on multicast queries.
2015-11-09 14:54:05 -08:00
Adam Ierymenko
35c4e28f31
Mark geo-redirected paths as suboptimal and do not report that we have a peer if all we have is one of these. Also a few other small fixes.
2015-11-09 14:25:28 -08:00
Adam Ierymenko
47424df417
Fix (1) a deadlock bug and (2) a bug that prevented distributed rendezvous messages from being sent.
2015-11-09 13:39:06 -08:00
Adam Ierymenko
73e2c6e511
How did that ever work?
2015-11-09 12:24:49 -08:00
Adam Ierymenko
12cd9df059
.
2015-11-09 11:30:17 -08:00
Adam Ierymenko
4ad2ff2f71
.
2015-11-09 11:08:52 -08:00
Adam Ierymenko
b57c855a8c
PROXY_SEND fix.
2015-11-09 10:25:20 -08:00
Adam Ierymenko
ed954c5ca2
.
2015-11-09 10:09:16 -08:00
Adam Ierymenko
21341ab15c
Ready to test.
2015-11-09 09:45:43 -08:00
Adam Ierymenko
f4d12603e0
Tweak how Switch passes off to Cluster on relay to fit new paradigm.
2015-11-09 09:19:03 -08:00
Adam Ierymenko
ff81415ffe
Build fixes...
2015-11-09 09:14:26 -08:00
Adam Ierymenko
5371195c80
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-11-09 09:01:58 -08:00
Adam Ierymenko
473ce82040
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2015-11-09 09:01:41 -08:00
Adam Ierymenko
ab013d831c
.
2015-11-09 09:01:38 -08:00
Adam Ierymenko
57b71bfff0
Cluster simplification and refactor work in progress...
2015-11-08 13:57:02 -08:00
Adam Ierymenko
6bc8c9d8ef
Clustering cleanup, still a work in progress.
2015-11-06 16:12:41 -08:00
Adam Ierymenko
5f39d5b7ea
Further pare down Cluster messaging and rename some stuff.
2015-11-06 14:37:17 -08:00
Adam Ierymenko
9490b1f136
Try prioritizing cluster-send over direct send in cluster mode -- may improve cluster relaying reliability.
2015-11-06 13:38:56 -08:00
Adam Ierymenko
badec136fc
New agent master IP.
2015-11-06 11:55:06 -08:00
Adam Ierymenko
8ea5f424fd
Small amount of cleanup.
2015-11-06 11:15:06 -08:00
Grant Limberg
3cafa60284
fix up some borders & colors
2015-11-05 19:44:19 -08:00
Grant Limberg
2415ae45c1
remove the peers page
2015-11-05 19:44:19 -08:00
Adam Ierymenko
aa169b54de
Add conntrack tweak to nf for testing.
2015-11-05 18:06:04 -08:00
Adam Ierymenko
83c6b7ab3d
Use bigger UDP buffer on bigger x64 machines. Keep old value elsewhere since these are likely to be smaller boxes.
2015-11-05 17:41:07 -08:00
Adam Ierymenko
ba5008c370
Now make cluster announcements slightly more frequent.
2015-11-05 17:28:55 -08:00
Adam Ierymenko
3fa1b5a89d
Make cluster HAVE_PEER a little lighter by removing full identity. Technically this is not necessary and they will propagate over time in any case. Might restore it in some form in the future.
2015-11-05 17:22:22 -08:00
Adam Ierymenko
7603d8cee8
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2015-11-05 16:46:42 -08:00
Adam Ierymenko
869eff49bc
.
2015-11-05 16:46:33 -08:00
Adam Ierymenko
d9abc28fe3
.
2015-11-05 14:54:54 -08:00
Adam Ierymenko
3e22fee842
Integrate deferred background processing into main OneService implementation.
2015-11-05 12:41:14 -08:00
Adam Ierymenko
5ec5911e1b
Merge branch 'edge' of http://10.6.6.2/zerotier/ZeroTierOne into edge
2015-11-05 12:23:06 -08:00
Adam Ierymenko
8ef4edebbf
Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers.
2015-11-05 12:22:58 -08:00
Grant Limberg
86c74d8a65
set manifest to require administrator privileges and read the authtoken and port from disk
2015-11-04 20:34:49 -08:00
Grant Limberg
49086e4556
just a little xaml cleanup
2015-11-04 20:31:41 -08:00
Grant Limberg
4c7bb06894
make the main window width a bit smaller
2015-11-04 20:19:14 -08:00
Grant Limberg
f3e527e130
update the peer list in place rather than replacing it
2015-11-04 20:17:58 -08:00
Grant Limberg
df74dd6e41
make the peers page prettier
2015-11-04 20:03:25 -08:00
Grant Limberg
5e9166cec7
setting width/height isn't necessary
2015-11-04 19:30:26 -08:00
Grant Limberg
d2c288b13f
Fix vertical scrolllbar on networks view
2015-11-04 19:12:12 -08:00
Grant Limberg
fc32dc11a6
make the networks view a bit prettier
2015-11-04 19:08:13 -08:00
Grant Limberg
2721804ebf
make the tabs a little prettier
2015-11-04 18:41:08 -08:00
Grant Limberg
7b86176d0e
Don't go kaboom when the ZeroTier service isn't running.
2015-11-04 18:28:07 -08:00
Adam Ierymenko
a95ff21aaf
test stuff
2015-11-04 15:09:19 -08:00
Joseph Henry
3e84e8b8c3
Performance tweaks to lwipopts.h (TX=12MB/s)
2015-11-04 14:45:26 -08:00
Adam Ierymenko
9ec32e7926
Agent settings for big test.
2015-11-04 13:28:43 -08:00
Grant Limberg
7756b5bf1c
Merge branch 'android-jni-dev' into edge
2015-11-03 19:15:00 -08:00
Grant Limberg
eadeac0a42
logging of events
2015-11-03 19:14:11 -08:00
Joseph Henry
4b07987210
Added throughput-test Docker files
2015-11-03 18:10:39 -08:00
Adam Ierymenko
172fc1052b
Merge windows-ui into edge.
2015-11-03 17:38:36 -08:00
Adam Ierymenko
523412edfb
Abort backup in progress if thread is told to shut down.
2015-11-03 16:03:00 -08:00
Adam Ierymenko
f7a407ffa0
Tweak timings and use lock in backup to make it a bit faster and still permit main thread to work.
2015-11-03 15:56:24 -08:00
Adam Ierymenko
7903f24a8f
Create periodic backup copies of controller.db in network controller from the main process itself to facilitate easier and safer backups of controller.db.
2015-11-03 15:52:10 -08:00
Adam Ierymenko
4b655ab22c
tests
2015-11-03 14:39:44 -08:00
Adam Ierymenko
d9d11042ca
.
2015-11-03 12:56:34 -08:00
Adam Ierymenko
0b245b031e
Allow ZT_TRACE without debug.
2015-11-03 11:20:12 -08:00
Adam Ierymenko
a42d714a87
.
2015-11-03 11:18:45 -08:00
Adam Ierymenko
c9e6e60c09
Handle ZeroTier-RFC4193 IPv6 address NDP queries inline by spoofing responses if the addressing scheme matches -- this allows multicast-free instant lookup of local IPv6 for better performance and reliability.
2015-11-03 10:46:41 -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
Grant Limberg
b7df177f33
updates for origin/edge
2015-11-02 19:18:55 -08:00
Grant Limberg
179b064b05
Merge branch 'edge' into android-jni-dev
2015-11-02 18:32:21 -08:00
Grant Limberg
a19e82fcbc
Merge branch 'edge' into windows-ui
2015-11-02 18:30:54 -08:00
Joseph Henry
ccbdb1a3a1
RPC command index fix
2015-11-02 16:09:28 -08:00
Adam Ierymenko
4e9d430476
Make root and relay selection somewhat more robust.
2015-11-02 16:03:28 -08:00
Joseph Henry
8d7b2cd486
Removed serv. conn. checks.
2015-11-02 15:52:12 -08:00
Adam Ierymenko
00dcb0f22c
.
2015-11-02 15:39:09 -08:00
Adam Ierymenko
7fbe2f7adf
Tweak some more timings for better reliability.
2015-11-02 15:38:53 -08:00
Joseph Henry
fd33e0812c
Added checks for bad service connection.
2015-11-02 15:31:57 -08:00
Adam Ierymenko
60ce886605
Tweak some timings for better reliability.
2015-11-02 15:15:20 -08:00
Adam Ierymenko
ab27a91b07
.
2015-11-02 13:53:27 -08:00
Joseph Henry
24ffb22fa6
Changed default debug level
2015-11-02 13:26:59 -08:00
Joseph Henry
da462bbd55
Removed curses dependency
2015-11-02 13:21:40 -08:00
Adam Ierymenko
fd3916a49e
More test stuff... make it more granular and less batch based.
2015-11-02 13:17:11 -08:00
Joseph Henry
bb912cff30
More appropriate phyOnUnixClose handling
2015-11-02 12:50:32 -08:00
Adam Ierymenko
e53ef9642e
test stuff.
2015-11-02 12:31:34 -08:00
Joseph Henry
6338a4933b
Fixed another closure bug. Updated debug levels
2015-11-02 12:30:18 -08:00
Adam Ierymenko
29249db5d2
Big test stuff.
2015-11-02 11:37:32 -08:00
Joseph Henry
4dbb84cea1
Fixed connection closure bug (ERR_ABRT from nc_recved)
2015-11-02 10:59:46 -08:00
Adam Ierymenko
f1b6427e63
Decided to make this 1.1.0 (semantic versioning increment is warranted), and add a legacy hack for older clients working with clusters.
2015-11-02 09:32:56 -08:00
Joseph Henry
db473beb48
Fixed accept return value / errno bug, also fdret_sock return bug
2015-10-30 17:00:30 -07:00
Adam Ierymenko
1b4cc4af5c
Fix evil bug, and instrument/assert on some other stuff, and a bit of cleanup.
2015-10-30 15:54:40 -07:00
Adam Ierymenko
7382c328da
Null pointer bug appears fixed... testing again at large scale.
2015-10-30 14:23:28 -07:00
Adam Ierymenko
641b0dec44
.
2015-10-30 14:12:20 -07:00
Adam Ierymenko
2fbb5d0bbf
.
2015-10-30 14:11:45 -07:00
Adam Ierymenko
d8dbbf7484
Add some debug code in TRACE mode to catch a bug.
2015-10-30 14:11:10 -07:00
Adam Ierymenko
377ccff600
getPeer() had a small potential to be unsafe.
2015-10-30 13:39:28 -07:00
Adam Ierymenko
f974517f64
Save zerotier output in containers.
2015-10-30 13:06:30 -07:00
Adam Ierymenko
f808138a94
docs and stuff
2015-10-30 13:05:34 -07:00
Adam Ierymenko
b845dd1b88
Set contact IP for real test.
2015-10-30 12:38:12 -07:00
Adam Ierymenko
b6725c4415
Optimize AntiRecursion.
2015-10-30 11:48:33 -07:00
Adam Ierymenko
5bfa29dded
Make antirec tail len slightly shorter, better performance and still plenty long enough.
2015-10-30 11:09:40 -07:00
Adam Ierymenko
80e62ad291
docs
2015-10-30 10:55:05 -07:00
Adam Ierymenko
e2fc20876d
docs
2015-10-29 18:23:41 -07:00
Joseph Henry
96eb0ce492
Added state dump, fixed numerous RPC related bugs
2015-10-29 17:57:59 -07:00
Adam Ierymenko
d6c0d176ee
Periodically re-announce peers that we have.
2015-10-29 10:10:09 -07:00
Adam Ierymenko
9f0f0197fe
More dead code removal.
2015-10-29 09:44:25 -07:00
Adam Ierymenko
a994573a43
Eliminate some more dead code. We may do path trust, but not like that.
2015-10-29 09:42:15 -07:00
Adam Ierymenko
883c84bdb9
Tweak some timings, and remove some dead code.
2015-10-29 09:39:36 -07:00
Joseph Henry
f6e0bdb2f2
Fixed PCB state issue when closing connection
2015-10-28 16:18:08 -07:00
Adam Ierymenko
e3d811b04b
docs
2015-10-28 15:55:40 -07:00
Adam Ierymenko
cabb8752cb
docs
2015-10-28 15:28:05 -07:00
Adam Ierymenko
1f5ef968cf
Test need a more recent version of NodeJS so update Dockerfile.
2015-10-28 15:08:00 -07:00
Joseph Henry
c8f27da294
Added support for MongoDB (server side)
2015-10-28 14:37:46 -07:00
Adam Ierymenko
68d6d3c4ff
Fix bug in peer count.
2015-10-28 14:29:08 -07:00
Adam Ierymenko
4c24e0cfb0
More tweaks to tests... just about ready to run at scale.
2015-10-28 14:24:54 -07:00
Adam Ierymenko
9653531242
.
2015-10-28 14:18:58 -07:00
Adam Ierymenko
07c1b4ddee
test stuff
2015-10-28 14:16:58 -07:00
Adam Ierymenko
1cae7327ae
Basic Dockerfile for building test agents.
2015-10-28 13:35:52 -07:00
Adam Ierymenko
c03550de35
HTTP test works!
2015-10-28 13:14:53 -07:00
Adam Ierymenko
c6a918d996
HTTP test code.
2015-10-28 12:50:48 -07:00
Adam Ierymenko
0034efafe4
On semi-undocumented test net, assign a RFC4193 IPv6 address too. Will be useful for our at-scale tests.
2015-10-28 11:08:15 -07:00
Adam Ierymenko
0fd15d9cf3
Fix inverted sense bug.
2015-10-28 10:38:37 -07:00
Adam Ierymenko
938d0a970b
TRACE build fixes.
2015-10-28 10:01:32 -07:00
Adam Ierymenko
fdc3e103cc
Cleanup and docs.
2015-10-28 09:38:33 -07:00
Adam Ierymenko
c1b0329969
Only check IP equality to detect external surface changes (should prevent some spurious resets under symmetric NATs), and simplify some logic.
2015-10-28 09:32:07 -07:00
Adam Ierymenko
da93712846
Clean up PUSH_DIRECT_PATH limits a bit more and make them a bit smarter.
2015-10-28 09:11:30 -07:00
Adam Ierymenko
cdc99bfee1
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
2015-10-27 18:18:26 -07:00
Adam Ierymenko
88b100e5d0
More cleanup.
2015-10-27 17:59:17 -07:00
Joseph Henry
21889305e0
Updated README.md
2015-10-27 17:41:51 -07:00
Joseph Henry
18db95d0e9
Updated README.md
2015-10-27 17:38:56 -07:00
Adam Ierymenko
51fcc75354
Some cleanup, and use getPeerNoCache() exclusively in Cluster.
2015-10-27 17:36:47 -07:00
Joseph Henry
721d58b464
Added support for Redis
2015-10-27 17:12:32 -07:00
Adam Ierymenko
4221552c0b
Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere.
2015-10-27 16:52:44 -07:00
Adam Ierymenko
cc1b275ad9
Replicate peer endpoints and forget paths if we have them -- this allows two clusters to talk to each other, whereas forgetting all paths does not.
2015-10-27 16:47:13 -07:00
Adam Ierymenko
cc6080fe38
(1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking.
2015-10-27 15:57:26 -07:00
Adam Ierymenko
6399f6f094
This no longer has to be quite so fast.
2015-10-27 15:02:15 -07:00
Adam Ierymenko
218ef07d8e
Build fix in TRACE mode.
2015-10-27 15:01:11 -07:00
Adam Ierymenko
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
2015-10-27 15:00:16 -07:00
Adam Ierymenko
40976c02a4
Forget paths to peers if we are handing them off.
2015-10-27 14:37:38 -07:00
Adam Ierymenko
f692cec763
Change how cluster relays packets -- just PROXY_UNITE and then send packet via normal ZeroTier front plane -- more efficient and eliminates fragmentation issues.
2015-10-27 14:04:12 -07:00
Adam Ierymenko
40e0a34a5c
Add set buffer sizes code to Phy<>
2015-10-27 13:04:08 -07:00
Adam Ierymenko
7295fcfa86
Merge Phy<> from netcon.
2015-10-27 12:50:23 -07:00
Adam Ierymenko
cfe166ef35
Tweak some size limits.
2015-10-27 12:29:01 -07:00
Adam Ierymenko
0ffbd05c0e
--wtf; prevent roots from TCP fallback
2015-10-27 12:21:57 -07:00
Adam Ierymenko
a1a0ee4edb
Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks)
2015-10-27 12:01:00 -07:00
Adam Ierymenko
54a99d8e32
Well that was broken.
2015-10-27 11:14:07 -07:00
Adam Ierymenko
62db18b6dd
Lessen this limit just a bit to make cluster settle faster.
2015-10-27 11:01:58 -07:00
Adam Ierymenko
f32e9d07dd
Don't include COM if not necessary (fix).
2015-10-27 10:58:01 -07:00
Adam Ierymenko
700c3166b7
Fix inverted sense bug.
2015-10-27 10:51:11 -07:00
Adam Ierymenko
17e7528e2c
More root cleanup.
2015-10-27 10:40:31 -07:00
Adam Ierymenko
8a7a0b6b88
Cleanup, including simplification of root server picking algorithm since we no longer need all that craziness.
2015-10-27 10:37:39 -07:00
Adam Ierymenko
9617208e40
Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.
2015-10-27 09:53:43 -07:00
Adam Ierymenko
fb3b7a3baa
Take -DZT_ENABLE_CLUSTER out of Mac defaults.
2015-10-27 09:41:12 -07:00
Adam Ierymenko
69857b4ba8
Refactor cluster redirects to move code to push peers out of the actual Cluster function that checks for redirect, and clean up Peer::received() to be a bit more logical.
2015-10-27 09:36:48 -07:00
Grant Limberg
0ffcfa307e
another build setting
2015-10-26 20:26:19 -07:00
Grant Limberg
16c812ec80
set the app icon for release
2015-10-26 20:24:08 -07:00
Grant Limberg
268fbdabce
disable sorting of peers
2015-10-26 20:06:53 -07:00
Grant Limberg
87496e9f4a
can now leave networks
2015-10-26 19:53:03 -07:00
Grant Limberg
300a951730
Figured out how to expand controls to fill parent. yay
2015-10-26 19:39:54 -07:00
Grant Limberg
095539de29
Initial peers page
2015-10-26 19:21:21 -07:00
Grant Limberg
c4c67e591b
add error handling for JSON serialization
2015-10-26 19:02:19 -07:00
Grant Limberg
502aa68bb7
change int to UInt64 for these properties
2015-10-26 19:01:59 -07:00
Grant Limberg
81cb4bc8d6
set up a timer to update the UI from a background thread
2015-10-26 18:31:10 -07:00
Adam Ierymenko
e713f7a54c
Can redirect in response to a few more verbs, just not these.
2015-10-26 18:20:40 -07:00
Grant Limberg
352b83252f
Merge branch 'adamierymenko-dev' into windows-ui
2015-10-26 18:10:27 -07:00
Grant Limberg
a0c3083af0
disallow paste of non hex characters
2015-10-26 18:08:44 -07:00
Adam Ierymenko
98d856daa2
Only send redirects to the sending InetAddress and only in response to a set of certain frame types to avoid potential race conditions.
2015-10-26 17:58:51 -07:00
Adam Ierymenko
8bfb02ba3c
Only send redirects for the same address class, and elminiate some TRACE noise.
2015-10-26 16:55:55 -07:00
Adam Ierymenko
0b82c9ebad
Fix infinite loop if there are no live roots (never happened before?!? wow!)
2015-10-26 16:09:56 -07:00
Adam Ierymenko
de761c5a82
Fix test world def.
2015-10-26 15:47:32 -07:00
Adam Ierymenko
6cf1da166f
Add the whole new World, though with test identities at this point.
2015-10-26 15:12:28 -07:00
Adam Ierymenko
6625d79296
Fix if cluster compiled in but not enabled.
2015-10-26 13:07:00 -07:00
Adam Ierymenko
debed1ac2d
Expose cluster status in /status JSON response.
2015-10-26 13:06:10 -07:00
Adam Ierymenko
5ff7733f84
More plumbing of cluster status.
2015-10-26 12:49:17 -07:00
Adam Ierymenko
865acfa40f
Cluster status plumbing.
2015-10-26 12:41:08 -07:00
Adam Ierymenko
3ce5ad9e2c
For forward compatibility, add minimal parse for some future physical address types.
2015-10-26 10:42:30 -07:00
Adam Ierymenko
d2b1dfe424
Fully specify new network in alice-test, this will (with different identities) eventually become the World.
2015-10-23 15:51:50 -07:00
Grant Limberg
55dcf4c65f
wire up the join network button
2015-10-23 15:50:49 -07:00
Grant Limberg
7e635d37ad
only accept hex characters for network id
2015-10-23 15:49:04 -07:00
Grant Limberg
b7b973624a
add methods for joining/leaving networks, and getting peers
2015-10-23 15:37:36 -07:00
Grant Limberg
62059a91aa
C#-ifying stuff
2015-10-23 15:36:42 -07:00
Adam Ierymenko
35676217e8
Refactor multicast group announcement to work directly or indirectly.
2015-10-23 14:50:07 -07:00
Joseph Henry
8cfee8a38c
Changed to more appropriate APP_POLL_FREQ
2015-10-23 14:31:06 -07:00
Joseph Henry
80a73cb14b
Minor cleanup
2015-10-23 14:23:04 -07:00
Adam Ierymenko
e9648a6cdf
Clarify logic in pinging, and prevent roots from pinging "down."
2015-10-23 14:05:12 -07:00
Adam Ierymenko
e6a63f5547
Fix bug in setWorld that might have caused a peer entry for myself (which would never be used)
2015-10-23 13:57:02 -07:00
Joseph Henry
b48ed824e6
Improved RPC connection closure logic
2015-10-23 13:37:41 -07:00
Adam Ierymenko
29b966894c
(1) Fix bug in geo-ip service that prevented cache lookup, (2) fix problem in SelfAwareness (will need to test ALL versions in the wild with this), and (3) add more TRACE instrumentation to Cluster.
2015-10-23 13:03:34 -07:00
Adam Ierymenko
f0160635a2
Add --harmony for older nodeJS.
2015-10-23 12:05:17 -07:00
Adam Ierymenko
964b30902a
Cluster fix: was accumulating remote endpoints endlessly.
2015-10-23 11:51:18 -07:00
Adam Ierymenko
2a3dd53952
.
2015-10-22 17:50:00 -07:00
Joseph Henry
236e474553
Unload lwipstack->_libref upon exit
2015-10-22 16:26:29 -07:00
Adam Ierymenko
dee6e7e3c1
.
2015-10-22 16:11:48 -07:00
Adam Ierymenko
7711eba297
More cluster wiring...
2015-10-22 16:02:01 -07:00
Joseph Henry
2f4628520b
Improved RPC connection cleanup logic
2015-10-22 13:20:50 -07:00
Joseph Henry
b203d25656
PhySocket NULL check added to handle_write. Fixed after-close handle_write segfault
2015-10-22 12:40:01 -07:00
Adam Ierymenko
1bc451ed10
GeoIP cluster service works.
2015-10-22 10:41:15 -07:00
Adam Ierymenko
e07bae2525
Run geoip cluster service sub-process.
2015-10-22 10:18:05 -07:00
Adam Ierymenko
5304b0d8d1
Rename index.js so process is distinguishable.
2015-10-22 09:09:15 -07:00
Grant Limberg
fe6960888a
add a scroll bar to the network info view
2015-10-21 20:40:43 -07:00
Grant Limberg
5b6ddaa2d7
Base windows UI is working.
...
* No joining/leaving networks yet, but they do display.
* Nothing is updated yet after first load of the app. Need to set up a background task to run updates.
2015-10-21 20:29:03 -07:00
Grant Limberg
6471c1f4e2
Merge branch 'adamierymenko-dev' into windows-ui
2015-10-21 17:35:38 -07:00
Joseph Henry
8e7e409fce
Updated netcon README
2015-10-21 16:56:39 -07:00
Joseph Henry
1458dc8347
set O_NONBLOCK default in accept()
2015-10-21 16:32:27 -07:00
Joseph Henry
303579cb42
Added Node.js support
2015-10-21 16:27:17 -07:00
Adam Ierymenko
a46514b397
Cluster-geo launcher.
2015-10-21 12:47:02 -07:00
Adam Ierymenko
25a84e30fc
Code for cluster-geo service.
2015-10-21 12:41:46 -07:00
Adam Ierymenko
978b056a01
Wire in redirectPeer(), now about ready to test clustering!
2015-10-20 17:36:10 -07:00
Adam Ierymenko
6a7b47e5e1
Forgot a return true.
2015-10-20 17:27:57 -07:00
Adam Ierymenko
d6dee7bb5c
Clustered handling of relaying.
2015-10-20 17:22:53 -07:00
Adam Ierymenko
35a12b94ea
Outfit Cluster with TRACE for debugging.
2015-10-20 16:48:49 -07:00
Adam Ierymenko
2258e36a59
Move replication of COMs to avoid race condition.
2015-10-20 16:34:21 -07:00
Adam Ierymenko
59e1444b27
Finish wiring up Cluster, fix some issues with other recent changes.
2015-10-20 16:31:41 -07:00
Adam Ierymenko
eb79d4a2f3
Wire up peer announcement in cluster.
2015-10-20 16:24:21 -07:00
Adam Ierymenko
57e29857cf
Cluster work -- integrating with the rest of the code.
2015-10-20 15:27:53 -07:00
Grant Limberg
21ae423feb
.
2015-10-19 21:19:23 -07:00
Grant Limberg
9ba5c91d4a
initial layout for network info
2015-10-19 21:17:18 -07:00
Grant Limberg
80d02d189a
set the main window icon
2015-10-19 20:30:21 -07:00
Grant Limberg
56267b2aed
setting icon and a few other settings
2015-10-19 20:29:06 -07:00
Grant Limberg
6040574d8d
set up project and base UI for a native windows UI for ZeroTier
2015-10-19 20:20:42 -07:00
Adam Ierymenko
5e6eae620b
Make _members dynamically allocated due to static array limit on ARM.
2015-10-19 16:18:57 -07:00
Adam Ierymenko
69dad37d8f
Restore default World for commit to upstream
2015-10-19 15:23:43 -07:00
Adam Ierymenko
cfdcce6d12
Fix very obscure IP scope classification logic bug.
2015-10-19 15:19:04 -07:00
Adam Ierymenko
0b2e5ed499
Fix some broken logic in Path::reliable()
2015-10-19 15:11:43 -07:00
Adam Ierymenko
9150778757
.
2015-10-19 15:04:26 -07:00
Adam Ierymenko
50f3ccd3c9
.
2015-10-19 15:03:58 -07:00
Adam Ierymenko
584072fa6a
Fix for V4/V6 stable addressing.
2015-10-19 14:04:36 -07:00
Adam Ierymenko
3adb183c5f
Fix bad COM attachment bug and eliminate an unnecessary redundant check.
2015-10-19 13:38:27 -07:00
Adam Ierymenko
95953b48f9
Do not allow VERB_RENDEZVOUS from non-upstream peers to block potential DOS vector.
2015-10-19 12:56:29 -07:00
Adam Ierymenko
aa6e3c79a0
Some test stuff that will not be pushed elsewhere.
2015-10-19 10:49:31 -07:00
Adam Ierymenko
0c43d34ce3
World test stuff... some of this will be yanked before release.
2015-10-19 10:00:35 -07:00
Joseph Henry
8b03965912
Added status debugs
2015-10-16 19:30:01 -04:00
Janjaap Bos
82e0abc4be
Fix for cross compiling
2015-10-17 00:15:10 +02:00
Joseph Henry
0405ba1ccf
Misc changes
2015-10-16 18:02:07 -04:00
Adam Ierymenko
738fa5a5e5
.
2015-10-16 12:10:57 -07:00
Joseph Henry
b96c08f35c
Fixed nginx listen() bug
2015-10-16 14:43:38 -04:00
Adam Ierymenko
cc4d0199e7
Fix vProto init.
2015-10-16 10:58:59 -07:00
Adam Ierymenko
781f06ef82
Accept OK for confirm of HELLO or ECHO.
2015-10-16 10:48:38 -07:00
Adam Ierymenko
f9f60f89d9
Peer save/restore fix.
2015-10-16 10:45:58 -07:00
Adam Ierymenko
5ce3aac929
Add rate limit on receive of DIRECT_PATH_PUSH to prevent DOS exploitation.
2015-10-16 10:28:09 -07:00
Adam Ierymenko
2229e91b57
IPv6 support fixes.
2015-10-16 10:10:12 -07:00
Adam Ierymenko
2debde3451
GitHub issue #235 , and I also see no reason not to communicate with people from other Worlds.
2015-10-15 07:22:17 -07:00
Joseph Henry
3e8e025704
Minor cleanup items
2015-10-14 19:55:21 -04:00
Adam Ierymenko
a775ee7d31
.
2015-10-14 16:21:39 -07:00
Adam Ierymenko
9ece8c465e
decrypt fix
2015-10-14 15:49:41 -07:00
Joseph Henry
499d1628c7
Improved error coverage
2015-10-14 17:59:11 -04:00
Adam Ierymenko
59389b3dce
Untested cluster code, not enabled.
2015-10-14 14:17:55 -07:00
Adam Ierymenko
619e113748
Work in progress on Cluster for new root infrastructure, multi-homing.
2015-10-14 14:12:12 -07: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
d45db0f5af
Fixed premature connection close bug
2015-10-14 15:46:22 -04:00
Joseph Henry
0b5a2a7594
Removed character from NEtconEthernetTap.cpp
2015-10-14 13:49:13 -04:00
Joseph Henry
831a513b2d
Normalized cases
2015-10-14 13:47:35 -04:00
Adam Ierymenko
c312ae221f
Fix for world size in OK(HELLO)
2015-10-14 10:45:33 -07:00
Joseph Henry
a35b6589d2
Removed lowercase intercept.h conflicting file
2015-10-14 13:43:12 -04:00
Adam Ierymenko
719233617c
Add uint16_t key to Hashtable, and make Salsa20 zero its keyspace on destruction.
2015-10-14 10:14:07 -07:00
Joseph Henry
3c8e74023f
Inconsequential. Updated commends, added debug statements
2015-10-13 20:20:45 -04:00
Joseph Henry
71c6ec71e5
connect() now checks socket family
2015-10-13 19:27:19 -04:00
Joseph Henry
1fd04557c7
Refactored connect(), added checks to socket(), updated checklists
2015-10-13 19:12:12 -04:00
Joseph Henry
aa6ff039c4
Improved bind() logic, added more error handling to accept()
2015-10-13 18:33:56 -04:00
Joseph Henry
8a05efa365
EBADF, EOPNOTSUPP, EMFILE error repoarting for accept()
2015-10-13 17:57:17 -04:00
Joseph Henry
da536cc311
Improved error reporting
2015-10-13 17:37:54 -04:00
Joseph Henry
0912d4be59
Fixed socket protocol check logic in socket()
2015-10-13 17:05:11 -04:00
Adam Ierymenko
489e1a5b83
Don't keep connections up longer than the alive timeout (unless they are relays or roots)
2015-10-13 13:51:54 -07:00
Adam Ierymenko
824ed99160
.
2015-10-13 12:42:54 -07:00
Adam Ierymenko
385f1410d2
Expose world info in JSON.
2015-10-13 12:33:15 -07:00
Adam Ierymenko
70d8e3ad94
Expose world ID and world timestamp in ZT_NodeStatus
2015-10-13 12:31:38 -07:00
Adam Ierymenko
71348f3ebb
docs
2015-10-13 12:29:01 -07:00
Adam Ierymenko
e268d9492a
cleanup
2015-10-13 12:18:47 -07:00
Adam Ierymenko
123c466843
Full integration of World and World updates.
2015-10-13 12:17:47 -07:00
Adam Ierymenko
5d2f523e81
World stuff...
2015-10-13 12:10:44 -07:00
Joseph Henry
73145de618
Added some parameter checks from linux kernel syscall source
2015-10-13 14:27:30 -04:00
Adam Ierymenko
05677f57e2
Add C output to mkworld.
2015-10-13 08:55:21 -07:00
Adam Ierymenko
cae58f43f1
More World stuff, and mkworld.
2015-10-13 08:49:36 -07:00
Joseph Henry
82052459a2
Odds and ends
2015-10-12 21:50:41 -04:00
Joseph Henry
4e1e857949
Minor bug fixes
2015-10-12 21:26:32 -04:00
Adam Ierymenko
1b1945c63e
Work in progress on refactoring root-topology into World and adding in-band updates.
2015-10-12 18:25:29 -07:00
Joseph Henry
8d1b01cb5b
Bug fix: Connection fd lookup in service
2015-10-12 20:46:59 -04:00
Adam Ierymenko
70fe7dd1fd
cleanup
2015-10-12 16:40:57 -07:00
Joseph Henry
5dffa43201
Additional retval+errno handling
2015-10-12 19:29:27 -04:00
Joseph Henry
6b1a38f14c
Better retval+errno handling
2015-10-12 16:38:08 -04:00
Joseph Henry
fe8e7ded8c
retval+errno return test
2015-10-09 20:27:38 -04:00
Adam Ierymenko
eff1fe3c61
Create files for each hop (more convenient) and fix a packet parse bug.
2015-10-09 16:22:34 -07:00
Adam Ierymenko
7d01fab132
Reorg fields to be in same order as FS scheme.
2015-10-09 15:18:01 -07:00
Adam Ierymenko
c9295a5883
.
2015-10-09 15:12:05 -07:00
Adam Ierymenko
aec13b50fd
Be a bit more verbose in circuit test reports to more clearly track current and upstream hop in graph traversal history.
2015-10-09 15:05:26 -07:00
Adam Ierymenko
a95fa379cc
Circuit tests basically work but need some tweaks, and fix some issues found with valgrind.
2015-10-09 14:51:38 -07:00
Joseph Henry
07536216c2
Removed netcon/.depend
2015-10-09 17:36:27 -04:00
Joseph Henry
3bcb6bf321
Minor cleanup
2015-10-09 17:31:22 -04:00
Joseph Henry
7f56678d84
Added liblwip.so and libintercept build files
2015-10-09 17:06:09 -04:00
Adam Ierymenko
97dee9de36
Add more helpful example stuff.
2015-10-09 12:50:52 -07:00
Joseph Henry
e3ec000e93
Added intercept build file and sources
2015-10-09 15:41:16 -04:00
Adam Ierymenko
6b5bb0b278
Eliminate format string warnings.
2015-10-09 12:22:13 -07:00
Adam Ierymenko
e33adad8f5
Script to quickly generate test docker env files.
2015-10-09 12:15:42 -07:00
Joseph Henry
769bad3320
Test: Added handle_write call to nc_poll
2015-10-09 15:05:45 -04:00
Adam Ierymenko
9a25651151
.
2015-10-09 10:14:45 -07:00
Adam Ierymenko
c2bbec2f05
Docker example (and useful for testing)
2015-10-09 10:14:20 -07:00
Adam Ierymenko
0c498556d5
Unroll Salsa20 fully for a little more speed (non-SSE now almost as fast as SSE)
2015-10-09 09:39:27 -07:00
Adam Ierymenko
3fa6dd377f
docs
2015-10-09 08:51:57 -07:00
Joseph Henry
6600b005b6
No Whack!
2015-10-08 21:24:51 -04:00
Joseph Henry
b5b57aca02
Whack!
2015-10-08 21:04:47 -04:00
Adam Ierymenko
160278c489
Little bit of reorg in Salsa20 which seems to speed things up very slightly.
2015-10-08 17:42:53 -07:00
Joseph Henry
d868a234da
Refactored write logic
2015-10-08 19:38:29 -04:00
Adam Ierymenko
59da8b2a4b
Logging of circuit test results to disk.
2015-10-08 15:44:06 -07:00
Joseph Henry
41dfbe544f
Removed exit(0) for debugging
2015-10-08 18:10:10 -04:00
Joseph Henry
bbfc9359e9
Minor timer changes (~21 Mb/s local)
2015-10-08 17:55:58 -04:00
Adam Ierymenko
558775d544
Merge branch 'adamierymenko-dev' of http://10.6.6.2/zerotier/ZeroTierOne into adamierymenko-dev
2015-10-08 13:26:43 -07:00
Adam Ierymenko
a3876353ca
Abiltiy to post a test via the controller web API, and parsing of CIRCUIT_TEST_REPORT messages.
2015-10-08 13:25:38 -07:00
Adam Ierymenko
273f0d18b0
docs
2015-10-08 09:05:25 -07:00
Grant Limberg
9347d6c866
Make it so ZeroTierOne.h can be used with a C compiler again.
2015-10-07 18:04:40 -07:00
Adam Ierymenko
fea1b6b2c3
docs
2015-10-07 16:25:08 -07:00
Adam Ierymenko
0ce0bc00d2
Make sure received() gets called for some new messages, and docs.
2015-10-07 16:20:54 -07:00
Adam Ierymenko
69b44bf9a5
Finally add an ECHO.
2015-10-07 16:11:50 -07:00
Adam Ierymenko
73cafbe0ec
Limit proof of work difficulty to something sane.
2015-10-07 13:46:44 -07:00
Adam Ierymenko
e5f168f599
Add proof of work request for future DDOS mitigation use.
2015-10-07 13:35:46 -07:00
Adam Ierymenko
7d62dbe9f7
Tune NAT-t keepalives so that timing is better obeyed, clean up a build warning, and fix a potential source of network recursion (though harmless).
2015-10-07 11:57:59 -07:00
Adam Ierymenko
13f14c2f4c
Kill debug line.
2015-10-07 10:56:47 -07:00
Adam Ierymenko
c952fbbd8d
Only enable 128-bit Poly1305 on X86_64 right now. Has compilation issues on ARM, but the 64-bit version should be fine.
2015-10-07 10:40:59 -07:00
Adam Ierymenko
ab0228f626
More cleanup and simple refactoring, consolidate InetAddres serialize/deserialize into the class.
2015-10-07 10:30:47 -07:00
Adam Ierymenko
6c7ce79c89
Be consistent in how enums are defined in the main .h file.
2015-10-07 09:51:35 -07:00
Adam Ierymenko
1b2cac0cc5
Trim some cruft that is not used and probably never would be.
2015-10-07 09:38:33 -07:00
Joseph Henry
1bc33ae8d7
Minor debug output changes
2015-10-06 21:22:08 -04:00
Adam Ierymenko
598a1d8dd7
Try reopening /dev/urandom if there is a problem.
2015-10-06 18:10:40 -07:00
Adam Ierymenko
64aaea3978
Cleanup, and add an even faster Poly1305 on systems that support it.
2015-10-06 18:04:53 -07:00
Adam Ierymenko
876aa0883d
Merge branch 'adamierymenko-dev' into netcon
2015-10-06 17:56:47 -07:00
Adam Ierymenko
477feee8a3
Some work on CIRCUIT_TEST, and a significant speedup to Poly1305.
2015-10-06 17:55:57 -07:00
Joseph Henry
36db5865e7
Refactored tcp_write code - Reduced CPU usage to respectable levels
2015-10-06 20:32:48 -04:00
Adam Ierymenko
7394ec6f6a
Prep in controller code to run tests.
2015-10-06 15:56:18 -07:00
Adam Ierymenko
3593fb3462
Send initial CIRCUIT_TEST packet.
2015-10-06 15:16:41 -07:00
Adam Ierymenko
d3f29d09e8
Plumbing through circuit test stuff.
2015-10-06 14:42:51 -07:00
Adam Ierymenko
5341afcdcd
Handling of CIRCUIT_TEST, should be ready to test.
2015-10-06 11:47:16 -07:00
Adam Ierymenko
57c857e89a
Fix TRACE output.
2015-10-06 06:57:00 -07:00
Grant Limberg
c16ad053b6
no toString() method on peer. Commenting out for now.
2015-10-02 19:39:46 -07:00
Grant Limberg
6080a45c9c
change cert to com. no variable named cert.
2015-10-02 19:39:13 -07:00
Adam Ierymenko
5384f185ae
Simplify Dictionary and reduce memory usage, now no more std::maps in core.
2015-10-01 18:12:16 -07:00
Adam Ierymenko
76a95dc58f
The return of peer peristence.
2015-10-01 17:09:01 -07:00
Adam Ierymenko
5076c49210
Peer serialization and related changes.
2015-10-01 15:40:54 -07:00
Adam Ierymenko
72e7e36a5b
No reason to randomly pick uPnP secondary port. In fact it would likely cause problems on restarts and uPnP rule bloat.
2015-10-01 14:40:28 -07:00
Adam Ierymenko
2fa21aa676
.
2015-10-01 13:43:57 -07:00
Adam Ierymenko
3999e468b7
Need to hold nconf so *com does not die while being used.
2015-10-01 13:43:15 -07:00
Adam Ierymenko
6693149f3e
Send COM with MULTICAST_GATHER for future use.
2015-10-01 13:34:12 -07:00
Adam Ierymenko
2c196307ee
--bugs;
2015-10-01 13:01:18 -07:00
Adam Ierymenko
d6676a9d6c
Always announce multicast groups, not just to peers with direct links, and push network COMs to any MULTICAST_LIKE recipient for future use.
2015-10-01 12:50:19 -07:00
Adam Ierymenko
a7409850d6
Get trim() out of core where it is not needed.
2015-10-01 12:37:18 -07:00
Adam Ierymenko
53e5f94b99
.
2015-10-01 12:25:43 -07:00
Adam Ierymenko
64bf3ffe6c
Mutex cleanup.
2015-10-01 11:44:09 -07:00
Adam Ierymenko
9405150b11
Restore group announcement on Peer::receive() but centralize packet composition in one place.
2015-10-01 11:37:02 -07:00
Adam Ierymenko
a3db7d0728
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
2015-10-01 11:11:52 -07:00
Adam Ierymenko
11ff96ba1d
Consider IPv6 paths reliable (no constant keepalives needed)
2015-09-30 15:20:08 -07:00
Adam Ierymenko
0d0039674f
Add new verb names, and fix some Mac compiler flags.
2015-09-30 14:48:07 -07:00
Adam Ierymenko
789046ca57
Speed up Salsa20 just a bit.
2015-09-30 14:35:05 -07:00
Adam Ierymenko
1a4f16e0ed
More work on circuit testing...
2015-09-30 13:59:05 -07:00
Joseph Henry
4983fd3776
Recompiled ZTO binary with fix + moves index.html to var/www
2015-09-29 14:32:07 -04:00
Adam Ierymenko
cc10d4f310
Speed up multicast group checking/registration.
2015-09-29 10:31:41 -07:00
Adam Ierymenko
167a5039d0
.
2015-09-28 23:40:20 -07:00
Adam Ierymenko
4b82171a95
.
2015-09-28 22:16:58 -07:00
Adam Ierymenko
b4624237af
.
2015-09-28 22:14:32 -07:00
Adam Ierymenko
49f93a57bf
.
2015-09-28 17:07:46 -07:00
Adam Ierymenko
ea71738c72
Entry point stuff...
2015-09-28 16:36:20 -07:00
Joseph Henry
49956ed63d
Updated intercept library for Earth
2015-09-28 19:31:32 -04:00
Adam Ierymenko
280fcc3771
add cr after identity in demo script.
2015-09-28 16:15:17 -07:00
Adam Ierymenko
3a6346f560
More entry point work, and change network to 8056c2e21c000001 for demo.
2015-09-28 16:14:32 -07:00
Adam Ierymenko
980d145f48
Entry point changes to wait for ZT startup, print banners, log output debug messages and trace to files.
2015-09-28 15:31:47 -07:00
Adam Ierymenko
a7bd1eaa40
Never assign v4 IPs ending in .255 even within range.
2015-09-28 15:28:30 -07:00
Joseph Henry
1773dca9dc
Optimized Dockerfile arrangement
2015-09-28 17:59:54 -04:00
Joseph Henry
8e3e830e89
Working intercepted Apache
2015-09-28 17:47:38 -04:00
Joseph Henry
77b385fb12
Re-added Apache to Dockerfile
2015-09-28 17:30:18 -04:00
Joseph Henry
0b34d8e75e
New Dockerfile
2015-09-28 16:56:14 -04:00
Joseph Henry
0c3dd2be96
Fixed apache script
2015-09-27 21:48:38 -04:00
Joseph Henry
444481f6d9
Modified Dockerfile
2015-09-27 21:26:57 -04:00
Joseph Henry
299ec12b39
Added docker-test folder
2015-09-27 21:16:02 -04:00
Joseph Henry
b21c5d8e51
Added dockerfile
2015-09-27 20:51:32 -04:00
Adam Ierymenko
2d0adb562d
Specify circuit test messages.
2015-09-27 11:37:39 -07:00
Joseph Henry
3bc9530db7
Object-Model refactor: Removed notion of Client
2015-09-27 06:08:39 -04:00
Grant Limberg
75a191a856
don't create an InetSocketAddress on local address if it's equal to ZT_SOCKADDR_NULL
2015-09-26 14:10:45 -07:00
Grant Limberg
7c3be2b5c1
fix function signature in lookup for onSendPacketRequested function
2015-09-26 14:10:16 -07:00
Grant Limberg
0b9e5928d3
update PacketSender interface
2015-09-26 13:53:38 -07:00
Grant Limberg
e8cdff3eaf
Merge branch 'adamierymenko-dev' into android-jni-dev
...
also update for changed function calls that now accept a local address
# Conflicts:
# include/ZeroTierOne.h
# java/CMakeLists.txt
# java/jni/Android.mk
# java/jni/ZT1_jnicache.cpp
# java/jni/ZT1_jnilookup.h
# java/jni/ZT1_jniutils.cpp
# java/jni/com_zerotierone_sdk_Node.cpp
2015-09-26 13:47:55 -07:00
Joseph Henry
fe78eb77d4
Fixed another closure bug
2015-09-24 19:22:56 -04:00
Adam Ierymenko
f69454ec98
(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
2015-09-24 16:21:36 -07:00
Joseph Henry
8a8264bc39
Fixed their_fd closure bug
2015-09-24 17:33:25 -04:00
Joseph Henry
1119f64a77
Fixed connection closure issue
2015-09-24 17:10:30 -04:00
Joseph Henry
c25ceaf06b
Fixed recursive lock problem in closeConnection
2015-09-24 16:15:14 -04:00
Adam Ierymenko
b263926ea6
thread fixes.
2015-09-24 13:02:10 -07:00
Adam Ierymenko
84747b1a14
thread fixes...
2015-09-24 13:01:19 -07:00
Joseph Henry
9396b8d53c
Minor debug changes
2015-09-24 15:56:48 -04:00
Joseph Henry
37497ec2a8
Minor changes
2015-09-24 15:31:11 -04:00
Joseph Henry
851e4c667f
Minor changes
2015-09-24 15:30:07 -04:00
Adam Ierymenko
9feeafd757
Make LWIPStack thread safe.
2015-09-24 12:29:10 -07:00
Joseph Henry
0027a1e152
Merge branch 'netcon' of http://10.6.6.2/zerotier/zerotierone into netcon
2015-09-24 14:33:49 -04:00
Joseph Henry
65af5af138
Added debug statements
2015-09-24 14:33:15 -04:00
Adam Ierymenko
557d2b3b0d
Make LWIPStack clean up properly.
2015-09-24 11:11:16 -07:00
Adam Ierymenko
fbde40d1fc
Merge branch 'adamierymenko-dev' into netcon
2015-09-24 11:00:22 -07:00
Joseph Henry
557c0c29b0
minor changes
2015-09-23 19:45:44 -04:00
Adam Ierymenko
0e5aac6a11
Prefer IPv6 paths if available.
2015-09-23 16:16:36 -07:00
Adam Ierymenko
b242216674
Version bump, preparing for a likely 1.0.6 soon.
2015-09-23 16:10:06 -07:00
Adam Ierymenko
423412df98
Pick a random secondary UDP port for uPnP mapped traffic because of broken routers.
2015-09-23 15:16:20 -07: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
Adam Ierymenko
7821d1cbdd
.
2015-09-23 14:44:13 -07:00
Adam Ierymenko
80dc7fb675
Pick random port on -p0
2015-09-23 14:38:16 -07:00
Adam Ierymenko
a3ed5277ef
Make sure ZT_NO_TYPE_PUNNING also obeyed here.
2015-09-23 14:09:27 -07:00
Adam Ierymenko
2a527ea82e
Fix for timer jitter problem.
2015-09-23 14:01:41 -07:00
Adam Ierymenko
367ffde00c
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
2015-09-23 13:49:56 -07:00
Joseph Henry
bbdb8eb0de
more commenting and cleaning
2015-09-23 15:23:26 -04:00
Joseph Henry
b6a6346405
commenting and cleanup
2015-09-23 14:23:36 -04:00
Adam Ierymenko
4464fa5d39
Eliminate another warning.
2015-09-23 10:29:05 -07:00
Adam Ierymenko
86996d4315
Eliminate compiler warning.
2015-09-23 10:27:53 -07:00
Joseph Henry
07cef1bdb8
misc cleanup
2015-09-22 19:53:36 -04:00
Adam Ierymenko
69f006f641
.
2015-09-22 16:02:02 -07:00
Adam Ierymenko
d656e87395
Send a random small payload for NAT keepalives, since zero byte packets seem to fail to keep associations alive behind some NATs.
2015-09-22 15:58:00 -07:00
Joseph Henry
3cb8070980
it's alive! -- hooked up new fd-handling code
2015-09-22 18:44:54 -04:00
Adam Ierymenko
ff7ac0487b
.
2015-09-22 15:16:38 -07:00
Adam Ierymenko
19c0923a86
Merge branch 'adamierymenko-dev' into netcon
2015-09-22 15:11:51 -07:00
Adam Ierymenko
6ce64c2557
Phy<> loses socketpair, gains raw FD monitoring.
2015-09-22 15:11:32 -07:00
Joseph Henry
3ed5edb295
fixed fd-transfer logic bug, needs new write-queue logic
2015-09-22 17:43:20 -04:00
Joseph Henry
c3dbae8d5e
more debugs
2015-09-22 13:35:37 -04:00
Joseph Henry
b2494b53e6
adjusted output size for packets
2015-09-22 13:27:27 -04:00
Joseph Henry
f091a074d4
output lengths
2015-09-22 13:25:24 -04:00
Joseph Henry
f80d65286c
more debug statements
2015-09-22 13:21:33 -04:00
Adam Ierymenko
0271e3d3ac
.
2015-09-22 10:00:00 -07:00
Joseph Henry
00cb8dbda8
timer change
2015-09-22 12:48:53 -04:00
Joseph Henry
025069de7e
timer change
2015-09-21 20:51:35 -04:00
Joseph Henry
86673bd6d6
fixed minor bugs and added debug outputs
2015-09-21 19:39:26 -04:00
Adam Ierymenko
ddf3d1f949
Controller side support for IPv6 assignment.
2015-09-18 13:35:00 -07:00
Adam Ierymenko
3664966340
Generate local IPv6 addresses from network IDs and addresses.
2015-09-17 21:30:32 -07:00
Joseph Henry
cb6864f04a
updated nc_accept and lwip.so
2015-09-15 20:32:00 -04:00
Joseph Henry
701e1654a1
moved IP/netif allocation code
2015-09-15 19:06:16 -04:00
Joseph Henry
732de5bf7f
some cleanup
2015-09-15 18:47:40 -04:00
Joseph Henry
11731af45a
it's alive!
2015-09-15 18:27:52 -04:00
Joseph Henry
735ae9b369
debug changes
2015-09-15 15:41:57 -04:00
Joseph Henry
cb277f52e8
Merge branch 'netcon' of http://10.6.6.2/zerotier/zerotierone into netcon
2015-09-15 14:16:28 -04:00
Joseph Henry
8ea83c9548
netif code hooked up
2015-09-15 14:15:59 -04:00
Adam Ierymenko
610ab0750c
Drop Sqlite-based Log table for now and switch to an in-memory log for recent activity. Log table gets too big on busy nodes. Should probably support push of events to some kind of event system later.
2015-09-15 10:59:23 -07:00
Adam Ierymenko
d06499a50c
Merge branch 'adamierymenko-dev' of http://git.int.zerotier.com/zerotier/zerotierone into netcon
2015-09-14 12:00:03 -07:00
Adam Ierymenko
ef316ced3b
Fix JSON.
2015-09-14 11:59:43 -07:00
Adam Ierymenko
0617b17534
Merge branch 'netcon' of http://git.int.zerotier.com/zerotier/zerotierone into netcon
2015-09-14 11:36:01 -07:00
Grant Limberg
f7d3e262a9
ifdef default assignments
2015-09-11 17:16:38 -07:00
Joseph Henry
8189b2ba91
retval fix
2015-09-11 19:29:35 -04:00
Joseph Henry
e73868bc5a
various segfault fixes
2015-09-11 19:02:44 -04:00
Joseph Henry
6f0bc1f676
added debugs, fixed linux makefile
2015-09-11 18:22:41 -04:00
Adam Ierymenko
88898c68d7
Merge branch 'adamierymenko-dev' of http://git.int.zerotier.com/zerotier/zerotierone into netcon
2015-09-11 15:02:38 -07:00
Adam Ierymenko
cd005341c5
Extra statement to clean up Members -- cascade did not seem to work, possibly due to dual key.
2015-09-11 15:02:26 -07:00
Joseph Henry
bc666d0ab7
added pbuf alloc block
2015-09-11 15:26:39 -04:00
Adam Ierymenko
933b47389d
Add Arp to netcon build.
2015-09-11 12:19:48 -07:00
Adam Ierymenko
a8d7a31327
Integrate arp into NetconEthernetTap.
2015-09-11 12:12:45 -07:00
Joseph Henry
c2226cf0df
added TRACEs
2015-09-11 14:47:16 -04:00
Adam Ierymenko
5f6eb2ce98
Merge branch 'adamierymenko-dev' into netcon
2015-09-11 11:46:44 -07:00
Adam Ierymenko
c1a53a2653
ARP cache and responder agent code for use in netcon and iOS.
2015-09-11 11:45:04 -07:00
Joseph Henry
776f93e7be
closeConnection / closeClient changes
2015-09-11 14:12:27 -04:00
Joseph Henry
5a5a513b18
small method changes
2015-09-11 14:00:42 -04:00
Joseph Henry
cc4a2bb0c3
filled out hendlers
2015-09-10 20:34:48 -04:00
Joseph Henry
e4dc46741f
compiles, technically
2015-09-10 20:22:35 -04:00
Joseph Henry
20beafedc5
refactor almost complete
2015-09-10 20:02:13 -04:00
Adam Ierymenko
8d82ac5cc8
Merge branch 'adamierymenko-dev' into netcon
2015-09-10 15:56:15 -07:00
Adam Ierymenko
9dc2ef5549
Rename some stuff in Phy since it can be used with any stream socket.
2015-09-10 15:55:48 -07:00
Adam Ierymenko
cd3d77987c
.
2015-09-10 15:52:24 -07:00
Joseph Henry
b11d429bc0
refactor in progress
2015-09-10 18:48:45 -04:00
Joseph Henry
e391bc004b
refactor in progress
2015-09-10 18:19:43 -04:00
Adam Ierymenko
a35fa7ac93
Add expansion of netconf in _test field.
2015-09-10 15:14:10 -07:00
Adam Ierymenko
bebe3d7cfa
Fix deadlock in test mode.
2015-09-10 14:47:04 -07:00
Joseph Henry
c1f1530d54
refactor in progress
2015-09-10 17:44:01 -04:00
Adam Ierymenko
1f7a41cff8
Fix to allowing identity to be populated if not present.
2015-09-10 14:37:34 -07:00
Joseph Henry
f4d3c995bc
refactor in progress
2015-09-10 16:52:18 -04:00
Adam Ierymenko
637da383f5
Remove unnecessary accessors.
2015-09-10 13:22:44 -07:00
Adam Ierymenko
389ea272a0
Merge adamierymenko-dev
2015-09-10 13:20:00 -07:00
Adam Ierymenko
9a723be263
Add socketpair support to Phy.
2015-09-10 13:18:57 -07:00
Joseph Henry
3802d37d29
started refactor
2015-09-10 15:46:37 -04:00
Joseph Henry
750352836f
initial commit
2015-09-10 13:56:01 -04:00
Adam Ierymenko
a43c3fbf2e
Merge branch 'adamierymenko-dev' into netcon
2015-09-09 09:54:39 -07:00
Adam Ierymenko
4fbcad2468
Allow identity to be populated for newly inserted Member objects to permit transfer from old network controller and testing.
2015-09-08 13:02:42 -07:00
Adam Ierymenko
0d386f1c31
Add a bit of useful testing instrumentation to SqliteNetworkController.
2015-09-08 11:35:55 -07:00
Adam Ierymenko
85b90f122a
Final std::map<> from Switch, and add some smallish default values for hash size.
2015-09-04 15:35:43 -07:00
Adam Ierymenko
3dba016a93
Almost done... very few std::map<>s remaining in any spot that matters.
2015-09-04 15:21:22 -07:00
Adam Ierymenko
db0369e9b8
Remove way-overkill multimap from Switch.
2015-09-04 14:56:39 -07:00
Adam Ierymenko
0ab3e49be9
Starting in on Switch... kill map in defrag queue, which will probably improve performance pretty decently under high load with lots of peers.
2015-09-04 14:44:22 -07:00
Adam Ierymenko
f116c4b9c0
... and another ...
2015-09-04 14:24:31 -07:00
Adam Ierymenko
307e44f7c8
Two for one! (std::map removal)
2015-09-04 14:14:32 -07:00
Adam Ierymenko
d1341578d8
... and another one!
2015-09-04 13:53:48 -07:00
Adam Ierymenko
7b8ce16057
Another std::map<> dies.
2015-09-04 13:42:19 -07:00
Adam Ierymenko
3a959a7763
Swap out std::map<> for Hashtable<> for main peer database in Topology. (ongoing std::map-ectomy)
2015-09-04 12:14:21 -07:00
Adam Ierymenko
cfd101c9b8
Add entries() to go with keys() for future use.
2015-09-04 11:50:12 -07:00
Adam Ierymenko
ca6ec120a9
Merge branch 'netcon' of http://git.int.zerotier.com/zerotier/zerotierone into netcon
2015-09-03 18:45:07 -07:00
Adam Ierymenko
88ba39b162
Merge branch 'adamierymenko-dev' into netcon
2015-09-03 18:44:57 -07:00
Adam Ierymenko
da9a720c3f
Hash table bug fix, and add copy constructor and assignment operator for principle of least surprise.
2015-09-03 17:33:06 -07:00
Adam Ierymenko
10707c3673
build fix
2015-09-03 16:44:04 -07:00
Adam Ierymenko
b9d4b42f93
A few more fixes, ready to integrate main payload.
2015-09-03 16:05:18 -07:00
Adam Ierymenko
bf4cab5f2f
Netcon build fixes.
2015-09-02 16:31:13 -07:00
Adam Ierymenko
1f4c667646
Netcon mode for Linux (in this branch, will make conditional later)
2015-09-02 16:15:22 -07:00
Adam Ierymenko
dfb08ec753
More netcon stuff, and Phy build fix.
2015-09-02 15:51:28 -07:00
Adam Ierymenko
4626175d11
Stub of NetconEthernetTap
2015-09-02 15:17:38 -07:00
Adam Ierymenko
4838cbc350
Unix domain sockets in Phy<>
2015-09-02 14:32:01 -07:00
Grant Limberg
53d98343b7
Merge branch 'master' into android-jni
2015-08-31 19:53:39 -07:00
Grant Limberg
73bedfcc01
ifdef default assignments
2015-08-29 17:54:30 -07:00
Grant Limberg
d5b48c90ed
added a 512x512 app icon (for Play store)
2015-08-27 19:51:27 -07:00
Grant Limberg
ebfbb7f452
Merge branch 'master' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into android-jni
2015-08-27 19:31:46 -07:00
Adam Ierymenko
b11ffc9635
Integrate Hashtable into Multicaster, where @mwarning found heaviest std::map() overhead.
2015-08-27 16:17:21 -07:00
Adam Ierymenko
3947807b1f
A simple and fast Hashtable, tested but not yet integrated with anything.
2015-08-27 15:36:13 -07:00
Adam Ierymenko
5db538d85e
VERSION 1.0.5: Windows and Linux (upgrade) bug fixes
...
Version 1.0.5 is a very minor release. It includes a new build of the Windows
device driver that supports Windows Vista and 2008 Server, and a fix to prevent
an issue that could occur when updating Linux installations from old pre-1.0.3
versions to 1.0.3 or 1.0.4.
It also includes a few very minor fixes and improvements to the controller code,
which doesn't affect most users.
This second commit just bumps version.h. :)
2015-08-25 09:55:14 -07:00
Adam Ierymenko
a9176d7b62
VERSION 1.0.5: Windows and Linux (upgrade) bug fixes
...
Version 1.0.5 is a very minor release. It includes a new build of the Windows
device driver that supports Windows Vista and 2008 Server, and a fix to prevent
an issue that could occur when updating Linux installations from old pre-1.0.3
versions to 1.0.3 or 1.0.4.
It also includes a few very minor fixes and improvements to the controller code,
which doesn't affect most users.
2015-08-25 09:47:37 -07:00
Adam Ierymenko
b4487cefc9
Document rules requirement in controller.
2015-08-25 09:46:59 -07:00
Adam Ierymenko
867258de8b
Document clock convenience field.
2015-08-25 09:44:21 -07:00
Adam Ierymenko
5fcef91278
Ignore old root-topology if present -- fix for upgrading on Linux and possibly elsewhere.
2015-08-25 09:42:37 -07:00
Adam Ierymenko
2aa1b5d9b7
Add clock helper field to both member and network to permit time duration calculation easily.
2015-08-24 12:44:07 -07:00
Adam Ierymenko
9a5be0a092
typo
2015-08-24 11:24:33 -07:00
Adam Ierymenko
4da794b389
Add authorizedMemberCount to controller network config records.
2015-08-19 11:43:56 -07:00
Adam Ierymenko
0a5429cab0
Lookup of member must be a left outer join in case the member is being manually inserted before we see the node.
2015-08-17 21:08:02 +00:00
Grant Limberg
7d676ad16a
Merge branch 'adamierymenko-dev' into android-jni
2015-08-13 19:36:30 -07:00
Adam Ierymenko
b75bdedaee
Manually set DeviceInstanceID since this registry key is missing on Windows Vista and Server 2008.
2015-08-13 15:52:54 -07: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
Grant Limberg
0fd6808e21
Merge branch 'master' into android-jni
2015-08-01 11:52:47 -07:00
Adam Ierymenko
bf193dd3cf
VERSION 1.0.4: Stability, LAN, and NAT traversal improvements
...
ZeroTier One version 1.0.4 brings several improvements to stability,
connectivity between hosts on the same LAN, and NAT traversal.
Direct connectivity improvements:
- ZeroTier One now opens port mappings using uPnP and/or NAT-PMP
if they are available on your network. These are then made
available to other (1.0.4 or newer) nodes. This should greatly
improve direct connectivity success rates for users on networks
that support port mapping. To build with this option, you must
include ZT_USE_MINIUPNPC=1 on the make path. Pre-build binaries
are included for many common architectures to make this easier.
- A new message has been introduced whereby nodes can "push" IP
address suggestions to other nodes. This is only done to nodes
with whom you have a trust relationship, which right now means
they are members of a network you've joined. The IP addresses
sent include local interface addresses and possibly uPnP mappings
if any are available. When nodes receive pushed IPs, they can
attempt connectivity at these addresses. This greatly improves
connectivity on local LANs, since the old broadcast mechanism
proved too unreliable under many real world scenarios.
- IPv6 addresses are also "pushed" via the aforementioned message,
allowing direct connectivity over IPv6 if both hosts have an
IPv6 address.
- Some of the aggressive port-scanning NAT-t behavior has been
removed, since this occasionally triggered intrusion alarms on
some networks and proved ineffective in the field. uPnP will be
a much bigger win, and is less "hacky."
- The rate of (tiny) UDP keepalive packet generation was slightly
increased. We were as surprised as you to learn that there are
many NAT routers in the wild with timeouts as short as 20 seconds
even though the RFC stipulates that they should be no shorter
than two minutes (120 seconds).
All of these connectivity improvements rely upon a new message
introduced with 1.0.4, so they'll only work between 1.0.4 nodes.
Older methods of connectivity establishment will continue to work
with earlier versions.
Platform-specific improvements:
- Many improvements have been made to Windows support and stability.
The NDIS6 driver is now used exclusively. If you have ports that
use NDIS5, these will automatically be re-created using the NDIS6
driver. You may see a "select this network's type" notification
after 1.0.4 upgrade for this reason.
- The dependency on the external "devcon.exe" binary on Windows has
been completely removed in favor of internal direct calls to the
Windows setup API to add and remove network ports. These are done
via dynamically loaded instances of the system setup DLLs to use
the most recent setup API code on your system for improved
compatibility.
- This version is tested with Windows 10 release, and was confirmed
to work on a clean install.
- The ARM32/Raspbian build is now back to using Debian Wheezy for
library backward compatibility (binary build only).
- The Mac icon is now a bit smaller to look better in the dock.
- The ui/ subfolder is now distributed with the Linux binary installer
and packages. This means Linux users can navigate to the UI at
http://127.0.0.1:9993/ and enter their authtoken.secret to use
the GUI locally. (This port could also be accessed via SSH port
forwarding or other mechanisms to administrate graphically from a
remote system.)
Other improvements:
- The new beta SQLite-backed controller microservice found in
controller/ and built with the ZT_ENABLE_NETWORK_CONTROLLER=1 make
option is now in a much more "working" state. Feel free to give
it a try! If you tried it before, delete controller.db before
starting the new version.
- A few tweaks were made to the path selection logic in the hope of
eliminating some flaky network behavior reported by users.
The next version of ZeroTier One will focus on performance and memory
footprint reduction, and may also include perfect forward security/secrecy
(a.k.a. PFS) once our design is finalized and reviewed.
2015-07-31 11:33:52 -07:00
Adam Ierymenko
facb009a1d
Add security notice to auto-update info in -h output, and fix a missing paren.
2015-07-31 09:50:55 -07:00
Adam Ierymenko
8d09c37140
Remove a bit of redundant logic, and also announce MULTICAST_LIKEs to controllers (for future use).
2015-07-31 09:37:13 -07:00
Adam Ierymenko
f6ced547be
Dead code removal.
2015-07-31 08:56:31 -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
1e3d5c4d87
Suppress icacls output on lockDownFile().
2015-07-30 12:05:56 -07:00
Adam Ierymenko
6f46f0e0e1
Because Windows.
2015-07-30 11:57:48 -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
Grant Limberg
c9b4028cd3
Merge branch 'adamierymenko-dev' into android-jni
2015-07-29 20:13:32 -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
0dff741310
Add border around Mac icon so it looks better in Finder.
2015-07-29 15:53:05 -07:00
Adam Ierymenko
fcc5bf1e66
Go ahead and spec out controller DB support for AuthToken -- GitHub issue #211 -- even though full implementation won't make it into 1.0.4.
2015-07-29 15:09:23 -07:00
Grant Limberg
508d31513a
Merge branch 'adamierymenko-dev' into android-jni
2015-07-28 19:18:33 -07:00
Adam Ierymenko
7578b56298
docs
2015-07-28 17:22:59 -07:00
Adam Ierymenko
2599b1bacc
Add CLI support for /explicit/urls (automatically outputs JSON in this case), and some cleanup.
2015-07-28 17:10:56 -07:00
Adam Ierymenko
e3983f8a57
Get rid of -I on Mac and Linux since we include miniupnpc headers by direct path reference.
2015-07-28 16:51:46 -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
5097aae716
Add miniupnpc to third party libs.
2015-07-28 14:50:24 -07:00
Adam Ierymenko
569c5e77fd
Add binary build of libminiupnpc for Mac x64.
2015-07-28 14:48:26 -07:00
Adam Ierymenko
9c87decba6
Merge branch 'adamierymenko-dev' of http://git.int.zerotier.com/zerotier/zerotierone into adamierymenko-dev
2015-07-28 14:32:46 -07:00
Adam Ierymenko
fe6d5b1402
UPNP/NAT-PMP support with libminiupnpc (if built with it) -- GitHub issue #64
2015-07-28 14:32:02 -07:00
Adam Ierymenko
eea8d58afa
docs,cleanup
2015-07-28 12:39:03 -07:00
Adam Ierymenko
21e6850722
Cancel NAT-t attempts if peer is no longer "alive"
2015-07-28 12:18:59 -07:00
Adam Ierymenko
5986d83738
Kill more kittens.
2015-07-28 12:04:14 -07:00
Adam Ierymenko
4564dd95ff
Revert... no luck with any of that.
2015-07-28 12:00:50 -07:00
Adam Ierymenko
d2bfdfa6e7
Play with NAT-t tweaks some more.
2015-07-28 11:57:18 -07:00
Adam Ierymenko
b69afa010e
Disable type punning on ARM by ifdef.
2015-07-28 11:50:01 -07:00
Adam Ierymenko
708aac1ea7
Remove some left over debug code, and fix attempt to send to self if we are an active bridge.
2015-07-28 11:43:09 -07:00
Adam Ierymenko
17bfd4d55e
Add TRACE for NAT-t debugging.
2015-07-28 11:32:34 -07:00
Adam Ierymenko
b31071463c
Try another NAT traversal improvement.
2015-07-28 11:28:47 -07:00
Adam Ierymenko
dda376c9eb
Nuke some abandoned code.
2015-07-28 11:16:43 -07:00
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.
2015-07-28 10:29:25 -07:00
Adam Ierymenko
1537109514
Merge branch 'master' into adamierymenko-dev
2015-07-28 09:40:54 -07:00
Adam Ierymenko
66c74f0ad9
Merge pull request #215 from nelsonjchen/patch-2
...
Update Application Mac Menu. Small MacGap leftover.
2015-07-28 09:39:42 -07:00
Adam Ierymenko
821f1f366e
Fix to NAT escalation sequence.
2015-07-27 17:34:58 -07:00
Adam Ierymenko
e99eda4a4a
Fix IP scoping bug, and disable remotely reported surface push... not helping. :(
2015-07-27 17:28:13 -07:00
Adam Ierymenko
fadb291962
Fix infinite loop typo.
2015-07-27 17:14:49 -07:00
Adam Ierymenko
f0003ea922
Push remote surface as reported by peers along with known interface direct paths to assist with (some) NAT traversal. (trying this, may back out if not effective)
2015-07-27 17:02:43 -07:00
Adam Ierymenko
e30ba3e138
Eliminate some aggressive port scanning NAT-t behavior that has proven ineffective.
2015-07-27 16:43:27 -07:00
Adam Ierymenko
7a15d8a7e3
Fix leaving of networks to actually call Network::destroy().
2015-07-24 14:50:44 -07:00
Adam Ierymenko
dba91eaa09
Apply same Linux compiler-picker logic to Mac.
2015-07-24 13:17:41 -07:00
Adam Ierymenko
d57ea671d7
Add version to log.
2015-07-24 09:59:17 -07:00
Adam Ierymenko
d647a587a1
(1) Fix updating of network revision counter on member change.
...
(2) Go back to timestamp as certificate revision number. This is simpler
and more robust than using the network revision number for this and
forcing network revision fast-forward, which could cause some peers
to fall off the horizon when you don't want them to.
2015-07-23 17:18:20 -07:00
Adam Ierymenko
a493fc23f4
Fix for make-linux: detect whether CC/CXX were explicitly overridden, and if not then use the gcc/clang selection logic. Otherwise ?= breaks this.
2015-07-23 13:05:18 -07:00
Adam Ierymenko
b3516c599b
Add a rate limiting circuit breaker to the network controller to prevent flooding attacks and race conditions.
2015-07-23 10:10:17 -07:00
Adam Ierymenko
3ba54c7e35
Eliminate some poorly thought out optimizations from the netconf/controller interaction,
...
and go ahead and bump version to 1.0.4.
For a while in 1.0.3 -dev I was trying to optimize out repeated network controller
requests by using a ratcheting mechanism. If the client received a network config
that was indeed different from the one it had, it would respond by instantlly
requesting it again.
Not sure what I was thinking. It's fundamentally unsafe to respond to a message
with another message of the same type -- it risks a race condition. In this case
that's exactly what could happen.
It just isn't worth the added complexity to avoid a tiny, tiny amount of network
overhead, so I've taken this whole path out.
A few extra bytes every two minutes isn't worth fretting about, but as I recall
the reason for this optimization was to save CPU on the controller. This can be
achieved by just caching responses in memory *there* and serving those same
responses back out if they haven't changed.
I think I developed that 'ratcheting' stuff before I went full time on this. It's
hard to develop stuff like this without hours of sustained focus.
2015-07-23 09:50:10 -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
Adam Ierymenko
e2a2993b18
Add a Log table to log queries for debugging and security logging. No JSON API support for querying the log yet, but will probably come via /network/###/member/###/log/... or something.
2015-07-22 14:01:49 -07:00
Adam Ierymenko
8ca885d27c
Merge pull request #212 from keesbos/fix
...
Fix for output of empty (no members) network
2015-07-22 09:34:17 -07:00
Grant Limberg
bc0954381c
Merge branch 'adamierymenko-dev' into android-jni
2015-07-21 17:53:39 -07:00
Adam Ierymenko
7c761dea72
Fix to member listing: I wanted an object with member IDs as keys and member revisions as values, not an array.
2015-07-21 14:12:22 -07:00
Adam Ierymenko
3f8a5b8b76
List members in the form of a hash of member ID and member revision so code can quickly detect which members have changed.
2015-07-21 13:38:59 -07:00
Adam Ierymenko
a061aa3d87
Remove "members" from Network record and instead enumerate members via specific query to /network/nwid/member sub-path. More RESTful, scalable, and compatible with how OnePoint code works.
2015-07-21 12:57:01 -07:00
Adam Ierymenko
b343eac10d
Fix IP auto-assign bug due to missing subnet routes.
2015-07-21 12:42:43 -07:00
Adam Ierymenko
649a12472b
Report controllerInstanceId in all objects so that controller resets can be easily detected by whatever is using the service.
2015-07-21 10:39:29 -07:00
Grant Limberg
d05e8a9772
Merge branch 'adamierymenko-dev' into android-jni
2015-07-20 19:51:58 -07:00
Adam Ierymenko
cac6be87ba
Fix bug in rules JSON output.
2015-07-20 16:31:37 -07:00
Adam Ierymenko
38d34a7495
Proper handling of NULL entry for etherType in rules table.
2015-07-20 15:11:53 -07:00
Adam Ierymenko
fb4c3dd8d4
Fix string overwrite bug.
2015-07-20 14:31:33 -07:00
Adam Ierymenko
1ffd67e014
Get rid of false foreign key in Relay.
2015-07-20 14:28:30 -07:00
Adam Ierymenko
8c18c60c00
sp.
2015-07-17 15:30:13 -07:00
Adam Ierymenko
bca8886ff8
IP assignment pool range bug fix.
2015-07-17 15:09:28 -07:00
Adam Ierymenko
1f7bb67069
Fix some SQL and make instanceId more robustly random.
2015-07-17 13:09:53 -07:00
Adam Ierymenko
712e2785f2
Fix bad JSON in response.
2015-07-17 12:24:42 -07:00
Adam Ierymenko
5515909c1e
Add a concept of an "instanceId" to the controller, which the OnePoint can use to determine whether it is the same running database instance it already knows.
2015-07-17 10:47:21 -07:00
Grant Limberg
5ef806c43c
Fix addLocalInterfaceAddress call in OneService on Windows
2015-07-16 19:20:43 -07:00
Grant Limberg
1e8ead441c
Merge branch 'adamierymenko-dev' into android-jni
2015-07-16 18:09:57 -07:00
Adam Ierymenko
0db7c94c90
Add memberRevision stuff to JSON output, and update docs.
2015-07-16 17:42:47 -07:00
Adam Ierymenko
99969b186b
Add a concept of a member revision counter to networks. This can be used to select all members that have been added or changed since a given point.
2015-07-16 17:34:03 -07:00
Adam Ierymenko
f9f7de0ec7
Networks don't need their ID as a default name.
2015-07-14 15:54:56 -07:00
Adam Ierymenko
d27c14af48
Don't allow zero as a network number.
2015-07-14 12:32:57 -07:00
Adam Ierymenko
88949a750f
Workaround for uclibc missing map::operator==()
2015-07-13 11:39:55 -07:00
Adam Ierymenko
547b1c6157
Add additional TRACE output in pushDirectPaths.
2015-07-13 10:35:33 -07:00
Adam Ierymenko
0b354803f3
Clean up some YAGNI issues with implementation of GitHub issue #180 , and make best path choice aware of path rank.
2015-07-13 10:03:04 -07:00
Adam Ierymenko
0b9524f23d
Merge branch 'adamierymenko-dev' of http://git.int.zerotier.com/zerotier/zerotierone into adamierymenko-dev
2015-07-13 09:30:02 -07:00
Adam Ierymenko
4bf3bcbd55
Fixes to PUSH_DIRECT_PATHS.
2015-07-13 09:29:51 -07:00
Adam Ierymenko
3f0eca72f7
ZT_TRACE build fix.
2015-07-13 08:36:22 -07:00
Adam Ierymenko
fe20f0d7cd
Put back legacy code to listen for LAN announcements to support same network location with pre-1.0.4 clients.
2015-07-13 08:33:02 -07:00
Adam Ierymenko
d78e3bb307
Disable HTTP test in selftest since it works, and GitHub issue #207 .
2015-07-13 07:42:20 -07:00
Grant Limberg
e45475c5b5
fixed a misspelling
2015-07-09 20:26:23 -07:00
Grant Limberg
a408e5f685
set ZT_NO_TYPE_PUNNING and -O3 for Android builds
2015-07-08 18:00:13 -07:00
Grant Limberg
f67ddb579d
Merge branch 'adamierymenko-dev' into android-jni
2015-07-08 17:30:22 -07:00
Adam Ierymenko
a297e4a5bf
Add build def ZT_NO_TYPE_PUNNING, which when defined disables type punning code that might cause unaligned access errors on architectures that care (e.g. Android/ARM)
2015-07-08 09:12:51 -07:00
Grant Limberg
1ad2cfeedf
Merge branch 'adamierymenko-dev' into android-jni
2015-07-07 19:24:02 -07:00
Adam Ierymenko
412389ec75
Implement ERROR_UNWATNED_MULTICAST
2015-07-07 11:49:38 -07:00
Adam Ierymenko
cf6f30963c
Kill a potential source of type punning BUS errors on Android, and besides that hack probably did not improve performance at all given the short lenghts of things compared with secureEq()
2015-07-07 10:59:59 -07:00
Adam Ierymenko
3f567a07ca
Save a little bit of RAM by getting rid of overkill CMWC4096 non-crypto PRNG and replacing it with a simple non-crypto PRNG that just uses Salsa20.
2015-07-07 10:49:50 -07:00
Adam Ierymenko
41fc08b330
etherTypeName() is only used in Switch and only with ZT_TRACE
2015-07-07 10:06:05 -07:00
Adam Ierymenko
07ea4fd4f9
Fix potential bug in controller config request.
2015-07-07 10:02:48 -07:00
Adam Ierymenko
778c7e6e70
More cleanup to direct path push, comment fixes, etc.
2015-07-07 10:00:34 -07:00
Adam Ierymenko
c863ff3f02
A bunch of comments and cleanup, including some to yesterday's direct path pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable.
2015-07-07 08:54:48 -07:00
Adam Ierymenko
f398952a6c
Revert some bad docs in Packet -- I think we will still use that. Also rename addMembershipCertificate to more security-descriptive validateAndAddMembershipCertificate, give it a return value, and drop unused force parameter.
2015-07-07 08:14:41 -07:00
Adam Ierymenko
56285ec0d4
Another attempt at a fix for all the Windows driver coma issues.
2015-07-06 17:58:04 -07:00
Adam Ierymenko
25a067c8c3
Eliminate debug printf().
2015-07-06 17:37:32 -07:00
Adam Ierymenko
91fa643131
Minor fix to Windows local adapter address enumeration.
2015-07-06 17:36:58 -07:00
Adam Ierymenko
6da9d2d36f
Remove debug printf().
2015-07-06 17:23:22 -07:00
Adam Ierymenko
f881cdd767
Add new .h file to VS build, and Windows side of local interface address enumeration.
2015-07-06 17:22:37 -07:00
Adam Ierymenko
84ba365c77
Fix bug in direct path push send.
2015-07-06 17:20:41 -07:00
Adam Ierymenko
f9f4dd5276
Fix FreeBSD regression -- gmake defaults g++ which does not exist.
2015-07-06 16:47:41 -07:00
Adam Ierymenko
cac55105c3
Fix a regression.
2015-07-06 16:40:23 -07:00
Adam Ierymenko
a87cd2d094
Unix side of local interface address awareness for GitHub issue #180 .
2015-07-06 16:32:34 -07:00
Adam Ierymenko
235f4762b7
Plumbing for local interface addresses -- GitHub issue #180
2015-07-06 15:51:04 -07:00
Adam Ierymenko
79e9a8bcc2
Almost everything for GitHub issue #180 except direct path map setup.
2015-07-06 15:28:48 -07:00
Adam Ierymenko
fad9dff2db
Almost all of GitHub issue #180
2015-07-06 15:05:04 -07:00
Adam Ierymenko
1632aec102
Check Network::isAllowed() always on multicast send.
2015-07-06 14:53:27 -07:00
Adam Ierymenko
255320e2a6
pushDirectPaths() implementation
2015-07-06 14:39:28 -07:00
Adam Ierymenko
93bb934d4e
Some cleanup, docs, and Path -> Path > RemotePath refactor.
2015-07-06 14:08:13 -07:00
Adam Ierymenko
feddd946f9
For curiosity add Salsa20/8 to benchmarks.
2015-07-06 13:51:25 -07:00
Adam Ierymenko
6bfbc43e3c
Include COM with EXT_FRAME in bridged case.
2015-07-06 12:46:27 -07:00
Adam Ierymenko
35b5dcf89d
Kill debug line.
2015-07-06 12:39:20 -07:00
Adam Ierymenko
9743db3538
docs
2015-07-06 12:37:37 -07:00
Adam Ierymenko
e5f7c55c54
Documentation in Packet, more work on path push, and clean up ancient legacy support code in Switch.
2015-07-06 12:34:35 -07:00
Adam Ierymenko
df08c2cfab
Merge pull request #203 from mwarning/loadlibs
...
rename LIBS to LDLIBS and make it accessible from outside
2015-07-06 09:01:38 -07:00
Moritz Warning
21cdfb96de
rename LIBS to LDLIBS and make it accessible from outside
2015-07-06 00:09:03 +02:00
Kees Bos
53c7f61f98
Fix for output of empty (no members) network
2015-07-05 13:27:27 +02:00
Grant Limberg
6d398beefd
Merge branch 'adamierymenko-dev' into android-jni
2015-07-03 18:15:56 -07:00
Grant Limberg
ab34884e3e
Set -O0
...
anything above that currently goes kaboom on ARM platforms
2015-07-03 18:14:50 -07:00
Adam Ierymenko
532f413472
Merge pull request #202 from mwarning/openwrt
...
allow environment variables to set/extend build variables
2015-07-03 14:28:53 -07:00
Moritz Warning
235d4aba9a
allow environment variables to set/extend CC, CXX, CFLAGS and LDFLAGS
2015-07-03 23:21:23 +02:00
Adam Ierymenko
cfdf4e3a49
GitHub issue #171 -- separate CFLAGS and CXXFLAGS in Linux makefile
2015-07-02 09:13:56 -07:00
Adam Ierymenko
f19c3c51d3
Revert slow non-SSE Salsa20 modification since it did not fix Android/ARM issue. Also update Salsa20 comments and clean up a bit.
2015-07-02 09:00:00 -07:00
Grant Limberg
0b7cd2f40a
change some build settings. add a lock
2015-07-01 20:26:14 -07:00
Grant Limberg
2a2e3b80b3
Merge branch 'adamierymenko-dev' into android-jni
2015-07-01 18:13:59 -07:00
Grant Limberg
f803dd5ff4
...
2015-07-01 18:13:39 -07:00
Adam Ierymenko
7c9949eea3
For @glimberg -- a *possible* fix to the alignment headaches on Android/ARM. If this works we should find a define that can be used to enable it there since it will slow things down on non-x86 other architectures.
2015-07-01 12:29:23 -07:00
Grant Limberg
d853dbf2d8
Merge branch 'adamierymenko-dev' into android-jni
2015-06-30 19:23:23 -07:00
Grant Limberg
aee8e95d49
logging
2015-06-30 19:21:46 -07:00
Adam Ierymenko
0cbbcf2884
Rename VERB_CMA to the more descriptive VERB_PHYSICAL_ADDRESS_PUSH
2015-06-29 16:01:01 -07:00
Adam Ierymenko
30e4a188d0
ipLocalRoutes now exposed via network objects in JSON controller API, and documentation changes.
2015-06-29 15:34:26 -07:00
Adam Ierymenko
5c9411a671
Untested -- modifications to support IP ranges instead of ip/mask for IP assignment pools, also add portId to Rule for future use.
2015-06-29 14:52:09 -07:00
Adam Ierymenko
48a2ad032a
(1) Both nodeId and portId in Rule can be NULL, (2) remove on delete cascade since rules should never mysteriously disappear from the rules table. If it let you delete a node with rules, that would be a UI or cleanup function bug.
2015-06-29 10:47:47 -07:00
Adam Ierymenko
f05e62deae
DB schema changes: separate portId in rules, ranges in IP assignment pools. (No code changes yet so code is broken.)
2015-06-29 10:40:31 -07:00
Adam Ierymenko
dbee1b38b3
Fix semantics of std::unique() to actually remove duplicates (hidden memory leak?)
2015-06-29 10:21:28 -07:00
Grant Limberg
c9919cc5ba
reflect changes to ZT1_PeerRole in JNI
2015-06-26 18:26:57 -07:00
Grant Limberg
9c26d10ea6
Merge branch 'adamierymenko-dev' into android-jni
2015-06-26 17:44:09 -07:00
Adam Ierymenko
3f71afd0fb
Put multicast txQueue back to list.
2015-06-26 14:26:35 -07:00
Adam Ierymenko
221df51875
Add Kees Bos to AUTHORS :)
2015-06-26 13:04:52 -07:00
Adam Ierymenko
f33f3fcb72
Merge pull request #196 from keesbos/fixes
...
Fixes for controller
2015-06-26 13:02:33 -07:00
Adam Ierymenko
57c7992c78
GitHub issue #191 - kill intra-network multicast rate limits (which were not well supported or easily configurable anyway) -- this is really left over from the old collaborative multicast propagation algorithm. New algorithm (in for a while) has been sender-side replication in which sender "pays" all bandwidth, which intrinsically limits multicast.
2015-06-26 12:36:45 -07:00
Adam Ierymenko
c287ae4d1d
Redo conversion of _networks to a vector. Just use a simple linear search and put the nwid in a pair with the pointer so linear search can be done without pointer chasing. This should be the fastest option for anything less than dozens of networks, and should save memory over the old map.
2015-06-26 11:38:31 -07:00
Kees Bos
3eca5d9c29
Fix reporting of ipAssignments for ipv4
2015-06-26 07:22:30 +02:00
Kees Bos
8a68624dae
Fix cert verification check for self signed signatures
2015-06-26 07:22:13 +02:00
Grant Limberg
bfb152f53f
configure the NDK to build all supported ABIs and package them up in the jar
2015-06-24 20:31:22 -07:00
Grant Limberg
759d71037e
added Comparable interface to VirtualNetworkConfig so we can sort arrays containing it.
2015-06-23 23:03:02 -07:00
Adam Ierymenko
daebce4994
Merge pull request #192 from mwarning/replace_erase
...
replace vector::erase, was missed in a previous commit (ref #186 )
2015-06-23 11:13:20 -07:00
Moritz Warning
def9cf2a6a
replace vector::erase, was missed in a previous commit (ref #186 )
2015-06-23 00:09:15 +02:00
Adam Ierymenko
4aa8449fe1
Merge branch '_networks_vector' of https://github.com/mwarning/ZeroTierOne into adamierymenko-dev
2015-06-22 10:34:55 -07:00
Adam Ierymenko
53aad7f6bd
Merge pull request #189 from keesbos/bugfix-auth-member
...
Fixed member authorization bug and minor cleanup
2015-06-22 10:17:14 -07:00
Moritz Warning
787608b568
use _network function to reduce source code complexity
2015-06-20 16:34:19 +02:00
Moritz Warning
2b04ac5e9b
replace _networks map by vector
...
_networks is usually quite small, using binary search on a vector might be faster comapred to std::map.
This is especially true when using uClibc++, which uses a list.
2015-06-20 16:25:21 +02:00
Grant Limberg
adf89901c4
dont consider multicast groups in VirtualNetworkConfig.equals()
2015-06-19 19:00:06 -07:00
Kees Bos
50d4f66d73
Fixed member authorization bug and minor cleanup
2015-06-19 21:19:42 +02:00
Adam Ierymenko
7bae95836c
Root server terminology cleanup, and tighten up a security check by checking full identity of peers instead of just address.
2015-06-19 10:23:25 -07:00
Adam Ierymenko
07f84a99b4
Rebuild properly signed root topology after supernode -> rootserver name change.
2015-06-19 09:52:45 -07:00
Adam Ierymenko
f89f02ce9e
Merge pull request #187 from keesbos/fix-ipv4-assignment
...
Fix for ipv4 assignment
2015-06-19 09:08:06 -07:00
Adam Ierymenko
be4f08a548
Merge pull request #186 from mwarning/txQueue_vector
...
replace txQueue list by vector for faster memory access and less allo…
2015-06-18 15:42:12 -07:00
Moritz Warning
0073d0f694
replace txQueue list by vector for faster memory access and less allocations
2015-06-19 00:28:51 +02:00
Kees Bos
16eae132fa
Fix for ipv4 assignment
2015-06-18 19:14:52 +02:00
Adam Ierymenko
6fc150bddb
Move js/ to ZeroTierIntegrations project.
2015-06-18 08:01:28 -07:00
Grant Limberg
dfdd46db80
Merge branch 'adamierymenko-dev' into android-jni
2015-06-17 18:42:23 -07:00
Adam Ierymenko
87bb0086de
Almost certain fix for GitHub issue #184 on -dev
2015-06-17 12:46:12 -07:00
Adam Ierymenko
1d0654bd14
Merge pull request #182 from keesbos/rootserver
...
Renamed supernode to rootserver
2015-06-16 13:50:29 -07:00
Adam Ierymenko
463442eb6f
Merge pull request #181 from keesbos/bugfix
...
Bugfixes
2015-06-16 13:50:13 -07:00
Kees Bos
4affa10ca0
Fix 404 on creation of new network
2015-06-15 10:29:12 +02:00
Kees Bos
2e1d363a86
Removed a superfluous cross join
2015-06-15 03:19:25 +02:00
Kees Bos
1cbdae65fe
Fix controller/network/*/member/*
...
Cross join works other than expected or something changed. The
_sGetMember2 returned too many rows. Replaced it with an explicit
join statement.
2015-06-15 03:19:25 +02:00
Kees Bos
dcbae5f313
Bugfix controller get member info
2015-06-15 03:19:25 +02:00
Grant Limberg
c59c74ddda
Merge branch 'adamierymenko-dev' into android-jni
2015-06-13 14:39:45 -07:00
Grant Limberg
abbcb0a12c
Modified ant build script so that it can be integrated with Android Studio's build system
2015-06-13 14:38:04 -07:00
Adam Ierymenko
845955dea5
Add definition for VERB_CMA -- GitHub issue #180
2015-06-13 18:08:00 +02:00
Adam Ierymenko
8aa68cd5f1
Add new fields in operator==
2015-06-13 13:13:19 +02:00
Adam Ierymenko
edbc5d3588
Gateways support in NetworkConfig object.
2015-06-13 13:06:49 +02:00
Adam Ierymenko
96a58becf8
Gateways support in network controller schema and database (not implemented yet in client) toward GitHub issue #178
2015-06-13 11:34:31 +02:00
Adam Ierymenko
8a9715f183
Rename ruleId to ruleNo and optimize some indexes in Sqlite3 schema.
2015-06-13 10:05:34 +02:00
Adam Ierymenko
1b122cddbd
Merge pull request #179 from keesbos/bugfix
...
Pickup return code from handleControlPlaneHttpGET and handleControlPlaneHttpPOST
2015-06-13 09:37:00 +02:00
Kees Bos
42390e662b
Pickup return code from handleControlPlaneHttpGET and handleControlPlaneHttpPOST
2015-06-13 03:14:06 +02:00
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!
2015-06-12 16:02:04 +02:00
Adam Ierymenko
dbf40f30f9
Merge pull request #177 from keesbos/linux-ui
...
Linux ui
2015-06-12 13:49:45 +02:00
Kees Bos
dc50e8ae5b
Add ui to /var/lib/zerotier (linux installer)
2015-06-11 17:56:54 +02:00
Kees Bos
7a55c6b388
Return 404 on delete if network member is missing (controller)
2015-06-11 12:20:52 +02:00
Kees Bos
c2ce018202
Return 404 on delete if network doesn't exist (controller)
2015-06-11 12:10:25 +02:00
Kees Bos
0d0af07ce9
Get deletion of networks in controller going
...
Multiple statements in a sqlite3_prepare_v2 is not usable. Only
the first statement will be executed.
Since the schema now uses 'ON DELETE CASCADE', there's only
one statement needed.
If multiple statements are needed, there should be either multiple
sqlite3_prepare_v2 calls be used or the sqlite3_exec function.
2015-06-11 11:49:13 +02:00
Kees Bos
de697a1c45
Change schema to enforce foreing keys
...
The foreign keys have 'ON DELETE CASCADE' to simplify the removal
of networks etc. (controller code)
Some unique constraints are replaced with a multi column primary
key.
To update an existing database:
* install updated binaries
* stop service
* sqlite3 controller.db .dump | \
egrep '((^PRAGMA)|(^BEGIN)|(^INSERT)|(^COMMIT))' | \
grep -v 'schemaVersion' > data.sql
* mv controller.db controller.db.backup
* start service
* stop service
* sqlite3 controller.db < data.sql
* start service
2015-06-11 11:35:25 +02:00
Grant Limberg
472206dfb2
Rename JniCache to JniLookup
...
Removed caching capabilities as the cached methods, fields, and objects appears to be broken on Android
2015-06-10 20:16:13 -07:00
Grant Limberg
7e84f5a7db
killing whitespace
2015-06-09 23:24:54 -07:00
Grant Limberg
6889fcfc28
Looks like it was the JNI cash causing the crash.
...
Forcing it to look up classes and methods instead of caching them stopped the crashes in the GC. Will investigate more later.
2015-06-09 23:24:47 -07:00
Grant Limberg
4dc0ff8f13
Replace calls to Get<Type>ArrayElements with GetPrimitiveArrayCritical.
...
This puts code accessing the data in a critical section so that the GC cannot run while JNI has access to the array. This helps with stability somewhat, but I'm still getting some crashes in the GC
2015-06-09 23:12:44 -07:00
Grant Limberg
3013d90f57
ignore windows binary output
2015-06-09 22:38:31 -07:00
Grant Limberg
60da0e6cae
Merge branch 'adamierymenko-dev' into android-jni
2015-06-09 19:38:47 -07:00
Grant Limberg
ced040c503
Logging and adding .equals() methods to MulticastGroup and VirtualNetworkCofnig
2015-06-09 19:38:05 -07:00
Adam Ierymenko
00aa115898
Allow double-close just in case in Phy<>
2015-06-09 16:30:44 +02:00
Adam Ierymenko
17ca5be4c1
Rework Phy<> to clean up _socks entries only in poll() to fix instability in proxy.
2015-06-09 16:27:11 +02:00
Adam Ierymenko
ab720a6f1e
Fix for poll() in Phy<> with no sockets open. Only affects tcp-proxy.
2015-06-05 13:48:33 -07:00
Adam Ierymenko
e5e11c1b24
Update AUTHORS, change to MarkDown.
2015-06-04 11:58:49 -07:00
Grant Limberg
7cc64c5cb6
Might help to set the enabled field on a VirtualNetworkConfig object :)
2015-06-03 21:29:19 -07:00
Grant Limberg
b84dba3ecb
more logging
2015-06-03 21:29:07 -07:00
Adam Ierymenko
bd7e4ab695
VERSION 1.0.3: public preview release
...
After many months of intense development, ZeroTier is proud to release version
1.0.3 of ZeroTier One.
This version focuses on under-the-hood and network level improvements to
prepare the way for more user-facing improvements in the months to come, as
well as new products built around the ZeroTier core.
1.0.3 contains a large number of changes, so we're not going to push it out
via our auto-update mechanism yet. We're going to update the download links
on the web site and let users try it out for a while first. If problems are
found, we'll do a 1.0.4 before we push it out to existing installations.
--
Important note for Linux users: we've decided to stop pushing auto-updates for
Linux, and this version's official Linux binaries are built without update
checking enabled. Linux is used mostly on servers, and based on user feedback
we've found that most users don't like anything auto-updating outside of the
normal package management channels. Instead, we'll be working over the next
few months to get ZeroTier One included in a number of upstream Linux
distributions. That way you'll be able to 'apt-get' or 'yum' install it and
stay up to date that way. Auto-updates will remain for Macintosh and Windows
users until/unless we can move to 'app store' deployment on those platforms.
--
Now for the change list. It's a big one!
NEW FEATURES and IMPROVEMENTS
* Client support is in place for preferred relays on a per-network basis.
This allows you to define statically assigned nodes that act as relays for
indirect communication and connection setup for communication between peers
on a given virtual network. If defined, they'll be used in preference to
supernodes for this purpose. If they're offline, ZeroTier will fall back to
global supernodes. This will require support on the web control panel for
most users to use.
* This version sends NAT "keepalive" packets every 20 seconds, which is
similar to the behavior of most SIP phones. This should improve reliability
behind NATs with short timeouts and certain cheap consumer NAT devices.
* Improvements have been made to NAT traversal to traverse more symmetric
NAT configurations, and to rate limit traversal attempts to avoid looking
like a port scan.
* New direct paths are now confirmed prior to use. This should improve
reliability in cases where a NAT traversal attempt "half succeeds" by
preventing the use of direct links that aren't actually usable.
* A new geo-located TCP tunneling fallback implementation should improve
performance for heavily firewalled users who can't use UDP.
* ZeroTier now uses remotely reported accounts of your external IP address
to detect changes in your network connectivity instead of relying on
"fingerprinting" of the OS-level local network environment. This should
improve reliability in cases where external routers have dynamic IPs or
when changing between networks with different external IPs but similar
internal addressing schemes. This should also improve reliability for
use within virtual machines, since the external link address might change
but the VM's link addresses will not.
* We've eliminated the old Unix domain socket (or named pipe on Windows)
control bus in favor of a local HTTP JSON API. It runs on 127.0.0.1
port 9993 and can be accessed via standard HTTP. This improves
interoperability with scripts and other tools and allows us to use
HTML5 for the desktop UI component. See README.md in the service/
subfolder of the source tree for JSON API documentation.
* The old Qt GUI has been dropped in favor of a React-based HTML5 UI. The
code for this is found in ui/, and if ui/ is present in the ZeroTier
home folder the JSON API HTTP server will serve it on 127.0.0.1/9993.
The Windows and Mac UIs are now web control wrappers which access this
UI locally and automate the process of token lookup and login.
PACKAGING / INSTALLATION IMPROVEMENTS
* The Macintosh version is now packaged as a .pkg file instead of the old
.app that would download its components and bootstrap itself. Several
Mac users had problems with this, so we made it a package instead.
* The Windows installer now includes a cleaner driver installation module
that installs the driver as part of the main MSI file instead of spawning
a subprocess.
BUG FIXES
* Windows now comes with an updated NDIS6 Ethernet tap device driver.
If you still have the old NDIS5 driver installed you'll keep using it,
so if you want to switch to the NDIS6 driver uninstall your old version
and do a fresh install of the new one. NDIS5 is deprecated, so we are
hoping an NDIS6 driver will fix a number of difficult to reproduce
issues that some Windows users have reported. It will also likely
improve performance.
* Fixed a "pseudo" memory leak related to the old auto-update code. The
amount of "committed" (but not used) memory would increase over time.
Since this was not actual used memory it didn't cause real problems,
but the issue is gone now.
* A very rare threading deadlock was fixed.
* Fix for Linux installer that would falsely recognize systemd on some
Ubuntu systems.
DEEP UNDER THE HOOD
* This version has been heavily refactored at the source code level! The
node/ subfolder now contains the core ZeroTier network virtualization
engine without any OS-specific or transport-specific code. This is in
preparation for future plans around embedded devices, etc. There is now
a public C-level API in include/ZeroTierOne.h that defines an interface
to the node core.
* A new network controller implementation is in 1.0.3 based on SQLite and
the local JSON API control bus. IT HAS NOT BEEN HEAVILY TESTED YET, so we
do not recommend using it in production until the next version. You are
welcome to experiment with it.
2015-06-03 19:34:00 -07:00
Adam Ierymenko
ee1a008f2d
Product code for 1.0.3 etc.
2015-06-03 18:53:54 -07:00
Grant Limberg
8fb9df9751
delete dead test code
2015-06-03 18:35:38 -07:00
Adam Ierymenko
4c687fca45
No auto-updates on BSD either.
2015-06-03 18:13:42 -07:00
Adam Ierymenko
753a80d419
Linux auto-update is going away.
2015-06-03 17:53:21 -07:00
Adam Ierymenko
7213a6cf0b
Make max HTTP message size (max update size) larger since Windows MSI is about 8MB already.
2015-06-03 17:20:30 -07:00
Adam Ierymenko
9b0c8965bb
Make status line in UI show "TUNNELED" if slow TCP tunneling mode is active.
2015-06-03 16:47:07 -07:00
Adam Ierymenko
7e647c5303
NOHUP-ify the child process on OSX auto-update.
2015-06-03 16:37:24 -07:00
Adam Ierymenko
fe87136870
Auto-update fix -- signature is in hex.
2015-06-03 16:25:16 -07:00
Adam Ierymenko
b897ec1efd
Put version back to 1.0.3.
2015-06-03 16:19:44 -07:00
Adam Ierymenko
6a11c76248
Temporarily bump version to fake 1.0.99 to test auto-update within network.
2015-06-03 16:09:56 -07:00
Adam Ierymenko
3512402558
OSX .pkg files must be signed with productsign and an installer cert.
2015-06-02 19:17:39 -07:00
Adam Ierymenko
4fe12756d4
Get rid of "autoupdating" in Linux package names.
2015-06-02 17:14:18 -07:00
Adam Ierymenko
bf415bdeb9
docs
2015-06-02 17:05:31 -07:00
Adam Ierymenko
c5a3e80113
Linux installer tweaks, and Mac updater tweak.
2015-06-02 16:54:27 -07:00
Adam Ierymenko
806ea79f37
docs
2015-06-02 16:44:43 -07:00
Adam Ierymenko
cd58614c23
docs
2015-06-02 16:42:31 -07:00
Adam Ierymenko
0b68344fc8
docs
2015-06-02 16:41:57 -07:00
Adam Ierymenko
191b8f8164
docs
2015-06-02 16:39:21 -07:00
Adam Ierymenko
29e3437350
gcc not g++ for CC
2015-06-02 16:30:42 -07:00
Adam Ierymenko
65999611d7
Eliminate "which" dependency in Linux makefile.
2015-06-02 16:29:23 -07:00
Adam Ierymenko
9d49e8f237
docs
2015-06-02 16:24:44 -07:00
Adam Ierymenko
855d893c67
docs
2015-06-02 16:23:43 -07:00
Adam Ierymenko
a2690047bb
docs
2015-06-02 16:16:14 -07:00
Adam Ierymenko
648efff1f6
Delete merge temp file.
2015-06-02 12:50:32 -07:00
Adam Ierymenko
3d6c1860ca
Merge branch 'adamierymenko-dev' into android-jni
2015-06-02 12:49:36 -07:00
Adam Ierymenko
f0be5e814e
Merge organized .gitignore
2015-06-02 12:49:32 -07:00
Adam Ierymenko
79efceb57b
Organize .gitignore and merge stuff from Android-JNI branch.
2015-06-02 12:48:59 -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
Grant Limberg
fb0bf52b1b
Fixed sending a port number of 0 to ZT1.
...
Fixed VirtualNetworkConfigFunction (creating array to send to Java)
Fixed the creating InetAddress instead of InetSocketAddress in virtual network config callback
2015-06-01 20:03:28 -07:00
Grant Limberg
74f7d5377d
Enable ZT_TRACE and more verbose build output
2015-06-01 20:01:37 -07:00
Adam Ierymenko
a9a390a930
Apply @marning suggested SSE auto-detect to make builds easier on non-x86 platforms: https://github.com/mwarning/ZeroTierOne/commit/aa2fd044cb69b97eef1ea38d5fefd18543aae22a
2015-06-01 19:43:06 -07:00
Adam Ierymenko
d7344871e6
Linux build fix.
2015-06-01 19:27:53 -07:00
Adam Ierymenko
aab17d9f1f
Kill obsolete amSupernode method -- we now have no differing behaviors.
2015-06-01 19:18:26 -07:00
Adam Ierymenko
ecb6a1d84f
docs
2015-06-01 19:12:20 -07:00
Adam Ierymenko
5341e32729
Fix to GitHub issue #140 -- network preferred relays. Also go ahead and allow RENDEZVOUS from regular peers.
2015-06-01 19:05:27 -07:00
Adam Ierymenko
960ceb4791
Rest of GitHub issue #140 implementation.
2015-06-01 17:50:44 -07:00
Adam Ierymenko
318c2f025b
Call it _relays since there might be other kinds later.
2015-06-01 17:09:37 -07:00
Adam Ierymenko
5bc89034bc
Always ping / contact network preferred relays (if any).
2015-06-01 16:53:58 -07:00
Adam Ierymenko
229195166a
Add BackgroundResolver to Windows build.
2015-06-01 16:06:50 -07:00
Adam Ierymenko
b3b9af0dd8
Fix for GitHub issue #170
2015-06-01 11:56:15 -07:00
Grant Limberg
5015c0ae78
more logging
2015-05-28 21:03:37 -07:00
Grant Limberg
b6196a53de
Fix DataStoreGetFunction.
2015-05-28 20:37:16 -07:00
Grant Limberg
58ca657da6
Use object arrays rather than ArrayList. JNI side
2015-05-28 20:36:54 -07:00
Grant Limberg
7822616966
Replace ArrayList instances with []
2015-05-28 20:01:30 -07:00
Grant Limberg
e3feac17b1
Merge branch 'adamierymenko-dev' into android-jni
2015-05-27 20:43:30 -07:00
Grant Limberg
4c680e3126
LOTS more error checking and logging.
...
Running into a wall attempting to add items to an ArrayList from the JNI side
2015-05-27 20:42:54 -07:00
Adam Ierymenko
ea419c21d0
Fix installer path, add netconf option to make-linux.
2015-05-28 03:13:23 +00: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
Grant Limberg
09631ad382
fix datastore get call in JNI
...
Just delete the local reference rather than do an array delete. Array delete was causing a crash on loading network config files. Deleting the local ref works fine, though, as it still lets the JVM garbage collecter know that the native code is done with the array
2015-05-26 21:32:56 -07:00
Grant Limberg
2d67196667
added the android verbose log level and moved most jni debug messages to verbose
2015-05-26 21:31:34 -07:00
Grant Limberg
9755dad7ff
add a missing break from a switch
2015-05-26 21:30:33 -07:00
Grant Limberg
adaf9cf32b
still getting re-used to all the places you have to put access modifiers in Java
2015-05-26 20:03:47 -07:00
Grant Limberg
703c311e07
Merge branch 'adamierymenko-dev' into android-jni
2015-05-26 19:17:29 -07:00
Adam Ierymenko
e184aa4cb4
Clean old netconf-service from attic.
2015-05-26 18:16:12 -07:00
Adam Ierymenko
fbb990f8a3
Mac uninstall.sh update.
2015-05-26 14:36:04 -07:00
Adam Ierymenko
ff2272d59a
Delete some temporary code.
2015-05-26 13:34:08 -07:00
Adam Ierymenko
c075e68c6c
More work on ZT1 NodeJS API client library.
2015-05-26 13:32:47 -07:00
Adam Ierymenko
ecb1ee8e0d
Renaming...
2015-05-26 09:03:39 -07:00
Adam Ierymenko
ba7809367a
JS stuff reorg.
2015-05-26 09:01:58 -07:00
Adam Ierymenko
5e3c6d9e0d
Some nodeJS work, and apply fix from GitHub issue #166 plus a small optimization to avoid repeated calls to _allMulticastGroups().
2015-05-25 14:21:05 -07:00
Adam Ierymenko
d8ad555b9a
Go ahead and add flags and invFlags to the Rule table.
2015-05-25 13:20:10 -07:00
Adam Ierymenko
d29f2ce858
Clean up attic/
2015-05-25 11:55:27 -07:00
Adam Ierymenko
af1d29cc6f
Remove obsolete method.
2015-05-25 11:54:32 -07:00
Adam Ierymenko
91f02d699e
Right now only FreeBSD can use BSDEthernetTap, which will probably get renamed accordingly. NetBSD and OpenBSD do not support tap, only tun, so they will have to wait.
2015-05-25 11:11:37 -07:00
Grant Limberg
6e998efd15
fixing up data store stuff
2015-05-23 18:29:16 -07:00
Grant Limberg
5c2aaad365
Merge branch 'adamierymenko-dev' into android-jni
2015-05-23 13:34:21 -07:00
Adam Ierymenko
d8783b14eb
Build fix.
2015-05-22 15:46:06 -07:00
Adam Ierymenko
6867922d9e
typo
2015-05-22 15:33:33 -07:00
Adam Ierymenko
9774f789f2
TCP fallback tunneling is now working. That hurt more than expected.
2015-05-22 14:52:23 -07:00
Adam Ierymenko
cdec05af24
One second delay between NAT-t events.
2015-05-22 13:12:14 -07:00
Adam Ierymenko
196f27f1f0
Add delay to NAT-t escalation stuff to try to address GitHub issue #167
2015-05-22 13:11:55 -07:00
Adam Ierymenko
b388d9fdc9
TCP proxy should actually bind to its TCP port. Seems like a good idea.
2015-05-22 10:14:44 -07:00
Grant Limberg
1e043a3f66
Remove link desperation from java API
2015-05-21 19:34:19 -07:00
Grant Limberg
c430d88bd4
Merge branch 'adamierymenko-dev' into android-jni
...
Conflicts:
.gitignore
2015-05-21 19:14:49 -07:00
Adam Ierymenko
50aedda54d
Basic TCP fallback -- now to test.
2015-05-21 18:33:52 -07:00
Adam Ierymenko
d9006712f6
Completely factor out "desperation" from the core. I thought of a significantly simpler way to move all of this logic entirely into the containing service, liberating the core from any concern over the nature of its pipe to the outside world.
2015-05-21 15:58:26 -07:00
Adam Ierymenko
123ff28863
Build fix.
2015-05-21 15:24:58 -07:00
Adam Ierymenko
0f7dcb3ef2
Add some proxy debugging, and auto-resolve and periodically re-resolve TCP fallback tunnel hostname.
2015-05-21 15:22:41 -07:00
Adam Ierymenko
61021fc778
BackgroundResolver test.
2015-05-21 14:11:44 -07:00
Adam Ierymenko
2ad69237cf
Background resolver.
2015-05-21 13:44:33 -07:00
Adam Ierymenko
82f6b3f550
Clean old update code out of Windows service wrapper.
2015-05-20 20:21:20 -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
e285a6e75f
.
2015-05-20 15:20:05 -07:00
Adam Ierymenko
6fc090eb00
Don't actually "power cycle" the interface except on startup. Doing that after we're running could lose IP configuration.
2015-05-20 14:21:14 -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
992438f054
Confirm leaving networks.
2015-05-18 16:02:37 -07:00
Adam Ierymenko
8c7a4efe1a
Small cosmetic fix to bottom bar.
2015-05-18 15:56:18 -07:00
Adam Ierymenko
e0313455e7
Hide unneeded menus in MacGap.
2015-05-18 15:53:49 -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
c76217c2d4
Delete old UI code -- officially dead.
2015-05-17 19:50:19 -07:00
Adam Ierymenko
2d700f644b
Add signed binary build of Mac GUI wrapper.
2015-05-17 19:48:21 -07:00
Adam Ierymenko
c76b9d1340
Respect user home directory copies of authtoken.secret or ~/.zeroTierOneAuthToken in CLI like we do in GUI wrappers.
2015-05-17 19:13:22 -07:00
Adam Ierymenko
0e87002d78
BSDEthernetTap build fixes.
2015-05-17 18:31:41 -07:00
Adam Ierymenko
ddaf3ef347
Bring BSDEthernetTap into the current century.
2015-05-17 18:28:04 -07:00
Adam Ierymenko
2810cd7c15
Build fixes for G++, building without SQLite3 present, and warning removal.
2015-05-17 23:56:47 +00:00
Adam Ierymenko
0af18b164c
/var/db is for all of xBSD
2015-05-17 16:06:29 -07:00
Adam Ierymenko
086f21ed70
Refactor and simplify controller integration with JSON API and OneService.
2015-05-17 15:51:07 -07:00
Adam Ierymenko
7649d6746b
docs
2015-05-17 15:38:01 -07:00
Adam Ierymenko
0e00981059
docs
2015-05-17 14:01:25 -07:00
Adam Ierymenko
d41b6eb0c8
docs
2015-05-17 10:14:12 -07:00
Adam Ierymenko
651e67f2e5
Add a feature to generate a new network ID on POST.
2015-05-17 09:36:35 -07:00
Adam Ierymenko
e0090e56f4
Build fix on OSX -- cannot call SqliteNetworkController if not compiled in.
2015-05-16 18:59:11 -07:00
Grant Limberg
9a00366b18
Merge branch 'adamierymenko-dev' into android-jni
2015-05-16 18:55:19 -07:00
Adam Ierymenko
69ceb7e730
Basic controller JSON API seems to be working.
2015-05-16 17:12:29 -07:00
Adam Ierymenko
cf51961d52
.
2015-05-16 16:32:13 -07:00
Adam Ierymenko
c9fd8de007
.
2015-05-16 16:22:38 -07:00
Adam Ierymenko
a187d290f1
Fixes to control plane, API, eliminate problematic inheritance pattern, and start on a NodeJS class for talking to the network controller.
2015-05-16 16:09:28 -07:00
Adam Ierymenko
27c5f04d68
Add -U option to skip root check and permit run as non-privileged user.
2015-05-16 14:52:09 -07:00
Grant Limberg
d0935f667f
Merge branch 'adamierymenko-dev' into android-jni
2015-05-16 14:35:35 -07:00
Adam Ierymenko
4be4908914
Fix some prepared statement problems.
2015-05-16 14:34:51 -07:00
Adam Ierymenko
38243e5eff
OSX build fix
2015-05-16 14:07:15 -07:00
Adam Ierymenko
0bb92715f4
DELETE function in network controller JSON API, and a newIdentity convenience request in ControlPlane for scripted testing.
2015-05-16 13:42:53 -07:00
Adam Ierymenko
78769900a9
More network controller cleanup, and some features to permit scripted testing.
2015-05-16 12:50:42 -07:00
Adam Ierymenko
65a9a9a6f2
typo
2015-05-15 15:30:44 -07:00
Adam Ierymenko
e269846f84
Netconf docs, add clock field to status, simplify netconf a bit by eliminating caching for now. We will re-add if it is needed.
2015-05-15 15:20:12 -07:00
Adam Ierymenko
6d2376eb9c
Controller API status message.
2015-05-15 09:41:45 -07:00
Adam Ierymenko
f693d4d0c8
Network controller cleanup and an extra sanity check.
2015-05-15 09:32:10 -07:00
Adam Ierymenko
0bdd56ebd6
A few revisions to PFS design.
2015-05-15 09:04:39 -07:00
Adam Ierymenko
d0e0f5dd12
Basic OpenBSD compile fixes -- still need to update BSDEthernetTap, will do that later. Should be able to re-use FreeBSD port for OpenBSD, but we will see.
2015-05-15 08:48:53 -07:00
Adam Ierymenko
e94518590d
First stab of PFS design work with PKC security -- may not implement in 1.0.3 but stubbing out.
2015-05-14 17:41:05 -07:00
Grant Limberg
4a0280686c
Merge branch 'adamierymenko-dev' into android-jni
2015-05-13 20:52:23 -07:00
Adam Ierymenko
a8835cd8b3
Some prep work to make room for perfect forward security (PFS). Will not affect existing clients.
2015-05-13 18:53:37 -07:00
Adam Ierymenko
bdce679d84
Should fix deadlock issue in GitHub issue #166
2015-05-13 16:55:18 -07:00
Adam Ierymenko
241f308334
Fix to tap reset code in Windows tap connector.
2015-05-08 16:49:08 -07:00
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.
2015-05-08 16:31:50 -07:00
Adam Ierymenko
1b895c45eb
Make peer list font a bit smaller.
2015-05-08 15:04:01 -07:00
Adam Ierymenko
2158d26bd7
Show last unicast and multicast frames.
2015-05-08 15:01:05 -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
c1e5c1c710
Fix some settings on WebControl implementation.
2015-05-08 14:51:24 -07:00
Adam Ierymenko
257187a284
Fixes for Windows WebControl.
2015-05-08 14:47:01 -07:00
Adam Ierymenko
8e888f8df9
Hmm... will this work? Very first child of <head>
2015-05-08 12:41:06 -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
a913f00670
Windows WebControl based wrapper for web UI.
2015-05-08 11:55:09 -07:00
Adam Ierymenko
b1164ed181
icons
2015-05-08 11:08:06 -07:00
Adam Ierymenko
c0caba8944
docs
2015-05-08 10:31:01 -07:00
Adam Ierymenko
0be3190d49
UI spacing tweaks.
2015-05-08 10:20:38 -07:00
Adam Ierymenko
bd2ce82ea6
Minify JS in UI, add Makefile.
2015-05-08 10:03:35 -07:00
Adam Ierymenko
a4a62be698
UI tweaks, get JSXTransformer out.
2015-05-08 09:39:07 -07:00
Grant Limberg
da45840e5a
Merge branch 'adamierymenko-dev' into android-jni
...
Conflicts:
.gitignore
2015-05-07 19:16:35 -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
Grant Limberg
8130b2a0de
Merge branch 'adamierymenko-dev' into android-jni
2015-05-06 20:24:01 -07:00
Adam Ierymenko
e58047eaa0
UI work...
2015-05-06 19:39:45 -07:00
Adam Ierymenko
03dbec960a
UI tweaks
2015-05-06 17:42:29 -07:00
Grant Limberg
20b76d266d
Merge branch 'adamierymenko-dev' into android-jni
2015-05-06 17:37:11 -07:00
Adam Ierymenko
4a2c46e008
Well that works... pretty web UI (currently only works on test node with hard-coded auth code... need to figure out how to plumb that)
2015-05-06 17:28:11 -07:00
Kees Bos
a425bbc673
Renamed supernode to rootserver
2015-05-06 12:05:20 +02:00
Adam Ierymenko
b2b32e5969
Beginning of HTML+Bootstrap+React UI for new desktop client -- looking like it will be easier than retrofitting the old Qt client for the new API.
2015-05-05 20:53:30 -07:00
Grant Limberg
bdc5b3d3a5
Merge branch 'adamierymenko-dev' into android-jni
2015-05-04 20:12:26 -07:00
Grant Limberg
e28712555d
build & package libZeroTierOneSDK.jnilib on Mac oS
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-05-04 20:04:44 -07:00
Adam Ierymenko
40f312a827
When we reset within scope, erase the other entries for that scope so we won't keep resetting the same scope repeatedly.
2015-05-04 19:02:36 -07:00
Adam Ierymenko
18ca6f34ff
Always update timestamp.
2015-05-04 18:45:39 -07:00
Adam Ierymenko
59fa687830
Make timeout also apply to null check in iam()
2015-05-04 18:43:24 -07:00
Adam Ierymenko
e922324bc6
Stop inlining all the Packet armor/dearmor stuff to reduce binary bloat. This stuff is called all over the place.
2015-05-04 18:39:53 -07:00
Adam Ierymenko
b4b067bf12
So we need to keep track of external surface per reporter, since some NATs assign different external IPs for each external destination. Keeping just one known surface could create a race condition.
2015-05-04 18:34:30 -07:00
Adam Ierymenko
625ddf41a7
docs
2015-05-04 17:41:48 -07:00
Adam Ierymenko
af66f14761
Merge branch 'adamierymenko-dev' into android-jni
2015-05-04 16:47:18 -07:00
Adam Ierymenko
da254d967f
Hack around GitHub issue #165 (?)
2015-05-04 14:11:54 -07:00
Grant Limberg
7054c365f2
put a read timeout on the socket
2015-05-02 18:34:47 -07:00
Grant Limberg
06ab338ecc
added naive OneService implementation.
...
Does nothing but send packets to master nodes and listen for packets back.
2015-05-02 18:24:52 -07:00
Grant Limberg
ad6ec22857
DataStore now works
2015-05-02 18:22:56 -07:00
Grant Limberg
a9307693a6
Adding Data Store implementations for Android and normal Java
2015-05-02 17:32:12 -07:00
Grant Limberg
742c59a7c7
Refactor package name from com.zerotierone.sdk to com.zerotier.sdk
2015-05-02 16:54:00 -07:00
Grant Limberg
e79a6915ff
ensure java is compiled for JVM 1.7. Android cant read .class files compiled for 1.8
2015-05-02 12:06:07 -07:00
Grant Limberg
818339f966
replace old direct calls to FindClass, GetMethodID, etc with calls that use the cache
2015-05-02 12:05:40 -07:00
Grant Limberg
079d248eab
added a JniCache objectet for caching jclass, jmethodID, and jfieldID objects
2015-05-02 12:05:02 -07:00
Grant Limberg
9f2732d661
add the basedir to the ant buildfile
2015-05-02 10:16:10 -07:00
Grant Limberg
fb6b56a85f
clean up unused imports
2015-05-01 18:27:34 -07:00
Grant Limberg
02b33e3763
Yeah it helps to byte swap the port back to little-endian before sending the port off to Java
2015-04-30 22:07:14 -07:00
Grant Limberg
b242886c33
Merge branch 'adamierymenko-dev' into android-jni
2015-04-30 21:51:05 -07:00
Grant Limberg
0a15eae00f
Setup native build for Windows Java.
...
Still need to do Mac & Linux
2015-04-30 21:50:28 -07:00
Grant Limberg
75d7137025
added a class I found to load JNI code from within JAR files on non-android platforms.
...
That doesn't come for free, unlike android.
2015-04-30 21:50:05 -07:00
Adam Ierymenko
9279bac385
Fix deadlock in SelfAwareness by deferring reconnects.
2015-04-30 21:09:41 -07:00
Adam Ierymenko
105e1a016f
Get rid of G++ compiler warning.
2015-04-30 20:41:25 -07:00
Adam Ierymenko
604576075e
Add some missing includes that older G++ cares about.
2015-04-30 20:40:33 -07:00
Grant Limberg
52df59c552
Merge branch 'adamierymenko-dev' into android-jni
...
Conflicts:
.gitignore
2015-04-30 19:19:45 -07:00
Adam Ierymenko
d3820049b8
Add reported external address to OK(HELLO) TRACE to verify SN behavior.
2015-04-30 18:25:31 -07:00
Adam Ierymenko
9eb7698f0e
Learn external IP addresses on OK(HELLO) too.
2015-04-30 16:40:04 -07:00
Adam Ierymenko
5185103692
Fix to create-test-root-topology.
2015-04-30 16:13:17 -07:00
Adam Ierymenko
3ac23165c7
Kill old testnet -- was useful in its time, but Docker make running real test networks locally stupid easy and a more realistic simulation.
2015-04-30 16:04:17 -07:00
Adam Ierymenko
9a34fde8a5
Make sure identity.public exists and stays in sync, cleanup extra new in Node, and test script for local testnets.
2015-04-30 16:03:44 -07:00
Adam Ierymenko
918fc8884b
Update mktopology so it works again and can easily be used to create test dictionaries.
2015-04-30 15:31:01 -07:00
Adam Ierymenko
f3d7c9d681
Helps to index the array when enumerating a C array.
2015-04-30 15:16:21 -07:00
Adam Ierymenko
226e0f8722
docs and Makefile for tcp-proxy
2015-04-30 10:56:45 -07:00
Adam Ierymenko
288d73a4ad
A few more refinements to TCP code, ready to integrate with "desperation" stuff and test.
2015-04-30 10:47:27 -07:00
Grant Limberg
9464504e4a
DataStoreGet and Put and EventListener appear to work
2015-04-29 21:20:50 -07:00
Grant Limberg
7e0cc28a89
Fixes for bugs pointed out by updating warnings
2015-04-29 19:29:35 -07:00
Grant Limberg
0a2d1e7a66
Ignore windows debug build files
2015-04-29 19:29:18 -07:00
Grant Limberg
9bf9670ff9
add more warnings to the JNI build
2015-04-29 19:14:52 -07:00
Adam Ierymenko
a9a3705877
TCP tunneling implementation -- not tested yet and no initiation yet.
2015-04-28 12:43:10 -07:00
Grant Limberg
5983b4367b
jclass pointers aren't as cacheable as originally thought.
...
There is a way to do it. We can try it later if we determine it's needed for performance reasons. Otherwise, don't use static to cache them
2015-04-27 18:38:13 -07:00
Grant Limberg
d1ed269537
Switch to InetSockAddress instead of InetAddress so we can send the port # to java as well
2015-04-27 17:48:37 -07:00
Grant Limberg
73d68c0c98
Merge branch 'adamierymenko-dev' into android-jni
2015-04-27 17:24:55 -07:00
Adam Ierymenko
7dcde7503a
For now just bind TCP to localhost, since we do not permit remote use of the control bus at all yet.
2015-04-26 18:15:40 -07:00
Adam Ierymenko
b9f7f75ddf
TCP proxy for tunneling (desperation > 0).
2015-04-26 16:38:39 -07:00
Adam Ierymenko
a1005ca858
Do not unite() peers across different IP scopes as this would pretty much never work.
2015-04-26 16:03:16 -07:00
Adam Ierymenko
8c5ec54711
.
2015-04-26 14:05:36 -07:00
Adam Ierymenko
ab3f4d7539
Was thinking about this HTTP tunneling stuff but decided against for now. Stash unfinished code in attic/
2015-04-26 14:05:13 -07:00
Adam Ierymenko
a1d6df4bf8
Starting on new external updater binary.
2015-04-26 10:01:07 -07:00
Grant Limberg
4c71e92a67
It's now possible to actually create a Node object in Java/Android!!!
2015-04-25 20:47:21 -07:00
Grant Limberg
3bdbc6390f
Added logging to Android logcat
2015-04-25 20:46:56 -07:00
Grant Limberg
8a09e0ec3c
added NodeException
2015-04-25 20:46:41 -07:00
Grant Limberg
db80070ccb
fix strings pointing to enum fields in ResultCode java class
2015-04-25 19:19:58 -07:00
Grant Limberg
042f914dc5
If we could not recursively add ZeroTierOneSDK.jar to ZeroTierOneSDK.jar, that would be greeeaaaaat
2015-04-25 19:09:30 -07:00
Grant Limberg
ec45aeb42a
Merge branch 'adamierymenko-dev' into android-jni
2015-04-25 18:59:52 -07:00
Grant Limberg
a86a0ab2b1
Package the Android native libraries right in the .jar file
2015-04-25 18:59:00 -07:00
Grant Limberg
29bb2a9004
fix for a previously renamed class
2015-04-25 18:58:43 -07:00
Grant Limberg
56f8160af8
generate javadocs for the Java SDK
2015-04-25 17:29:07 -07:00
Adam Ierymenko
7af1f3a79a
attic cleanup
2015-04-25 17:25:06 -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
720ac93ba9
Use NDIS6 driver preferentially if available.
2015-04-25 15:22:43 -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
d4c06e924d
Do the same modifications to the NDIS 6 code base as were done to the old 5 driver: disable all the 'tun' functionality, and add the IOCTL for querying the multicast list at Ethernet (L2) level.
2015-04-25 12:21:08 -07:00
Adam Ierymenko
1ebe2ad920
NDIS6 driver with VS project to build -- builds correctly, not customized for ZT yet.
2015-04-24 23:31:51 -07:00
Grant Limberg
0d4283a3fa
Cache jclass and jmethod instances for callbacks on the JniRef struct.
...
This is safe to cache as none of the instantiated callback interfaces can be changed once a Node object is created.
2015-04-24 20:34:36 -07:00
Grant Limberg
9c62ce9e6f
implemented EventCallback
...
All callback methods are now implemented
2015-04-24 20:13:21 -07:00
Grant Limberg
f2eed5a65f
implemented WirePacketSendFunction
2015-04-24 19:43:17 -07:00
Grant Limberg
5e1fb4e253
Realized that the jclass and jmethodID variables in the callbacks cannot be static
...
There's no guarantee that ALL calls to the callbacks will be on the same class as they're just interfaces and user defined
2015-04-24 19:35:18 -07:00
Grant Limberg
dc00ce4f44
added DataStorePutFunction implementation
...
updated DataStorePutListener to also have an onDelete() method
2015-04-24 19:28:44 -07:00
Grant Limberg
53ebd5a9a5
don't need to pass buffer size because java arrays have a .length member
2015-04-24 19:14:59 -07:00
Grant Limberg
d5fc2b39aa
implemented DataStoreGetFunction callback
2015-04-24 19:11:49 -07:00
Grant Limberg
4137246653
implemented VirtualNetworkFrameFunctionCallback
2015-04-24 18:49:52 -07:00
Grant Limberg
28168fa673
implement VirtualNetworkConfigFunctionCallback
2015-04-24 18:39:17 -07:00
Grant Limberg
99af0f3a88
moved creation of VirtualNetworkConfig objects to ZT1_jniutils
...
added implementation of networks() method
2015-04-24 18:20:10 -07:00
Grant Limberg
6f07a476a6
create and return the peer array
2015-04-24 18:06:26 -07:00
Grant Limberg
52a20b4b0f
create PeerRole and PeerPhysicalPath objects
2015-04-24 17:58:59 -07:00
Grant Limberg
f3c29d3f0d
rename PhysicalPeerPath -> PeerPhysicalPath to reflect C API
2015-04-24 17:58:31 -07:00
Grant Limberg
b3429481cd
update build instructions
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-24 17:04:08 -07:00
Grant Limberg
0f808e11df
Merge branch 'adamierymenko-dev' into android-jni
2015-04-24 16:48:48 -07:00
Adam Ierymenko
ce09e363dc
Destroy tap devices on Windows 'leave'.
2015-04-24 16:31:19 -07:00
Adam Ierymenko
e2c65bf16a
Bring Windows service code up to date and into sync.
2015-04-24 15:44:39 -07:00
Adam Ierymenko
0e31551349
Take winhttp out of lib list, since we don't use it anymore.
2015-04-24 15:15:14 -07:00
Adam Ierymenko
f5848972f9
Windows now builds and runs selftest correctly, and fixed a Windows (and possibly other platforms) issue in Phy<>.
2015-04-24 15:05:28 -07:00
Adam Ierymenko
54954f5b88
First pass of Windows cleanup and build fixes...
2015-04-24 13:35:17 -07:00
Adam Ierymenko
883a216d2a
Build fixes.
2015-04-24 12:29:31 -07:00
Grant Limberg
1a65a79e57
set 'build' as the default ant target
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 23:14:09 -07:00
Grant Limberg
6dd3c07b25
removing unneeded jni headers
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 23:09:42 -07:00
Grant Limberg
1df6bc6bc3
just adjusting some alignment
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 23:09:30 -07:00
Grant Limberg
9ab7280703
added infrastructure for Node.peers() and Node.networks() functions
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 23:08:28 -07:00
Grant Limberg
7f6556eba0
node.networkConfig() now creates ArrayLists of multicast subscriptions and assigned addresses
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 22:48:56 -07:00
Grant Limberg
1bea940323
fix field ID signatures
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 22:47:56 -07:00
Grant Limberg
6ff2e6ecfe
move findNode method back
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 22:46:54 -07:00
Grant Limberg
d66f2cd54d
Node.networkConfig now only needs to populate the lists of assigned addresses and multicast subscriptions and then it's finished
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 21:43:16 -07:00
Grant Limberg
46adf870a1
move utility functions from anon namespace to ZT1_jniutils
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 21:39:07 -07:00
Grant Limberg
4906f8e848
added stub utility functions for creating ArrayLists, appending items to ArrayLists, creating InetAddress objects, and MulticastGroup objects
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 21:36:33 -07:00
Grant Limberg
fa9d42b7e5
finished the JNI implementation of the status() method on Node
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 20:52:47 -07:00
Grant Limberg
1a528aec76
don't require clean before build
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 20:34:59 -07:00
Grant Limberg
ffb9e2901e
fix a build error
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 20:29:23 -07:00
Grant Limberg
407e2fc7de
Added ant build script. Requires NDK_BUILD_LOC environment variable pointing to the ndk-build script
...
fixed compile erros in Node and VirutalNetworkConfig
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 20:17:29 -07:00
Grant Limberg
667a103a6a
added functions to create Event, and VirtualNetworkStatus objects
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-23 19:16:45 -07:00
Grant Limberg
32a35e6808
scaffolding for implementation of status() and networkConfig()
...
They should be able to be called, but will not return valid objects yet
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 21:31:17 -07:00
Grant Limberg
34028aa7c8
Added implemenation for node.address()
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 21:30:37 -07:00
Grant Limberg
3ccaef88b7
Added implementation for Node.version()
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 21:29:45 -07:00
Grant Limberg
f5bb57d5aa
fix call to networkConfig to pass the network id
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 21:28:42 -07:00
Grant Limberg
a1a35e0279
Can't instantiate enum objects. Fix createResultObject() function so that it still works properly
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 21:14:55 -07:00
Grant Limberg
1308f02b93
multicastSubscribe() and multicastUnsubscribe()
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 20:33:38 -07:00
Grant Limberg
b078d69372
join() and leave() functions
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 20:29:34 -07:00
Grant Limberg
e31e54483c
added processBackgroundTasks function
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 20:25:35 -07:00
Grant Limberg
3c499777c8
added implementation for processWirePacket
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 20:21:12 -07:00
Grant Limberg
9c038d3ecd
added a few missing function calls in the ZT1 Node API
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 19:36:46 -07:00
Grant Limberg
6187a91f4c
delete the ZT1_Node object when calling Java_com_zerotierone_sdk_Node_node_1delete
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 19:29:45 -07:00
Grant Limberg
321b67c73c
add a findNode() function to reduce copypasta
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 19:29:13 -07:00
Grant Limberg
5df253fa69
added implementation for processVirtualNetworkFrame
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 19:19:45 -07:00
Grant Limberg
3a6807d584
add assignedAddresses member to VirtualNetworConfig class
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 19:19:08 -07:00
Grant Limberg
787b4a8e50
* Change a few method signatures from java.lang.Long to long[] so that values can be passed back.
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-22 19:18:49 -07:00
Grant Limberg
b33e4af49f
Merge branch 'adamierymenko-dev' into android-jni
2015-04-22 18:14:14 -07:00
Adam Ierymenko
5202fbdaf3
CRUD
2015-04-22 18:06:26 -07:00
Adam Ierymenko
103dcb072d
CRUD
2015-04-21 19:49:04 -07:00
Adam Ierymenko
79f63ba30a
Fix: make sure we do not assign broadcast address as an IP to new members.
2015-04-21 18:37:17 -07:00
Adam Ierymenko
71f006cbeb
More CRUD, almost done...
2015-04-21 18:08:33 -07:00
Adam Ierymenko
e4046964f0
Forgot to run schema2c.
2015-04-21 16:50:02 -07:00
Adam Ierymenko
ddebe2d4c7
Network controller CRUD... :P
2015-04-21 16:41:35 -07:00
Grant Limberg
0c8051da15
Move JNI methods to the bottom of the class
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-20 20:44:31 -07:00
Grant Limberg
e0c8ddb65b
call close() from the Node class's finalize method
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-20 20:36:59 -07:00
Grant Limberg
bd4049fdc0
Added JNI code for construction/destruction of ZT1_Node objects
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-20 20:33:42 -07:00
Grant Limberg
5f314f209e
Updated Java Node class native methods to pass the node ID
...
This is so that we know which C-based ZT1_Node struct is being operated on
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-20 20:32:29 -07:00
Grant Limberg
99a1a4e65b
Generated header files for JNI
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-20 18:31:42 -07:00
Grant Limberg
ec3a1c87d1
first revision of the java API for ZeroTier One
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-20 18:27:15 -07:00
Grant Limberg
f40eb665c5
Add build files for compiling ZeroTier One SDK for Android targets
...
Signed-off-by: Grant Limberg <glimberg@gmail.com >
2015-04-20 18:26:23 -07:00
Adam Ierymenko
ed107c4daf
Network preferred relay stuff in netconf controller.
2015-04-20 17:47:12 -07:00
Adam Ierymenko
8a13cfdace
Add per-network relays to NetworkConfig.
2015-04-20 17:14:16 -07:00
Adam Ierymenko
86c87875a7
OSUtils::resolve()
2015-04-20 16:07:38 -07:00
Adam Ierymenko
69076f8a45
Add per-network relay stuff to sqlite table schema.
2015-04-20 15:46:20 -07:00
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.
2015-04-20 15:12:31 -07:00
Adam Ierymenko
740121504f
Add a timestamp to netconf cache, fix some SQL queries in NC.
2015-04-17 15:21:53 -07:00
Adam Ierymenko
417f56de2f
Add some TRACE instrumentation to external surface address awareness.
2015-04-17 12:19:01 -07:00
Adam Ierymenko
b51d00146b
docs
2015-04-17 10:45:16 -07:00
Adam Ierymenko
8715242e7f
build fix
2015-04-16 16:43:35 -07:00
Adam Ierymenko
895c32a0d2
Stash old software updater code, will refactor into separate utility.
2015-04-16 16:17:28 -07:00
Adam Ierymenko
489cc66b78
Don't need these files anymore.
2015-04-16 16:16:25 -07:00
Adam Ierymenko
ce77e67e00
docs
2015-04-16 16:15:25 -07:00
Adam Ierymenko
1f5700191f
zerotier-cli suspiciously working... that didn't hurt *too* badly.
2015-04-16 16:12:10 -07:00
Adam Ierymenko
c4c5fa63d1
Almost done with JSON parsing for tabular output.
2015-04-16 15:51:56 -07:00
Adam Ierymenko
13d5073e5b
CLI work and Makefile cleanup.
2015-04-16 15:07:58 -07:00
Adam Ierymenko
8333bf065e
Basic CLI working with JSON output. Now to parse and support old tabular form.
2015-04-16 14:55:36 -07:00
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.
2015-04-16 14:13:44 -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
12b4646ce8
Prettify JSON output.
2015-04-16 12:06:40 -07:00
Adam Ierymenko
4e5d2d2c72
Write a zerotier-one.port file to the home path to make CLI easy to write, and do a backward compatiable CLI in bash instead of as part of the executable.
2015-04-15 19:38:01 -07:00
Adam Ierymenko
21a7e774bb
Wire API auth token stuff.
2015-04-15 19:14:12 -07:00
Adam Ierymenko
c301d8e438
Remove network/controller -- we will do this in Ruby instead since it will be part of the whole OnePoint project anyway.
2015-04-15 19:01:38 -07:00
Adam Ierymenko
d2503172d8
Add some additional detail to the peer record in CAPI and JSON control plane.
2015-04-15 19:00:26 -07:00
Adam Ierymenko
91ca238163
Compile fixes.
2015-04-15 18:47:38 -07:00
Adam Ierymenko
33c8d3c50b
Compile fixes.
2015-04-15 18:36:32 -07:00
Adam Ierymenko
ea1859541c
More cleanup, and fix for the extremely unlikely case of identity collision.
2015-04-15 18:32:25 -07:00
Adam Ierymenko
f7b1437154
Putting the main binary back together...
2015-04-15 17:00:26 -07:00
Adam Ierymenko
6369c264e2
Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency.
2015-04-15 15:12:09 -07:00
Adam Ierymenko
871473255b
Cleanup, drop 32-bit from Mac build flags since i386 is pretty thoroughly deprecated and dead on OSX. We will have to make our updater stop updating on any 32-bit Macs that might actually still be running ZT1.
2015-04-15 14:54:37 -07:00
Adam Ierymenko
a0f8685453
cleanup
2015-04-15 14:44:30 -07:00
Adam Ierymenko
8639538299
Rename One to OneService, create separate sources for other tools.
2015-04-15 14:42:26 -07:00
Adam Ierymenko
98bcc3d4b5
Disable a few noisy TRACEs, and limit how often we confirm new paths to avoid flooding.
2015-04-15 13:15:09 -07:00
Adam Ierymenko
1c9ca73065
Fix some deadlock issues, move awareness of broadcast subscription into core, other bug fixes.
2015-04-15 13:09:20 -07:00
Adam Ierymenko
508519b62a
Tap driver load fix.
2015-04-14 19:21:56 -07:00
Adam Ierymenko
c9af603b9f
Add beacon broadcasting back into Node.
2015-04-14 18:20:03 -07:00
Adam Ierymenko
aeb4b42ab3
Make tap itself handle remembering sticky device to nwid mappings.
2015-04-14 18:13:46 -07:00
Adam Ierymenko
67f1f1892f
Bunch of tap stuff, IP address assignment hookups, etc.
2015-04-14 17:57:51 -07:00
Adam Ierymenko
e205e5fdfe
Include tap device name in JSON output for network info.
2015-04-14 15:55:03 -07:00
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
2015-04-14 15:32:05 -07:00
Adam Ierymenko
29a2175b7a
Fix missed closedir()
2015-04-14 15:17:59 -07:00
Adam Ierymenko
49d31613b9
Fix some minor issues, now to reintegrate taps.
2015-04-14 15:16:04 -07:00
Adam Ierymenko
758b5caf94
Fix < logic.
2015-04-14 14:52:23 -07:00
Adam Ierymenko
6f4b30add8
Turns out you do have to unpack and compare sockaddr structures due to sin_len / sin6_len not present on all platforms and other junk.
2015-04-14 14:49:34 -07:00
Adam Ierymenko
1cfa67bbdd
Bunch more control plane work, and shelve old UI -- React FTW.
2015-04-14 13:56:28 -07:00
Adam Ierymenko
a2605561af
Basic control plane queries working.
2015-04-13 18:43:33 -07:00
Adam Ierymenko
b888e033c0
JSON control plane, almost done...
2015-04-13 18:12:45 -07:00
Adam Ierymenko
ff0eff4b7c
Decided to back out of doing HTTP/TCP server *and* client within ZT itself. Instead we'll do the TCP tunneling endpoint as a separate little daemon. It will appear here shortly.
2015-04-13 12:27:29 -07:00
Adam Ierymenko
5c1262f324
Basic framework of HTTP server is there.
2015-04-10 19:36:29 -07:00
Adam Ierymenko
daef54ba32
HTTP server is in, and works.
2015-04-10 19:08:49 -07:00
Adam Ierymenko
5572b7ffb6
Simplify Phy<> to get rid of more indirections.
2015-04-10 17:07:06 -07:00
Adam Ierymenko
7576911951
Temporarily shelve testnet/ -- will resurrect self-contained testnet later perhaps, but probably will not by the time next version ships. Was mostly for debugging multicast anyway and that is now quite stable.
2015-04-10 11:42:02 -07:00
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.
2015-04-10 11:40:45 -07:00
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.
2015-04-10 10:19:45 -07:00
Adam Ierymenko
5e331d6733
Restrict unite() to desperation==0 since NAT-t only works right now with direct links.
2015-04-10 10:13:50 -07:00
Adam Ierymenko
068d311ecc
TRACE compile fixes, other fixes, and it basically works! It says HELLO.
2015-04-09 20:54:00 -07:00
Adam Ierymenko
38200cc6a5
Add data store functions to service/One, and shelve old main.cpp since it will get rebuilt.
2015-04-09 19:58:04 -07:00
Adam Ierymenko
6615a70027
Service code builds now.
2015-04-09 18:22:04 -07:00
Adam Ierymenko
46ecad451c
Starting on new service/ code to encapsulate node/ with osdep/ stuff, and add a user pointer to the CAPI.
2015-04-09 18:14:27 -07:00
Adam Ierymenko
9342380146
docs
2015-04-09 11:27:23 -07:00
Adam Ierymenko
7192fe6d15
osdep/ compile fixes, and remove some lingering OS-specific stuff from node/Defaults
2015-04-08 19:03:30 -07:00
Adam Ierymenko
d761330465
No more tap factories.
2015-04-08 18:47:06 -07:00
Adam Ierymenko
ccc73b920e
Node peer list function for CAPI, and some Peer cleanup.
2015-04-08 18:45:21 -07:00
Adam Ierymenko
d9e9b60a98
Node status and network list.
2015-04-08 18:25:40 -07:00
Adam Ierymenko
e34bc961db
Add awareness of online status, and put old OS-dep utils in OSUtils.
2015-04-08 17:10:21 -07:00
Adam Ierymenko
0751eaabd8
Clean OS-dep stuff out of node/Utils.
2015-04-08 16:55:00 -07:00
Adam Ierymenko
12431ce95d
Clean out attic.
2015-04-08 16:50:14 -07:00
Adam Ierymenko
4d5a6a25d3
Add events for packet decode errors, etc., and re-implement TRACE as an event.
2015-04-08 16:49:21 -07:00
Adam Ierymenko
9d9d0ef12c
Rename StatusCallback to more descriptive EventCallback.
2015-04-08 16:07:47 -07:00
Adam Ierymenko
c894710ac1
Remove Logger.hpp references.
2015-04-08 16:00:48 -07:00
Adam Ierymenko
608b5ca13a
.
2015-04-08 15:56:19 -07:00
Adam Ierymenko
37bd6fdb9c
Move Logger to attic -- last bit of OS-specific stuff to get out of core.
2015-04-08 15:56:11 -07:00
Adam Ierymenko
7529d050c7
All of node/ now compiles again!
2015-04-08 15:42:23 -07:00
Adam Ierymenko
bf2ff964e1
Utils::now() removal and a bunch of compile fixes.
2015-04-08 15:26:45 -07:00
Adam Ierymenko
ee2f51f48e
Make Toplogy use dataStoreXX() methods from Node, and get rid of old TCP stuff.
2015-04-08 15:12:04 -07:00
Adam Ierymenko
40bfe37a19
Use max of core or most recent path desperation for pings.
2015-04-08 14:58:23 -07:00
Adam Ierymenko
59af674e74
Announce multicast groups on multicast subscribe.
2015-04-07 19:35:16 -07:00
Adam Ierymenko
6de7996218
Math fix.
2015-04-07 19:32:26 -07:00
Adam Ierymenko
49f031ccb4
Tons of refactoring, change to desperation algorithm to use max of core or link, porting over core loop code from old Node.cpp to new CAPI version, etc.
2015-04-07 19:31:11 -07:00
Adam Ierymenko
9e55f882d3
Starting to port from old Node() -- identity generation.
2015-04-07 16:41:56 -07:00
Adam Ierymenko
8210ed4805
Implement read from object store.
2015-04-07 14:11:47 -07:00
Adam Ierymenko
0a90681849
Add ping(), and a logic fix in SelfAwareness.
2015-04-07 12:32:05 -07:00
Adam Ierymenko
24608d5ca3
Always use HELLO to contact, and we now confirm newly learned paths via a two-way handshake to prevent half-connects.
2015-04-07 12:22:33 -07:00
Adam Ierymenko
eae2c89b09
Mutex locking fix.
2015-04-07 11:58:41 -07:00
Adam Ierymenko
52c3b7c34e
Implemented empirical determination of external addressing, paritioned per scope.
2015-04-07 11:56:10 -07:00
Adam Ierymenko
817824b88b
Some external surface awareness work, and IP scope classification.
2015-04-07 10:57:59 -07:00
Adam Ierymenko
a2821e9000
Add code to check external surface against reported surface from other trusted peers, and also rename ExternalSurface to SelfAwareness because lulz.
2015-04-06 20:17:21 -07:00
Adam Ierymenko
76ad19f411
Use binary_search for multicast groups, which are kept in sorted order.
2015-04-06 19:41:55 -07:00
Adam Ierymenko
758bf949db
Check for subscribed multicast groups should be able to check groups bridged behind me.
2015-04-06 19:34:36 -07:00
Adam Ierymenko
4e691c8e22
build fixes
2015-04-06 18:56:08 -07:00
Adam Ierymenko
6807ccd710
Don't need to announce on multicast leave.
2015-04-06 18:28:18 -07:00
Adam Ierymenko
51f46a009a
Multicast group join/leave and group membership announcement.
2015-04-06 18:27:24 -07:00
Adam Ierymenko
8001b2c0cb
Network now calls port config function as per new API.
2015-04-06 16:52:52 -07:00
Adam Ierymenko
a86300c58f
Network build fixes and cleanup of remaining internal references to _tap
2015-04-06 15:47:57 -07:00
Adam Ierymenko
488f5bf977
More build fixes, and attic/ some stuff.
2015-04-06 15:14:54 -07:00
Adam Ierymenko
197d272287
More NAT strategy cleanup.
2015-04-06 15:08:45 -07:00
Adam Ierymenko
be4683a96d
Get rid of random port strategy -- research does not support.
2015-04-06 15:03:08 -07:00
Adam Ierymenko
5f351f2f6b
build fixes.
2015-04-06 14:55:40 -07:00
Adam Ierymenko
f4fd2d4971
Bring IncomingPacket into line with new changes.
2015-04-06 14:50:53 -07:00
Adam Ierymenko
a95f1e1418
Eliminate redundant SharedPtr assignment.
2015-04-03 17:01:07 -07:00
Adam Ierymenko
6eb9289367
Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch.
2015-04-03 16:52:53 -07:00
Adam Ierymenko
ee0f56355b
Send path simplification.
2015-04-03 13:14:37 -07:00
Adam Ierymenko
a69e1876f1
The concept of link desperation (escalating to less desirable transports) simplifies a ton of stuff. Loads of spaghetti logic can die since we no longer have to make these decisions down in the core.
2015-04-02 17:54:56 -07:00
Adam Ierymenko
5f51653f9c
More cleanup.
2015-04-01 19:16:07 -07:00
Adam Ierymenko
0214dbc277
More cleanup.
2015-04-01 19:15:21 -07:00
Adam Ierymenko
1f28ce3980
Tons more refactoring: simplify Network, move explicit management of Tap out, redo COM serialization, etc.
2015-04-01 19:09:18 -07:00
Adam Ierymenko
49349470a0
...
2015-04-01 16:27:14 -07:00
Adam Ierymenko
8130848020
More refactoring... and update the API a bit... turns out my strategy for reducing indirect function calls also increased memcpy()s which are more expensive. This is simpler and faster.
2015-04-01 14:59:44 -07:00
Adam Ierymenko
7ff0cab1b7
docs
2015-03-31 18:33:39 -07:00
Adam Ierymenko
b723855751
Refactoring... lalalala...
2015-03-31 18:17:11 -07:00
Adam Ierymenko
36eab4f1a9
Whole heap more cleanup and refactoring...
2015-03-31 17:53:34 -07:00
Adam Ierymenko
647ce82b86
Move more stuff into osdep/ -- node/ will not use threads directly.
2015-03-31 15:23:14 -07:00
Adam Ierymenko
e61a40a956
docs
2015-03-31 14:12:33 -07:00
Adam Ierymenko
a61acf36d2
osnet -> osdep
2015-03-31 14:11:21 -07:00
Adam Ierymenko
8990fb8267
osnet -> osdep
2015-03-31 14:10:02 -07:00
Adam Ierymenko
2c5dbecb3c
More CAPI work, and move old control/ and old node/Node to attic.
2015-03-31 13:54:50 -07:00
Adam Ierymenko
fe94c9460b
Phy is a better name than Wire, and other cleanup.
2015-03-31 11:52:10 -07:00
Adam Ierymenko
fe87c1db67
Work on new simplified C API -- required for embedded, language bindings, mobile (language bindings again), etc.
2015-03-30 19:46:07 -07:00
Adam Ierymenko
60158aa5dd
Turns out that node/ likely has no business with or need for the system IP routing table. So shelve that code for now.
2015-03-30 17:48:48 -07:00
Adam Ierymenko
3c1a59fa24
Wire selftest, and passes all tests.
2015-03-30 15:37:44 -07:00
Adam Ierymenko
b6241f6cb1
Build fixes.
2015-03-30 13:21:35 -07:00
Adam Ierymenko
4445bfc869
Wire should be good to test.
2015-03-26 14:44:31 -07:00
Adam Ierymenko
8d409def74
More Wire cleanup/docs and minor fixes.
2015-03-24 13:45:31 -07:00
Adam Ierymenko
91810c5f44
A bit more cleanup and doc work on new select abstraction
2015-03-24 10:09:05 -07:00
Adam Ierymenko
64ea58d523
Most of new cleaner IO abstraction.
2015-03-23 17:07: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
7ee1a1151f
Add SqliteNetworkConfigMaster::DBC for external access to raw sqlite3 db.
2015-03-20 12:21:18 -07:00
Adam Ierymenko
a8a92c5b89
A whole lot of Sqlite netconf master work, and some fixes elsewhere in the code.
2015-03-18 16:10:48 -07:00
Adam Ierymenko
cea3f28155
DB init works now.
2015-03-17 16:27:52 -07:00
Adam Ierymenko
ba69240bcb
Sqlite auto-init and version check.
2015-03-17 15:20:45 -07:00
Adam Ierymenko
49a2450e76
Include the Sqlite schema to auto-init the database.
2015-03-17 14:54:13 -07:00
Adam Ierymenko
278c8fd9f1
Wire up externally specified NetworkConfigMaster
2015-03-13 13:53:15 -07:00
Adam Ierymenko
61d89bd118
docs
2015-03-12 14:27:14 -07:00
Adam Ierymenko
1b0908fab2
Delete duplicate redis-schema.md
2015-03-12 14:04:21 -07:00
Adam Ierymenko
31bf0a4ea6
Netconf build fixes, schema, etc.
2015-03-12 14:03:53 -07:00
Adam Ierymenko
fab951e98a
Sqlite schema for netconf.
2015-03-12 09:56:03 -07:00
Adam Ierymenko
ab211cf599
Changed my mind design-wise on netconf/ -- will embed using SQLite. This fits much better into the OnePoint plans. I am also officially sick of NoSQL, which in this cases forces you to invent things that SQL gives you for free.
2015-03-11 08:44:38 -07:00
Adam Ierymenko
badf260e1f
Add historic protocol docs exhibit.
2015-03-02 06:50:42 -08:00
Adam Ierymenko
66f29f09da
Make clean fixes.
2015-02-26 14:54:56 -08:00
Adam Ierymenko
ecffa9f5e7
Redis network config master work, and the beginnings of some actual unit test code.
2015-02-24 16:15:01 -08:00
Adam Ierymenko
b6fba5934a
RedisNetworkConfigMaster in its own folder. Also fix some hex/decimal Redis database confusion.
2015-02-24 14:17:57 -08:00
Adam Ierymenko
78fc62d967
netconf/ is where Redis code lives
2015-02-24 12:41:24 -08:00
Adam Ierymenko
ff255a34de
Make NetworkConfigMaster a plugin to get Redis and other non-endpoint code out of node/
2015-02-24 12:28:58 -08:00
Adam Ierymenko
93012b0ee5
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
2015-02-17 13:11:34 -08:00
Adam Ierymenko
89f0c948f8
Physical address change message verb.
2015-02-04 11:59:02 -08:00
Adam Ierymenko
eeed31b396
Ping supernodes on surface change, and also reset TCP flag.
2015-02-02 17:02:23 -08:00
Adam Ierymenko
b7148c107d
Rip out network environment fingerprint. This will be replaced by constant monitoring of actual external address surface.
2015-02-02 16:40:57 -08:00
Adam Ierymenko
b1bf3f68c3
Drop support for legacy P5 multicast, as there are fewer than 1% of these remaining on the network.
2015-02-02 16:34:01 -08:00
Adam Ierymenko
37d23336ed
Surface logic in Topology.
2015-02-02 16:23:26 -08:00
Adam Ierymenko
61cff47f5b
Code to track externally visible address surface.
2015-02-02 15:24:05 -08:00
Adam Ierymenko
c30bf7957e
Hash code method for InetAddress
2015-02-02 14:44:24 -08:00
Adam Ierymenko
d73a11b60b
Add netconf build option to Mac build file too.
2015-01-13 16:45:23 -08:00
Adam Ierymenko
83227dc386
Now demote Amsterdam supernode. Appears to be having issues due to some sort of poor hosting provider performance.
2015-01-13 08:43:38 -08:00
Adam Ierymenko
fbc6ca28b7
Merge branch 'adamierymenko-dev' of ssh://earth.zerotier.net:55522/git/ZeroTierOne into adamierymenko-dev
2015-01-12 09:49:11 -08:00
Adam Ierymenko
72f926dc41
Add new faster supernode in Paris, France.
2015-01-12 09:22:37 -08:00
Adam Ierymenko
eab3ca1401
docs
2015-01-09 18:44:17 -05:00
Adam Ierymenko
c8c5d3b06e
Create netconf master if redis options are in local.conf.
2015-01-09 18:25:41 -05:00
Adam Ierymenko
0b84c10ccc
Add confirmation step to new netconf, with the caveat that it will be disabled for older netconf servers to avoid race. Also add some comments.
2015-01-09 16:35:20 -05:00
Adam Ierymenko
afea153a0b
Build fixes.
2015-01-08 18:17:02 -05:00
Adam Ierymenko
64ba596e0b
C++ network config master ready to test.
2015-01-08 14:27:55 -08:00
Adam Ierymenko
60fb28a90a
Cleanup, new C++ netconf code is almost ready to test!
2015-01-06 17:16:54 -08:00
Adam Ierymenko
a369c69091
C++ netconf master Redis plumbing.
2015-01-06 13:45:10 -08:00
Adam Ierymenko
f043321281
Revised Redis schema.
2015-01-06 11:04:53 -08:00
Adam Ierymenko
b644d2a893
Add timestamp field to network config requests.
2015-01-05 17:51:50 -08:00
Adam Ierymenko
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
2015-01-05 17:47:59 -08:00
Adam Ierymenko
08ba2ff752
Upgrade LZ4.
2015-01-05 16:23:32 -08:00
Adam Ierymenko
efa0bab296
Stash old Node.JS netconf-service in attic/
2015-01-05 16:20:20 -08:00
Adam Ierymenko
96e9a90e8e
docs
2015-01-05 16:19:56 -08:00
Adam Ierymenko
87c599df5c
Back out service message type -- YAGNI violation.
2015-01-05 15:52:02 -08:00
Adam Ierymenko
56cfe1d603
Strip out old Service code, add new service message type.
2015-01-05 11:47:22 -08:00
Adam Ierymenko
95e303d6f3
VERSION 1.0.2: Experimental FreeBSD support!
...
Version 1.0.2 brings experimental FreeBSD support. It has ONLY been tested
on FreeBSD 10 on an x64 system, and should be considered alpha for this
platform for now.
This version is not going to be pushed out to the entire world via software
update, and the binary version distributed for other platforms via the
zerotier.com web site will remain 1.0.1 as there are no other meaningful
user-facing changes. This is just an interim release to let FreeBSD users
try it out. If you find bugs, please enter them on GitHub or do a pull
request and fix them yourself.
2014-12-19 15:25:28 -08:00
Adam Ierymenko
ebb63cce70
Merge branch 'adamierymenko-dev' of ssh://earth.zerotier.net:55522/git/ZeroTierOne into adamierymenko-dev
2014-12-19 15:24:23 -08:00
Adam Ierymenko
f24283a674
VERSION 1.0.2: Experimental FreeBSD support!
...
Version 1.0.2 brings experimental FreeBSD support. It has ONLY been tested
on FreeBSD 10 on an x64 system, and should be considered alpha for this
platform for now.
This version is not going to be pushed out to the entire world via software
update, and the binary version distributed for other platforms via the
zerotier.com web site will remain 1.0.1 as there are no other meaningful
user-facing changes. This is just an interim release to let FreeBSD users
try it out. If you find bugs, please enter them on GitHub or do a pull
request and fix them yourself.
2014-12-19 15:20:47 -08:00
Adam Ierymenko
f60dfe4963
FreeBSD works, and some documentation fixes.
2014-12-19 15:18:20 -08:00
Adam Ierymenko
536bcf6505
FreeBSD builds!
2014-12-19 14:33:58 -08:00
Adam Ierymenko
1a02bcc9f5
Fork OSXEthernetTapFactory -> BSDEthernetTapFactory
2014-12-19 13:34:06 -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
ff539c22f9
locallyValidate() is expensive -- stop doing it on every HELLO since in most cases we already know the identity and know it is valid
2014-12-16 09:29:40 -08: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
cd2bf6f4b3
Stash make-freebsd.mk in attic/ to indicate that the FreeBSD port is not done net. Coming soon!
2014-12-05 09:36:16 -08:00
Adam Ierymenko
ad4923846a
Add .autoupdating to Debian package version too.
2014-12-05 17:34:05 +00: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
3a786ccc17
Set Debian arch correctly on armv6l (armhf)
2014-12-04 22:38:49 +00:00
Adam Ierymenko
b3a9bfca4d
Fix Debian package upgrade process.
2014-12-04 21:28:03 +00: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
149dbff3ea
Windows Visual Studio meaningless-warning-ectomy.
2014-12-02 16:50:53 -08:00
Adam Ierymenko
c030294bf5
Clean up some unused Windows files.
2014-12-02 16:43:01 -08:00
Adam Ierymenko
30e82a4d9c
Fix network enumeration buffer size bug -- reported by user Neal Symms via LiveAgent
2014-12-02 12:53:30 -08:00
Adam Ierymenko
8c64046a53
docs
2014-11-26 14:59:43 -08:00
Adam Ierymenko
04e4c5263e
Remove more legacy code -- just doing the supernode redist for old multicast is now good enough given the small number of legacy nodes left.
2014-11-26 13:39:57 -08:00
Adam Ierymenko
4303376ba6
cleanup and docs
2014-11-26 13:30:00 -08:00
Adam Ierymenko
cda61fe2d9
docs and cleanup
2014-11-26 13:14:18 -08:00
Adam Ierymenko
0f505411cf
Enable legacy multicast in Constants.
2014-11-25 14:12:33 -08:00
Adam Ierymenko
15d3e383e6
Add ZT_SUPPORT_LEGACY_MULTICAST ifdef to enable the legacy code to all be toggled.
2014-11-25 12:46:51 -08:00
Adam Ierymenko
6888c6482c
Re-enable legacy multicast distribution -- still too many pre1.0.0 nodes online.
2014-11-24 10:37:34 -08:00
Adam Ierymenko
d772639cc6
Multicast code cleanup.
2014-11-24 10:05:16 -08:00
Adam Ierymenko
acac88cf77
A few more tweaks to MC algo...
2014-11-23 14:00:27 -08:00
Adam Ierymenko
0bcac1fd79
Add a bunch of high-resolution try/catch safety in Node main loop to attempt to snare gremlin.
2014-11-21 11:54:06 -08:00
Adam Ierymenko
959f611a65
Fix thinko in multicast changes... works now!
2014-11-21 11:27:53 -08:00
Adam Ierymenko
7619b0ecbd
Send multicasts in random order.
...
This should not affect most users, but on large networks it should cause service
announcements to work a lot better. This is the result of a prolonged discussion
with a user about the visibility of game servers on a large network. The old
multicast algorithm was de-facto randomized due to its distributed nature, while
the new algorithm is more deterministic. This will restore some randomization
beyond limit-overflow conditions.
It won't affect small networks at all.
2014-11-21 10:50:27 -08:00
Adam Ierymenko
0c85b4ef5f
Tweak to symmetric NAT buster to add one to the number of ports above the current one it attempts.
2014-11-20 13:42:18 -08:00
Adam Ierymenko
ee9e6a3c6b
Change path selection logic to exclude non-fixed and non-active paths -- possible fix for "NAT traversal coma" issue. Also fix a typo.
2014-11-20 13:20:16 -08:00
Adam Ierymenko
7b6f10e859
Optimization: we don't need to verify signatures on certs if they're certs we already have and have verified.
2014-11-13 12:40:51 -08:00
Adam Ierymenko
c61e9c0ef9
Prevent "software laser" in legacy multicast support. Already hotpatched in supernodes.
2014-11-13 14:21:06 -05:00
Adam Ierymenko
b1b37d9d72
Increase paltry listen() backlog size to prevent Linux kernel syn flood fallback (only really affects supernodes).
2014-11-12 14:05:03 -08:00
Adam Ierymenko
1bd5a1ebcd
Make selftest build and run on FreeBSD 10 with gmake
2014-11-04 11:20:38 -08:00
Adam Ierymenko
14e4ffd15f
VERSION 1.0.0
...
ZeroTier 1.0.0 brings a number of under the hood improvements and bug
fixes. These include but are not limited to:
* A simpler, faster multicast algorithm that places full burden
for multicast propagation on the sender. This results in better
fairness without CPU-intensive signature/verify on every packet,
lower latency for intra-data-center SDN operations, and avoids
distributed burdens that are intrinsically unfriendly to mobile
clients subject to wake frequency limits and battery life
constraints. In the future this may be augmented to allow
optimized delivery to multiple recipients at the same site via
federation.
* Significant code reorg to move toward mobile support (iOS, Android)
and future SDK packaging.
* A number of efficiency and stability improvements.
* Bug fixes for Linux and ARM users.
* Improved NAT traversal, including limited support for port
numbering scheme guessing to traverse some symmetric NATs.
Upgrade from 0.9.x is not required but is strongly recommended. Older
clients using the old multicast algorithm are presently supported via
legacy hooks, and these may go away at some point in the future. We'll
monitor the status of the network and try to keep legacy support around
as long as people need it, but it'll probably be pulled once 95%+ of
clients are 1.0.0 or newer.
The next versions will bring further bug fixes, improved user experience,
more enterprise-grade features for intra-data-center use, and more!
2014-10-30 12:49:16 -07:00
Adam Ierymenko
16461eca1f
docs
2014-10-30 12:47:26 -07: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
8bd9f7d51d
Build fix for UI and mac.
2014-10-29 19:54:24 -07:00
Adam Ierymenko
0e84eb3852
Back off default multicast limit just a little.
2014-10-29 18:25:24 -07:00
Adam Ierymenko
4923ab2945
Windows build fix, set up Windows solution with new layout.
2014-10-29 17:40:23 -07:00
Adam Ierymenko
4c59497b95
Linux build fixes for testnet.
2014-10-29 16:32:24 -07:00
Adam Ierymenko
5484cf4309
More cleanup, and fix a bug in Multicaster::gather()
2014-10-29 16:24:19 -07:00
Adam Ierymenko
22d8aa4dc9
Moderate efficiency improvement on multicast gather result parsing, and go ahead and keep track of total known peers.
2014-10-29 15:26:32 -07:00
Adam Ierymenko
95f421024a
Code cleanup, and fix some unsafe pointer handling in Network.
2014-10-29 13:57:37 -07:00
Adam Ierymenko
f65b48d447
Thread sync bug...
2014-10-28 17:29:45 -07:00
Adam Ierymenko
5bb854e504
Fix a nasty bug introduced in packet fragmentation a while back during refactoring, and a few other things related to multicast.
2014-10-28 17:25:34 -07:00
Adam Ierymenko
faff84e63a
docs
2014-10-28 16:14:05 -07:00
Adam Ierymenko
9a5f6f020f
docs
2014-10-28 15:53:11 -07:00
Adam Ierymenko
4dec598fb8
Make multicast gather slightly more aggressive, and add total to list command in testnet.
2014-10-28 15:33:10 -07:00
Adam Ierymenko
3e948fcd93
.... aaaaaaand multicast testnet functionsa are in!
2014-10-28 15:06:43 -07:00
Adam Ierymenko
8aa75321e2
docs
2014-10-28 14:46:15 -07:00
Adam Ierymenko
ffbf0781fe
docs
2014-10-28 14:27:21 -07:00
Adam Ierymenko
e4966c7a07
docs
2014-10-28 14:25:44 -07:00
Adam Ierymenko
ac23f74547
docs
2014-10-28 14:24:07 -07:00
Adam Ierymenko
fa60463da5
docs
2014-10-28 14:23:39 -07:00
Adam Ierymenko
3d85a615fb
NULL dereference on still-initializing node bug fix in status query commands, and doc updates.
2014-10-28 14:17:39 -07:00
Adam Ierymenko
f873881a0d
Helps to use a proper multithreaded queue instead of ugly plebian hackery.
2014-10-28 12:28:45 -07:00
Adam Ierymenko
934a575a74
Testnet seems to work a bit better now...
2014-10-27 18:23:10 -07:00
Adam Ierymenko
fe7b429866
...
2014-10-27 17:32:37 -07:00
Adam Ierymenko
295f6a20e0
Testnet works! sort of...
2014-10-27 14:25:00 -07:00
Adam Ierymenko
6a94a4a51b
Testnet WIP
2014-10-27 09:03:38 -07:00
Adam Ierymenko
8672ca9cf8
Prep for real tests like alltoall.
2014-10-24 17:29:09 -07:00
Adam Ierymenko
a75a7547b4
Deadlock fix...
2014-10-24 17:11:23 -07:00
Adam Ierymenko
3857116724
More testnet work.
2014-10-24 16:35:06 -07:00
Adam Ierymenko
5c7cd53f13
Testnet sort of works! spins up supernodes.
2014-10-24 08:48:44 -07:00
Adam Ierymenko
4fbb098daa
Testnet work... getting there!
2014-10-23 16:46:09 -07:00
Adam Ierymenko
0a195e7bc0
Some work on simulated net...
2014-10-22 09:52:29 -07:00
Adam Ierymenko
ae228ade8c
Starting on simulated socket manager.
2014-10-21 17:00:25 -07:00
Adam Ierymenko
4a5756e7fb
cleanup
2014-10-21 16:21:45 -07:00
Adam Ierymenko
29ba34ab7c
Kill old testnet stuff, update main.cpp for new SocketManager abstraction.
2014-10-21 15:33:35 -07:00
Adam Ierymenko
2436e22f46
More work on abstracting socket manager.
2014-10-21 15:18:50 -07:00
Adam Ierymenko
128a131070
About halfway there in refactoring to support pluggable SocketManager.
2014-10-21 14:26:10 -07:00
Adam Ierymenko
6bc9a938cf
Move socket manager implementation into osnet/
2014-10-21 11:25:31 -07:00
Adam Ierymenko
0e47f13f14
Simplify locking semantics some more to address a deadlock.
2014-10-21 10:42:04 -07:00
Adam Ierymenko
7c0f5e97e1
Don't need to check peer version for every item in txQueue since there is only one peer.
2014-10-19 15:20:19 -07:00
Adam Ierymenko
0fd562bebc
One more Windows build fix.
2014-10-19 13:10:23 -07:00
Adam Ierymenko
8730d30575
Now for some clang compile fixes...
2014-10-19 13:07:50 -07:00
Adam Ierymenko
babf3787c6
Switch VS2012 build back to real, not self-test.
2014-10-19 12:58:13 -07:00
Adam Ierymenko
74f36f5dc0
Windows build fixes.
2014-10-19 12:56:39 -07:00
Adam Ierymenko
2eeb3dee9e
Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com:222/git/ZeroTierOne into adamierymenko-dev
2014-10-18 15:02:03 +02:00
Adam Ierymenko
4951e5e1b5
This is a --strategy=ours merge to allow adamierymenko-dev to replace
...
the current content of detached-network-test. This is ready for another
test in 'headless' mode.
Merge branch 'detached-network-test' into adamierymenko-dev
2014-10-18 15:00:47 +02:00
Adam Ierymenko
6429c51ec7
Merge branch 'detached-network-test' into adamierymenko-dev
2014-10-18 14:57:04 +02:00
Adam Ierymenko
a8bd8fff93
Make several changes to eliminate potential deadlock or recursive lock conditions, and add back rescan of multicast groups on network startup.
2014-10-14 16:38:27 -07:00
Adam Ierymenko
a94b0e6a43
Get rid of rescanMulticastGroups() in Network thread since this can deadlock... the fact that this can happen is probably bad design.
2014-10-14 15:58:03 -07:00
Adam Ierymenko
7a37326cc0
Fix sleeper bug that probably did nothing in setSupernodes().
2014-10-14 14:59:17 -07:00
Adam Ierymenko
42d644a57e
More fixes to legacy support, and to a potential issue on quit.
2014-10-14 12:37:35 -07:00
Adam Ierymenko
023cac4ebb
Add -g to optimized crypto code in ZT_DEBUG=1 build mode.
2014-10-14 10:22:27 -07:00
Adam Ierymenko
2416491cbc
Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache.
2014-10-13 14:12:51 -07:00
Adam Ierymenko
6e23986bb3
Another build fix.
2014-10-13 13:09:02 -07:00
Adam Ierymenko
1921e28c5f
Build fix.
2014-10-13 12:35:43 -07:00
Adam Ierymenko
52314dcdf6
GitHub issue #111
2014-10-13 11:47:14 -07:00
Adam Ierymenko
d8d4aace42
Fix for init.d/zerotier-one (again)
2014-10-13 12:55:16 -04:00
Adam Ierymenko
05309037a8
Yank potentially costly support for TTL out of UdpSocket since we dont use this anymore.
2014-10-13 09:37:17 -07: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
6316011024
Make crypto and compression build optimized in debug, and also try disabling peers.persist -- might ship this way as it seems more trouble than its worth.
2014-10-12 11:42:49 -07:00
Adam Ierymenko
8b0846d077
Delete bunch of commented out code.
2014-10-11 16:53:21 -07:00
Adam Ierymenko
0d017c043f
Stop persisting last announcement time since Multicaster is volatile. Also some more legacy multicast fixes.
2014-10-11 16:26:02 -07:00
Adam Ierymenko
c2aac69a9f
Fixes to legacy peer support.
2014-10-11 15:49:31 -07:00
Adam Ierymenko
a9c6913f12
.
2014-10-11 10:38:52 -07:00
Adam Ierymenko
e071c05f1b
Add a sanity limit to legacy multicast repeater function in supernode-mode nodes, and change netconf-master to issue multicast limit (ml) instead of old p5 stuff.
2014-10-10 14:59:07 -07:00
Adam Ierymenko
03dc823ad7
(1) Back off a little on default max multicast limit since 128 is pretty bandwidth heavy, (2) add a little to default multicast rate limit since new MC algo is fairerererer, (3) decided not to involve netconf masters in multicast so take that out of list of who gets LIKEs.
2014-10-10 12:55:06 -07:00
Adam Ierymenko
1774e615a1
<= MTU
2014-10-10 09:09:56 -07:00
Adam Ierymenko
56f8f8aa24
Return self in GATHER requests if self is a member of multicast group, and reinstate legacy support.
2014-10-09 18:32:05 -07:00
Adam Ierymenko
4941c8a1f3
New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes.
2014-10-09 17:58:31 -07:00
Adam Ierymenko
d5e0f7e3e4
Reorg multicast packet, and a whole bunch of refactoring around the pushing of certificates of membership.
2014-10-09 12:42:25 -07:00
Adam Ierymenko
620e64c58f
Supernode propagation of legacy multicast frames was brokezored.
2014-10-09 09:03:12 -07:00
Adam Ierymenko
b809dad94a
Bug fix in zerotier-cli (Unix)
2014-10-07 16:16:22 -07:00
Adam Ierymenko
b13845e528
.
2014-10-07 15:26:12 -07:00
Adam Ierymenko
3f15752f73
Add IPv4 address assignment to ffffffffffffffff test network.
2014-10-07 14:34:00 -07:00
Adam Ierymenko
cb6fd3afb3
g++ compiler warning fix
2014-10-07 13:18:08 -07:00
Adam Ierymenko
7788a3d45d
.
2014-10-06 14:56:49 -07:00
Adam Ierymenko
923c325a40
Add another private-testnet root topology debug option using 10.0.0.1 as the supernode.
2014-10-06 13:19:04 -07:00
Adam Ierymenko
87f1b1b1e3
Bug fix in new multicast frame handler, handling of old "P5" multicast frames in new way.
2014-10-06 13:16:16 -07:00
Adam Ierymenko
ab22feba9a
Bump version to 1.0.0, add legacy support code to Multicaster to not send new frame to known-to-be-old peers.
2014-10-05 10:34:25 -07:00
Adam Ierymenko
10c196df50
Send a VERB_P5_MULTICAST_FRAME to the supernode for each multicast -- for now. This will allow supernodes to echo these down to pre-1.0.0 peers.
2014-10-04 13:46:29 -07:00
Adam Ierymenko
2c8321be1f
Pull logic to always send new multicasts to supernode since we need to do that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed.
2014-10-04 13:15:02 -07:00
Adam Ierymenko
62da7e67b6
Add some rate limiting to implicit gathers, and always send multicasts to at least one supernode so they can broadcast to old peers (temporary).
2014-10-03 22:30:10 -07:00
Adam Ierymenko
e7c81ef34e
Turns out that needed to be a list after all. Also clean up Multicaster::gather().
2014-10-03 22:03:19 -07:00
Adam Ierymenko
3f7e7e8a88
Do not multicast to self.
2014-10-03 18:42:41 -07:00
Adam Ierymenko
496109fdcc
Announce multicast group changes on network rescanMulticastGroups()
2014-10-03 18:27:42 -07:00
Adam Ierymenko
aad344bb84
Add test network support to Network.
2014-10-03 16:14:34 -07:00
Adam Ierymenko
13fc20b0ee
Add inject (undocumented in help) to NodeControlService.
2014-10-03 15:59:49 -07:00
Adam Ierymenko
351db7f1a0
Plumb injectPacketFromHost through to API.
2014-10-03 14:49:11 -07:00
Adam Ierymenko
6ab7b1b915
Add local-testnet clean script, and make a really ugly hacky fix in main.c for the -q option. (All that personality stuff needs to be rewritten. Yuck.)
2014-10-03 13:41:52 -07:00
Adam Ierymenko
f853bc6a86
Fix root topology override
2014-10-03 13:19:13 -07:00
Adam Ierymenko
d7189dd6c7
.
2014-10-03 13:06:13 -07:00
Adam Ierymenko
5fc3c0812a
run-local-testnet script
2014-10-03 13:02:36 -07:00
Adam Ierymenko
67aa23530b
More work on adding testnet and user-mode capabilities for local network simulation.
2014-10-03 11:59:50 -07:00
Adam Ierymenko
2a58c3fb98
Root topology testnet stuff... will ship this so people can easily run the local testnet app.
2014-10-03 09:36:39 -07:00
Adam Ierymenko
96fa3f7550
Work on in-place testnet support.
2014-10-02 16:33:08 -07:00
Adam Ierymenko
1109046782
Last steps before test: parse OK(MULTICAST_GATHER) and OK(MULTICAST_FRAME)
2014-10-02 13:50:37 -07:00
Adam Ierymenko
49dc47ff38
Make multicast gathering a bit smarter.
2014-10-02 11:35:37 -07:00
Adam Ierymenko
dee86e2448
But since we are now using middle 3 bits we can assign sane values for the cipher suite enum.
2014-10-02 11:13:53 -07:00
Adam Ierymenko
17da733f97
Gotta support old encrypted flag, move cipher spec to middle 3 bits... due to some shortsighted design early-on. In the future this can die once there are no old peers.
2014-10-02 11:08:59 -07:00
Adam Ierymenko
23836d4c11
Change "encrypted" flag to full cipher suite selector. Go ahead and reserve AES256-GCM which might be added in the future.
2014-10-02 10:54:34 -07:00
Adam Ierymenko
e53d208ea4
Improve security posture by eliminating non-const data() accessor from Buffer.
2014-10-02 10:06:29 -07:00
Adam Ierymenko
e8c5495b61
Yes, zero my secret key data. Yes I really, really mean it.
2014-10-02 09:08:31 -07:00
Adam Ierymenko
28646eee0a
A bit more IncomingPacket cleanup... almost ready to test, just need OK() handling.
2014-10-01 16:29:52 -07:00
Adam Ierymenko
e1882b614b
Some cleanup, Multicaster now sends multicasts as it gets additional members.
2014-10-01 14:05:25 -07:00
Adam Ierymenko
ae082c3cb8
Yay... now everything compiles! Getting close to testing on this. Still have not added backward compatibility support for relaying of multicasts to 0.9.X clients yet but that will be easy. Will test with heterogenous 1.0.0 clients only first.
2014-10-01 12:41:48 -07:00
Adam Ierymenko
ea6124dd2f
IncomingPacket builds!
2014-09-30 17:33:20 -07:00
Adam Ierymenko
b41437780b
Add origin to new MULTICAST_FRAME, move security check for certs into Network to remove redundant code and bug-proneness, more work on IncomingPacket...
2014-09-30 17:26:34 -07:00
Adam Ierymenko
2659427864
Multicaster needs to be global, not per-network, and a bunch of other stuff.
2014-09-30 16:28:25 -07:00
Adam Ierymenko
8607aa7c3c
Everything in for new multicast except IncomingPacket parsing...
2014-09-30 08:38:03 -07:00
Adam Ierymenko
ed0ba49502
A few more revisions to new multicast verbs.
2014-09-26 14:18:25 -07:00
Adam Ierymenko
2d41055bdc
Some Network code cleanup.
2014-09-26 12:23:43 -07:00
Adam Ierymenko
027060dad1
Most of new multicast code builds... now on to packet parsing.
2014-09-25 22:13:31 -07:00
Adam Ierymenko
0778332747
.
2014-09-25 22:08:52 -07:00
Adam Ierymenko
9e186bbd89
.
2014-09-25 15:57:43 -07:00
Adam Ierymenko
050a0ce85d
.
2014-09-25 15:08:29 -07:00
Adam Ierymenko
6c87f9f765
Rename MulticastTopology to Multicaster -- same name as old multicast controller but different code. More descriptive though.
2014-09-24 14:02:16 -07:00
Adam Ierymenko
81b12b6826
Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables.
2014-09-24 13:53:03 -07:00
Adam Ierymenko
431476e2e4
Some more multicast algo work...
2014-09-24 13:45:58 -07:00
Adam Ierymenko
557801a09e
Rename PacketDecoder to much more descriptive IncomingPacket
2014-09-24 09:04:09 -07:00
Adam Ierymenko
9180a30986
.
2014-09-24 09:01:58 -07:00
Adam Ierymenko
61d0f27d2a
Make MulticastTopology have its own mutex.
2014-09-23 10:26:30 -07:00
Adam Ierymenko
c49e253e21
.
2014-09-22 15:03:16 -07:00
Adam Ierymenko
954f9cbc13
Yet more WIP on mulitcast algo...
2014-09-22 13:18:24 -07:00
Adam Ierymenko
d9abd4d9be
Work on defining new direct broadcast multicast algorithm.
2014-09-18 18:28:14 -07:00
Adam Ierymenko
d37c3ad30f
VERSION 0.9.3: unreleased update with some fixes for Pi users
...
This version is being tagged and bagged, despite the fact that it's not
going to be released and won't be merged into master until 1.0.0 is ready.
It contains several Linux build fixes, a fix for a unix domain socket resource
leak, and build fixes for the Raspberry Pi.
2014-09-18 13:40:58 -07:00
Adam Ierymenko
4708231046
Fix for GitHub issue #122 and other fixes
2014-09-18 10:01:30 -07:00
Adam Ierymenko
924f030994
docs
2014-09-18 09:41:12 -07:00
Adam Ierymenko
6b76cac6cf
Back off from thrashing shutdownIfUnreadableCheck, fix bug in control service.
2014-09-17 14:19:58 -07:00
Adam Ierymenko
2762db8408
More work on control bus refactor...
2014-09-17 12:54:39 -07:00
Adam Ierymenko
edff13dcae
More control/ refactoring
2014-09-17 09:50:49 -07:00
Adam Ierymenko
e22fae2397
it compiles again!
2014-09-16 15:47:00 -07:00
Adam Ierymenko
73dd9d3b74
Make sure open() has third argument
2014-09-16 08:58:49 -07:00
Adam Ierymenko
8d2e20ede6
Get rid of __align stuff in Salsa20 -- not portable, does not seem to help much on newer chips.
2014-09-16 08:53:18 -07:00
Adam Ierymenko
5c1c70a604
cleanup
2014-09-16 08:19:39 -07:00
Adam Ierymenko
fb22ef053b
Move rest of NodeControl stuff out of node/ and into control/
2014-09-15 16:32:55 -07:00
Adam Ierymenko
4ba4269344
cleanup
2014-09-15 09:45:57 -07:00
Adam Ierymenko
2dcf584834
rename ipc/ to control/
2014-09-15 09:44:29 -07:00
Adam Ierymenko
13aba7640b
refactoring for SDK
2014-09-15 09:43:57 -07:00
Adam Ierymenko
2e46bb4264
build fixes
2014-09-13 14:15:26 -07:00
Adam Ierymenko
1d37204a37
Refactoring in progress... pardon our dust...
2014-09-12 16:57:37 -07:00
Adam Ierymenko
6b4346d1ac
work in progress on API refactor
2014-09-10 17:16:40 -07:00
Adam Ierymenko
ea0f836ef1
Turns out we do want to propagate packets unauthenticated in the supernode case. This is fine.
2014-09-08 14:33:12 -04:00
Adam Ierymenko
b8729de9da
Temporarily DISABLE multicast authentication (doing in branch, will reenable in dev)
2014-09-08 08:25:06 -07:00
Adam Ierymenko
4e9280fc7a
Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics.
2014-09-05 16:23:24 -07:00
Adam Ierymenko
d02ecfb288
IP assignment and change cleanup -- leave IPs that were never configured via ZT static assignment alone.
2014-09-05 15:35:09 -07:00
Adam Ierymenko
3afc629ac5
Bit of network config parser cleanup.
2014-09-05 14:56:11 -07:00
Adam Ierymenko
6e1339fedf
Remove zerotier-idtool symlink on mac uninstall.sh
2014-09-05 11:39:54 -07:00
Adam Ierymenko
7d4b6767eb
Old-school GCC build fix -- make sure __GCC__ is defined
2014-09-05 17:48:59 +00:00
Adam Ierymenko
93f9b4392d
Enable configuration of multicast algorithm parameters in netconf
2014-09-04 14:25:07 -07:00
Adam Ierymenko
6df9546742
Fix for missing broadcast address on Linux Ethernet taps.
2014-09-04 13:36:25 -04:00
Adam Ierymenko
4dbeb97eb9
docs
2014-09-03 16:50:06 -07:00
Adam Ierymenko
34349d1a61
docs
2014-09-03 16:48:02 -07:00
Adam Ierymenko
6497a4a0f6
initdb changes
2014-09-03 19:15:53 -04:00
Adam Ierymenko
b8d29cb6ba
Some netconf-service renames and add initdb script for user use.
2014-09-03 20:04:58 +00:00
Adam Ierymenko
e77e224171
bin2c warning removed
2014-09-03 12:25:28 -07:00
Adam Ierymenko
dcea212e40
Add noupdate flag in root topologies, add ability for mktopology to read from a template.
2014-09-03 11:56:36 -07:00
Adam Ierymenko
644db7a04a
Let people build installers for any machine type on Linux, just canonicalize the x86 and x86_64 types.
2014-08-27 20:15:41 -04:00
Adam Ierymenko
00b16f6aa6
Fix for GitHub issue #110 -- failure to bind IPv6 now non-fatal
2014-08-27 20:09:56 -04:00
Adam Ierymenko
1952db5069
Only enable SSE Salsa20 on x86 and x86_64 Linux
2014-08-27 20:01:24 -04: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
eadff71d37
Another fix to Network life cycle.
2014-08-21 18:07:27 -07:00
Adam Ierymenko
af62a6cade
Forgot to uncomment secret debug #define of death.
2014-08-21 17:49:46 -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
44d58ee871
Change 1.1.1.1 pseudo-IP used for default route hack to 25.255.255.254, since 1.1.1.1 is from a now-in-use IPv4 block while 25.0.0.0/8 is still unrouted. It can be changed in the future without impacting anything, since Windows keys off the MAC not the IP to classify networks.
2014-08-21 08:26:39 -07:00
Adam Ierymenko
9d5819ff44
Version bump to 0.9.2 -- preparing for release...
2014-08-20 18:29:27 -07:00
Adam Ierymenko
08d7fe0432
Fix for GitHub issue #102
2014-08-20 12:36:11 -07:00
Adam Ierymenko
9f2571cc01
Some UI fixes for Windows.
2014-08-20 10:22:30 -07:00
Adam Ierymenko
b4b2e2ed9f
...
2014-08-19 18:21:21 -07:00
Adam Ierymenko
17ebd0afc7
Disable service management in UI -- installer should automatically start service and this is annoying for testing purposes.
2014-08-19 18:14:50 -07:00
Adam Ierymenko
351b7f3a09
UI stuff and sign .dmg on build.
2014-08-19 17:42:17 -07:00
Adam Ierymenko
721625d512
Add MAC to listnetworks, and some other make stuff.
2014-08-19 14:11:02 -07:00
Adam Ierymenko
282114e96c
Makefile changes, and make Topology::getBestSupernode() return the "next" supernode if I am a supernode. Also some comment cleanup.
2014-08-19 10:09:21 -07:00
Adam Ierymenko
95d123cfc2
Do HttpClient refactoring for Windows.
2014-08-18 14:34:04 -07:00
Adam Ierymenko
f5cbb45ab9
Increase sleep/wake detection threshold... might want to switch to using native interfaces to really detect this in the future since this is not 100% reliable.
2014-08-18 10:13:25 -04:00
Adam Ierymenko
b7b9b9c0b7
Add "make debug" to make building debug one-offs easier (Linux).
2014-08-18 10:07:03 -04:00
Adam Ierymenko
715afc0314
Default to built-in root topology if signature check fails (instead of exiting)
2014-08-16 14:01:25 -07:00
Adam Ierymenko
f281886bfd
Small thread safety fix in HttpClient.
2014-08-16 13:32:33 -07:00
Adam Ierymenko
4f0fcc582e
Refactor HttpClient a bit.
2014-08-16 09:08:52 -07:00
Adam Ierymenko
aa59cfd545
Web request part of supernode resync (not quite done, needs test)
2014-08-15 23:37:35 -04:00
Adam Ierymenko
f696299cfc
docs
2014-08-15 12:59:49 -04:00
Adam Ierymenko
b0719eacf9
Add encrypt/decrypt to attic.
2014-08-15 12:59:07 -04:00
Adam Ierymenko
c2187c8759
(1) distribute default root-topology in new dictionary format, (2) bump peer serialization version to force obsolescence of old supernodes, (3) stop outputting a log message every time we poll for software updates
2014-08-14 19:52:22 -04:00
Adam Ierymenko
56296f96db
Regenerate root topology dictionary with field fix.
2014-08-14 18:54:53 -04:00
Adam Ierymenko
be6b61b1bc
Accept supernode dictionaries in Topology, also fix (unused) field name in one of these.
2014-08-14 18:06:18 -04:00
Adam Ierymenko
f8d4611d15
(1) Tweak LAN locator beacon frequencies, (2) Windows virtual networks
...
now show up as *real* networks and prompt the user to set their
location and firewall status (public, private, home/work, etc.).
The hack used to achieve #2 should not be examined by children or those
suffering from epilepsy or heart conditions.
2014-08-12 17:20:34 -07:00
Adam Ierymenko
f25bd41a03
Some fixes to firewall config code.
2014-08-08 15:53:27 -07:00
Adam Ierymenko
fe3ad5e2cc
Fix a Windows bug in refactored tap code, and always make sure we have a firewall exception rule on startup.
2014-08-08 14:57:13 -07:00
Adam Ierymenko
502ea66f15
Kill ugly old getSecureRandom() and replace with simple wrapper for Windows CAPI and *nix /dev/urandom, and some build fixes.
2014-08-08 11:53:55 -07:00
Adam Ierymenko
673aab5ba2
Fix an oversight in signed dictionaries: the timestamp and signing identity should themselves be part of the signature. Also include the raw dictionary in addition to the bin2c version in root-topology/
2014-08-08 12:46:00 -04:00
Adam Ierymenko
77457cbff1
Windows compile fixes, compiler warning fix, unfreed memory fix in main.c (though it would not have mattered since program exits immediately after).
2014-08-07 19:08:41 -07:00
Adam Ierymenko
db0d17cebb
Change topology URL to something prettier.
2014-08-07 20:27:05 -04:00
Adam Ierymenko
dd58006d65
Rename topology/ to be more descriptive, and some more updates.
2014-08-07 20:21:07 -04:00
Adam Ierymenko
f0ebb0b0f1
More root topology stuff.
2014-08-07 20:14:24 -04:00
Adam Ierymenko
8c9d3146df
make clean fix
2014-08-07 18:46:04 -04:00
Adam Ierymenko
117f977ce3
mktopology for making new signed topology root server dictionaries
2014-08-07 18:45:11 -04:00
Adam Ierymenko
d8e5d9d6e8
Singapore supernode -- its baaaack
2014-08-07 21:19:34 +00:00
Adam Ierymenko
1f5feb75fb
LinuxEthernetTap refactor.
2014-08-07 20:40:23 +00:00
Adam Ierymenko
05031ff938
Linux build stuff.
2014-08-07 13:05:17 -04:00
Adam Ierymenko
adfb71fa6b
Compile for for TRACE, remove old TESTNET cruft.
2014-08-07 08:49:43 -07:00
Adam Ierymenko
37341048a9
Silence kextload/kextunload output, error handling improvements.
2014-08-07 08:41:57 -07:00
Adam Ierymenko
b3491f9de1
ifdef out Unix-only output redirect function on Windows
2014-08-07 06:36:46 -07:00
Adam Ierymenko
80fc584923
Fix for GitHub issue #97
2014-08-07 06:35:54 -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
92d9ad4a7f
Some tap interface changes and integration into main.cpp for *nix systems.
2014-08-06 16:24:30 -07:00
Adam Ierymenko
8a804b5257
(1) Disable firewall openers (its easy to re-enable), (2) Do some prep work for making supernode topology hot-updatable.
2014-08-05 14:05:50 -07:00
Adam Ierymenko
e3c5ada3a7
Add signatures to Dictionary, and fix unhex() API in Utils to be a little safer.
2014-08-05 09:56:49 -07:00
Adam Ierymenko
7adf0eac7e
Windows Ethernet tap refactoring complete.
2014-08-04 21:48:59 -07:00
Adam Ierymenko
df0a8e8450
Linux routing table now works.
2014-07-31 20:13:29 -04:00
Adam Ierymenko
526435859f
Newly broken out OSX tap driver builds now.
2014-07-31 15:13:48 -07:00
Adam Ierymenko
98d426e1d5
Path fixes in osnet/ stuff
2014-07-31 14:31:32 -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
59ebc9d41e
docs
2014-07-28 09:10:56 -07:00
Adam Ierymenko
f0199d6770
Windows routing table interface (untested).
2014-07-28 09:08:56 -07:00
Adam Ierymenko
f2d372545a
Salsa20 SSE Windows build fix -- turns out you can't be as loose with SSE intrinsics in Visual Studio
2014-07-26 20:07:38 -07:00
Adam Ierymenko
9809511c4c
Another rename...
2014-07-26 13:11:45 -07:00
Adam Ierymenko
538e8a86c8
Move node/osdep/ to sys/
2014-07-26 13:10:41 -07:00
Adam Ierymenko
27aa6ea44e
Linux routing table support work.
2014-07-25 16:16:05 -04:00
Adam Ierymenko
7475c4047e
A bunch more osdep/ work...
2014-07-23 09:14:53 -07:00
Adam Ierymenko
5e58a7d54a
Split UnixEthernetTap by platform to get rid of ifdef spaghetti.
2014-07-21 09:18:33 -07:00
Adam Ierymenko
6a174483d8
Ethernet tap factory interface.
2014-07-18 17:26:08 -07:00
Adam Ierymenko
a76d9d4408
Move OS-dependent implementations of generic interfaces to osdep/ in preparation for TapFactory refactor.
2014-07-17 17:19:18 -07:00
Adam Ierymenko
1189f4a568
Set/delete functionality in BSD routing table.
2014-07-17 17:17:59 -07:00
Adam Ierymenko
51766e6549
BSD routing table works... that hurt much worse than it should have.
2014-07-17 13:08:37 -07:00
Adam Ierymenko
d315156733
BSD routing table implementation work.
2014-07-16 15:13:53 -07:00
Adam Ierymenko
4c4675e3ac
Cleanup, add __BSD__
2014-07-15 20:49:13 -07:00
Adam Ierymenko
49ef980ecf
Scale back Salsa20 benchmark a bit to not take too long on slow boxes.
2014-07-15 21:02:56 -04:00
Adam Ierymenko
12692c551e
SSE optimized Salsa20 -- anywhere from 20% to 50% faster than plain C version
2014-07-15 17:56:09 -07:00
Adam Ierymenko
00f9305ad8
Routing table base class.
2014-07-15 13:48:42 -07:00
Adam Ierymenko
0097949ba9
.
2014-07-15 12:32:06 -07:00
Adam Ierymenko
1b33a9e807
.
2014-07-15 12:21:24 -07:00
Adam Ierymenko
4a0b33561c
Starting to define system network stack interface.
2014-07-13 12:57:30 -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
Adam Ierymenko
f82c7006ea
Leave IP addresses alone instead of deleting them from tap if they are not members of any of the networks under management.
2014-07-02 15:59:08 -07:00
Adam Ierymenko
681af253ef
Fix for GitHub issue #88 - actually do in the code what the web UI expects it to do.
2014-07-01 09:27:33 -07:00
Adam Ierymenko
88bdb81791
Keep track of basic aliveness for peers regardless if direct or indirect connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops.
2014-06-30 11:31:04 -07:00
Adam Ierymenko
458f6ae7c3
Only add active bridges to top of MC propagation list if they are alive. Otherwise a dead active bridge might kill multicast for us.
2014-06-26 18:13:48 -07:00
Adam Ierymenko
999e963533
Fix for network not found in netconf.
2014-06-27 00:47:07 +00:00
Adam Ierymenko
5336f2600a
Send ACCESS_DENIED if network not found.
2014-06-26 17:38:33 -07:00
Adam Ierymenko
38433e85bf
More little stuff in crypto code.
2014-06-26 17:23:10 -07:00
Adam Ierymenko
c3cbc92757
Some crypto comment fixes.
2014-06-26 17:15:20 -07:00
Adam Ierymenko
45a1e048bb
Add enabled/disabled status to network.
2014-06-26 17:05:07 -07:00
Adam Ierymenko
40bd460b1c
Some comment revisions and additional sanity checks.
2014-06-23 08:19:41 -07:00
Adam Ierymenko
ae7143d693
Comments and cleanup.
2014-06-21 12:19:10 -07:00
Adam Ierymenko
aead1050fb
Bridging (GitHub issue #68 ) does indeed work! Just needed to fix a packet size thinko.
2014-06-21 12:29:33 -04:00
Adam Ierymenko
6e485833ef
.
2014-06-21 12:25:10 -04:00
Adam Ierymenko
be0a8ec1f1
.
2014-06-21 12:16:25 -04:00
Adam Ierymenko
11e1f7a3fb
.
2014-06-21 12:01:26 -04:00
Adam Ierymenko
0b0d5fabac
Bridging #68 should work now!
2014-06-21 11:59:08 -04:00
Adam Ierymenko
35aa0921ee
.
2014-06-21 11:47:26 -04:00
Adam Ierymenko
2f8936181c
Debug code -- temporary.
2014-06-21 08:36:23 -07:00
Adam Ierymenko
4c3fb8cf10
Don't list node as an active bridge if it's not authorized. (Wouldn't work anyway.)
2014-06-20 16:04:53 -07:00
Adam Ierymenko
c3cea55493
Some cleanup in PacketDecoder.
2014-06-18 09:00:53 -07:00
Adam Ierymenko
5d467f0f45
Some TRACE improvements and comment revs.
2014-06-18 08:25:30 -07:00
Adam Ierymenko
2162a419e3
Some logging fixes.
2014-06-17 13:52:55 -07:00
Adam Ierymenko
f15271f31f
Get rid of pointer type punning warning/issue on g++.
2014-06-17 15:54:35 -04:00
Adam Ierymenko
9d6488c31a
Typo fix.
2014-06-16 20:41:23 +00:00
Adam Ierymenko
adc922d7fb
Support for bridging fields in netconf.
2014-06-16 13:26:46 -07:00
Adam Ierymenko
cf4700bc26
Simplify network briding modes -- we only need passive toggle and active bridge list, not three mode types. Also change isOpen to isPublic for terminology consistency.
2014-06-14 20:24:19 +00:00
Adam Ierymenko
367b5439e1
Run icacls.exe twice, once for each change - GitHub issue #71
2014-06-14 12:52:06 -07:00
Adam Ierymenko
6802da457e
Bridging pretty much ready to test! Got Switch all wired up. Also fix a latent probably-never-triggered bug in MULTICAST_FRAME handling. GitHub issue #68
2014-06-13 21:06:34 -07:00
Adam Ierymenko
5682f0b772
Some more bridging work... wiring up in Switch - GitHub issue #68
2014-06-13 17:49:33 -07:00
Adam Ierymenko
08b7bb3c7a
Network memory for bridge-side multicast groups that we learn - GitHub issue #68
2014-06-13 14:06:34 -07:00
Adam Ierymenko
d6a4f8d77b
Add flags to EXT_FRAME for better future proofness.
2014-06-12 11:40:30 -07:00
Adam Ierymenko
c30f9832b0
Packet decoder work for EXT_FRAME for bridging - GitHub issue #68
2014-06-10 21:41:34 -07:00
Adam Ierymenko
d44e1349d8
Bridge routing table - GitHub issue #68
2014-06-10 17:18:59 -07:00
Adam Ierymenko
6f831d5370
Bridging fields in Redis schema for netconf master.
2014-06-10 15:51:54 -07:00
Adam Ierymenko
4e1f49258b
Bridging in NetworkConfig - GitHub Issue #68
2014-06-10 15:47:20 -07:00
Adam Ierymenko
fb31f93c52
Protocol messages for bridging. GitHub issue #68
2014-06-10 15:25:15 -07:00
Adam Ierymenko
f720f04fa0
Installer updates from 0.9.0 release -- only useful to me.
2014-05-29 20:23:25 -07:00
Adam Ierymenko
7a56c3c396
VERSION 0.9.0: upgrade required!
...
Version 0.9.0 adds a network-wide toggle for blanket broadcast (ff:ff:ff:ff:ff:ff), contains changes for compatibility with the new web site and netconf server code, and most importantly introduces unique non-conflicting MAC address schemes on a per-virtual-network basis.
The MAC address change is necessary to support bridging, which is the next major feature to be added. It's not absolutely required, but it makes sure that things work properly in the (probably very rare) case that two virtual networks happen to be directly or indirectly bridged together.
The MAC change means that 0.9.0 is a required update. Clients not updating will find themselves unable to communicate with older versions. The underlying protocol is the same, but MAC address resolution and routing will not work properly. Those running binary releases will be updated automatically, while those running from source must download and rebuild.
This version also fixes two minor security issues, including one involving file permissions on non-English Windows versions.
2014-05-29 17:53:30 -07:00
Adam Ierymenko
994565bdeb
Fix for GitHub issue #71
2014-05-29 15:06:05 -07:00
Adam Ierymenko
67498e576c
Delete some obsolete stuff.
2014-05-29 18:36:17 +00:00
Adam Ierymenko
eae130467b
Build fix for Windows setsockopt().
2014-05-29 11:22:35 -07:00
Adam Ierymenko
f764cf8d31
Make UDP send and receive buffers as big as possible to reduce packet loss.
2014-05-28 12:17:43 -07:00
Adam Ierymenko
49247180dc
Add lastSeen and identity to member record if not present.
2014-05-28 01:32:27 +00:00
Adam Ierymenko
914bebba31
Re-enable exit on stream close in netconf service.
2014-05-27 15:59:09 +00:00
Adam Ierymenko
4b773b61f5
Netconf fixes.
2014-05-24 00:10:23 +00:00
Adam Ierymenko
657f6ae342
Don't transmit broadcasts if enableBroadcast is false on a network.
2014-05-23 19:52:39 -04:00
Adam Ierymenko
2861229558
Windows build fixes for MAC changes (in tap driver), some comments and cleanup in MAC.hpp.
2014-05-23 16:21:57 -07:00
Adam Ierymenko
f939d0ee62
Upgrade AIP for new version of Advanced Installer, bump to 0.9.0.
2014-05-23 16:08:05 -07:00
Adam Ierymenko
77c58e741d
GitHub issue #58 - options after path on command line were ignored, fixed.
2014-05-23 15:21:28 -07:00
Adam Ierymenko
66a38a9e7c
Default for private should be true.
2014-05-23 15:15:44 -07:00
Adam Ierymenko
31ddc49da2
GitHub issue #67
2014-05-23 15:13:34 -07:00
Adam Ierymenko
317995b921
Fixed for Linux tap for GitHub Issue #69
2014-05-23 17:35:35 -04:00
Adam Ierymenko
beb7b5bbe5
GitHub Issue #69 - make MAC assignment schema differ between virtual networks.
2014-05-23 14:32:31 -07:00
Adam Ierymenko
05f5755bb1
Allow Redis DB# select.
2014-05-23 00:35:11 +00:00
Adam Ierymenko
cfd92cb18d
Remove old netconf code.
2014-05-22 21:05:49 +00:00
Adam Ierymenko
2456d3a197
Node redis module update.
2014-05-22 21:05:08 +00:00
Adam Ierymenko
f0b821f880
.
2014-05-21 02:48:58 +00:00
Adam Ierymenko
319f9a9346
Netconf testing and fixes.
2014-05-20 20:05:11 +00:00
Adam Ierymenko
596e5dd583
Another sanity check on filename for GitHub issue #72
2014-05-19 16:16:34 +00:00
Adam Ierymenko
b958a2d30c
Redis schema updates and fix for GitHub issue #72
2014-05-19 16:13:42 +00:00
Adam Ierymenko
e270887391
Some Redis schema changes.
2014-05-14 17:48:50 +00:00
Adam Ierymenko
986773cc9c
ZT_USE_TESTNET define in makefiles.
2014-05-09 11:52:53 -07:00
Adam Ierymenko
ecbcc9eb2c
TESTNET supernodes need different addresses.
2014-05-09 11:45:38 -07:00
Adam Ierymenko
1ad29fe31f
Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com:222/git/ZeroTierOne into adamierymenko-dev
2014-05-09 15:40:08 +00:00
Adam Ierymenko
42f6aae259
More netconf work... set ZT_HOME and chdir there on service launch.
2014-05-09 15:39:51 +00:00
Adam Ierymenko
de485ad900
Add testnet ports and ZT_USE_TESTNET define for contacting the test.zerotier.com net instead of the live net.
2014-05-08 17:53:22 -07:00
Adam Ierymenko
99c5fae9da
Make Service communicate via empty-line-delimited Dictionary objects instead of the old size prefix way.
2014-05-08 21:27:59 +00:00
Adam Ierymenko
98f0418fb9
A little more cleanup in node code.
2014-05-08 00:47:46 +00:00
Adam Ierymenko
d7977fa3e1
Make certificate of membership works in node code!
2014-05-08 00:22:20 +00:00
Adam Ierymenko
1e6475fad6
Clean out unused netconf fields, rename a few, work on new netconf server.
2014-05-08 00:11:50 +00:00
Adam Ierymenko
d5f95b721d
Yet more work on netconf master, add redis docs.
2014-05-07 02:45:15 +00:00
Adam Ierymenko
ae2eeff5c6
.
2014-05-06 00:24:21 +00:00
Adam Ierymenko
08da4b8c7b
Add mkcom functionality to zerotier-idtool for use by new NodeJS netconf-master code.
2014-05-06 00:15:21 +00:00
Adam Ierymenko
0ba0c6d04d
New netconf...
2014-05-06 00:05:11 +00:00
Adam Ierymenko
93f24ea86a
Some work on new netconf service...
2014-05-05 22:11:21 +00:00
Adam Ierymenko
f8eae84e15
Retire old netconf mess.
2014-05-05 15:05:11 +00:00
Adam Ierymenko
7831c4bfef
Cleanup, dead code removal, some pretty insignificant security stuff that's based on recommendations.
2014-04-18 00:14:12 -07:00
Adam Ierymenko
5f45977e3e
Update GitHub README
2014-04-16 11:40:48 -07:00
Adam Ierymenko
d187ec82d4
Adding supernode yig.zerotier.com (Sydney, Australia) and removing mi-go.zerotier.com (Singapore) due to real-world usage data.
2014-04-15 14:37:19 -07:00
Adam Ierymenko
42c3474223
VERSION 0.8.2
...
This version fixes a few more issues with TCP tunneling including GitHub issue #63 .
It also adds automatic announcement and location of peers on physical LANs (GitHub
issue #56 ) which should greatly improve performance if you happen to be on the same
LAN or WiFi network as another peer. It can take 60 seconds or so for this to occur,
but it should.
2014-04-10 22:46:17 -07:00
Adam Ierymenko
aee742e767
More toward GitHub issue #56
2014-04-10 16:30:15 -07:00
Adam Ierymenko
c9294c1a78
Prevent recursive transit of ZeroTier packets, toward GitHub issue #56
2014-04-10 14:22:25 -07:00
Adam Ierymenko
b117ff5435
Probable fix for GitHub issue #63 - do not unite() if either path is TCP, since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming.
2014-04-10 11:17:54 -07:00
Adam Ierymenko
119ef5ecbf
More logic cleanup and some documentation / comment improvements.
2014-04-10 10:00:20 -07:00
Adam Ierymenko
8fb442d81a
Yet more cleanup to TCP logic, this time adding a master switch and adding UDP preference in send().
2014-04-09 17:08:35 -07:00
Adam Ierymenko
73153b89b4
Some cleanup, and use best (not first) UDP addresses for NAT-t VERB_RENDEZVOUS computation.
2014-04-09 16:00:25 -07:00
Adam Ierymenko
d9836adbf6
.... aaaaaand... GitHub issue #61 was caused by the fact that we were no longer deleting taps on Windows!
2014-04-09 15:34:03 -07:00
Adam Ierymenko
420edf23ad
Was not closing _shutdownSignalPipe in UnixEthernetTap either...
2014-04-09 15:32:37 -07:00
Adam Ierymenko
6c5f6feb5e
Set close-on-exec in attempt to head off GitHub issue #61
2014-04-09 15:22:08 -07:00
Adam Ierymenko
a1c1c82b0d
VERSION 0.8.1
...
This, quick on the heels of 0.8.0, fixes the fact that TCP tunneling was
broken. :)
There was a bug that only manifested in some cases, and not on my testnet.
I took the opportunity to clean up some of that logic generally. I need a
better testnet, but that will have to wait until we exit beta and hopefully
I can earn a little bit of money off this. A better testnet will require
a big beefy virtualization box or two to run hundreds to thousands of KVMs.
Also fixed a tiny cosmetic issue on Windows. Other than that no changes.
2014-04-09 13:03:33 -07:00
Adam Ierymenko
83a0d988ec
Text point size readjustment not needed on child windows in Windows?
2014-04-09 12:19:46 -07:00
Adam Ierymenko
a8c12369fd
More tweaks to TCP logic for GitHub issue #60
2014-04-09 12:10:05 -07:00
Adam Ierymenko
28a6d328a5
Some adjustments to TCP logic for GitHub issue #60
2014-04-09 11:55:24 -07:00
Adam Ierymenko
dd404b8ba3
VERSION 0.8.0
...
This version introduces a major new feature requested by several users,
both via the user survey and otherwise: TCP tunneling.
If you are not able to communicate over UDP/9993, ZeroTier One will switch to
TCP connections to ZeroTier's supernodes. This is always slower than UDP, but
will allow you to communicate behind all but the most extremely restrictive
firewalls. This TCP traffic travels over port 443 and looks like HTTPS (SSL)
traffic (though it isn't), since that port is almost always open.
This also fixes several minor bugs and attempts to improve the robustness of
Windows tap driver management. Several users have reported spurious issues
with the Windows tap device, though I was unable to reproduce any of these with
clean VMs. (Tried Windows 7 and 8.1, both x86 and x64. No luck.) But I tried
to beef up the tap code anyway in the hopes of catching it. It now tries a lot
harder to make sure the tap is up and running.
There was some significant under the hood refactoring in support of TCP, so
this was a non-trivial change.
I bumped the version to 0.8 to indicate that more and more features are being
crossed off the list as we approach 1.0 and exit from beta. After this, the next
major feature will be LAN announcement to find direct paths to peers on the
same physical LAN. But assuming that 0.8.0 goes smoothly, I am going to divert
attention to the web site. A new design is coming that is much cleaner, sharper,
and easier to use.
Thank you all for all your excellent feedback! We're well on the way to a killer
product that makes conventional VPNs and other kludges obsolete.
2014-04-08 22:38:51 -07:00
Adam Ierymenko
1c636afe3f
Fix typo.
2014-04-08 16:43:36 -07:00
Adam Ierymenko
48a1799f49
More Windows tap cleanup... seems solid. We'll see.
2014-04-08 16:10:48 -07:00
Adam Ierymenko
bf24de43fe
Windows tap: be REAL REAL REAL PARANOID. Wake up sheeple.
2014-04-08 15:47:33 -07:00
Adam Ierymenko
76d9ea911d
Another Qt build fix... need the right tap driver in build just to make symbols work even though UI doesn't use that code.
2014-04-08 14:16:45 -07:00
Adam Ierymenko
ff773def26
Remove EthernetTap.cpp from UI build project.
2014-04-08 13:59:31 -07:00
Adam Ierymenko
5abfb11813
Some installer stuff, complete refactoring of Windows side of newly split tap driver. Seems to work. Now to see if the cleanup we did here gets rid of the zombie tap device issue on Windows.
2014-04-08 12:00:21 -07:00
Adam Ierymenko
0b8d6c7f4a
Builds and runs on Unix with EthernetTap changes, now for Windows... and for what we did this for: a refactor of the Windows tap connector.
2014-04-07 15:39:33 -07:00
Adam Ierymenko
6c60305a96
Split EthernetTap into subclasses, work in progress...
2014-04-07 14:47:39 -07:00
Adam Ierymenko
19c4d82512
Intaller upgrade and stuff, fix to Windows service for new Node API changes.
2014-04-04 16:59:02 -07:00
Adam Ierymenko
e11149bcae
Fix network widget spacer issue on Windows.
2014-04-04 12:25:48 -07:00
Adam Ierymenko
fe85426df6
A few more tweaks to TCP failover... seems to be switching back and forth pretty well now!
2014-04-03 17:12:34 -07:00
Adam Ierymenko
158002d2d1
Tweak some timings and stuff.
2014-04-03 16:19:41 -07:00
Adam Ierymenko
c96d3ebf8c
Such ping logic. So edge case.
2014-04-03 14:36:52 -07:00
Adam Ierymenko
b1088a6bd7
Make Unix domain sockets mode 0777 so that properly authorized non-privileged users can access them (if they have auth token).
2014-04-02 17:21:26 -07:00
Adam Ierymenko
f0223490be
Make GUI work with new control client API, make control client look for user authtoken.secret if system unreadable.
2014-04-02 17:12:04 -07:00
Adam Ierymenko
81e5690410
More tweaks to TCP failover logic. Such edge case.
2014-04-02 17:32:47 -04:00
Adam Ierymenko
700a450806
More tweaks to algorithm for determining when to fail over to TCP, and stop supernodes from resynchronizing unless explicitly ordered.
2014-04-01 18:39:10 -07:00
Adam Ierymenko
0e1fc06a6f
The remove paths on send fail thing in Peer.cpp was not well thought out, and there is no point in mallocing the TCP write buffer.
2014-04-01 15:55:05 -07:00
Adam Ierymenko
c3b41c289d
Resynchronize on startup.
2014-04-01 14:12:54 -07:00
Adam Ierymenko
6ab95e0391
Get : out of Path.toString() since this will conflict with : in IPv6 IPs.
2014-04-01 08:52:52 -07:00
Adam Ierymenko
67b3fa9311
Clean up main.o in Linux make clean.
2014-03-31 22:38:46 -07:00
Adam Ierymenko
316e8d1939
Build fix.
2014-03-31 22:30:08 -07:00
Adam Ierymenko
f13493edb2
Oops... turns out we need to differentiate incoming from outgoing TCP and indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh.
2014-03-31 22:23:55 -07:00
Adam Ierymenko
595b386afc
Increase maximum packet fragments to make room for huge multicasts with certificates of membership tagged onto them. This likely will not actually increase the number of fragments in practice much, since these are then subsequently compressed. But the buffer needs to be allocated with room for them, otherwise these packets get dropped with a range_error exception internally.
2014-03-31 14:53:33 -07:00
Adam Ierymenko
8e587ae481
Clean dead paths from peers.
2014-03-31 11:41:14 -07:00
Adam Ierymenko
acb056e3b1
Small readability fix.
2014-03-28 21:04:15 -07:00
Adam Ierymenko
5ef2c6fd6f
Add TCP/443 to all supernodes in Defaults.
2014-03-28 15:51:19 -07:00
Adam Ierymenko
1a0572d7e7
Remove UDP-breaking debug code.
2014-03-28 13:58:18 -07:00
Adam Ierymenko
7957ab6b1d
Windows uses exceptfds to report failed async connect() in select(). TCP now done on Windows (I think).
2014-03-28 13:37:21 -07:00
Adam Ierymenko
e8b613e625
TCP connections work on Windows now.
2014-03-28 12:26:33 -07:00
Adam Ierymenko
9c68a343f6
Reduce some TRACE noise.
2014-03-27 18:57:20 -07:00
Adam Ierymenko
881ff08269
Make multiple attempts to open the tap device on Windows.
2014-03-27 18:50:10 -07:00
Adam Ierymenko
e3239d23f4
Windows build fix.
2014-03-27 18:39:58 -07:00
Adam Ierymenko
f9c92b0351
Build fix from merge.
2014-03-27 18:24:57 -07:00
Adam Ierymenko
b73c36acbf
Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com:222/git/ZeroTierOne into adamierymenko-dev
2014-03-27 18:23:02 -07:00
Adam Ierymenko
181369964f
Make TCP optional, rename port constant.
2014-03-27 18:22:53 -07:00
Adam Ierymenko
d2c5d71502
Finally fixed TCP sockets.
2014-03-27 17:42:02 -07:00
Adam Ierymenko
c231510f8b
More TCP-related fixes and tweaks to ping timing, resynchronize, and startup.
2014-03-27 17:02:52 -07:00
Adam Ierymenko
2ac56fd120
Fix TCP connection accumulation problem, still having issues with TCP tunneling.
2014-03-26 17:59:45 -07:00
Adam Ierymenko
e6b23059ac
Change the way TCP failover is invoked.
2014-03-26 16:44:58 -07:00
Adam Ierymenko
04169b5150
If I want it to pick the first, actually picking the first is helpful.
2014-03-26 15:44:24 -07:00
Adam Ierymenko
daaec84c6b
Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead.
2014-03-26 15:35:15 -07:00
Adam Ierymenko
73c1d43f2f
Crank down default multicast preload and max balance just a little bit... should not impact non-lame protocols.
2014-03-25 21:48:16 -07:00
Adam Ierymenko
ab5a460177
Apply multicast rate limits on a network to ourselves and do not send multicasts that would exceed limits, for GitHub issue #55
2014-03-25 21:38:54 -07:00
Adam Ierymenko
67a85221d5
WINDOWS IS SUFFERING
2014-03-25 17:31:03 -07:00
Adam Ierymenko
328be8f846
Make Windows build, add (untested) Windows named pipe based IPC code.
2014-03-25 08:37:08 -07:00
Adam Ierymenko
d9b91758e0
Fix command line interface.
2014-03-21 14:58:35 -07:00
Adam Ierymenko
4e26ade2df
Fix deadlock in refactored code.
2014-03-21 14:31:10 -07:00
Adam Ierymenko
8d3eb1a258
A few renamings to be consistent.
2014-03-21 14:18:35 -07:00
Adam Ierymenko
33ad3deaee
Builds with new Path code.
2014-03-21 13:46:55 -07:00
Adam Ierymenko
ba3f04deed
Work in progress: refactoring paths, adding TCP fallback.
2014-03-20 20:07:35 -07:00
Adam Ierymenko
45e823d27c
Reworking of paths in Peer work-in-progress, and TCP connect support in SocketManager. Also add FD_SETSIZE checking for the default select implementation of sockets.
2014-03-20 18:49:33 -07:00
Adam Ierymenko
70b736f440
Put mac back to release default build flags.
2014-03-20 14:44:13 -07:00
Adam Ierymenko
97e6b38144
MULTICAST_FRAME TRACE improvements.
2014-03-20 14:24:15 -07:00
Adam Ierymenko
7a45ff460d
More deadlock fixes in new I/O.
2014-03-20 14:00:05 -07:00
Adam Ierymenko
6f5a4d7e29
Fix blocking socket issues in new socket I/O code.
2014-03-20 13:21:58 -07:00
Adam Ierymenko
4d0ad9abb6
Fix TRACE bug and new UDP socket code issue.
2014-03-19 23:10:34 -07:00
Adam Ierymenko
15e8c18106
Bug fixes.
2014-03-19 22:01:32 -07:00
Adam Ierymenko
1c555e4b96
command bus fix
2014-03-19 16:59:23 -07:00
Adam Ierymenko
6fdb360e2a
More IPC work.
2014-03-19 16:05:03 -07:00
Adam Ierymenko
0d847d9410
More build fixes.
2014-03-19 15:29:00 -07:00
Adam Ierymenko
abc82d6a52
IPC changes and SocketManager changes all build!
2014-03-19 13:56:48 -07:00
Adam Ierymenko
acf7d70d24
Integrate IPC stuff into NodeConfig.
2014-03-19 08:20:09 -07:00
Adam Ierymenko
3be4c38946
IPC stuff for Unix.
2014-03-18 18:44:44 -07:00
Adam Ierymenko
6a1bd52854
New IPC work...
2014-03-18 17:19:32 -07:00
Adam Ierymenko
0b75992737
Everything but the local config bus... blech.
2014-03-18 14:33:57 -07:00
Adam Ierymenko
91fef21973
More ripping out of old condition stuff.
2014-03-18 12:21:22 -07:00
Adam Ierymenko
dc0f3559be
Rip out old condition and Demarc stuff...
2014-03-18 12:00:15 -07:00
Adam Ierymenko
bb25128406
TCP socket.
2014-03-18 11:53:53 -07:00
Adam Ierymenko
bf5d8de999
More new socket I/O work...
2014-03-17 16:29:53 -07:00
Adam Ierymenko
1a0a6755b1
UDP socket implementation.
2014-03-17 16:18:44 -07:00
Adam Ierymenko
8adbbe092d
Drop old Demarc.cpp code.
2014-03-17 15:15:02 -07:00
Adam Ierymenko
bd749e040d
Compile fixes.
2014-03-17 15:14:22 -07:00
Adam Ierymenko
7e80d7e551
Bunch of work in progress on new socket multiplexer and plumbing for TCP jailbreaking... Don't try to build, won't yet.
2014-03-17 09:05:43 -07:00
Adam Ierymenko
ce09d00679
Security improvements to Linux build flags mirroring OSX improvements.
2014-03-11 11:50:04 -07:00
Adam Ierymenko
dbd7a06ea9
Enable PIE to allow ASLR (security)
2014-03-11 10:56:38 -07:00
Adam Ierymenko
74c2e644a9
Change -O4 to -O3 -flto on OSX for new clang (should work with older one too)
2014-03-11 10:18:39 -07:00
Adam Ierymenko
dfee7e0389
VERSION 0.7.2: first Windows release!
...
Version 0.7.2 marks the first release of ZeroTier One for Windows. Binaries will be
released to a few select testers at first, then to the whole world. Installation from
MSI and auto-update appear to be working. So far Windows 7 and 8 and Windows Server
2008 or newer are supported. Vista has issues so it's not supported at the moment,
and may not be since nobody seems to use it (according to Google Analytics).
2014-03-07 15:20:37 -08:00
Adam Ierymenko
60f25ccdf9
Some text changes, remove unused modules from installer project.
2014-03-07 14:25:24 -08:00
Adam Ierymenko
2b0dbead17
Disable Vista in installer.
2014-03-06 15:32:30 -08:00
Adam Ierymenko
d0b506c12b
Fix crash on uninitialized taps.
2014-03-06 15:11:08 -08:00
Adam Ierymenko
742261c7fc
(1) Fix menu bar item font size on Windows, (2) fix for possible Windows EthernetTap infinite loop while enumerating registry.
2014-03-06 14:06:31 -08:00
Adam Ierymenko
939cdc82a2
VERSION 0.7.1: small Linux compile fix on g++, does not merit new release
2014-03-05 15:40:31 -08:00
Adam Ierymenko
a207ce13c0
VERSION 0.7.1: installation fixes, new supernode
...
This version contains fixes to Linux installation and deployment and adds a
new supernode in Tokyo, Japan. It also has a working Windows installer, though
a bit more testing is going to take place before Windows binaries are
actually released.
2014-03-05 15:19:45 -08:00
Adam Ierymenko
17c77da38f
Fix GitHub issue #45 - Linux install issues
2014-03-05 23:57:25 +01:00
Adam Ierymenko
54313212a4
New supernode: shoggoth.zerotier.com in Tokyo, Japan! This just about covers the entire world for global low-latency peer location and relaying.
2014-03-05 23:21:23 +01:00
Adam Ierymenko
b2673eab55
Revisions to Linux install script, and support for init.d or upstart systems without chkconfig (Ubuntu).
2014-03-05 22:33:58 +01:00
Adam Ierymenko
282d41bc94
Script to build UI against our own new precompiled Win32 static Qt binary, which paradoxiclally results in a smaller executable than dynamic Qt and doesn't require us to bundle a million DLLs. Also update installer to reflect that. Finally, add a step to the installer to remove all instances of the tap device on full uninstall so as not to leave orphaned junk in your network connections or device manager. Looking good!
2014-03-05 09:52:59 -08:00
Adam Ierymenko
b72c2c6358
Disable SSE on 32-bit Windows builds since people might still be using old school chips... x64 builds with SSE since pretty much all AMD64/x86_64 chips have it.
2014-03-04 11:18:34 -08:00
Adam Ierymenko
5581339d5b
Build with /MT on Windows so we can stop having to install a redistributable... makes installer less noisy but unfortunately makes binary bigger. Oh well.
2014-03-04 11:16:39 -08:00
Adam Ierymenko
78f3966d66
Make sysV init script run as daemon, for GitHub issue #45
2014-03-03 12:00:26 -08:00
Adam Ierymenko
bae9fa1480
-d switch for daemonizing on Unix
2014-03-03 11:53:43 -08:00
Adam Ierymenko
cef750d1d2
Add option to install drivers in driver cache on Windows, needed for Windows installer. Blech.
2014-03-03 10:23:19 -08:00
Adam Ierymenko
be36eda858
Add prerequisites (VS2012 redistributables) to installer.
2014-02-28 16:09:42 -08:00
Adam Ierymenko
13fbf9a200
*nix build fix
2014-02-28 15:05:56 -08:00
Adam Ierymenko
f2a03f68bd
Add code to clean unused permanent tap interfaces on Windows (but not used yet).
2014-02-28 15:04:50 -08:00
Adam Ierymenko
d997c1a32a
Installer work...
2014-02-28 12:20:05 -08:00
Adam Ierymenko
d27251ec4e
Make AtomicCounter use <atomic> on Windows (eventually this will replace it on other platforms), and some installer work.
2014-02-28 09:15:29 -08:00
Adam Ierymenko
9ae6403346
Installer works, and fix for ugly fonts in pulldown menus in main windows in UI. Also remove dummy installer, which we don't need anymore.
2014-02-27 21:56:57 -08:00
Adam Ierymenko
39d411ce0b
Installer work...
2014-02-27 21:28:34 -08:00
Adam Ierymenko
93fe848bb6
Ignore a build dir.
2014-02-27 16:39:02 -08:00
Adam Ierymenko
9d05897f7a
Windows service works now!
2014-02-27 16:28:55 -08:00
Adam Ierymenko
cbeb9c5236
Installer work, sign devcon.
2014-02-26 16:32:32 -08:00
Adam Ierymenko
2203958798
Windows auto-updater invocation works... time to try an installer!
2014-02-26 14:37:21 -08:00
Adam Ierymenko
268ec8d1e0
Fix for GitHub issue #40 : updates.d not being cleared.
2014-02-24 13:23:03 -08:00
Adam Ierymenko
093d745b86
ZT_OFFICIAL_RELEASE and ZT_AUTO_UPDATE in Windows build in Release mode.
2014-02-23 09:06:55 -08:00
Adam Ierymenko
655b6d1996
Windows auto-update URL and dummy Windows update for testing.
2014-02-23 08:01:52 -08:00
Adam Ierymenko
833a0621fa
Windows service auto-update work.
2014-02-21 23:49:24 -08:00
Adam Ierymenko
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
2014-02-16 12:40:22 -08:00
Adam Ierymenko
78694bb2f5
VERSION 0.7.0: another documentation update (no version change or code changes)
2014-02-16 12:10:43 -08:00
Adam Ierymenko
297cfd86fa
VERSION 0.7.0: updated docs (no version change)
...
See previous commit message for 0.7.0 release notes.
2014-02-16 12:08:13 -08:00
Adam Ierymenko
43b2bf6c16
VERSION 0.7.0: fix two bugs reported on GitHub, public binaries now in the wild!
...
Version 0.7.0 commemorates public beta binaries now being in the wild for Mac
and Linux platforms, though this actually happened a few days ago with 0.6.14.
This version fixes two bugs. First, the Linux installer/updater now supports
both systemd and regular SysV init. It will detect which your distro uses at
install/update time and install the zerotier-one service accordingly.
Secondly, this fixes an issue that caused the service to always show ONLINE
in the GUI or 'zerotier-cli info' even if there was no net connection. The
online status should be more reliably reported now.
2014-02-14 22:22:19 -08:00
Adam Ierymenko
aceb938e07
Another Linux installer fix: do not clobber existing directory permissions!
2014-02-14 21:45:42 -08:00
Adam Ierymenko
68f44fb932
Another little Linux installer fix.
2014-02-15 00:29:32 -05:00
Adam Ierymenko
e38619dd02
Small fix to Linux installer.
2014-02-14 21:14:34 -08:00
Adam Ierymenko
4ec7cd2760
Fix for GitHub issue #38 : compute whether we are ONLINE a little differently
2014-02-14 16:23:03 -08:00
Adam Ierymenko
b0277ab904
Clean up old init.d installation files on systemd systems if present.
2014-02-14 15:28:45 -08:00
Adam Ierymenko
87b26b0aaf
Systemd support on Linux - GitHub issue #39
2014-02-14 15:18:59 -08:00
Adam Ierymenko
01d13c153d
Fix compiler warnings in Linux build.
2014-02-14 13:08:54 -08:00
Adam Ierymenko
c17082a4f8
VERSION 0.6.14: bug fixes, Unix device persistence
...
This version adds persistence of *nix device names (where possible), and fixes
a possible crash in Topology.cpp that was introduced in a previous revision.
It also adds a new supernode located in Singapore!
2014-02-11 15:16:42 -08:00
Adam Ierymenko
9acfd3eb73
Build fix on Linux with G++.
2014-02-11 23:09:53 +00:00
Adam Ierymenko
0ad84b8723
Possible bug fix in Topology, have to test...
2014-02-11 15:02:21 -08:00
Adam Ierymenko
3f912eb4ad
Fix for GitHub issue #37 : remember *nix device names.
2014-02-11 14:21:59 -08:00
Adam Ierymenko
f1b45f7df0
A few little fixes in NodeConfig.
2014-02-11 13:20:51 -08:00
Adam Ierymenko
29c18d4bde
Add new Singapore supernode!
2014-02-11 08:57:25 -08:00
Adam Ierymenko
33728840ec
More local.conf stuff.
2014-02-10 16:46:53 -08:00
Adam Ierymenko
cd339486b7
local.conf in NodeConfig
2014-02-10 14:22:57 -08:00
Adam Ierymenko
e54a34d8dd
Finally found a Windows installer option that doesn't cost $500 or require me to climb a huge learning curve just to do a basic software install.
2014-02-08 22:22:18 -08:00
Adam Ierymenko
d24b192f8c
Remove old updates from updates.d on Node startup.
2014-02-07 09:13:08 -08:00
Adam Ierymenko
0442d7e2d6
Forgot to save solution file.
2014-02-06 23:14:41 -08:00
Adam Ierymenko
5b97bb247e
More Windows service work... it builds! Now to do a new installer and test. Also fix a Windows compile warning in Switch.cpp.
2014-02-06 23:12:12 -08:00
Adam Ierymenko
8a7486577a
Windows service work, remove old installer... not sure exactly what we're going to use.
2014-02-06 22:06:27 -08:00
Adam Ierymenko
6d17993eb6
Fix a possible infinite loop in netconf service... in the long term need to fix IP assignment logic period cause the current incarnation sucks.
2014-02-06 10:59:50 -08:00
Adam Ierymenko
d0e5da2884
Fix copyright notice.
2014-02-05 16:38:54 -08:00
Adam Ierymenko
d5b50ee466
C++ service base stuff taken from MS public domain example project and modified slightly.
2014-02-05 16:37:50 -08:00
Adam Ierymenko
8031fe00c7
Delete C# service... going C++, probably integrating with core.
2014-02-05 14:27:31 -08:00
Adam Ierymenko
3f6152806f
Add security notice the first time a user joins a public network.
2014-02-05 12:38:37 -08:00
Adam Ierymenko
7fdca150a9
VERSION 0.6.13: small bug fix, UI work
...
This is just a small bug fix and some UI work. Version bumps will be
coming faster too to test auto-update.
2014-02-04 22:15:57 -08:00
Adam Ierymenko
165de71754
Quick start rev.
2014-02-04 22:08:42 -08:00
Adam Ierymenko
6b1a4b6e64
Undo last commit...
2014-02-04 17:06:50 -08:00
Adam Ierymenko
aaf0ef6b19
Pull static image version of quick start guide.
2014-02-04 16:31:23 -08:00
Adam Ierymenko
fb2745ba3b
Remove another script that doesn't really belong here.
2014-02-04 14:26:09 -08:00
Adam Ierymenko
d452ed7db8
Fix inverted sense bug in new skip-stale-relay logic.
2014-02-03 21:15:29 -08:00
Adam Ierymenko
8f5cd0a361
VERSION 0.6.12: code cleanup in peers and IP address enumeration improvements
...
This version ties up some stuff that remains in the core before binary release.
It adds support for direct interface IP enumeration on *nix systems, as well
as a fix for IPv6 link-local addresses on OSX. This also contains some cleanup
in Peer and some improvements to help detect and route around dead or unreachable
supernodes.
Getting close!
2014-02-03 16:53:38 -08:00
Adam Ierymenko
d7bc3c6f4a
Fix infinite loop bug introduced in last commit.
2014-02-03 12:28:23 -08:00
Adam Ierymenko
d04e5a1fe0
Add a simple but very nice mechanism for avoiding potentially dead supernodes.
2014-02-03 11:09:09 -08:00
Adam Ierymenko
bf5f09a0c7
Yank a code path it turns out we probably don't want.
2014-02-03 10:46:37 -08:00
Adam Ierymenko
a154d660d9
Some work on background service that runs the actual zerotier-one process.
2014-02-02 23:48:44 -08:00
Adam Ierymenko
7a49d50187
Windows installer work...
2014-02-02 17:38:22 -08:00
Adam Ierymenko
ce0bd93289
Make software update run a little more often for now.
2014-02-02 16:46:27 -08:00
Adam Ierymenko
0fdefdf7a4
So Linux has getifaddrs() too! Yay!
2014-02-02 02:21:09 -05:00
Adam Ierymenko
8236f20759
Private struct ifmaddrs for OSX cause struct ifmaddrs is missing too on OSX 10.6.
2014-02-01 23:18:31 -08:00
Adam Ierymenko
e16b2a8831
Real implementation of ips() on OSX, now for Linux.
2014-02-01 23:10:04 -08:00
Adam Ierymenko
f7fbc6f633
Remove submit script.
2014-02-01 22:31:52 -08:00
Adam Ierymenko
3a9b0cf132
UI quick start guide.
2014-02-01 21:55:32 -08:00
Adam Ierymenko
2a3e646b94
Manually generate IPv6 link-local address only on Mac.
2014-02-01 14:02:14 -08:00
Adam Ierymenko
64231aa3f0
Fix for GitHub issue #36 on OSX... results in a duplicate entry for IPv6 link-local but seems okay... need to test on OSX 10.6 though.
2014-01-31 15:55:45 -08:00
Adam Ierymenko
117e6fb356
Remove some more junk from tap driver tree.
2014-01-31 12:40:06 -08:00
Adam Ierymenko
03ea06fa84
VERSION 0.6.11: Windows wrap-up work, NAT-t fixes
...
This version fixes a minor NAT traversal issue. In the past, NAT-t links had a timeout
but otherwise were preserved. This version makes them more ephemeral and invalidates
them on sleep/wake or changes in network configuration or environment.
This is because many NAT setups are very fragile with regard to hole punches, so the
past stickiness of links caused dead links to persist too long and break connectivity
between peers.
This is about 75% of what needs to be done to greatly improve robustness. The other 25%
involves detecting failed links or failed relays.
This version is also almost done for the Windows platform, moving us even closer to
binary release.
2014-01-30 15:49:08 -08:00
Adam Ierymenko
525ab3faa9
Take TRACE back out of Mac makefile, fix a few decode little things.
2014-01-30 15:26:12 -08:00
Adam Ierymenko
490e86dde3
Bunch of fixes to startup, pinging, and choice of route. Also some TRACE updates.
2014-01-30 14:23:52 -08:00
Adam Ierymenko
6e076e77d8
More work on connection reset stuff...
2014-01-29 22:04:23 -08:00
Adam Ierymenko
d75f2f7051
SIGHUP now causes resync with peers.
2014-01-29 17:24:55 -08:00
Adam Ierymenko
aa1be9fcad
Some TRACE cleanup.
2014-01-29 20:09:55 -05:00
Adam Ierymenko
17796aaed4
TRACE NOP receipt.
2014-01-29 17:08:03 -08:00
Adam Ierymenko
2355fa973e
Tiny compiler warning fix.
2014-01-29 18:27:02 -05:00
Adam Ierymenko
694e9f2bdc
Some cleanup and rationalization of main loop.
2014-01-29 14:09:12 -08:00
Adam Ierymenko
372566295e
Alternate order of packet emission in unite().
2014-01-29 12:11:01 -08:00
Adam Ierymenko
4e85213473
Yank RuntimeEnvironment from SysEnv.
2014-01-29 09:58:17 -08:00
Adam Ierymenko
d6a346ca6e
Fix for GitHub issue #35 and also possibly partial fix for #29 issues.
2014-01-28 16:12:24 -08:00
Adam Ierymenko
8b65b3e6d7
Yank PROBE stuff since it's not used and was a premature addition to the protocol.
2014-01-28 10:41:43 -08:00
Adam Ierymenko
ffffc0179f
Fix a couple compile items.
2014-01-27 23:16:15 -08:00
Adam Ierymenko
f80ec871f6
Make EthernetTap creation occur in a background thread in Network since it's a time consuming operation on Windows. This fixes one of the last remaining Windows problems.
2014-01-27 23:13:36 -08:00
Adam Ierymenko
e0cb5caef2
UI appearance tweaks.
2014-01-27 14:55:56 -08:00
Adam Ierymenko
afbbf61588
Delete persistent tap device on Windows when we leave a network.
2014-01-26 22:47:08 -08:00
Adam Ierymenko
28665079a0
Windows UI appearance fixes (font issue, etc.) and fix to WinSock init on GUI client.
2014-01-26 22:24:29 -08:00
Adam Ierymenko
80997f652b
Few small cleanup things...
2014-01-26 10:59:33 -08:00
Adam Ierymenko
9d67a02b5f
Lock down individual files in networks.d instead of directory since directory ACLs are more complex on Windows.
2014-01-26 10:32:12 -08:00
Adam Ierymenko
22efa1ab53
Windows Installer work, fix 100% CPU bug in EthernetTap on Windows, Windows lockDownFile() implementation that uses 'cacls' utility.
2014-01-26 10:21:43 -08:00
Adam Ierymenko
f19d1e253a
Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com/git/ZeroTierOne into adamierymenko-dev
2014-01-24 23:15:38 -08:00
Adam Ierymenko
b65f7f7895
Qt GUI now builds and runs on Windows. On Windows it can (via its manifest) automatically request admin rights on launch, which plugs it nicely into Windows' admin rights system without requiring file copies and such.
2014-01-24 23:15:14 -08:00
Adam Ierymenko
fb49d2ced9
Small mac installer script fix.
2014-01-24 17:30:46 -08:00
Adam Ierymenko
434ce96f2c
Officially signed 32-bit build of Windows tap driver.
2014-01-24 17:29:46 -08:00
Adam Ierymenko
6ae2c5f5c7
VERSION 0.6.10: Windows runs again!
...
Not a significant release for OSS users, but this version marks a significant
increase in workitude on the Windows platform. A properly and officially
signed x64 driver is also included. x86 drivers and more Windows work including
Qt UI are coming soon.
2014-01-24 15:05:04 -08:00
Adam Ierymenko
6f4e494e06
Bunch of UI style improvements.
2014-01-24 13:26:24 -08:00
Adam Ierymenko
eb554a504d
Fix for allIps -> ips in EthernetTap on Unix.
2014-01-23 16:25:51 -08:00
Adam Ierymenko
8771418170
Fix bug in tap driver introduced during unused code purge (deleted the part that acknowledges writes!), and fix bug in EthernetTap causing 0000 for etherType. Windows works now! Yay!
2014-01-23 16:10:24 -08:00
Adam Ierymenko
2f37ea842f
Couple of Windows fixes, get rid of ips()/allIps() distinction in EthernetTap. (Will need to be fixed on Unix now... later.)
2014-01-23 14:15:00 -08:00
Adam Ierymenko
9232ba1da0
Tap works on Windows now, sort of. Now I discovered that Windows has two mechanisms for assigning IP addresses: the registry and lower-level calls. Joy.
2014-01-22 23:46:33 -08:00
Adam Ierymenko
a0916b926f
Finally got the Windows x64 driver signed correctly. Turns out signtool.exe with the older (NDIS5) version of the Windows DDK does not understand cross-certificates, yet it blithely continues on and signs incorrectly anyway. Got it working by using DigiCert's own certificate tool which includes a sign files operation. Must be done manually but this doesn't have to be done often. F@!K.
2014-01-22 22:11:22 -08:00
Adam Ierymenko
2da6a7570b
More tap driver work, increment version number, remove old binaries since signatures may not have been valid.
2014-01-22 18:38:45 -08:00
Adam Ierymenko
2498ecbc84
Windows compile fixes, check if running as administrator on startup for Windows.
2014-01-21 16:49:34 -08:00
Adam Ierymenko
4935fdf6e4
Windows ignore file updates
2014-01-21 13:18:19 -08:00
Adam Ierymenko
370dd6c4da
Several things:
...
(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-21 13:07:22 -08:00
Adam Ierymenko
06ca24e8e2
More work on Windows service, cleanup.
2014-01-21 09:18:12 -08:00
Adam Ierymenko
c4425c836a
Ignores...
2014-01-20 17:04:44 -08:00
Adam Ierymenko
f0dd90d9d7
Windows Service stubs...
2014-01-20 17:03:15 -08:00
Adam Ierymenko
6bc5a84a2d
Windows build fixes and installer work...
2014-01-20 16:16:01 -08:00
Adam Ierymenko
3375363d93
More tap driver cleanup, and add IOCTL to get L2 multicast ethernet address subscriptions.
2014-01-20 14:33:05 -08:00
Adam Ierymenko
fbb40b98ad
Add Windows Build folder to ignore list.
2014-01-20 11:20:13 -08:00
Adam Ierymenko
a365a0e3ba
Remove a lot of code that we don't need from tap-windows, further winnowing down this fork of OpenVPN's tap-windows to a more minimal version that does only basic Ethernet tap functionality.
2014-01-20 11:18:55 -08:00
Adam Ierymenko
45c5b66e9e
Self test now passes on Windows.
2014-01-18 14:53:59 -08:00
Adam Ierymenko
f303c24d3c
Build fix.
2014-01-18 10:23:44 -08:00
Adam Ierymenko
3d4762eab3
Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com/git/ZeroTierOne into adamierymenko-dev
...
Conflicts:
.gitignore
2014-01-18 10:19:53 -08:00
Adam Ierymenko
a5896264fa
Builds on Windows now.
2014-01-18 10:17:15 -08:00
Adam Ierymenko
4d1cca1150
Remove VC++ warnings in C25519, also add inline to short methods.
2014-01-18 09:44:35 -08:00
Adam Ierymenko
092e6e947e
.gitignore fixes for Windows
2014-01-17 17:11:35 -08:00
Adam Ierymenko
07f505971c
Windows build fixes.
2014-01-17 17:09:59 -08:00
Adam Ierymenko
7eccc5ebf2
Windows HTTP client code (untested)
2014-01-17 16:18:21 -08:00
Adam Ierymenko
dab124dfb9
VERSION 0.6.9: more UI, installation, and packaging work...
...
Another release leading up to official binary releases... not much to the core,
but quite a bit of work on the UI, installation, and such.
This version will build and run on OSX 10.6 while previous versions would fail
due to a missing getifmaddrs() function.
2014-01-17 12:57:31 -08:00
Adam Ierymenko
8be664cca9
UI cleanup and license dialog.
2014-01-17 10:36:58 -08:00
Adam Ierymenko
866edd41a7
Build DMG from makefile for Mac.
2014-01-16 17:23:49 -08:00
Adam Ierymenko
412f93122d
Add our own getifmaddrs() since this convenience function is not in OSX 10.6.
2014-01-16 15:11:59 -08:00
Adam Ierymenko
3201d1d493
mkdir fix in mac install
2014-01-16 14:14:23 -08:00
Adam Ierymenko
9df7f65dd5
Mac installation, and dump pre10.8 stuff because it turns out that 10.6 loads the existing kext fine.
2014-01-16 13:53:31 -08:00
Adam Ierymenko
e23be8c91a
Get rid of make stuff for helpers that are gone.
2014-01-15 21:30:43 -08:00
Adam Ierymenko
99c384e110
New way of doing authenticate and install. Now with more kittens.
2014-01-15 17:00:53 -08:00
Adam Ierymenko
49076d406e
Cheezy little helper apps: kill them with fire. There is a better way. A cleaner way. A nicer way. A way with more kittens.
2014-01-15 10:32:01 -08:00
Adam Ierymenko
9e491decc0
Build stuff...
2014-01-14 21:15:13 -08:00
Adam Ierymenko
ad77d9b014
Rebuild tap.kext on OSX 10.6 for all versions so it works on that platform.
2014-01-14 16:08:04 -08:00
Adam Ierymenko
4788d911ad
Remove ZT1 GPL copyright from the top of code that is basically all Daniel Bernstein's
2014-01-14 08:27:59 -08:00
Adam Ierymenko
80ea7db9c0
Add a waiting for service message on startup to not confuse user.
2014-01-13 11:16:38 -08:00
Adam Ierymenko
bacb8f56c3
VERSION 0.6.8: changes in preparation for binary release
...
This version contains no significant changes to the engine itself, just to
the installer, the GUI, and packaging and such. It's all stuff for prep for
the big release, which is fast approaching!
2014-01-10 21:46:36 -08:00
Adam Ierymenko
d553555880
Add "you have not joined any networks" placeholder if networks list is empty.
2014-01-10 21:40:38 -08:00
Adam Ierymenko
9e508779c2
Installer AppleScript finally reinvokes the app correctly.
2014-01-10 21:26:50 -08:00
Adam Ierymenko
14d144ea22
UI stuff, re-launch app from AppleScript after install (still needs a bit of work)
2014-01-10 17:31:10 -08:00
Adam Ierymenko
305ed0b3c5
Cleanup in installer code in app.
2014-01-10 16:41:44 -08:00
Adam Ierymenko
9208c6b4e6
QMessageBox cleanup.
2014-01-10 16:05:54 -08:00
Adam Ierymenko
def893fe40
Add GPL notice to UI code.
2014-01-10 15:27:44 -08:00
Adam Ierymenko
2a3c9e73e5
More mac installer fixes.
2014-01-10 14:09:08 -08:00
Adam Ierymenko
15854a1b14
Mac installer work...
2014-01-09 22:58:31 -08:00
Adam Ierymenko
12a0a9dedd
Update cert IDs for official build.
2014-01-09 21:15:00 -08:00
Adam Ierymenko
5c90afa296
Work on mac launch script, sign binary mac tap driver kext (and there was much rejoicing!)
2014-01-09 11:00:36 -08:00
Adam Ierymenko
68ddba60a3
Another fix to mdfind line in Mac scripts.
2014-01-08 23:35:26 -08:00
Adam Ierymenko
3482d836ae
Mac install fixes, more internal use scripts.
2014-01-08 23:12:03 -08:00
Adam Ierymenko
60731e6d02
Update URLs for auto-update, check supernode version in one more place, delete pid before executing updater.
2014-01-07 16:37:36 -08:00
Adam Ierymenko
c1256fff5b
Remove some legacy code from the core loop.
2014-01-07 15:06:02 -08:00
Adam Ierymenko
ddb77b1454
Make rules for internal use.
2014-01-07 14:48:56 -08:00
Adam Ierymenko
afec5b0f2e
Official release maker... again only of academic interest to others.
2014-01-07 14:12:57 -08:00
Adam Ierymenko
eb1598831a
Include tap.kext in mac installer.
2014-01-07 13:35:20 -08:00
Adam Ierymenko
ea73e736c8
Official release stuff... of only academic interest to open source third party users.
2014-01-07 13:06:34 -08:00
Adam Ierymenko
f2976178c9
Installer bugfix on Linux.
2014-01-06 13:25:07 -05:00
Adam Ierymenko
76638aae76
Linux installer builds...
2014-01-06 13:11:32 -05:00
Adam Ierymenko
2edaf0588a
Linux installer work...
2014-01-06 12:56:00 -05:00
Adam Ierymenko
e525e3a571
Ready to test app-driven service install on Mac.
2014-01-05 20:59:41 -08:00
Adam Ierymenko
a19c19c58c
Refactor SoftwareUpdate to make .nfo parse and signature check code easily reusable so it can be used from the Qt GUI code.
2014-01-05 16:24:12 -08:00
Adam Ierymenko
67a71868cb
Install dialog in UI.
2014-01-03 22:14:30 -08:00
Adam Ierymenko
029f64495c
Linux buildinstaller fix.
2014-01-03 16:53:55 -08:00
Adam Ierymenko
63d6052159
Mac installer work.
2014-01-03 16:53:00 -08:00
Adam Ierymenko
50043f9cd6
Remove previous installer code.
2014-01-03 16:16:21 -08:00
Adam Ierymenko
59b1623477
More install/deploy work for mac...
2014-01-03 15:39:09 -08:00
Adam Ierymenko
22b52858e0
Fix -h in zerotier-cli and move code to find auth token into LocalClient, also move auth token for mac into Mac-standard Library/Application Support location.
2014-01-03 14:03:29 -08:00
Adam Ierymenko
baea75f2df
Installer app helper...
2014-01-03 12:15:47 -08:00
Adam Ierymenko
69c993357d
Update mac launcher and uninstaller to use mdfind to locate app.
2014-01-03 10:26:40 -08:00
Adam Ierymenko
fb685bcb1d
New Unix installer is script-based with a payload... no fracking idea what I will do for Windows.
2014-01-03 09:00:59 -08:00
Adam Ierymenko
14e4e9e479
Phasing out existing installer, delete some stuff...
2014-01-01 17:02:28 -08:00
Adam Ierymenko
b99940f8a1
Forget mac .pkg, we will integrate the installer into the app and have it launch it on first run. This is much more user-friendly.
2014-01-01 16:13:35 -08:00
Adam Ierymenko
3d76d6649f
Add step to build in helpers to mac app and codesign.
2013-12-31 16:26:14 -08:00
Adam Ierymenko
7519d8ca2c
Sign the AppleScript helper app that the UI calls to install the token file.
2013-12-31 16:20:28 -08:00
Adam Ierymenko
9f28eec95c
VERSION 0.6.7: revert change for GitHub issue #20
...
This will have to be thought out more. The old version worked fine 99% of the
time so we'll revisit this.
2013-12-31 11:36:13 -08:00
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
Adam Ierymenko
ca6c0fad08
VERSION 0.5.0 - alpha users must rebuild and restart!
...
Whew. This is a big one. More of a marathon than a sprint.
First, four big things:
1) This version breaks backward compatibility with all prior versions.
It's in alpha, I can do that.
2) The port has changed from 8993 to 9993 to mark this change. Probably
not necessary but why not? Also 8993/UDP turned out to be used by some
enterprise LDAP thingy, which doesn't matter much either but again why
not?
3) This version, unlike previous versions, does NOT auto-join the Earth
network. Soon there will be more than one net, and not everyone is going
to want to get dumped on a flat global LAN right out of the box. To
join Earth use the command line interface:
sudo zerotier-cli join bc8f9a8ee3000001
4) Finally, you will get a different IP on Earth. The whole cryptosystem
has changed and we're not going to bother with continuity issues in
alpha testing.
So what's changed? See the blog:
http://blog.zerotier.com/post/62991430345/alpha-zerotier-one-network-is-down-briefly
The net should be up shortly after this commit. If there are any issues,
0.5.0 will be rapidly followed by 0.5.1. :-) Otherwise the next sprint
will be finishing up support for private networks. Then it's off to the
races with BETA, then Windows. (Decided to move into beta before Windows
in all likelihood.)
2013-10-03 15:57:44 -04:00
Adam Ierymenko
0ab7b6d014
docs
2013-10-03 15:48:26 -04:00
Adam Ierymenko
bb4a96c630
Add more info to remote multicast trace (debug facility).
2013-10-03 14:53:15 -04:00
Adam Ierymenko
c7590634e8
Eliminate a lot of redundant WHOIS requests, clean up WHOIS clutter in TRACE, flesh out multicast tracing a bit.
2013-10-03 14:38:07 -04:00
Adam Ierymenko
58538500f2
Clean up some routine stuff like pings, and stop keeping links open forever even if there are no frames passing between them.
2013-10-02 16:12:10 -04:00
Adam Ierymenko
b8a9b42993
docs
2013-10-02 14:06:23 -04:00
Adam Ierymenko
2cfa76fa8b
Multicast propagation is now working from non-supernodes, and working quite well. Time for some more simulation before 0.5.0!
2013-10-02 13:50:42 -04:00
Adam Ierymenko
929ed5d8b8
Merge branch 'adamierymenko-dev' of /Users/api/Code/local-ZeroTierOne into adamierymenko-dev
2013-10-01 17:19:36 -04:00
Adam Ierymenko
4b6ec872c7
More multicast fixes.
2013-10-01 17:19:24 -04:00
Adam Ierymenko
676f391ccf
Multicast debug changes.
2013-10-01 16:31:46 -04:00
Adam Ierymenko
3443b203e4
Each peer now tracks the last time it announced multicast LIKEs independently and does so frequently enough to prevent expires. Also add a multicast debug facility for use on the testnet.
2013-10-01 16:01:36 -04:00
Adam Ierymenko
1a76455986
Fix for multicast propagation to prevent buildup of frames ping-ponging between supernodes.
2013-09-30 17:10:34 -04:00
Adam Ierymenko
e72a1de0d5
Fix bug in next hop selection.
2013-09-30 16:31:22 -04:00
Adam Ierymenko
20832a0562
Send reset of OK(HELLO) in both places where it gets composed.
2013-09-30 14:55:10 -04:00
Adam Ierymenko
9db7939d38
Make new multicast depth and prefix bits parameters configurable.
2013-09-30 13:51:56 -04:00
Adam Ierymenko
4ecb9369b5
Fix for multicast propagation -- supernodes must always keep propagating. Also fix mac-tap build on new version of Xcode CL tools. Must use old llvm-g++ instead of clang for i686 -mkernel.
2013-09-30 11:05:35 -04:00
Adam Ierymenko
141b858737
Self-test fixes for new packet armor/dearmor functions that combine old encrypt and MAC functions.
2013-09-27 16:25:35 -04:00
Adam Ierymenko
0dca9964bf
Whew, it builds!
2013-09-27 16:03:13 -04:00
Adam Ierymenko
4e010da54b
Work in progress...
2013-09-26 17:45:19 -04:00
Adam Ierymenko
24bad9f3d1
More work in progress in new multicast propagation...
2013-09-25 17:41:49 -04:00
Adam Ierymenko
f3128a18fe
Work in progress...
2013-09-25 10:55:27 -04:00
Adam Ierymenko
5557a8192d
Work in progress...
2013-09-24 17:35:05 -04:00
Adam Ierymenko
bddbf4d276
Work in progress...
2013-09-24 12:44:15 -04:00
Adam Ierymenko
62a6f7ca63
More work in progress on new Multicaster. This should be pretty much good to go, and performance should not be too O(crappy).
2013-09-22 13:35:40 -04:00
Adam Ierymenko
770fbaf4b2
New multicast algorithm work in progress...
2013-09-21 16:46:00 -04:00
Adam Ierymenko
64c9c2e06b
New packet formats for MULTICAST_FRAME, and MULTICAST_GOT. Not implemented yet in decoder, so wont compile. Work in progress.
2013-09-20 13:36:14 -04:00
Adam Ierymenko
c26b64f24b
Fix for netconf advertising of multicast propagation parameters, and defaults in Network.hpp.
2013-09-19 16:16:48 -04:00
Adam Ierymenko
795f41c331
Change Linux default build back to debug, and fix startup message. Oh, and new crypto just kinda works. Awesome.
2013-09-19 15:17:11 -04:00
Adam Ierymenko
d8d71df301
Build fix for network ID remap hack.
2013-09-19 14:40:46 -04:00
Adam Ierymenko
aac40562d3
Add temporary code to remap old Earth network ID to new one.
2013-09-19 14:36:37 -04:00
Adam Ierymenko
903b5b4218
Add validation of known-good identity to selftest to check endian and similar issues across platforms.
2013-09-19 12:57:35 -04:00
Adam Ierymenko
fb8d5204e3
Remove code to automatically join Earth -- network joins will now be user-initiated and manual.
2013-09-18 12:32:08 -04:00
Adam Ierymenko
9fe613805f
Netconf service build fix.
2013-09-17 17:20:40 -04:00
Adam Ierymenko
5ccc91a7c3
Prescient endian-ness fix in deriveAddress.
2013-09-17 16:49:16 -04:00
Adam Ierymenko
157aba5c3f
Get rid of 000000000000000.mcerts junk files.
2013-09-17 16:28:17 -04:00
Adam Ierymenko
f9079a110e
Make network multicast breadth/depth parameters configurable on a per-net basis.
2013-09-17 16:11:57 -04:00
Adam Ierymenko
4c06fcfc9d
More include formatting cleanup.
2013-09-17 15:53:59 -04:00
Adam Ierymenko
b2b24ca41b
Some file format cleanup.
2013-09-17 15:46:56 -04:00
Adam Ierymenko
0133da1dcd
Get rid of onSent(), which was never used consistently anyway.
2013-09-17 15:33:34 -04:00
Adam Ierymenko
300588c5e8
Add port and control port command line options to daemon and command line client, add new supernode keys to Defaults.
2013-09-17 14:47:48 -04:00
Adam Ierymenko
de5cc82b5b
Build fix to eliminate strict aliasing warnings, and a bug fix.
2013-09-16 19:25:31 +00:00
Adam Ierymenko
77f8d75529
Fix idtool build, tweak address derivation again.
2013-09-16 15:06:17 -04:00
Adam Ierymenko
94bf3e9a0e
More tweaks to address derivation, going to test on other boxen.
2013-09-16 14:54:17 -04:00
Adam Ierymenko
4f53d09c7e
Build fix for 32-bit Linux and tweaks to address derivation algorithm.
2013-09-16 14:47:48 -04:00
Adam Ierymenko
e376c6f6a9
New crypto integrated -- going to be testing new identity address generation algo a bit more before finalizing.
2013-09-16 13:57:57 -04:00
Adam Ierymenko
ceb024ab03
Integrating new crypto, work still in progress...
2013-09-16 13:02:10 -04:00
Adam Ierymenko
3b2d98e7dc
Integrating new crypto -- work in progress, wont build yet.
2013-09-16 09:20:59 -04:00
Adam Ierymenko
02f3369185
Small amount of crypto cleanup.
2013-09-15 11:02:53 -04:00
Adam Ierymenko
300d26973a
Test vectors for all new crypto.
2013-09-15 10:41:52 -04:00
Adam Ierymenko
660f92b6a7
Add test vectors for ensuring identical C25519 operation across systems.
2013-09-14 13:51:08 -04:00
Adam Ierymenko
09c8b4bbb3
More new crypto: Ed25519 signatures.
2013-09-13 19:18:01 -04:00
Adam Ierymenko
b2bb7b41fc
More work in progress on new crypto...
2013-09-13 17:32:00 -04:00
Adam Ierymenko
0b94a04914
More crypto work in progress...
2013-09-13 16:53:47 -04:00
Adam Ierymenko
032ce498c4
More new crypto -- poly1305 one-time auth code.
2013-09-13 15:59:45 -04:00
Adam Ierymenko
77965af288
Add new crypto: SHA512 and C25519 -- not integrated yet.
2013-09-13 15:47:00 -04:00
Adam Ierymenko
f6ad138561
Bit more of adding version to OK(HELLO)
2013-09-13 14:41:20 -04:00
Adam Ierymenko
d87a1d6b99
Add version info to OK(HELLO) so both sides know their version info.
2013-09-13 13:35:31 -04:00
Adam Ierymenko
07e1085dcc
More experimentation with multicast rate.
2013-09-12 17:27:10 -04:00
Adam Ierymenko
55e7ddba1e
Get a default rate that works for multicast.
2013-09-12 12:11:21 -04:00
Adam Ierymenko
d74b5f4bc6
Restore peer field to netconf for now, required by older versions.
2013-09-11 16:54:01 -04:00
Adam Ierymenko
553002e9d8
Reduce log noise, change to TRACE.
2013-09-11 16:49:01 -04:00
Adam Ierymenko
0e62857841
A few logging changes.
2013-09-11 16:32:53 -04:00
Adam Ierymenko
75471ee0e0
Small method rename.
2013-09-11 16:17:51 -04:00
Adam Ierymenko
5885c6186d
More updates to bandwidth accounting.
2013-09-11 16:08:31 -04:00
Adam Ierymenko
9cdaefdb9a
Drop old Certificate type from Network.
2013-09-11 15:13:05 -04:00
Adam Ierymenko
de744e6df6
Version two of network certificate of membership, a much more concise and fast approach.
2013-09-11 15:09:53 -04:00
Adam Ierymenko
3a563250f7
Finish stripping minBalance from BandwidthAccount
2013-09-10 14:13:04 -04:00
Adam Ierymenko
a3a2b8dedb
Look up rate info from database, but going to drop min balance cause it seems unnecessary. Also work in progress on membership certs.
2013-09-10 09:40:37 -04:00
Adam Ierymenko
a40b8c07f4
Apply multicast rate limits to my own multicasts. Will run locally and on a variety of system types to test the result of this.
2013-09-07 15:49:38 -04:00
Adam Ierymenko
cdb96726df
updateAndCheckMulticastBalance and friends
2013-09-07 12:23:53 -04:00
Adam Ierymenko
56d8bbf780
Bit more netconf cleanup...
2013-09-06 15:06:51 -04:00
Adam Ierymenko
37931d8589
Multicast bandwidth accounting work in progress, and some config field changes and cleanup.
2013-09-04 09:27:56 -04:00
Adam Ierymenko
f3ad05347e
Improve code security posture by replacing sprintf with a safer function.
2013-08-30 17:05:43 -04:00
Adam Ierymenko
1a7e303f97
docs and minor cleanup
2013-08-30 16:47:54 -04:00
Adam Ierymenko
9ca521e894
docs
2013-08-30 15:55:08 -04:00
Adam Ierymenko
5df6055169
docs
2013-08-30 15:30:53 -04:00
Adam Ierymenko
eefcd4aae4
Remove makekeypair program.
2013-08-30 15:03:12 -04:00
Adam Ierymenko
4875eb49f8
Remove old launcher code, fix build error in idtool, add terminate command to control bus.
2013-08-30 15:02:12 -04:00
Adam Ierymenko
11774f7d5f
Change rate limiter a little...
2013-08-30 14:15:24 -04:00
Adam Ierymenko
1bd3cd4225
Forgot to add new files in previous commit.
2013-08-29 12:36:24 -04:00
Adam Ierymenko
6882c374c9
Add two new Windows projects: Windows service (process supervisor) and Windows Installer/Updater. Our installer/updater is probably going to be custom-written, and will be used both for installation (in which it'll pop up a progress meter) and for updates via a command line switch.
2013-08-29 12:35:38 -04:00
Adam Ierymenko
18919465c3
VERSION 0.4.5
...
Changes:
* It now builds and runs on Windows with Visual Studio 2012. Windows is
not ready for prime time yet though for several reasons, so no Windows
release yet. If you're brave you can try to DIY, but the driver is
not signed yet either. Windows is a work in progress still.
* Networks now pull their ethernet type whitelist from the netconf master
instead of having it hard-coded. (Prep for network mgmt.)
* Netconf master now sends name and description of networks so this can
be used to set Windows network display names.
* A couple minor bug fixes here and there, nothing major.
* No protocol changes that break compatibility.
2013-08-28 17:03:01 -04:00
Adam Ierymenko
bb8bb2727c
Build fix
2013-08-28 16:41:12 -04:00
Adam Ierymenko
859fe7776c
SQL problem fix
2013-08-28 16:40:50 -04:00
Adam Ierymenko
55616388ea
Check network ethernet type whitelist instead of hard-coded ethernet types.
2013-08-28 16:01:27 -04:00
Adam Ierymenko
8e1b897f0a
Add etherTypes to netconf response.
2013-08-28 15:25:49 -04:00
Adam Ierymenko
3745377872
Filter work, add name and desc to netconf response, small compiler warning fix.
2013-08-28 15:09:49 -04:00
Adam Ierymenko
01a70d09db
Jigger with shutdown method to avoid a crash on CTRL+C in Windows. Feels a big hacky, might revisit later.
2013-08-27 18:00:07 -04:00
Adam Ierymenko
0afcf4877c
Build fixes for *nix.
2013-08-27 16:49:49 -04:00
Adam Ierymenko
aa96bdfd1e
Drop extra debug output.
2013-08-27 16:45:22 -04:00
Adam Ierymenko
c247a3d991
Build fix in tap, handling of Windows shutdown signals.
2013-08-27 16:11:39 -04:00
Adam Ierymenko
cd907a7662
More tap work -- DHCP configuration and such.
2013-08-27 15:55:32 -04:00
Adam Ierymenko
1c88a518cf
Dike out some cruft in Windows tap that we will never use, like TUN mode, DHCP masq, ARP emulation, NDP emulation, and related. We operate only in L2 mode. All tap, no tun.
2013-08-27 11:55:56 -04:00
Adam Ierymenko
b4be07149f
Tap now basically sorta works on Windows. Now have to figure out how to control DHCP behavior since we normally don't want that.
2013-08-27 11:15:14 -04:00
Adam Ierymenko
335733f110
Build fixes for *nix
2013-08-26 17:51:36 -04:00
Adam Ierymenko
4a370c5f3f
Windows: disable and enable tap to allow changes to take effect.
2013-08-26 17:48:47 -04:00
Adam Ierymenko
487eb17ec0
ZeroTierOne for Windows binary project, builds and runs and mostly works but still some issues with tap.
2013-08-26 17:22:20 -04:00
Adam Ierymenko
9f16707b0b
Cut out tap test code from selftest.
2013-08-25 18:25:22 -04:00
Adam Ierymenko
bbbc032959
Tap works! At least in isolation. Time to create the Windows executable and the Windows service to run it and handle auto-update.
2013-08-25 18:18:02 -04:00
Adam Ierymenko
e0bdc02139
Docs, Node picks a default home folder if created with NULL as its home path, and add binary tap drivers (self-signed for now).
2013-08-24 17:10:34 -04:00
Adam Ierymenko
6d7b1c1e5f
Forked tap driver installs with test cert, assuming Windows is in test mode, and seems to work!
2013-08-24 14:10:34 -04:00
Adam Ierymenko
8637d06e0e
It builds and it installs! Well, except for not being digitally signed. :P
2013-08-24 13:21:51 -04:00
Adam Ierymenko
df98e5a635
More tap work in progress.
2013-08-24 13:17:01 -04:00
Adam Ierymenko
62dd433756
Tap driver project config, inf file.
2013-08-24 12:11:42 -04:00
Adam Ierymenko
e2effbd1ce
Tap driver basically builds in VS2012... fork of tap-windows from OpenVPN (compatible license).
2013-08-23 17:39:21 -04:00
Adam Ierymenko
b6248c7cb7
VERSION 0.4.4: multicast cleanup, Windows port work
...
In addition to a lot of Windows port work that isn't finished yet (and doesn't
affect the *nix platforms at all), this version contains quite a bit of multicast
cleanup and code simplification.
I also pulled rate limits for now, as it seems to be causing problems. More testing
on the testnet is going to be needed.
2013-08-23 10:54:45 -04:00
Adam Ierymenko
f6e7be102a
Decided to abandon the winpcap direction for Windows tap... re-evaluating using OpenVPN tap driver in some form for now.
2013-08-23 09:50:51 -04:00
Adam Ierymenko
c8213a3f58
Commit of a draft of the pcap-based strategy for a Windows tap. This may, in 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-22 22:33:32 -04:00
Adam Ierymenko
d19516b40a
Add winpcap development libraries and includes.
2013-08-22 16:42:17 -04:00
Adam Ierymenko
ca5334509c
Tap now creates Microsoft Loopback Adapter instances and tags them with a special ID... work in progress.
2013-08-22 14:30:55 -04:00
Adam Ierymenko
a0a9d52213
Bug fix in multicast changes.
2013-08-21 14:51:32 -04:00
Adam Ierymenko
2efc9b31bd
Huge convoluted logic de-tangling in multicast propagation, supernodes now do random propagation for more efficient coverage with less bias in sparse graph cases.
2013-08-21 11:45:06 -04:00
Adam Ierymenko
1d9977b8b9
A bit of code comment cleanup.
2013-08-21 10:19:34 -04:00
Adam Ierymenko
edad580c32
Some work on Windows tap.
2013-08-21 10:18:05 -04:00
Adam Ierymenko
2536352e5d
Make that an arbitrary tag to identify persistent taps...
2013-08-21 08:13:48 -04:00
Adam Ierymenko
dbb509a302
Add an interface description to EthernetTap, mostly for Windows.
2013-08-19 17:44:46 -04:00
Adam Ierymenko
3daf73710a
Add devcon 32-bit and 64-bit Windoze binaries.
2013-08-19 17:20:27 -04:00
Adam Ierymenko
d372cd1b17
Clean up...
2013-08-19 15:39:11 -04:00
Adam Ierymenko
ee7e826f0c
On second thought... argh.
2013-08-16 16:37:01 -04:00
Adam Ierymenko
d7bd3e37cb
Add a fork of tap-windows from OpenVPN, will be customized.
2013-08-15 15:52:52 -04:00
Adam Ierymenko
b23748aa5a
Create devel project for Windows tap work. (Might be temporary.)
2013-08-15 15:51:03 -04:00
Adam Ierymenko
8584515a50
A few test build changes.
2013-08-14 13:30:27 -04:00
Adam Ierymenko
08fe84d707
Windows builds, self test runs in Debug mode!
2013-08-14 13:23:25 -04:00
Adam Ierymenko
150a53eb17
Self test almost builds, now need skeleton EthernetTap implementation for Windows.
2013-08-14 11:19:21 -04:00
Adam Ierymenko
1f9a7e26ba
Move .vcxproj files to vsprojects\ subfolder and use Visual Studio's ability to add existing files to create per-tool solutions. Create self test solution to test basic functionality on Windows.
2013-08-14 10:29:20 -04:00
Adam Ierymenko
fc18334dbb
Version 0.4.3 (the real one): fix Gentoo ip config failures and crashes
...
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.
Finally, the multicast rate limit defaults were raised a little. More
testing is needed here, and real world measurments.
2013-08-13 15:14:03 -04:00
Adam Ierymenko
4ce88d7f72
Version 0.4.3: fix Gentoo ip config failures and crashes
...
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-13 14:42:51 -04:00
Adam Ierymenko
ce1a03bde3
Fix a *nix build issue.
2013-08-12 21:27:07 -04:00
Adam Ierymenko
d6414c9ff7
Windows compiles! (w/Visual Studio 2012) That's about all it does, but it's a start.
2013-08-12 21:25:36 -04:00
Adam Ierymenko
5076c75b07
More Windows port work.
2013-08-12 16:57:34 -04:00
Adam Ierymenko
36af3d92ec
Windows build work: condition, mutex, thread, udp socket...
2013-08-12 16:18:35 -04:00
Adam Ierymenko
2ad80063ec
A few more visual studio file changes, forgot to save all. Will be switching to dev branch now.
2013-08-12 14:47:02 -04:00
Adam Ierymenko
2fbe1e200b
Add Visual Studio DLL project for core
2013-08-12 14:44:02 -04:00
Adam Ierymenko
53996050a2
0.4.2: cleanup release
...
Version 0.4.2 is largely a cleanup release. Changes are minor:
* Programatically replace libcrypto's random number generator with our
own (using /dev/urandom or Windows CAPI) since libcrypto's RNG likes
to use uninitialized memory as one of its entropy sources. This causes
massive floods of valgrind (debugger) errors during memory error
profiling analysis.
* Clean up some other code to eliminate valgrind errors.
Valgrind now runs on Linux with only one error. This error is in
EthernetTap and is a false positive.
2013-08-12 13:17:41 -04:00
Adam Ierymenko
f5d77a1bc2
Clean up a bunch of valgrind errors, nix a potentially unsafe op in Buffer assignment operator.
2013-08-12 13:17:03 -04:00
Adam Ierymenko
93a7eef2a5
Replace libcrypto RAND_ with our own to avoid valgrind errors.
2013-08-10 10:27:53 -04:00
Adam Ierymenko
67acba4bc9
Stop using RAND_ in libcrypto for Utils::getSecureRandom() due to annoying valgrind spew from libcrypto use of uninitialized RAM as a random source. Might look into replacing RAND_ in libcrypto with our own simple /dev/urandom / Windows CAPI plugin.
2013-08-10 10:12:16 -04:00
Adam Ierymenko
9979474f1e
Add range safety check to EllipticCurveKey.
2013-08-09 20:45:15 -04:00
Adam Ierymenko
6c53891b44
Version 0.4.1 - RateLimiter for multicast, bug fixes.
...
This version adds a draft of the multicast rate limiting architecture. A
few minor bugs are also fixed. The Linux version builds in debug mode for
now.
2013-08-09 17:21:35 -04:00
Adam Ierymenko
95a23dc7ec
Fix for another wonderful C++ threading race condition.
2013-08-09 17:20:40 -04:00
Adam Ierymenko
7c3a446499
Tweak default multicast rate limits.
2013-08-09 17:02:06 -04:00
Adam Ierymenko
6a24ac4f00
Add a concept of debt to RateLimiter, save a bit of RAM.
2013-08-09 16:36:58 -04:00
Adam Ierymenko
3af55f4423
Add RateLimiter for rate limiting multicast, not tested yet.
2013-08-08 17:20:35 -04:00
Adam Ierymenko
95c0790a88
Back off a little on multicast propagation depth. Eventually this will be a network parameter.
2013-08-08 12:55:01 -04:00
Adam Ierymenko
5cabb60a6f
Actually report a meaningful network status instead of always OK
2013-08-08 10:41:17 -04:00
Adam Ierymenko
86056fdbd9
Generalize unlink to OS-dep code in Utils, just a little prep for Windows port.
2013-08-08 10:06:39 -04:00
Adam Ierymenko
8a46452a70
Move template parameter in Thread to a more logical scope location.
2013-08-08 09:19:36 -04:00