ddf3d1f949
Controller side support for IPv6 assignment.
2015-09-18 13:35:00 -07:00
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
ef316ced3b
Fix JSON.
2015-09-14 11:59:43 -07:00
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
a35fa7ac93
Add expansion of netconf in _test field.
2015-09-10 15:14:10 -07:00
bebe3d7cfa
Fix deadlock in test mode.
2015-09-10 14:47:04 -07:00
1f7a41cff8
Fix to allowing identity to be populated if not present.
2015-09-10 14:37:34 -07:00
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
0d386f1c31
Add a bit of useful testing instrumentation to SqliteNetworkController.
2015-09-08 11:35:55 -07:00
2aa1b5d9b7
Add clock helper field to both member and network to permit time duration calculation easily.
2015-08-24 12:44:07 -07:00
9a5be0a092
typo
2015-08-24 11:24:33 -07:00
4da794b389
Add authorizedMemberCount to controller network config records.
2015-08-19 11:43:56 -07:00
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
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
d57ea671d7
Add version to log.
2015-07-24 09:59:17 -07:00
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
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
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
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
53c7f61f98
Fix for output of empty (no members) network
2015-07-05 13:27:27 +02:00
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
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
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
b343eac10d
Fix IP auto-assign bug due to missing subnet routes.
2015-07-21 12:42:43 -07:00
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
cac6be87ba
Fix bug in rules JSON output.
2015-07-20 16:31:37 -07:00
38d34a7495
Proper handling of NULL entry for etherType in rules table.
2015-07-20 15:11:53 -07:00
fb4c3dd8d4
Fix string overwrite bug.
2015-07-20 14:31:33 -07:00
1ffd67e014
Get rid of false foreign key in Relay.
2015-07-20 14:28:30 -07:00
bca8886ff8
IP assignment pool range bug fix.
2015-07-17 15:09:28 -07:00
1f7bb67069
Fix some SQL and make instanceId more robustly random.
2015-07-17 13:09:53 -07:00
712e2785f2
Fix bad JSON in response.
2015-07-17 12:24:42 -07:00
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
0db7c94c90
Add memberRevision stuff to JSON output, and update docs.
2015-07-16 17:42:47 -07:00
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
f9f7de0ec7
Networks don't need their ID as a default name.
2015-07-14 15:54:56 -07:00
d27c14af48
Don't allow zero as a network number.
2015-07-14 12:32:57 -07:00
30e4a188d0
ipLocalRoutes now exposed via network objects in JSON controller API, and documentation changes.
2015-06-29 15:34:26 -07:00
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
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
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
dbee1b38b3
Fix semantics of std::unique() to actually remove duplicates (hidden memory leak?)
2015-06-29 10:21:28 -07:00
3eca5d9c29
Fix reporting of ipAssignments for ipv4
2015-06-26 07:22:30 +02:00
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
50d4f66d73
Fixed member authorization bug and minor cleanup
2015-06-19 21:19:42 +02:00
16eae132fa
Fix for ipv4 assignment
2015-06-18 19:14:52 +02:00
4affa10ca0
Fix 404 on creation of new network
2015-06-15 10:29:12 +02:00
2e1d363a86
Removed a superfluous cross join
2015-06-15 03:19:25 +02:00
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
dcbae5f313
Bugfix controller get member info
2015-06-15 03:19:25 +02:00