summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-05-04Prepare bindings version 2José Bollo13-92/+160
Change-Id: Ic9e417d9a36f5da08883c3ded127d8350ff893cc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-04Prepare xreq to be aware of the versionJosé Bollo4-35/+18
Change-Id: If8a1ac53e58ff644d7903aebd263d7d42308c756 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-04Eliminate use of AFB_SESSION_CREATEJosé Bollo2-12/+2
AFB_SESSION_CREATE is obsolete since a while. Change-Id: I3dc3eb374f0842d7b210a106b72bce2e4c5c1512 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-26fix a warningJosé Bollo1-1/+1
Change-Id: I9aa2d121771a4a1cca2c4733b3f78ee72db70840 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-26cleanupJosé Bollo1-4/+1
Change-Id: I6296e8d0897e3a1619d1ad832a27dcb9828eae99 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-26Print credential in default request hookJosé Bollo1-1/+11
Change-Id: I67af78d8838de4c5386fd62c8f3b26d1ad8fb338 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-26Use upgrade abitlity of libmicrohttpdJosé Bollo3-25/+45
Since version 0.9.52, libmicrohttpd correctly handles upgrading of connections. Leveraging that feature is a best. Change-Id: Icde686cd9a3c12dda5ee74f354086ccff435796c Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-26Sort verbs and compute their permissionsJosé Bollo1-7/+68
For the version 2, the verbs are alphabetically sorted and the permissions are computed for further evaluation. Change-Id: I10b50f841c920e9912bf734238f35e52aecedcc1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25Add 'afb_daemon_queue_job' for bindingsJosé Bollo3-13/+41
This allow bindings to queue asynchronous jobs. Change-Id: I2a228388c9defde23adb672d579c4a299f212850 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25Make monitor use the interface version 2José Bollo3-82/+28
Enforce monitor API to be a kind of standard binding. Change-Id: I4739f879d5e076eb3505f5fe2cf658e6f9299de6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25Update the monitor interface for private featureJosé Bollo2-6/+66
Change-Id: I14caa33d2abad26bf244e93f7efe93206c6c50da Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25Add private binding interface featureJosé Bollo1-5/+23
Also make correct strings Change-Id: Iac63fb8202c115458910ca1ec42fbca9872df9f8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25genskel: add tiny skeleton generatorJosé Bollo5-0/+867
This adds a tiny generator of skeleton for bindings version 2. This is a research work. Change-Id: Id72f6addfd18ebb866e3b609bb49e74ee676b83d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-21afb-monitor: draft of monitoringJosé Bollo4-0/+425
this is a draft version to be continued. Change-Id: I1062a6f872a2b36d4e0434fb18d1857961d50aab Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-21afb-api: add a 'describe' functionJosé Bollo2-1/+49
this is intended for introspection Change-Id: I2518893c8cb04295159c3646f1286ffd30f739e0 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-21afb-api-so-v2: split the declaration in two partsJosé Bollo2-31/+47
Having a part not linked to an existing opened shared library might be useful for internal APIS. Change-Id: I56348f07c87f6844682e3ea56dc07d7ee296bfbf Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-21main: init session module firstJosé Bollo1-3/+5
Change-Id: If2acee2fa6469cbfb6c2d11eb1e3fd622b093155 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-21apiset: improvementsJosé Bollo2-9/+48
Change-Id: I476ab17bb5c48dbb3cd6c215687989203407549f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-21afb-client-demo: Handle commentsJosé Bollo1-3/+6
Change-Id: I39287c5b5bba8b3ec18dc36e58a0d0102c5b48d6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-21fix bug on incoming eventJosé Bollo1-1/+5
Change-Id: I7678412374565fd5802b0312e5808e2645df3728 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-20cleanup and improvement of xreqJosé Bollo5-60/+131
Change-Id: Iefda7f9d8f979a50fb2586a27edf0ca16d056a1f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-20Add default api to apisetJosé Bollo4-96/+112
Also improve interface of apiset. Change-Id: I3c256ce1ecb089f0b518e45f0dee139c04943f2e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-20Use of 'afb_api_is_valid_name'José Bollo1-37/+1
Use the common function 'afb_api_is_valid_name' instead of 'afb_apiset_valid_name'. Change-Id: I2d761473d4aa1cd90adf1b7a2c1976e727b437fc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-19simplify main fileJosé Bollo1-9/+2
Change-Id: I590bf289ce597531622dc95bb00df11e0a8bdbb6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-14Create afb-stub-ws by spliting afb-api-wsJosé Bollo4-1184/+1259
The file afb-stub-ws only carries the protocol of the internal remote calling conventions. It as the following benefits: - it easies transition to symetric connection (not planned) - it allows to have server stub on client socket and conversely, client stub on server socket (planned for debugging). Change-Id: I57dc8e78d7bd63427421a180abcb844f8313d37b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-14allow abstract unix socketsJosé Bollo1-1/+3
unix sockets named "unix:@something" are now treated as abstract sockets. Change-Id: Ieb2bb9dd1c7b420b9e3fae81590ef49c32f63802 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-14use heuristic message idsJosé Bollo1-3/+16
Change-Id: I9492288de61b79074db38818c459f7447b12b4e6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-13Introduce apiset for grouping apisJosé Bollo30-316/+613
This will be used at the end for debugging facilities. Change-Id: I75e3345667e1f58143c77a885e166375680ca194 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-13Implement subcall for services over websocketsJosé Bollo1-56/+258
This modification make subcalls pushed back to the client that will issue it for itself. This will at the end ensure the security context of the client. Change-Id: Ib4bb5125ffe1b942103b72d1a3d13892dda87baa Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-13secure subcall api and verbJosé Bollo1-4/+11
Change-Id: Ia1df54bfd139f247137f4373a2cbd75dcf74efc8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-13enforce reset of xreq at initJosé Bollo1-0/+1
Change-Id: I37ff13a34c780ab00fb43e0a4daeda45db821c00 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-13Enhance client->server protocolJosé Bollo1-8/+16
This commit adds a protocol header for inter binder communication in the direction client->server. It also changes how data buffer is handled. Change-Id: I1eb4253408ddd4c8042773da541d27046e90f715 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-13Simplification of sig-monitorJosé Bollo2-14/+2
Remove unused functions Change-Id: Ie767469a3e721aba5d9d27ab318a1d316553b2cb Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-13Use names for constantsJosé Bollo1-17/+24
quality improvement Change-Id: I1d8fda1ec48bb9d3c6eb2ee88b579cfcf8dcc5fb Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-13Simplification and optimisation of jobsJosé Bollo2-168/+80
It comes from the use of this module that it can be simplified to only get 1 argument. It reduces either the complexity of the code and the time spent in job management. It optimise how normal jobs are called (not intermediate function). Also factorisation and simplification of synchronous enter/call. Change-Id: Id60dd2363fee2b007b4557430659faf733d2179d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-12reduce verbosityJosé Bollo1-3/+0
Change-Id: I625dd517912461bb55f298a11a5eb37adc92293b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-12Add credential data to xreqJosé Bollo6-0/+15
This will allow soon to check the credentials when evaluating calls. Change-Id: I993216ccbc02538dcd92e49fcb2de0541eeb8c01 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-12fix typoJosé Bollo1-2/+2
Change-Id: I83473a69d8af4d39d1ef7eba9c324a6bbb0364fc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-12Optimisation of xreqJosé Bollo9-137/+118
Reduce the count of memory read Change-Id: Ie4dfa4bd30d6485be91961196294c43ffbd3b2a9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-12Add computation of credentialsJosé Bollo6-0/+218
Credentials are computed if possible. Change-Id: I36c7e95a35431b27109c26b51eab690d685862e1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-12Rename destination as originJosé Bollo1-51/+51
Change-Id: I9c76ab3043506778640cb379e8f006674f8a8fcf Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-11Fix uninitialized variableJosé Bollo1-0/+1
Change-Id: Ia8a7a1471f004933a48797b91c01fd8b53465de0 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-11Fix a crash on disconnectionJosé Bollo1-1/+2
Change-Id: Ib3654ac8125b040f8264524e7c821a6559f627cd Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-11fix typoJosé Bollo1-1/+1
Change-Id: I7a445c73a9bb6b39c3ba5e19422f5bcc319364fe Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-11Add startup call in command lineJosé Bollo3-1/+110
The option -c (aka --call) allows to specify calls to api/verb at startup. The calls are made sequentially. Change-Id: I7f087dce71480fe288cca355c209a4c8ccf4f4b9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-10Make implementation multithreadJosé Bollo4-44/+98
This changes makes many improvement needed for multi-threading: - json object can't be shared across threads because get/set is not protected - event are now multithread compatible Change-Id: Id44b12c68e0fa67042b8ea44939af4edfa76270a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-10Enforce flush of incoming dataJosé Bollo1-0/+4
Change-Id: I81deb974460e7f3edbccf132efeac87f873d78dd Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-10Refactor of initialisationJosé Bollo1-8/+9
Change-Id: Ie5209f74ea1a65571a3ec54724131f15d22ca35f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-10Refactor setting of directoriesJosé Bollo2-9/+8
When not specified, the default directories are now ".". The workdir is relative to the current directory and other directories are relative the the workdir. Change-Id: I52c013e3a3c93b3f984903562cf0c56d990900e6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-10Fix typoJosé Bollo1-1/+1
Change-Id: I0077f77984accdd1f07d0e7c1526720f687ec58e Signed-off-by: José Bollo <jose.bollo@iot.bzh>