History log of /system/webservd/webservd/dbus_protocol_handler.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
016df0ac2e778e9ea9642415007fbbfe23cb152d 04-Jan-2016 Christopher Wiley <wiley@google.com> Fix compiler warnings in webservd

Now that libchrome and libbrillo warnings have been fixed, we no longer
need to tolerate any compiler warnings.

Bug: 26379019
Test: compiles

Change-Id: Iee0d448d74d6167d167e87cdfa8d2350fd88daef
/system/webservd/webservd/dbus_protocol_handler.cc
6a803b4d27701d4c7f337b4fb0224d76549cbfa6 16-Oct-2015 Alex Vakulenko <avakulenko@google.com> webservd: Map request handlers to D-Bus service name requesting them

Change-Id: I857d21bd5ef7e709efba0550ef51d164f9f64e5c
/system/webservd/webservd/dbus_protocol_handler.cc
75d6da24dedcbc090d23de60c4f1637c3a54b392 13-Oct-2015 Alex Vakulenko <avakulenko@google.com> webservd: Rename "chromeos" -> "brillo" in include paths and namespaces

libchromeos is transitioning to libbrillo and chromeos namespaces
and include directory is changing to brillo.

Bug: 24872993
Change-Id: Iba15692972a0c24ec87ac8e51d4eb032214149b0
/system/webservd/webservd/dbus_protocol_handler.cc
330a10fd406a37af8f9c530d9b51dc5e25fcdceb 24-Sep-2015 Alex Vakulenko <avakulenko@google.com> Implement streaming I/O for response data

Sending response to an HTTP request is now using streaming I/O.
ProtocolHandler::CompleteRequest() now returns a file descriptor
for the write-end of a pipe and clients (request handlers) can
write to this file descriptor data at a rate it becomes available.
When expected amount of data is sent (or the pipe is closed on
the handler's end) the response is finalized.

Both normal (when data size is known) and chunked responses are
supported.

BUG: 24166746
Change-Id: Ie98cfa4262ba82941aaefd4c9bfd9986c784219c
/system/webservd/webservd/dbus_protocol_handler.cc
950687bc6a52ee1571f5e0e00df8a09276ee9603 18-Sep-2015 Alex Vakulenko <avakulenko@google.com> Save uploaded files in multipart request to disk

Instead of keeping them in memory. Pass the file descriptor/file stream
to the handler process when asking for the uploaded file data.

BUG: 24166746
Change-Id: Ife4f5b4fa422d99272b15f6f02e4b3b515e4e3b4
/system/webservd/webservd/dbus_protocol_handler.cc
35f6587840b71c8bd3e3655508b6f05cb2593ba9 18-Aug-2015 Daniel Erat <derat@google.com> Build for Android.

Add Android.mk files to build webservd and libwebserv, patch
the source to not use libminijail when __BRILLO__ is
defined, and update copyright information.

Also add pre-generated D-Bus bindings into a gen/ directory
to use until code generation is working.

Bug: 22828211
Change-Id: Ib6d06789c1a5a27b8ee4f85d5723b46973c1ddaa
/system/webservd/webservd/dbus_protocol_handler.cc
f719c98766c61db6faecde5808c6af26d993ce44 15-Aug-2015 Daniel Erat <derat@chromium.org> webserver: Miscellaneous build fixes for AOSP.

Un-platform2-ify by dropping leading "webserver/" from
relative include paths.

Also pass char** rather than uint8_t** to
BIO_get_mem_data().

BUG=none
TEST=tests pass

Change-Id: I618412553c9d0fd9b4f86861b911a9ffe2899454
Reviewed-on: https://chromium-review.googlesource.com/293900
Trybot-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Dan Erat <derat@chromium.org>
/system/webservd/webservd/dbus_protocol_handler.cc
3d2d5633c09266d2036933b2a4888a8dde8ad951 03-Mar-2015 Alex Vakulenko <avakulenko@chromium.org> webserver: Add support for multiple protocol handlers with the same name

Previously protocol handlers were designed with their ID to be unique.
If the device needed to server requests on multiple ports, the clients
were forced to register separate request handlers for each of the
unique protocol handler instance.

This change makes it possible to have multiple protocol handlers share
a common "name" (like "http" or "https") and all the request handlers
registered for a particular protocol handler with a given name will be
added to each protocol handler that has this name.

So, the implementation has changed a bit. Each protocol handler still
has a unique ID (GUID) that allows to identify each instance (for example
in order to send back the reply from the client to the exact instance
of the object that initiated the request), while leaving the rest of
client-side library (libwebserv) working with non-unique names when
registering request handlers.

This also changed the web server configuration file a bit, since it
used to use a JSON dictionary for each protocol handler config, now
its an array of objects, which allows to specify the same name for
more than one protocol handler.

BUG=brillo:412
TEST=`FEATURES=test emerge-link webserver privetd`

Change-Id: Ib67fb586dd249c834d2464bfa0ef0eaabb7d780f
Reviewed-on: https://chromium-review.googlesource.com/255262
Trybot-Ready: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Aaron Kemp <kemp@google.com>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
/system/webservd/webservd/dbus_protocol_handler.cc
5313123aeb9c1f35df26b3db17cff1566073fd78 14-Feb-2015 Alex Vakulenko <avakulenko@chromium.org> webserver: Use permission_broker to open TCP ports in firewall

Replaced the upstart script firewall rules with using
permission_broker which allows us to configure protocol handlers
based on the web server configuration file.

BUG=brillo:178
TEST=`FEATURES=test emerge-link webserver`
CQ-DEPEND=CL:250400

Change-Id: I13c35121db5a560172732f9c259745280bb6a9b6
Reviewed-on: https://chromium-review.googlesource.com/249924
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Trybot-Ready: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
/system/webservd/webservd/dbus_protocol_handler.cc
31a6379d5f773cb40312d2085e07f30cf3ac685d 03-Feb-2015 Alex Vakulenko <avakulenko@chromium.org> webserver: Move web server functionality into webservd

Moved libmicrohttpd from libwebserv to webservd daemon. Added the
D-Bus interface between the web server daemon and client library.

Updated privetd to use the new interface.

BUG=brillo:10
TEST=`FEATURES=test emerge-link libwebserv privetd`
CQ-DEPEND=CL:245780,CL:245118,CL:*195757

Change-Id: I26bfab64c6a0fd9460a47fd3fa9205c89abb943a
Reviewed-on: https://chromium-review.googlesource.com/245980
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
/system/webservd/webservd/dbus_protocol_handler.cc