src/cynagora.git
5 years agoFix setting of socket directory
Jose Bollo [Mon, 9 Sep 2019 13:49:25 +0000 (15:49 +0200)]
Fix setting of socket directory

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoImprove help
Jose Bollo [Mon, 9 Sep 2019 10:30:25 +0000 (12:30 +0200)]
Improve help

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoFix missing new lines
Jose Bollo [Mon, 9 Sep 2019 10:28:46 +0000 (12:28 +0200)]
Fix missing new lines

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agocache: fix bug
José Bollo [Fri, 16 Aug 2019 15:47:59 +0000 (17:47 +0200)]
cache: fix bug

Change-Id: Ie1d65068f962335b46bd2ca259a002eb559db83c
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agocynadm: Add options --cache and --echo
José Bollo [Wed, 14 Aug 2019 10:23:06 +0000 (12:23 +0200)]
cynadm: Add options --cache and --echo

The option --cache allows to set the cache size

The option --echo allows to emit the evaluated commands

Change-Id: If57d2a229dd263bf77a61973633d7447441277b0
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agotests: add stress-cache test
José Bollo [Wed, 14 Aug 2019 09:32:25 +0000 (11:32 +0200)]
tests: add stress-cache test

Change-Id: Ieccbd068c032e141c41eb7e2c53969348a959208
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agorcyn-client: fix strange typo
José Bollo [Wed, 14 Aug 2019 08:51:06 +0000 (10:51 +0200)]
rcyn-client: fix strange typo

Change-Id: I5eec641721ba1a8b5bd489e4438fb0f0ccad40f1
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agolib-compat: Improve debugability
José Bollo [Wed, 14 Aug 2019 08:50:18 +0000 (10:50 +0200)]
lib-compat: Improve debugability

Change-Id: I2fa317b494f02c2725886a9874af340337b082cb
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agocache: improve cache management
José Bollo [Wed, 14 Aug 2019 08:48:54 +0000 (10:48 +0200)]
cache: improve cache management

Change-Id: I2a95154e728bf87976280b52ae0214664b107fd6
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoFix tab/space issue
José Bollo [Wed, 14 Aug 2019 05:44:47 +0000 (07:44 +0200)]
Fix tab/space issue

Change-Id: I1ef85b90f5361af31247f0547376af0e5f08f14d
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agomake valgrind happy
Jose Bollo [Sat, 10 Aug 2019 06:35:36 +0000 (08:35 +0200)]
make valgrind happy

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoAdd and improve asynchronous clients
José Bollo [Fri, 9 Aug 2019 14:51:23 +0000 (16:51 +0200)]
Add and improve asynchronous clients

The client program cynadm gets 2 new commands:
acheck and atest that are intended to use
asynchronous test and check.

The client programs cynadm and test-old-cynara
now read as much a possible input before to
process asynchronous answers. This is made to
simulate congestion on asynchronous client.

Change-Id: I1c9dbfe43f150725d530c155135ead8e758897e5
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoImprove internal type "data_key_t"
José Bollo [Tue, 6 Aug 2019 21:08:07 +0000 (23:08 +0200)]
Improve internal type "data_key_t"

Change-Id: I0d2d1566819dc595e46ab09cdab9b8c1dd5b6537
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agocynadm: fix empty list bug
José Bollo [Fri, 26 Jul 2019 13:49:09 +0000 (15:49 +0200)]
cynadm: fix empty list bug

Change-Id: I3f64af57796dfc6b38f4cd51ab838e820e6cbb9c
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agocache: Fix bug of memmove
José Bollo [Fri, 26 Jul 2019 12:27:13 +0000 (14:27 +0200)]
cache: Fix bug of memmove

Change-Id: I75b346ea71a0c3fbc1109cd0aedf9ed7c5ebbce9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agocynadm: fix help for 'cache'
José Bollo [Fri, 26 Jul 2019 08:06:00 +0000 (10:06 +0200)]
cynadm: fix help for 'cache'

Change-Id: I08a7a254ccef10036a4dbb1ef05d3198f5801457
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agocynadm: align listing on left
José Bollo [Fri, 26 Jul 2019 08:02:49 +0000 (10:02 +0200)]
cynadm: align listing on left

Change-Id: I51876cc4bf85d692a8bee7cf272d5eeddff9c2a7
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoAvoid fortify false positive
José Bollo [Thu, 25 Jul 2019 16:56:53 +0000 (18:56 +0200)]
Avoid fortify false positive

Change-Id: Iceb888ed5cccc46bde9e479a2b1ae9a5a6c4ee53
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoInstall agent socket for systemd
José Bollo [Tue, 23 Jul 2019 16:08:16 +0000 (18:08 +0200)]
Install agent socket for systemd

Change-Id: I838788b71908a287fe45c59ed51c20a3f8007a70
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agofiledb: fix a warning
José Bollo [Fri, 12 Jul 2019 08:23:51 +0000 (10:23 +0200)]
filedb: fix a warning

Change-Id: If2f4c07addbf7843f6c4cb2b26da1f9b902ee60f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoChange test/check protocol result
Jose Bollo [Wed, 19 Jun 2019 13:02:32 +0000 (15:02 +0200)]
Change test/check protocol result

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoAllow no caching at all
José Bollo [Fri, 14 Jun 2019 15:28:27 +0000 (17:28 +0200)]
Allow no caching at all

Change-Id: I73f7a7cc6ab96cc7e6064e267b126b883b94bc69
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoAllow admin to (un)set logging
José Bollo [Thu, 13 Jun 2019 19:17:46 +0000 (21:17 +0200)]
Allow admin to (un)set logging

Change-Id: I5479c9e35512ab77a005692903733f7d1af627a3
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoFix saving the database on simple change
José Bollo [Thu, 13 Jun 2019 14:28:49 +0000 (16:28 +0200)]
Fix saving the database on simple change

Change-Id: I393d6aa53b98aff102417c263447e2d34e80d531
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoAdd log option for tracking protocol
José Bollo [Thu, 13 Jun 2019 11:32:26 +0000 (13:32 +0200)]
Add log option for tracking protocol

Change-Id: Ifb780ac4133732a4218fa3018b9ecec9f3b67718
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoagent-at: Improve comments
José Bollo [Thu, 13 Jun 2019 11:31:54 +0000 (13:31 +0200)]
agent-at: Improve comments

Change-Id: Ica1479c4ccac93ff153c0e0bf79a3eab6ae882f9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoImprove formatting of 'cynara.initial'
José Bollo [Fri, 7 Jun 2019 14:51:04 +0000 (16:51 +0200)]
Improve formatting of 'cynara.initial'

Change-Id: I3aa631e0348ab2b1a80b5976e19829ffe75fa673
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
5 years agoRework the initial definitions for agent @
Jose Bollo [Fri, 24 May 2019 14:49:02 +0000 (16:49 +0200)]
Rework the initial definitions for agent @

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoSort output of list
Jose Bollo [Fri, 24 May 2019 14:48:20 +0000 (16:48 +0200)]
Sort output of list

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoAdd cacheid
José Bollo [Fri, 24 May 2019 10:21:33 +0000 (12:21 +0200)]
Add cacheid

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>
5 years agoAdd environment var for socket names
Jose Bollo [Wed, 22 May 2019 14:03:10 +0000 (16:03 +0200)]
Add environment var for socket names

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoRefactor agent mechanism
Jose Bollo [Wed, 15 May 2019 07:08:08 +0000 (09:08 +0200)]
Refactor agent mechanism

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>
5 years agoSwitch to filedb
Jose Bollo [Mon, 13 May 2019 14:31:55 +0000 (16:31 +0200)]
Switch to filedb

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoAdd help on 'cynadm'
Jose Bollo [Thu, 9 May 2019 13:06:41 +0000 (15:06 +0200)]
Add help on 'cynadm'

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoReplace 'always' by 'forever'
Jose Bollo [Thu, 9 May 2019 13:04:55 +0000 (15:04 +0200)]
Replace 'always' by 'forever'

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoSet default socket type to unix
Jose Bollo [Thu, 9 May 2019 11:44:11 +0000 (13:44 +0200)]
Set default socket type to unix

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoRework transaction
Jose Bollo [Wed, 8 May 2019 13:12:16 +0000 (15:12 +0200)]
Rework transaction

5 years agoIntroduce Any DB abstraction and memdb on its top
Jose Bollo [Thu, 2 May 2019 15:10:08 +0000 (17:10 +0200)]
Introduce Any DB abstraction and memdb on its top

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
5 years agoRemove session from DB
Jose Bollo [Mon, 29 Apr 2019 15:52:42 +0000 (17:52 +0200)]
Remove session from DB

The stored sessions MUST be *.
Some thing still have to be set for sessions.

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
6 years agoRework of many things
José Bollo [Tue, 5 Feb 2019 15:14:10 +0000 (16:14 +0100)]
Rework of many things

Change-Id: Iadeba6f0602f7be017244c2602fae2bbe2abf74e
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
6 years agoAdd weeks in expiration textual representations
José Bollo [Fri, 21 Sep 2018 07:28:39 +0000 (09:28 +0200)]
Add weeks in expiration textual representations

Also set constants compliant to chump compilers.

Change-Id: Id22672f8077a9fe6377a10043efec3e78e8eb3a7
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
6 years agoAdd session, value as string and expiration
Jose Bollo [Wed, 19 Sep 2018 12:52:03 +0000 (14:52 +0200)]
Add session, value as string and expiration

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>
6 years agoMake it work for AGL
José Bollo [Tue, 11 Sep 2018 09:28:34 +0000 (11:28 +0200)]
Make it work for AGL

Signed-off-by: José Bollo <jose.bollo@iot.bzh>
6 years agoInitial commit
Jose Bollo [Mon, 10 Sep 2018 10:00:18 +0000 (12:00 +0200)]
Initial commit

Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>