summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-09-07Allow renaming of APIJosé Bollo5-25/+70
The function afb_daemon_rename_api allows to rename an API during the preinit phase. Change-Id: I35477ba99d35b1dc51a7cacf8e55c3f02d86d7b4 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07afb-ditf: use NULL function featureJosé Bollo1-2/+2
It is now safe to put NULL for function name. Change-Id: I83afc47e38b823e924ae8dab60a7a24065ae0ef6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07Improve handling of verbosity in bindingsJosé Bollo9-11/+10
The macro AFB_BINDING_PRAGMA_NO_VERBOSE_MACRO is removed. The macro AFB_BINDING_PRAGMA_NO_VERBOSE_UNPREFIX is removed. The macro AFB_BINDING_PRAGMA_KEEP_VERBOSE_UNPREFIX is now used to activate the weakly named verbose macros DEBUG, INFO, NOTICE, WARNING, ERROR. The macros AFB_BINDING_PRAGMA_NO_VERBOSE_DATA and AFB_BINDING_PRAGMA_NO_VERBOSE_DETAILS can be used to tune what verbose parts are to be emitted: If AFB_BINDING_PRAGMA_NO_VERBOSE_DATA is defined then the macro will only report the file and the line that emitted the message. This mode is intended to reduce the count of static data plugin the binary. If AFB_BINDING_PRAGMA_NO_VERBOSE_DATA is not defined and AFB_BINDING_PRAGMA_NO_VERBOSE_DETAILS is defined, this is the opposite: the messages are emitted but not the file, line and function. When none of these 2 are difened, everything is emitted: the message and the details. Change-Id: Ibb83cd435797fadf90626cb06bbda77f0f8b3cde Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07Improve handling of verbosityJosé Bollo3-11/+82
The macros VERBOSE_NO_DATA and VERBOSE_NO_DETAILS can be used to tune what verbose parts are to be emitted: If VERBOSE_NO_DATA is defined then the macro will only report the file and the line that emitted the message. This mode is intended to reduce the count of static data in the binary. If VERBOSE_NO_DATA is not defined and VERBOSE_NO_DETAILS is defined, this is the opposite: the messages are emitted but not the file, line and function. When none of these 2 are difened, everything is emitted: the message and the details (file, line and function). At the same time the emission of the details (file, line, function) is not done for levels NOTICE, INFO, DEBUG on the console Change-Id: Ibb83cd435797fadf90626cb06bbda77f0f8b3cde Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07afb-ditf: track daemon stateJosé Bollo4-5/+42
Change-Id: Ic21c79dcd9908919a1a8d13e8747ef0bd2490477 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07afb-hook: change output formatJosé Bollo1-4/+4
Putting HOOK: in front is better because other outputs are also prefixed with SOMETHING: It greatly improves readability Change-Id: I591126198b630e3b7977ecb2501bc59163fd0c11 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07afb-hook: output hooks to stderr directlyJosé Bollo1-3/+36
Change-Id: Ife66db644c62ea4a3e7be11e7f454234c093a824 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07Implement afb_req_has_permissionJosé Bollo5-31/+61
This new verb is available in bindings to check whether the client identified by a request has a given permission or not. Change-Id: I5eaa0892d8260d26bd76f37123251c103c981e10 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07afb-auth: improve afb_auth_check_permissionJosé Bollo1-6/+12
The test was previously done in the caller but because afb_auth_check_permission can now be called by other callers, the test must be relocated. Change-Id: I08a3a92afbe0b4dcfb223335b1e76b2d4aff005f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07afb-auth: export method to check a single permissionJosé Bollo2-5/+5
Change-Id: I45c4872f34ff8f25c14872d7b3610fa15f48062e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07afb-auth: revert order of arguments (minor)José Bollo3-10/+10
Change-Id: I29140a3c047799ee600051fb62998e7bb73d45f5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07afb-api-so: take care of SIGSEGV in dlopenJosé Bollo1-3/+32
In some case, dlopen raise a segmentation fault. This commit takes care of this. Change-Id: I6cbe59de2422dafcdf3714d0539b1757511c100b Bug-AGL: SPEC-662 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-07sig-monitor: handle SIGSEGV in backtraceJosé Bollo1-11/+37
There was cases were the backtrace raised a segmentation fault. This commit also improves unblocking of signals in handler. Change-Id: I09493d3ecc4b477660366ea213bf451c9ae7d517 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-05Fix segmentation fault when random tokenJosé Bollo3-2/+10
Change-Id: I98795f71dfab1fbc86d694d7ed357ae8387abd5d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-05sig-monitor: Dump stack atomicallyJosé Bollo1-8/+25
Emitting the stack as a single string avoids its accidental split and is better when receiving monitoring events. Change-Id: I74c16f36f026b4af4a42064f694ac1f4a342cc1f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-05afb-apiset: Refactor and cleanJosé Bollo3-25/+22
Change-Id: I063329b23f4476e2570e99dfc639b11320df41d2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-05afb-api-ws: Fix bug introduced by 2e83db0José Bollo1-1/+1
Change-Id: Ia73d2d49ac888770f78d65a6258c0184b6aaa2da Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-09-01Give priority to option --bindingJosé Bollo1-1/+1
Change-Id: I822f2d50a35fdffae82678c67be0e017d54cebff Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-31Make noconcurrency more efficientJosé Bollo6-41/+16
The previous handling of noconcurrency suffered of inefficiency, was complicated and dedicated to api-so-v2. Change-Id: I32aea9187663ac533819496e9dc9b944db0d89ec Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-31afb-apiset: refactor access to apisJosé Bollo6-64/+38
Change-Id: If003067ada5802b7d77f06f560a5d07464909a61 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-31afb-trace: use constants for verbosity levelJosé Bollo1-1/+2
Change-Id: I0908c5057efe5360cccd3b2e1e3f926f48453bd2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-31verbosity: fixes split verbosity level 1 in 2 levelsJosé Bollo1-10/+11
The names wasn't correctly reported by monitor Change-Id: Id382d7fdc3bb56c8c11c865439e7e18c257df3a2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-31afb-svc: make service existing during its initialisationJosé Bollo4-94/+71
The initialisation of services is splitted in two parts: - the creation and allocation of the structure for the service. - the initialisation once the structure is ready and recorded. Change-Id: I05c89fb513869d45e6b8413699fba234f00ce6b1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-31jobs: optimized version of fix starveJosé Bollo1-28/+19
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-30jobs: fix starveJosé Bollo1-13/+33
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-30afb-api-ws: check that the ws-server API existJosé Bollo1-0/+7
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29hooking: Add hook at global scopeJosé Bollo4-10/+262
Actually the global scope only allows to trace log messages. Change-Id: Ib73edf2e3168311b2ad694d857e6647e34884313 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29verbosity: split verbosity level 1 in 2 levelsJosé Bollo1-6/+7
Change-Id: I32a96f1863caffa6a17c25f52d06538f8eb60555 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29verbosity: Prepare hooking of log messagesJosé Bollo2-21/+61
Change-Id: Icfe96d2fee2d3b699dfa9105fcfe62d4eced2557 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29main: set name even for syslogJosé Bollo1-2/+2
Change-Id: I67d74cc2d539651101e82b17d50c8afb8dde621a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29hook+trace: add a unique timestampJosé Bollo3-175/+187
A same event must have a unique time stamp. Change-Id: Id33351a97f62c04a84d26995a2cf9ae80613c613 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29hook+trace: adds hookid and typeJosé Bollo3-218/+235
The hookid is a unic identifier for a hook event. Its purpose is to distinguish events that could match different filters: a same event has a same id. Also integrate the field "type" (of the event) in the trace event. Change-Id: I90b0b2d3a0846b673b993110d2752cc54db75bd8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29afb-config Copies the values of option --execJosé Bollo1-2/+27
Not copying is not possible if the name of the process is changed. Change-Id: I52122c84234ac275975dae47c23c9d7240b82df8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29process-name: fix a warningJosé Bollo1-1/+0
Change-Id: I1e70cded34b080215b53b8bb28945303d4e5f3e6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29Add option --name for naming the processJosé Bollo6-1/+113
This option allows to set the command line and the thread name of the main process. The value can contain spaces that will be replaced by nulls. Change-Id: I895270a24663467b16fb3cd8fc3218b7b003b6bb Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-29afb-config: update the output of the configJosé Bollo2-1/+11
Change-Id: I1dbc3c0b0c84cb34da1c8851044a6e72e4dfbd34 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-28build config: remove forced AGL_DEVEL from src/CMakelists.txtStephane Desneux1-1/+0
Change-Id: I6fd44469b148732103d4b903f94c355f2bd231ee Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2017-08-28fix typoStephane Desneux1-6/+6
Change-Id: Ifb2de3c13f814f16f23ead9357f4fec97b3e675c Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2017-08-27monitoring: add default page index.htmlJosé Bollo1-1/+1
This allows to acces monitoring interface using url HOST/monitoring/ when option --monitoring is set. Change-Id: If7dfc89e4c4db0d87ec5c8e74f9243691a3ec0e8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-27afb-config: rework on option --random-tokenJosé Bollo2-22/+8
When set, this option will enforce a random token in any cases. Not using the option --token has the same effect asking for a random token. So the option now serves to enforce a random token. Change-Id: Iea2cee44b95d5479c36217d312ab6e8ce6726005 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-27monitoring: Add option --monitoringJosé Bollo1-0/+19
Installs basic interface for monitoring and add the option --monitoring / -M to activate the alias /monitoring. This makes the page /monitoring/monitor.html available. Change-Id: Iebe0959f0a5e7c396fe7ce6862d0f9c883733824 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-27afb-config: Add short -p option for --portJosé Bollo2-3/+6
Change-Id: Iae8475559ee2381ee7d687c6afc2e6ce7145ebf3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-27monitoring: improvementsJosé Bollo1-1/+1
- use flex/css for correct layout - handles disconnection nicely - handles initial token - fix typo in afb-api-so Change-Id: I386b98f9d6a2182029d39a373a9820478f97cfa6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-26src/afb-api-so.c: fix uninitialized variableStephane Desneux1-1/+1
Change-Id: If7f576e8f4bdc613d836c158df6e5f0bbfea87b7 Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2017-08-25afb-config: copy string valuesJosé Bollo1-5/+16
Change-Id: Ibbc5924adef104d9ec7399e7943baa1d799d2572 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-25afb-config: Improve naming (cosmetic)José Bollo1-8/+8
Change-Id: Ib3133cbcd458fbd1ca1ee5aac64700c9ebc83b60 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-25afb-config: Optimize boolean flagsJosé Bollo1-3/+6
Change-Id: I476cb5c7cd873802273f243eb3454857c8723e96 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-25Add option --no-ldpaths to avoid default ldpathsJosé Bollo2-2/+10
Instead of writing --ldpaths=/dev/null simply use the option --no-ldpaths Change-Id: Ia278989b90a079d998ba0cbb7a6bb78c46d58090 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-25Add option --weak-ldpaths (for weak loading path)José Bollo3-2/+9
This option allows to specify a loading path where binding that fails on load are ignored. Change-Id: Ie0646f88ba9207dd117737a8b251a7a42f424f02 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-08-25afb-api-so: fix a bug in error detectionJosé Bollo3-15/+34
Error detection wasn't reported when an error occured in a subdirectory. Also closes the opened directories on error and allows a mode for ignoring binding errors. Change-Id: I34e52de8ea71bf84556878a395b56c6628cc5d9a Signed-off-by: José Bollo <jose.bollo@iot.bzh>