summaryrefslogtreecommitdiff
path: root/controller
AgeCommit message (Collapse)Author
2015-09-18Controller side support for IPv6 assignment.Adam Ierymenko
2015-09-15Drop Sqlite-based Log table for now and switch to an in-memory log for ↵Adam Ierymenko
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-14Fix JSON.Adam Ierymenko
2015-09-11Extra statement to clean up Members -- cascade did not seem to work, ↵Adam Ierymenko
possibly due to dual key.
2015-09-10Add expansion of netconf in _test field.Adam Ierymenko
2015-09-10Fix deadlock in test mode.Adam Ierymenko
2015-09-10Fix to allowing identity to be populated if not present.Adam Ierymenko
2015-09-08Allow identity to be populated for newly inserted Member objects to permit ↵Adam Ierymenko
transfer from old network controller and testing.
2015-09-08Add a bit of useful testing instrumentation to SqliteNetworkController.Adam Ierymenko
2015-08-24Add clock helper field to both member and network to permit time duration ↵Adam Ierymenko
calculation easily.
2015-08-24typoAdam Ierymenko
2015-08-19Add authorizedMemberCount to controller network config records.Adam Ierymenko
2015-08-17Lookup of member must be a left outer join in case the member is being ↵Adam Ierymenko
manually inserted before we see the node.
2015-07-29Go ahead and spec out controller DB support for AuthToken -- GitHub issue ↵Adam Ierymenko
#211 -- even though full implementation won't make it into 1.0.4.
2015-07-24Add version to log.Adam Ierymenko
2015-07-23(1) Fix updating of network revision counter on member change.Adam Ierymenko
(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-23Add a rate limiting circuit breaker to the network controller to prevent ↵Adam Ierymenko
flooding attacks and race conditions.
2015-07-23Eliminate some poorly thought out optimizations from the netconf/controller ↵Adam Ierymenko
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-22Add a Log table to log queries for debugging and security logging. No JSON ↵Adam Ierymenko
API support for querying the log yet, but will probably come via /network/###/member/###/log/... or something.
2015-07-05Fix for output of empty (no members) networkKees Bos
2015-07-21Fix to member listing: I wanted an object with member IDs as keys and member ↵Adam Ierymenko
revisions as values, not an array.
2015-07-21List members in the form of a hash of member ID and member revision so code ↵Adam Ierymenko
can quickly detect which members have changed.
2015-07-21Remove "members" from Network record and instead enumerate members via ↵Adam Ierymenko
specific query to /network/nwid/member sub-path. More RESTful, scalable, and compatible with how OnePoint code works.
2015-07-21Fix IP auto-assign bug due to missing subnet routes.Adam Ierymenko
2015-07-21Report controllerInstanceId in all objects so that controller resets can be ↵Adam Ierymenko
easily detected by whatever is using the service.
2015-07-20Fix bug in rules JSON output.Adam Ierymenko
2015-07-20Proper handling of NULL entry for etherType in rules table.Adam Ierymenko
2015-07-20Fix string overwrite bug.Adam Ierymenko
2015-07-20Get rid of false foreign key in Relay.Adam Ierymenko
2015-07-17IP assignment pool range bug fix.Adam Ierymenko
2015-07-17Fix some SQL and make instanceId more robustly random.Adam Ierymenko
2015-07-17Fix bad JSON in response.Adam Ierymenko
2015-07-17Add a concept of an "instanceId" to the controller, which the OnePoint can ↵Adam Ierymenko
use to determine whether it is the same running database instance it already knows.
2015-07-16Add memberRevision stuff to JSON output, and update docs.Adam Ierymenko
2015-07-16Add a concept of a member revision counter to networks. This can be used to ↵Adam Ierymenko
select all members that have been added or changed since a given point.
2015-07-14Networks don't need their ID as a default name.Adam Ierymenko
2015-07-14Don't allow zero as a network number.Adam Ierymenko
2015-06-29ipLocalRoutes now exposed via network objects in JSON controller API, and ↵Adam Ierymenko
documentation changes.
2015-06-29Untested -- modifications to support IP ranges instead of ip/mask for IP ↵Adam Ierymenko
assignment pools, also add portId to Rule for future use.
2015-06-29(1) Both nodeId and portId in Rule can be NULL, (2) remove on delete cascade ↵Adam Ierymenko
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-29DB schema changes: separate portId in rules, ranges in IP assignment pools. ↵Adam Ierymenko
(No code changes yet so code is broken.)
2015-06-29Fix semantics of std::unique() to actually remove duplicates (hidden memory ↵Adam Ierymenko
leak?)
2015-06-26Fix reporting of ipAssignments for ipv4Kees Bos
2015-06-26GitHub issue #191 - kill intra-network multicast rate limits (which were not ↵Adam Ierymenko
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-19Fixed member authorization bug and minor cleanupKees Bos
2015-06-18Fix for ipv4 assignmentKees Bos
2015-06-15Fix 404 on creation of new networkKees Bos
2015-06-15Removed a superfluous cross joinKees Bos
2015-06-15Fix controller/network/*/member/*Kees Bos
Cross join works other than expected or something changed. The _sGetMember2 returned too many rows. Replaced it with an explicit join statement.
2015-06-15Bugfix controller get member infoKees Bos