Commit Graph

60 Commits (d930d78351a6bf5c5f0b9dd38419ec48c3a4914c)

Author SHA1 Message Date
noah metz 16e25c009f Added ACLExt and tests 2023-10-13 00:32:24 -06:00
noah metz 92d8dfd006 Made status signal printable 2023-10-10 12:53:31 -06:00
noah metz f82bbabc66 Removed extension type from Changes, and made serializable 2023-10-10 11:23:44 -06:00
noah metz 7451e8e960 Added StoppedSignal as stopped status(no db write happens after processing) and added helper functions to stop nodes. 2023-10-06 20:04:53 -06:00
noah metz 96408259d1 Lots of stuff, but mostly sped up NodeID and UUID serialization, can probably generalize to speed up all fixed size arrays 2023-10-01 20:45:44 -06:00
noah metz 5a86334d5a Moved ReqID out of SignalHeader and into ResponseHeader, added ResponseSignal interface for signals that are responses to others 2023-10-01 16:45:03 -06:00
noah metz e013edc656 Fixed bugs found developing tm 2023-09-27 18:28:56 -06:00
noah metz d4e0d855c7 Added serialization for Tree and SerializedType. Changed policies to an array instead of a map 2023-09-20 19:14:28 -06:00
noah metz b09e150c46 Added PostDeserialize to GQLExt to initialize temporary maps/slices 2023-09-20 11:05:47 -06:00
noah metz d86d424cd7 Changed Header to return a non-pointer, and removed extension type from GetCtx generic 2023-09-18 21:43:39 -06:00
noah metz ff7046badf Removed unecessary capnp dependency 2023-09-18 20:11:50 -06:00
noah metz 5c70d1b18d Moved type registration to signal/extension/policy registration 2023-09-12 20:30:18 -06:00
noah metz de54c87e43 Added serialization of StatusSignal 2023-09-12 19:40:06 -06:00
noah metz e2f34150ef Moved serialization to serialize.go and removed n parameter from DeserializeValue 2023-09-05 00:08:09 -06:00
noah metz 1888cf428d Think i finished serialization(other than missing types/kinds), now onto deserialization 2023-09-02 17:30:52 -06:00
noah metz 4daec4d601 Cleanup and move away from capnp to custom TLV serialization 2023-08-31 19:50:32 -06:00
noah metz 7bed89701d Made NewErrorSignal use fmt.Sprintf and tage variable args 2023-08-28 15:09:01 -06:00
noah metz f398c9659e Removed LinkStartSignal 2023-08-15 19:18:21 -06:00
noah metz 98f05d57f9 Added signals to add and remove requirements from a lockable node 2023-08-15 19:17:13 -06:00
noah metz 98c0b7e807 Fixed lockable to properly fail 2023-08-15 18:23:06 -06:00
noah metz b446c9078a Added WaitForResult and removed context arg from WaitForSignal 2023-08-12 11:26:19 -06:00
noah metz 20c7a38044 Policy fun 2023-08-10 23:43:10 -06:00
noah metz f31beade29 Added signature to all signals(signature of serialized signal + source + dest so technically vulnerable to replay) to use for ACL 2023-08-08 14:00:17 -06:00
noah metz 8770d6f433 Moved policies to node instead of an extension, need to fix gql tests 2023-08-07 20:26:02 -06:00
noah metz 1d91854f6f Moved to x25519 for EC operations 2023-08-06 12:47:47 -06:00
noah metz 7d0af0eb5b Added NewSignal that extensions can process when a node is newly created 2023-08-04 19:47:17 -06:00
noah metz 147f44e5ff hehe 2023-08-01 20:55:15 -06:00
noah metz 42cd8f4188 Added AuthorizedSignal wrapper to wrap a signal with an ecdsa signature to prove it originated from a different node 2023-08-01 14:09:29 -06:00
noah metz df09433b88 Changed resolves to map back to request channel specifically instead of to the context 2023-07-31 20:53:56 -06:00
noah metz ed9c353b95 Added read result to default policy allow for all nodes 2023-07-31 19:22:33 -06:00
noah metz 3bc427f2a9 Added default node policy that allows any node to send a response. 2023-07-31 19:16:23 -06:00
noah metz 42597057af Fixed IDSignal 2023-07-31 18:31:32 -06:00
noah metz 09c25b1e48 Moved UUID field to all signals to nodes can wait for responses to specific signals 2023-07-31 18:29:26 -06:00
noah metz 0313d6a33f Added start signal, and used it to restore gql server if was previously running 2023-07-31 16:25:18 -06:00
noah metz fde2f3ddd4 Renamed signals and added ErrorSignal 2023-07-30 23:42:47 -06:00
noah metz 1af94520a8 Added option to wait for signal indefinitely 2023-07-30 13:19:51 -06:00
noah metz 96c2b84b6f * 2023-07-30 10:09:04 -06:00
noah metz 1a3a07336a Added back GQL functionality, TODO pool channels for resolve executions instead of creating new ones and GCing them every time 2023-07-29 16:00:01 -06:00
noah metz 2dfa10b1f6 Renamed GQL functions to remove GQL 2023-07-29 11:03:41 -06:00
noah metz 641bd8febe Moved ecdh to it's own extension 2023-07-29 00:28:44 -06:00
noah metz f87571edcf Moved test 'WaitForX' functions to a generic function in signal.go that can be used to wait for arbitrary signals 2023-07-28 19:32:27 -06:00
noah metz 5fb1cb6d17 Changed node ids to be derived from signing keys 2023-07-28 15:07:38 -06:00
noah metz 61de2669e2 Added test to create 10K lockables and link them to a single lockable 2023-07-28 12:46:06 -06:00
noah metz 08288f88af Added basic test for read result with ACL 2023-07-28 11:59:01 -06:00
noah metz fc69bc3d0d Added read signal, and modified policies to use non-pointer receivers 2023-07-28 11:21:18 -06:00
noah metz b3de3144cc Reworked actions to be lists of parts, and added wildcards for both multi-level and single-level 2023-07-28 10:04:31 -06:00
noah metz 27687add1b Changed acl from using SignalType to Action, and added Permission() method to Signal interface that returns the Action the signal is trying to take 2023-07-28 00:39:27 -06:00
noah metz a44b00bc97 Made it easier to make a lockable extension 2023-07-27 18:37:06 -06:00
noah metz 200e19eea7 Added signalling to lockable test 2023-07-27 18:16:37 -06:00
noah metz 98893de442 Added naive locking sequence with short test 2023-07-27 18:08:43 -06:00