Grant Limberg
ff18bacd94
fix XREAD commands for redis message queue
2022-04-28 11:16:45 -07: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
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
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
Grant Limberg
730482e62f
encode network ID into sso state param
2021-12-01 15:02:21 -08: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
dfdac7adbd
iomanip
2021-11-30 17:31:46 -08:00
Grant Limberg
a33d7c64fe
more fixin
2021-11-30 17:27:13 -08:00
Grant Limberg
d15516f0ef
query fix & controller build fix
2021-11-30 16:18:34 -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
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
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
Grant Limberg
73ddea8864
use network ID, not controller ID for looking up network data
2021-07-06 14:15:01 -07:00
Grant Limberg
5ece4f734a
fix error message
2021-07-06 13:08:16 -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
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
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
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
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
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
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
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
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
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
d2708daa8e
debug output
2020-08-04 14:33:18 -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
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