Adam Ierymenko
5f11daadf2
Build fix
2019-07-23 09:30:40 -07:00
Adam Ierymenko
d4d350a285
Work in progress
2019-07-23 09:29:08 -07:00
Adam Ierymenko
5edd04638d
LFDB work in progress
2019-07-22 13:43:06 -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
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
700cc92083
Indent fix
2019-06-11 11:01:12 -07:00
Adam Ierymenko
848f822171
.
2019-06-06 10:04:11 -07:00
Grant Limberg
37d321afc8
dont spin as much in the onlineNotificationThread
2019-05-31 15:10:45 -07:00
Adam Ierymenko
cacdb445c7
Bump protocol version to 10
2019-05-14 13:54:27 -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
2966eac64f
Get rid of ZT_FAST_MEMCPY because this is not really needed.
2019-03-22 15:50:15 -07:00
Grant Limberg
e3cc7c9a80
fix non-central controller builds
2019-03-11 11:16:44 -07: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
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
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
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
Adam Ierymenko
5b1ef2fb03
Take netmask bits from most specific route.
2019-02-01 14:05:29 -08:00
Adam Ierymenko
34c1023ba7
Wrong criteria was wrong. Now with less wrong.
2019-02-01 11:37:30 -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
0e597191b8
Updated licenses for 2019
2019-01-14 10:25:53 -08:00
Grant Limberg
0da2efa633
add application_name to pgbouncer connectio string
2018-12-10 12:26:20 -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
1c86f25fab
update # of threads for Postgres
2018-12-06 13:08:31 -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
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
Grant Limberg
e3381a4c1f
fix member init query
2018-11-13 16:19:55 -08:00
Grant Limberg
882b03436d
WIP: libpxx instead of libpq
2018-11-13 16:00:13 -08:00
Grant Limberg
2729db9555
exceptions
2018-11-11 22:55:53 -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
4c0e7aa8b0
more error checking
2018-11-11 21:08:51 -08:00
Grant Limberg
761cc5c923
remove another noisy log line
2018-10-24 13:36:07 -07:00
Grant Limberg
d87fcca176
Fully operational pgsql controller
2018-10-24 12:06:17 -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
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
Grant Limberg
5b222d0a09
cleanup connections after errors
2018-09-25 10:17:15 -07: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
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
Adam Ierymenko
f94aea8119
Return error 503 if RethinkDB is down when built as RethinkDB-based controller.
2018-07-11 10:42:31 -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
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
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
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
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
f17cc1c6d8
cleanup
2018-01-10 15:03:39 -08:00
Adam Ierymenko
a1992d76f2
Doc updates and other fixes.
2018-01-10 14:31:28 -08:00
Adam Ierymenko
9bab49d2f9
Move DB stuff into Db.
2018-01-09 12:39:25 -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
4704d115c4
Some controller fixes.
2017-12-14 08:53:24 -08:00
Adam Ierymenko
e4a10cc510
Member commit bug fix.
2017-12-08 19:00:38 -05: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
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
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
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
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
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
1613f42d00
Re-integrate in-filesystem DB into new controller DB structure.
2017-11-07 14:44:46 -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
395d8b3139
Full and clearer implementation of GitHub issue #588
2017-10-24 13:33:53 -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
Adam Ierymenko
283e8d5bc0
Start threads in Central harnessed mode.
2017-08-31 18:01:21 -04:00
Adam Ierymenko
5bf5d5e9cb
Minor controller stuff.
2017-08-30 17:22:25 -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
50e7ea088b
More work on controller for new Central harnessed mode, remove old http mode.
2017-08-16 14:14:49 -07:00
Adam Ierymenko
23fe8975e7
.
2017-08-14 11:44:07 -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
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
1685659e37
Remote tracing works.
2017-07-17 17:02:50 -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
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
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
d2415dee00
Cleanup.
2017-07-06 16:11:11 -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
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
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
d905607353
Small optimizations.
2017-05-08 08:35:55 -07:00
Adam Ierymenko
909a14fb48
MTU support in controller.
2017-05-04 17:22:24 -07:00
Adam Ierymenko
39db45e144
Fix crash on exit (sometimes) in controller.
2017-05-03 09:48:08 -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