aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-06-19Change test/check protocol resultJose Bollo3-26/+49
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-06-14Allow no caching at allJosé Bollo5-26/+30
Change-Id: I73f7a7cc6ab96cc7e6064e267b126b883b94bc69 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-06-13Allow admin to (un)set loggingJosé Bollo7-45/+105
Change-Id: I5479c9e35512ab77a005692903733f7d1af627a3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-06-13Fix saving the database on simple changeJosé Bollo4-3/+4
Change-Id: I393d6aa53b98aff102417c263447e2d34e80d531 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-06-13Add log option for tracking protocolJosé Bollo3-5/+52
Change-Id: Ifb780ac4133732a4218fa3018b9ecec9f3b67718 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-06-13agent-at: Improve commentsJosé Bollo2-14/+65
Change-Id: Ica1479c4ccac93ff153c0e0bf79a3eab6ae882f9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-05-24Sort output of listJose Bollo1-9/+114
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-05-24Add cacheidJosé Bollo11-41/+116
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-22Add environment var for socket namesJose Bollo5-16/+61
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-05-22Refactor agent mechanismJose Bollo10-98/+358
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-05-13Switch to filedbJose Bollo10-993/+911
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-05-09Add help on 'cynadm'Jose Bollo1-1/+226
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-05-09Replace 'always' by 'forever'Jose Bollo1-2/+2
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-05-09Set default socket type to unixJose Bollo1-4/+4
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-05-09Rework transactionJose Bollo7-47/+182
2019-05-09Introduce Any DB abstraction and memdb on its topJose Bollo11-774/+1950
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-05-09Remove session from DBJose Bollo1-33/+26
The stored sessions MUST be *. Some thing still have to be set for sessions. Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2019-04-29Rework of many thingsJosé Bollo31-1217/+1715
Change-Id: Iadeba6f0602f7be017244c2602fae2bbe2abf74e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-09-21Add weeks in expiration textual representationsJosé Bollo2-6/+15
Also set constants compliant to chump compilers. Change-Id: Id22672f8077a9fe6377a10043efec3e78e8eb3a7 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-09-20Add session, value as string and expirationJose Bollo19-479/+941
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é Bollo23-248/+1548
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-09-10Initial commitJose Bollo26-0/+5555
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>