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
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
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
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
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
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
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
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
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
461810b06a
Move return so record gets created before URL.
2021-08-10 11:22:29 -04:00
Grant Limberg
613d7b5ece
fix backwards logic
2021-08-04 09:16:04 -07:00
Adam Ierymenko
c101d71d7c
Tweak auth timeout notify.
2021-07-30 18:44:34 -04: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
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