Adam Ierymenko
34de579c91
Handling of soon-to-expire members
2021-07-23 18:49:00 -04: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
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
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
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
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
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
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
Grant Limberg
c2efdcabc5
fix
2021-05-28 15:01:42 -07:00
Grant Limberg
6d8c96b89f
formatting
2021-05-28 14:19:13 -07:00
Adam Ierymenko
c470c6255e
Postgres code for SSO (almost certainly needs work)
2021-05-28 17:08:24 -04:00
Adam Ierymenko
6b3a7ec827
Fix a few things...
2021-05-25 14:40: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
b270d527f4
Basic plumbing for authentication requirement and piping through of URL information.
2021-05-24 22:58:17 -04: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
24769219b5
Merge branch 'dev'
2020-10-08 18:08:24 -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
bb45f9ca3c
Upgrade cpp-httplib
2020-09-30 15:21:58 -04:00
Grant Limberg
ff23d3051f
self hosted controller JSON format fix for DNS
2020-09-23 12:16:23 -07:00
Grant Limberg
3db263284b
not sure how this got reverted
2020-09-10 13:18:25 -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
47e9fb3ddb
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2020-08-25 08:07:23 -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
06730c7d1d
BSL date bump
2020-08-20 12:51:39 -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
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
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
5b700fa497
println for which notification stream the controller is listening to
2020-07-27 18:37:45 -07:00
Grant Limberg
251b06d812
revert redis for member status
2020-07-23 09:38:50 -07:00
Grant Limberg
387039456d
Pass 1 at adding DNS to controller
2020-07-20 14:34:19 -07:00
Suad Halilovic
ffebcd247f
2020/07/16, Minor optmizations
2020-07-16 18:31:56 +02: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
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
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
8ac42b4600
controller status query fix
2020-05-19 17:40:11 -07:00
Grant Limberg
15c0c1db39
finish the RabbitMQ-ectomy
2020-05-13 09:46:41 -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
Grant Limberg
d699116795
mac deps
2020-05-11 16:48:14 -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
Adam Ierymenko
f12c75e68b
Merge branch 'master' of github.com:zerotier/ZeroTierOne
2020-03-25 13:40:13 -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
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
Travis LaDuke
e744c95c5b
Add Managed Routes example to controller readme.
2019-11-15 10:29:39 -08:00
Grant Limberg
86abd31659
fix log line
2019-11-13 12:46:16 -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
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1
2019-08-23 09:23:39 -07:00
wendelb
fe18579061
Removed duplicate line creationTime
2019-08-17 22:50:13 +02: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
7bb0d9be1b
warning removal
2019-08-08 11:04:11 -05:00
Adam Ierymenko
af7a70bf02
cleanup
2019-08-07 21:11:48 -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
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
a77b4ecddb
Add optional function in DB change listener for member online events.
2019-08-04 19:55:52 -07:00
Grant Limberg
21467596bc
Merge branch 'remove_network_status_table' into dev
2019-08-04 12:38:12 -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
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