summaryrefslogtreecommitdiffstats
path: root/src/afb-hsrv.c
AgeCommit message (Collapse)AuthorFilesLines
2019-04-02Fix false ***buffer overflow*** detectionJosé Bollo1-2/+2
The compiling option __FORTIFY_SOURCE=2 introduced a false ***buffer overflow*** detection when the flexible array 'pattern' was initilized in globset. The compiler is only complaining when the array is in a struct that is in a struct like struct { ...; struct { ...; char name[1]; }} To avoid these false detections, it is enougth to ellipsese the dimension of the array. Seems to be the now standard way of declaring flexible arrays when it was before an extension. So now: struct { ...; struct { ...; char name[]; }} works even when __FORTIFY_SOURCE=2. Bug-AGL: SPEC-2292 Change-Id: I4b4a5df505a5357f92b9ab1657175911198ca582 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-03-27Rename afb-systemd to systemdJosé Bollo1-2/+2
Files "afb-systemd.[ch]" are renamed "systemd.[ch]" and their functions "afb_systemd_*" are renamed "systemd_*" Change-Id: I8362a2ca8b71945b54c6ab9a7ead51d9c50bc8e2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-02-06Update copyright datehalibut_7.90.0halibut/7.90.07.90.0José Bollo1-1/+1
Change-Id: I3aaa92b2bfb01699ee8ae609272e93032b6f1a9d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-01-18afb-hsrv: Avoid call to getnameinfoJosé Bollo1-6/+12
Calling getnameinfo may block the program a long time (5s) when address is zero. Bug-AGL: SPEC-2133 Change-Id: Id52b2989c5e996363fd4b6f39049f059a6ee97a2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-12-13afb-hsrv: Prepare selection of listening interfacesJose Bollo1-11/+112
The listening socket will no more be the default one but will be the selected ones, with ability to select more than just one listening interface. Nevertheless, the behavior is not changed at the moment. The default interface (0.0.0.0) is still used. A further change will add the ability to select the listening interfaces. That evolution depends on a fix of libmicrohttpd to enable at the same time epoll and no-listen-fd. Bug-AGL: SPEC-1833 Bug-AGL: SPEC-1016 Change-Id: Ia78671cbee90a243ba7b2c724b6155cffbde6920 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-10-26afb-hsrv: Adapt to next version of libmicrohttpdJosé Bollo1-1/+4
Change-Id: I5bef17178e972e73b653ddbff5a8b09cfc2287eb Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-10-12afb-hsrv: Lower the "no handler" messageJosé Bollo1-1/+1
Bored to see WARNING: Unhandled request to favicon.ico Change-Id: I7289b508f93bcd5ac4650ec32670ed0fd291044e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-08-02Improve parsing of json stringJose Bollo1-6/+8
Change-Id: I7100961ef8f8a75d623a0667178f191dd4cfb9d3 Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2018-07-13afb-supervision: Remove dependency to externalJosé Bollo1-2/+2
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-06-18afb-hsrv: Add processing of type application/jsonjobol1-3/+19
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-13afb-hsrv: remove dependency to systemdJosé Bollo1-15/+16
Change-Id: I42428e7e57cb104b8575b60b1c7985782e9f779f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-27Update date of copyright noticesJosé Bollo1-1/+1
Change-Id: If9d7e7728df086fbb7214f1de5cbec35cd2f1d9b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2018-02-21afb-systemd: Isolate systemd main entriesJosé Bollo1-2/+2
This change prepares the possibilty to remove the dependency to systemd/libsystemd. Change-Id: Ife4181d6c7195230a11a32e527b8973af6a096e1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-12free SIGALRM for boost timersJosé Bollo1-1/+1
Change-Id: Ib6825c21b6589db6c7e9b8c5a179c347bcc0a93d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-11refactor hsrv using jobs queueJosé Bollo1-13/+16
Change-Id: I3d0c70efc2053340fcec93695006e01bb6b49e2c Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-26Use upgrade abitlity of libmicrohttpdJosé Bollo1-3/+1
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-03-31Factorize common code for handling requestsJosé Bollo1-10/+2
The common code for session handling is shared using struct afb_xreq. At the moment only hreq leverages the new feature. The objective is double: make the work of writing new internal requests more easy and prepare to check permissions. Change-Id: If3ca311d68c2d8c427d1125f31a2704b150c2c94 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-02-27fix SEGFLT when unhendled requestJosé Bollo1-3/+5
Change-Id: I34c657972111db843d0d9d26a1732b21ac519c57 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-01-05Improves loggingJosé Bollo1-1/+9
Adds error message for errors related to HTTP. Change-Id: I5a3069528f8e9a7fe9a8dae6c201a783948a565a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-01-03Adds 2017 to copyrightsJosé Bollo1-1/+1
Change-Id: Id85c4eb4e36a05b61346004ba95daa19faf5074f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-12-14afb-hsrv: Adds an error when alias dir doesn't existJosé Bollo1-1/+1
Change-Id: Iab0f9b1997f6471ceab8bb43be07d6d00c53fd78 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-31Add the option roothttpJosé Bollo1-2/+2
This option tells to the HTTP part of the binder the location of the root directory for HTTP. Change-Id: I080adcaaee952e375128eff3898f29332939c5f5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-31locale-root: improves the APIJosé Bollo1-1/+1
Change-Id: I470da7df049abab589d2c4044740cd54de0d35b4 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-29afb-hsrv: expose locale root for aliasJosé Bollo1-9/+20
This prepare further use of locale_root here and ther in the code. Change-Id: I473e8de79db1cbd69b507f6e0e70733f0f02badc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-25enforce locale processing for filesJosé Bollo1-21/+12
Change-Id: I7de05d2acd02d088a3a2034ad8bccf524b5b6c12 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-25adds accepted lang to global hreqJosé Bollo1-0/+1
Change-Id: I6b820e7ab169897259414276eaa0b1f8847d9229 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-25factorise code for alias handlingJosé Bollo1-15/+15
Change-Id: Ia60b50b1e4f859c2ee69919d5f63349af40865b6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-20fix one-page-application redirectJosé Bollo1-2/+15
Change-Id: I80c4dbda86cd1bc2847dea5b1dea304f41c551e6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-17provides developper filesJosé Bollo1-1/+1
Change-Id: I0e41a0db778c69b5f5ce71115d495b2bb8b4cffe Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-13Merge branch 'master' of https://github.com/iotbzh/afb-daemonFulup Ar Foll1-1/+1
2016-05-13Fixed Sample POST/JSONFulup Ar Foll1-1/+3
2016-05-13cleaning copyrightsJosé Bollo1-1/+1
Change-Id: I4ff7349b1a87f92a7d9f378c715054061f06df57 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-10refactored loggingJosé Bollo1-3/+3
Change-Id: Iec97d679b7e3baa430e614f8e6336d6487de0f25 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-10Refactoring requests and context handlingJosé Bollo1-1/+3
Also adds a first (untested) implmentation of the afb services over dbus. Change-Id: Id1bdeccf75f3a70d3658bdaf0510d6e7b97f6c32 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-05-04Switch to libsystemd eventsJosé Bollo1-14/+27
This patch removes part of code that are not specific in favour of a more shared library. Change-Id: I3506e7514181cfbed753559bb65460f95b2141c9 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-27first add of asynchonous handlingJosé Bollo1-31/+62
Change-Id: Id9159d33937dc23342d32892f77998fb8cef0000 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-26simplify handling of MHD_runJosé Bollo1-16/+3
Change-Id: I96c89ef38d44cd25e7e7453a81c75cd790a8d54b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-25avoid reentering MHD_runJosé Bollo1-2/+22
Change-Id: I54547f52c44b05573190cd226f71ee9d40181300 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-14removes use of printfJosé Bollo1-1/+1
Change-Id: I635e236e102837256c77fd4379ef9b11d850a4de Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-08simplificationJosé Bollo1-13/+2
Change-Id: I02a107da2908f62dd10b09c3d765a0e0dd48983e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-08refactoring req interfaceJosé Bollo1-1/+1
Change-Id: I6fc9246099c34f62c82e060cf014a63b0e8f63d8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-07more simplificationJosé Bollo1-235/+105
Change-Id: Iab4a9c38054a3e85542893735916aa11031dc4ff Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-07simplificationsJosé Bollo1-59/+120
Change-Id: Id4ee2dab8d971d27ae5ceebac030f0b2b35d59a8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-07improves file handlingJosé Bollo1-1/+0
Change-Id: I285cb6333d939a8afed07d8388d1d7850e50fe28 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-06upload of filesJosé Bollo1-0/+7
Change-Id: Ifbe226ddc11f67223b4215db66af1ad1108a11f5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-06websocket first version worksJosé Bollo1-5/+2
Change-Id: I4db7d432ea5921636bb5033b8d31e91475cecc52 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-05implementation of websocketsJosé Bollo1-1/+1
Change-Id: I663e750f27a6e54a771df84320bd45ee0acdcbde Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-05renaming of session APIJosé Bollo1-0/+1
Change-Id: Id9113a4e14da296d929fed0fd2f1dd7cfeba839b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-05allows connection to upgradeJosé Bollo1-63/+29
Change-Id: I2e174b67ea186180da0d8982fac14f468946dc14 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-04-05new main loop in placeJosé Bollo1-0/+499
Change-Id: If297e0a76e74422d456447be52cca460c9e237b3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>