summaryrefslogtreecommitdiffstats
path: root/src/cyn.h
AgeCommit message (Collapse)AuthorFilesLines
2019-10-03Improve commentsJose Bollo1-7/+129
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-09-30Change agent interfaceJose Bollo1-2/+25
Instead of using callbacks, create the query to allow processing subqueries in response to agent queries. Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-09-27More comment for cyn.[ch]José Bollo1-5/+115
Change-Id: Ia3e6ca458f27ede690cfc6934dd9a6b320ed5d67 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-05-24Add cacheidJosé Bollo1-0/+14
The idea is to allow a client to disconnect and reconnect without losing its cache. Change-Id: I017176e5eb5f553b961a32ee466d1b7a175532bb Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-05-22Refactor agent mechanismJose Bollo1-9/+11
Agent are now named and called when the value returned is prefixed by name+colon. For example, the agent 'me' receives the requests 'request' and the asked key for the rule: * * * * me:request forever Add the always available AGENT-AT implementation. The AGENT-AT handles the value prefix @: to re-ask the database with a query derived from the value. Example: the rule * * 1001 * @:%c:%s:OWNER:%p forever if selected for the query key {client=C, session=S, user=1001, permission=P} will produce the evaluation of the key {client=C, session=S, user=OWNER, permission=P} The values @: are structured as 4 field separated by colons (:). The sequences %c, %s, %u, %p, %% and %: are substituted by client, session, user, permission, % and :, with values coming from the original request. Change-Id: I7043845292f13f9c269a71cfabc4715330eaff34 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-04-29Rework of many thingsJosé Bollo1-55/+55
Change-Id: Iadeba6f0602f7be017244c2602fae2bbe2abf74e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-09-20Add session, value as string and expirationJose Bollo1-7/+10
The DB now records sessions. It has expiration management (currently coarse: ~16s, see db.c) that is propagated to caches. Values are now strings. Default values are "yes" and "no" for allowed or denied permissions. new program: cynadm Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2018-09-17Make it work for AGLJosé Bollo1-5/+17
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-09-10Initial commitJose Bollo1-0/+113
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>