summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-07-13afb-export: Monitor calls to API initialisationJosé Bollo1-19/+49
Catching SEGV or other exceptional execution error is better for the whole process. Change-Id: I0ece72abe5e0a7ebd7d29aafa416462e6e5963af Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-13afb-api-so-v2: Monitor the preinit to catch SEGVJosé Bollo1-1/+24
Add monitoring of preinitialisation of bindings v2 in the hope to better handle arbitrary code execution. Change-Id: I86354caedb17ef9d4904c1f4f47b1ea3c6dd4c40 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-13main-afb-daemon: Kill child instead of itJosé Bollo1-1/+1
Killing afb-daemon when exit is called has bad side effects. Because there is no need to do it now, remove it. Change-Id: I18903bb168b1722a522cb4a78c5c8c2508483996 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-13afb-config: Fix wrong error message and more infoJosé Bollo1-3/+21
The wrong value of the log option wasn't displayed. The output of --version now prints more compile options. Change-Id: I09b8b66279a10cd4b2b6d460b3dbaeb370b3dadd Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-13afb-supervision: Remove dependency to externalJosé Bollo8-14/+23
Also some cleaning in use of extern to allow accurate grep. Removing extern is better for linking and for structuration. Change-Id: I8121c4b9b34fa2737bffd2ecbe170d04d1d60ad1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-09main-afb-daemon: Remove call to "nice"José Bollo1-3/+0
Instead of setting the priority in the binder, delegate that responsibility of setting the priority of the process to the launcher. Bug-AGL: SPEC-1578 Change-Id: Ia6bdbdda72ce76fabc19c6448deeb62e2861dce0 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-08afb-api-v3: Fix a bug introduced by 8ca7b69Jose Bollo1-3/+3
This bug returned a wrong OpenAPI description and produced a memory leaak. It it could be good to rewrite this part using wrap_json_pack. Change-Id: Ie0cf03e4434f8674273e9fac3c49a0f9c8196eac Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2018-07-08afb-cred: Fix memory leakJose Bollo1-3/+5
Change-Id: I1badca46d9e829c9b9443fce0a1e7d6a5ffad595 Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2018-07-06Simplify build by introducing queuing functionJosé Bollo5-188/+46
It is not valuable at the end to continue to have this fake job implementation. So removing it is good. Change-Id: I930ade3e3a511f0ebfb91292e5725ac3be884d44 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-05Remove uses of deprecated macrosJosé Bollo5-7/+0
Change-Id: I439e891d92fb34087755e68102fda97c43b5b786 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-05supervision: Exclude conditionaly the supervisionJosé Bollo3-2/+13
Exclude from the binder the part related to the supervision when the supervisor is excluded from the build. Change-Id: I41193122d63e47b9f0db7f113f88d2d63b783027 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-05Simplify build processJosé Bollo3-0/+11
Allows to compile all files even if it isn't required to simplify the build process. Change-Id: Ie09e99794aa9f57b179c7e4cfa882859958beb7a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-05locale-root: fixed uninitialized variableThierry Bultel1-1/+1
This has become an error since a gcc update Change-Id: Ib49bd8c46091efdfe9483bb29a023a4e97c8db2f Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
2018-07-04afb-trace: Fix bug in tracing of afb_req_get_client_infoJosé Bollo1-1/+1
The utility wrap-json distinguishes o from O, the latest increment the reference count, as expected. Bug-AGL: SPEC-1563 Change-Id: I4490ac894059e47abf1e2474aab07249b862e985 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-04afb-client-demo: Fix bug that forbids interactive behaviourJosé Bollo1-0/+2
Latest change that added script compatibility (see 1f9e60c) introduced a regression that made afb-client-demo not useable interactively. Bug-AGL: SPEC-1562 Change-Id: I1e0ca5caa23ee9838ba8691f384db3d0b13bd488 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-07-03Improve readdirs to follow symbolic linksJose Bollo2-7/+14
The use of symbolic links can be helpful in some cases. That modification takes care of allowing symbolic links in the exploration of directories. Change-Id: I54d9004187ba5942410aca37b890cd4f6925177d Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2018-06-22main-afb-client-demo: Allow scriptingJosé Bollo1-15/+61
This version allows to pipe from a script shell. Change-Id: Ia2bb3e059b8a5a1b097178d2883ef385e7efcdca Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-22afb-autoset: Automatic prefix with unix:José Bollo1-1/+5
Change-Id: I325d768b3bdfcb313b57e1752cbc156b3735b55a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-22afb-api-v3: Refactor verb descriptionJosé Bollo1-17/+34
Change-Id: Iaa1719ee2891d470f8229c6f1b98dd34265593a6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-22afb-api-so: accept symbolic links for bindingsJosé Bollo1-3/+3
Change-Id: I1ef90b0f889767d04f84c8c7eb27d19c04390b15 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-22api-v3: Add monitoring of faults in preinit functionsJosé Bollo3-2/+35
Change-Id: I0abea1aa62d86372f07f61b7c5dc2e854137f99a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-22afb-client-demo: Add option to keep runningJosé Bollo1-4/+12
This option allows to keep the client running even when its input is closed. This will be used for tests and for reporting because it allows to write: echo 'monitor trace {"add":{"api":"*","request":"*","event":"*","session":"*","global":"*"}}' | afb-client -k $WSURL > logfile to capture all events. Change-Id: If1c7804556190fd8ec9388260fe014c50b498b1d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-22Improve documentation of api v3José Bollo5-106/+132
The documentation is improved to reflect the new version. Tune the options Change-Id: I894c3db3bc0c10e89db66a9a51a9ad049bb8c0c4 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-06-19Fix a warning in using readlinkJosé Bollo2-17/+26
The use of the same buffer as input and output of readlink leads to warnings due to restrict use in new versions of GLIBC Change-Id: Ifbf1277b88bd18a9df1e18211d4248e94c16d6da Signed-off-by: José Bollo <jose.bollo@iot.bzh>
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>