summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-06-19Fix warnings due to json-c evolutionJosé Bollo4-11/+11
The library json-c now returns size_t instead of int when querying length of arrays. Change-Id: Id52bb8e77da12cb01e61e1a7c7f4ae2fcbe4634e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-18afb-hsrv: Add processing of type application/jsonjobol3-4/+26
Makes the data posted as application/json directly available through json. The previous processing made content transmitted with the content-type application/json available as a string in the field of name "" of the returned json object. Change-Id: I11615b9b147ee4daa1b1358c2bd36fd839d8a7a9 Signed-off-by: jobol <jose.bollo@iot.bzh>
2018-06-15api-v3: First draftJosé Bollo79-4010/+7882
This commit introduces the bindings v3 API for bindings. The documentation has still to be improved and will come very soon. Change-Id: I8f9007370e29f671fdfd1da87fff7372a17db7af Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13jobs: Switch back to sd_eventjobol2-3/+47
Change-Id: I8c9de83d857844b1c5d0d2d26385dbf19fcae228 Signed-off-by: jobol <jose.bollo@iot.bzh>
2018-06-13afb-trace: Restore microsecond timeJosé Bollo1-1/+1
This allow to use accurately float 64 bits for times from 1970 to 2112. Change-Id: I8f57a57edbf5469f827c0eeb80191de934d9841e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13Fixed spellingSebastien Douheret8-15/+15
Change-Id: Id7c183face3179a3b9cec7ed128e3a2561d9f3ad Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-06-13afb-client-demo: real raw output when --raw is setSebastien Douheret1-7/+7
Having a 'real' raw output allows to pipe output with useful tools like jq. For example: afb-client-demo 'localhost:5555/api?token=HELLO&uuid=c' hello ping | \ jq .request.status Change-Id: Ib871a257375bec26f315cdcdbb590033b645ac9d Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-06-13afb-client-demo: improved usage messageSebastien Douheret1-0/+13
Change-Id: Ia529be2bf17d9bce3adfc5cb052afd724ae7bbdf Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-06-13afb-client-demo: Add option -e/--echoJosé Bollo1-2/+20
This option prints the command sent in the same way that it prints the received actions. Change-Id: I55d74f7b8645185f93e3b163cb772c8eb515fad0 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13wrap-json: Update and fixes for y/YJosé Bollo2-25/+66
Change-Id: I9026f3498a4860851a41a0d5d56d1880ece75306 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13afb-hook: Factorize call to pattern matchingJosé Bollo1-4/+6
The pattern matching actually use fnmatch but this could be changed in the futur to some lighter version. Change-Id: I4f3617cd4a5bdf95988428cb184cef9e9543771d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13afb-apiset: manage deletion of apisJosé Bollo2-5/+13
Change-Id: If8b4a2b8773e5e7ce3ae62839193c611eefcb811 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13afb-hook: Refactor timestamps of hooks and traceJosé Bollo2-2/+2
Change-Id: Iebcab280123d1f954eda3b1260d0b984ae3a98b5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13jobs: Fix minor errorsJosé Bollo1-4/+4
Change-Id: I78aeb16fb1cf5b029fb24704d16c42152f9cc909 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13wrap-json: Sync with app-afb-helpers-submoduleJosé Bollo2-9/+6
Change-Id: Idc3360e7b96d5d9dd3fbb39ef97b3dc5d50c54bb Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13wrap-json: Add base64 byte buffer supportJosé Bollo2-3/+225
Change-Id: I1c8e68b248e768b9a6f3cae712035c85b68572f9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13afs-supervisor: Add ws-server optionJosé Bollo3-1/+19
This allow exportation of the API of the supervisor. Change-Id: I167ec94f00f40f8c3640377a46820e6a060b24f1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13jobs: Switch to fdev_epoll instead of sd_eventJosé Bollo3-26/+117
Use by default an epoll of jobs for handling HTTP and websockets. The sd_event loop remains available (to be checked). Change-Id: Iaaad005c9880ba1818936a93c8626490666c9eec Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13fdev: Improve fdev handling with epollJosé Bollo5-16/+74
Change-Id: I53c6eb394772e40f87000a0e5383be923f5d15f1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13jobs: Cosmetic changesJosé Bollo1-4/+10
Change-Id: I7505c3c5bcec9e2b7af645a59a3716cf9bfec552 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13afb-hsrv: remove dependency to systemdJosé Bollo1-15/+16
Change-Id: I42428e7e57cb104b8575b60b1c7985782e9f779f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13Make DBUS transparency optional (off by default)José Bollo4-19/+60
The implementation of API transparency through DBUS is not used at the moment. To improve independancy to systemd (it relies on systemd library) removing it should be possible. Change-Id: I5750a92527dc3e9cf7dcd27625dce6a020797a3d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13afb-hswitch: Improve HTTP scanning of API/VERBJosé Bollo1-10/+25
The previous version wasn't accepting verbs containing slashes (/) but the websocket did. Some interesting use-cases are allowed by accepting to include slashes in verbs. Change-Id: I2786b5ed0e2686c3e68bb9b74923064d8953243c Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-13afs-supervisor: Fix typoJosé Bollo4-17/+29
Change-Id: Icc3c15f577f04117cdfaf2bcbcc4d15a99d02138 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-03-16fdev: Improve readabilityJosé Bollo1-3/+3
Change-Id: If81cdf43703b6ff3128ea79940ce240f56918b9d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-03-16afb-websock: Fix a double freeJosé Bollo2-2/+13
The commit 0ebdff94d461abd4328cf45a6281c15139a045eb of libmicrohttpd fixed a bug but introduced a double free of hreq resource attached to the connection. That commit is between versions 0.9.59 and 0.9.60 of libmicrohttpd. Now, hreq is freed in 'end_handler' of afb-hsrv.c Change-Id: Ia865d65c5f9ef5ce787eb6545802ac8ea37ae468 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-03-16afb-websock: Fix double closeJosé Bollo1-0/+2
Integration with newer versions of libmicrohttpd was closing two times the file descriptor: - one time by the websocket within afb - one time by the upgrade close of libmicrohttpd Thanks to 'autoclose' feature of 'fdev', the solution is quiet easily. Bug-AGL: SPEC-1345 Change-Id: Ifb691b3f69c095b5ff44bfd7f7267ea24d52df6d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-27Update date of copyright noticesJosé Bollo104-104/+104
Change-Id: If9d7e7728df086fbb7214f1de5cbec35cd2f1d9b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-27afs-supervisor: Enforce session check (for token)José Bollo1-10/+10
Change-Id: I6fdc419923944183d12c9c931e90e276f3dc8ac6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-27afs-supervisor: Force replyJosé Bollo1-0/+3
Change-Id: Iba3a80e327b4324c1bdb4f8a0e7b73021d6e4ad6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-27afb-supervision: Fix typoJosé Bollo1-1/+1
Change-Id: Iaff0340d64b02ee24f45caadd01d74314afabacd Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-26afs-supervisor: Fix supervisor deafnessJosé Bollo1-0/+1
Change-Id: I68fc2799d1789cbcf5516539ab2af3ecd9b61e56 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-26afs-supervisor: Add systemd service and configJosé Bollo1-7/+9
Change-Id: I64bf8de01dbb8cf9581ed0be358d81fa84106520 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-26afs-supervisor: Remove dependency to systemdJosé Bollo1-16/+7
Change-Id: I74b455f569f9bf1a6e6970163fb50a946875e42d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-26supervisor: Make it a HTTP serverJosé Bollo9-128/+783
The supervisor now run as an HTTP server by default. Change-Id: Ia0a654cd97c941f15b212c5364d739e2196662e4 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-26afb-session: Fix bugsJosé Bollo1-2/+3
Change-Id: Ib45e2db47827b4527435a40c4b79d02fb3ab488a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-26afb-stub-ws: cosmetic improvementsJosé Bollo1-6/+9
Change-Id: Ib6adf0ca4bdfee9d3da07055430bfe1974ac28bc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-26afb-config: Add traceses for tracing sessionsJosé Bollo3-1/+20
Change-Id: I9d36eb9eb4991066f94b1340262ad27467fc591e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-22afb-supervision: Fix error on 'trace'José Bollo2-3/+3
Change-Id: I81c89e6c9406df583087845d6b38a19fff8ab0eb Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-22xreq: export a function to get reqJosé Bollo2-13/+14
Change-Id: Ie7eac225f514349926341b7db61ea0eb9029c5d8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-22fdev: Introduce fdev for file event handlingJosé Bollo26-133/+649
This is an effort to keep cutting dependency to systemd. Change-Id: I9a0c032a1095e297c7f3ac5b67827fda3658b8d9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-21afb-systemd: Integrate sd-fds featuresJosé Bollo7-100/+43
Change-Id: I59d194ba675912a42922f0905933b1cea796c78a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-21afb-systemd: Isolate systemd main entriesJosé Bollo12-71/+117
This change prepares the possibilty to remove the dependency to systemd/libsystemd. Change-Id: Ife4181d6c7195230a11a32e527b8973af6a096e1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-15afb-monitor: Add session and rework permissionsJosé Bollo3-66/+99
The new verb session is available to get session info and to renew the token. See examples below. The permission required is now just to being check meaning having the token. Example: afb-client-demo -H localhost:5555/api?token=456 monitor session ON-REPLY 1:monitor/session: OK { "response":{ "uuid":"5a30c118-319c-43a2-82d5-fc2198d01938", "token":"", "timeout":32000000, "remain":31999985 }, "jtype":"afb-reply", "request":{ "status":"success", "uuid":"5a30c118-319c-43a2-82d5-fc2198d01938" } } monitor session {"refresh-token":true} ON-REPLY 5:monitor/session: OK { "response":{ "uuid":"5a30c118-319c-43a2-82d5-fc2198d01938", "token":"2f60faf8-ad04-457e-9f56-5c0c20b5f1fc", "timeout":32000000, "remain":32000000 }, "jtype":"afb-reply", "request":{ "status":"success", "token":"2f60faf8-ad04-457e-9f56-5c0c20b5f1fc" } } Change-Id: Ic93bae80616e5dad1640e73ac9f472b7b385104f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-15afb-session: Verbs for timeout and remining timeJosé Bollo2-11/+29
Change-Id: Ia1922187aa78d8633835c4a77e8aa533fa5d5f7d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-15afb-context: Early token changeJosé Bollo1-0/+4
Change-Id: If27d84a702513b92f08c97ef91bf8cf89b5af238 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-15afb-config: Fully exclude config monitoringJosé Bollo1-0/+4
Change-Id: I93b3d49f46d4dec607b08cc439b6cb06cf68ec32 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-15afb-config: Increase the default timeout of sessionsJosé Bollo1-2/+2
The management of sessions is not very well understood actually. People are using it without refreshing the token. This has the effect that the binder closes sessions after one hour. So no demo can run more than one hour! Increasing the timeout to more than one year will solve the demo problem but will not fully solve the overall problem. Bug-AGL: SPEC-1296 Bug-AGL: SPEC-1293 Change-Id: Icb9adb4939a138c19be36280bf1e6643d04489ae Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-15afb-session: Use clock insensitive to time changesJosé Bollo1-1/+9
Bug-AGL: SPEC-1296 Bug-AGL: SPEC-1293 Change-Id: I1838175b48dff8fbf1fd65bd304f9cfe917ced80 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-14afs-supervisor: Add verb for running discoveryJosé Bollo1-3/+20
Change-Id: Iea9e54fa7a1c93ba3927c836d6ca5bcded77ca66 Signed-off-by: José Bollo <jose.bollo@iot.bzh>