summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-02-13afb-session: Insert call to hookingJosé Bollo1-7/+20
Change-Id: I7d91b133761c7c751300bf1344321e295cce1bc3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-09afb-hook: Add hooks for sessionJosé Bollo2-4/+228
Change-Id: I4fbd6bf57958abb366a742b12afb92bfc03ad299
2018-02-09afb-session: Refactor and test unitJosé Bollo6-242/+549
The session are refactored and now to include a test unit. Change-Id: Ia8c4b707191f3af95c0549b333d14b384a81eaa7 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-09afb-stub-ws: Fix a session leak bugJosé Bollo1-1/+1
Change-Id: I55b72d7a4e7ca18e61addb3b0efa2ec75729060b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-09afb-config: Improve doc of option --tokenJosé Bollo1-1/+1
Change-Id: I196c7f2b216e031f52b208e19c6c2df8593d27c5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-09main: Isolate HTTP initializationJosé Bollo1-10/+10
Initializations linked to HTTP are deferred until starting the HTTP server. Change-Id: I917c4c5db3c3ae894ee60fd16b9e09d4185fcdb4 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-09afb-session: Return an initialization statusJosé Bollo3-5/+18
Avoid exiting anywhere Change-Id: Ic24a2c7435645632d609fb16849d33b204062397 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-09afb-session: Fix a typoJosé Bollo1-5/+5
Change-Id: Ia834cfd203ab1471efa21ce650fcd7895370dc63 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-06jobs: Add argument to startJosé Bollo3-5/+10
Change-Id: I89a75a036c60097fb898ab8723007ca6ebfc7f39 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-06afb-xreq: Export afb_request facilitiesJosé Bollo2-73/+73
Internally, the binder can need to convert afb_request to xreq and conversely. Exporting this facilities is good. Change-Id: I5bb01d701eee0ac30ad6ce490609f6124a9d5860 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-06afb-trace: Replace daemon by api nameJosé Bollo3-11/+11
This replacement greatly improves the code. Change-Id: If3fd6e6080eda2268ccf551998f99af01799be29 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-31afb-evt: Add event creation with prefixJosé Bollo3-11/+32
Change-Id: I2fd35e8ed59c28f4283be698a2586cdae5f7c8cf Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-31afb-api: Enforce api names to be hookableJosé Bollo7-8/+8
Change-Id: Ic1d5cb208c636d3261e1a96c4a81b488cb84a60e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-31afb-hook: Allow to unhook some apisJosé Bollo2-33/+47
The apis starting with a $ (dollar) will not be tracked by hooks Change-Id: I3b83458c288ef1eb27993d4c71785b32e5a72deb Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-18jobs: Integrate systemd watchdog by defaultJosé Bollo1-0/+9
Change-Id: Iaa3ce3ee9188e3ddaf6ee70964963d29df78689f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-18jobs: Split jobs_get_sd_eventJosé Bollo1-5/+16
Provide a mutex locked internal function for getting the event loop: get_sd_event_locked Change-Id: I2635f901b3ec0fcf2c52f569f4c57cfd046601af Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-18afb-common: CleanupJosé Bollo1-25/+0
Change-Id: Ifc5adbdc92c3d034c92dd432c72057f3267c4964 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-18afb-hreq: Dichotomic mimetype searchJosé Bollo1-7/+11
Change-Id: I6d906c31cdcf07c5404f1eb81cd44683976465f7 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-18afb-hreq: Sort mimetypesJosé Bollo1-9/+9
Change-Id: I45ae5a702b83dabe081b625b4bcaf5de33ffa1e6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-18afb-hreq: Add json to known mimetypesLoïc Collignon1-0/+1
Change-Id: Ic11ebf7e569160dd25e66a1273904dfcd82bdeb8 Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
2018-01-05afb-client-demo: Fix memory leakJosé Bollo1-0/+1
Change-Id: I636b95459715f3b272509eb76e304a49593fb527 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-05afb-api-so: Exclude directories starting with .José Bollo1-0/+42
Exclude from the search of bindings any directory starting with a dot (.) by default. It is possible to reactivate the prvious behaviour by defining the following preprocessor variables - AFB_API_SO_ACCEPT_DOT_PREFIXED_DIRS When this variable is defined, the directories starting with a dot are searched except if their name is "." or ".." or ".debug" - AFB_API_SO_ACCEPT_DOT_DEBUG_DIRS When this variable is defined and the variable AFB_API_SO_ACCEPT_DOT_PREFIXED_DIRS is also defined scans any directory not being "." or "..". The previous behaviour was like difining the 2 variables, meaning that only . and .. were excluded from the search. This change is intended to definitely solve the issue SPEC-662. Yocto installed the debugging symbols in the subdirectory .debug. For example the binding.so also had a .debug/binding.so file attached. Opening that debug file made dlopen crashing. See https://sourceware.org/bugzilla/show_bug.cgi?id=22101 Bug-AGL: SPEC-662 Change-Id: Ic38a83aaa5f16d938e504aba66597bb9a219c193 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-01-02afb-binding.hpp: Fix constexpr of 'binding'José Bollo1-1/+1
Change-Id: Icdee4029f11dcb6c0f75e945e0b411ea63654afe Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-12-21genskel: Add afb:: namespace prefixJosé Bollo1-3/+3
Change-Id: I0cd2d09f97fac7a1976d2bfcd5ab616472bf970a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-12-21genskel: Add option for C++ outputJosé Bollo1-10/+26
The option --cpp or -x tell to produce a C++ output that uses the 'constexpr' c++ feature. Change-Id: I4eda4d21260573acbb01057ed95476bd4fc7ebe5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-12-21sig-monitor: Handle signals in exitJosé Bollo1-2/+23
Change signal treatment when exit is called internally by sig-monitor. Change-Id: Ieb6261b2143811d7abcbc49b134e919c8c5626dc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-12-21sig-monitor: Make signal list globalJosé Bollo1-22/+22
Change-Id: I456a08dccf65d1a188e7bb7e0a6ab905ae823a25 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-12-18afb-hreq: Add predefined mime-typesJosé Bollo1-7/+18
Add mimetypes for common extensions for conformance to https://www.w3.org/TR/widgets/#rule-for-identifying-the-media-type-of-a-file Change-Id: I3ae51afbbc2916b7237e4fa546392ec7ec5ea42a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-12-05afb-api-ws: Make weak ws-client by default (to be fixed)José Bollo3-4/+16
The case of unicens service that can be here or not creates problem to the binding 4a when the service is not here. This commits makes the requirement of ws-client socket optional. This unblocks the situation but need to be fixed later. Bug-AGL: SPEC-1151 Change-Id: I569fa781c003492a4c6a7ad84c5b140ecdb05b65 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-12-04Remove unused and confusing filesJosé Bollo5-387/+0
Change-Id: I8362d8d7bf0f11a41ef2275614e9ef2bcf0fee29 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-12-01jobs: Fix locks in event loopsJosé Bollo1-11/+17
Change-Id: Ie07a9bc4f930a0ecd2102a94e7f5f7b0daa705ef Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-30jobs: Fix possible race conditionJosé Bollo1-2/+4
Sending the signal while not being sure that is is expected could be a race condition. Taking the mutex avoids it. In the same time, switch to broadcasting. Change-Id: I3f43d0d860cccc61ec140ceef223f572f806872c Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-29afb-config: Check environment variablesJosé Bollo1-0/+35
The following environment variables allows several setting by the environment: * AFB_TRACEREQ, AFB_TRACEDITF, AFB_TRACESVC, AFB_TRACEEVT These variables allows setting of options --tracereq, --traceditf, --tracesvc, --traceevt * AFB_LDPATHS Set the option --ldpaths Change-Id: I22700c658ce3fa1ceb15eab8f67adaaf41627b8f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-29jobs: rewrite of the event loop handlingJosé Bollo1-106/+108
This new version use an eventfd to unlock the event loop when needed. This reduce the count of sd_event needed. Bug-AGL: SPEC-1091 Change-Id: I9bc273e89ab1a70ccc2187c2571e68c9c771ee25 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-29afb-ws & websocket: Fix writing very long dataJosé Bollo3-21/+47
This version loops to write very long data on websockets. Bug-AGL: SPEC-1091 Change-Id: I8f17e75e4ef483be29fa8cae2c0af159783ec2c6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-20CMAKE: refactor optionseel_4.99.3eel/4.99.34.99.3José Bollo8-52/+40
The option ALLOW_NO_BINDER is removed and the option ONLY_DEVTOOLS is introduced. Change-Id: Ia19eb977ee25a3871582605028fdef75e552363f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-20Merge "Fix build for native package"José Bollo1-3/+5
2017-11-20Fix build for native packageRonan Le Martret1-3/+5
* If the package is natively compile, the gcc used is the host gcc, and host gcc version must be >4.9. This is unneeded for the mode ALLOW_NO_BINDER (like in native). Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2017-11-17fix build errorJosé Bollo1-1/+1
Change-Id: I6ff16055597d36290f50b40d6dfe960aea691652 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-17afb-proto-ws: Fix autolock in proto-wsJosé Bollo4-50/+249
Because a systemd event loop can not be reentered while evaluating an event callback, the event loop was removed from the threads. It had the effect to enter in deadlock when calling a synchronous call while in an event callback. Queueing a job solves the issue. But because using queued job has implications on libafbws, a fake job manager is added for libafbws. Change-Id: Id793bea55743790082eaab48cd4cc87f7993772a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-17CMAKE: allow to compile afb-genskel onlyJosé Bollo3-13/+44
When missing components are detected, allows to not compile the binder if ALLOW_NO_BINDER is ON Change-Id: I0fb27844e3f36d4dd643bdf250f05b4f6769bc53 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-13afb-export: Ensure monitoring of eventsJosé Bollo2-1/+2
Change-Id: Id82c624f695a229023447c16652bcc912b6d6fed Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-12monitoring: Set default token to HELLOJosé Bollo2-2/+2
Change-Id: I3c158598da70089b9646233c632f14f62f1baa15 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-11afb-proto-ws: fix self locking issueJosé Bollo1-29/+82
Calling synchronously a verb on an event of the same API was blocking. Change-Id: I58a988c6df8c60cd3a38c3cdff23d7be8b6be54e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-07afb-stub-ws: autoclose session on disconnectionJosé Bollo3-1/+12
Change-Id: If46ca2fa34a080b7087edb4e0da109c5ee85b14f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-07afb-stub-ws: manage closed sessionsJosé Bollo3-47/+76
Change-Id: I16620f12719c222c0da03caf330a865149fe9051 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-07afb-session: improve namingJosé Bollo1-12/+12
Change-Id: I6692f9089be355995d5caf979f4344ed3b8337a7 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-07afb-stub-ws: Track sessions for releasing itJosé Bollo1-0/+47
Change-Id: If0ff0f491e0fd8267137aa742d7acbe0157f88ad Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: Improve readabilityJosé Bollo1-28/+34
Change-Id: I4035a59d125e0768b0366c3dc5e7509e416ab9c6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-11-06afb-session: fix reference countingJosé Bollo2-7/+21
Change-Id: If36c9210f0982ba35299de52f0c8fd96e7c836e2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>