Commit graph

2172 commits

Author SHA1 Message Date
Ashod Nakashian
77a693c353 Revert "loolwsd: remove tile queue and simplify tile response"
This reverts commit 59eaacd2f8.

Change-Id: Ieba9bbaaa6406e3e685b46ce12a44a0766127815
Reviewed-on: https://gerrit.libreoffice.org/28594
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 12:37:38 +00:00
Michael Meeks
1dce882fd1 Start of simpler input fuzzer. 2016-09-01 10:11:03 +01:00
Tor Lillqvist
c5d8e3c799 Clarify that LOOL_NO_LOGCOLOR has no effect if stderr goes to a tty 2016-09-01 10:34:34 +03:00
Ashod Nakashian
151d1ff955 loolwsd: unittest fixes
Change-Id: I7096b6dabfa59a536809c4e997168c8fce5791f0
Reviewed-on: https://gerrit.libreoffice.org/28578
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 04:09:23 +00:00
Ashod Nakashian
534ab15d2f loolwsd: more aggressive test for unresponsive clients
Change-Id: I9daf81661cf03be2ea38b5bc4d9688039912bd8a
Reviewed-on: https://gerrit.libreoffice.org/28577
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 04:07:53 +00:00
Ashod Nakashian
9b3343aad4 loolwsd: Don't block on client sockets and timeout in 1 second
Change-Id: I7fec1054cef25704f898a7a5211abfb398d61bee
Reviewed-on: https://gerrit.libreoffice.org/28576
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 04:00:17 +00:00
Ashod Nakashian
59eaacd2f8 loolwsd: remove tile queue and simplify tile response
Tile queue was used to process canceltiles commands.
Since those are handled by TileCache, there is no need
for queues and the threads that pump them.

But because these queues were also used to buffer between
WSD internals and clients, such that a slow client wouldn't
block WSD while sending back tiles, it is necessary
to reword that logic.
In subsequent commits that will change as well.

With this change not only do we save a thread per client,
but we also reduce latency of tile, and improve typing
responsiveness, by almost 3x or more! Latencies are
down to ~15ms from almost 50ms.

Change-Id: I9bb5856efed28caea9d4e6f94f77b093779e5241
Reviewed-on: https://gerrit.libreoffice.org/28575
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 03:59:31 +00:00
Ashod Nakashian
ce2309edd8 loolwsd: log errors while getting file info
Change-Id: I076da575f553f3199fa302f32e8c399b6339fe2c
Reviewed-on: https://gerrit.libreoffice.org/28574
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 03:57:36 +00:00
Ashod Nakashian
9308268144 loolwsd: tolerate missing WOPI username
Change-Id: Ied24b5562f63ecdd96ee6ac7fd312b3bb5599573
Reviewed-on: https://gerrit.libreoffice.org/28573
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-09-01 03:57:12 +00:00
Michael Meeks
f56d96229d Avoid profiling CL devices during jail setup. 2016-08-31 22:05:02 +01:00
Jan Holesovsky
2090f121b6 Don't check for nullptr after dereferencing.
StorageBase::create() is supposed to throw when there are trouble.
2016-08-31 18:36:42 +02:00
Tor Lillqvist
b7623d48d0 We should return true here
Fixes a regression introduced in
571ff06906, where every loleaflet client
ran into an error, displayed as "We are sorry, this is an unexpected
connection error. Please try again."

Found by git bisecting.
2016-08-31 17:54:24 +03:00
Tor Lillqvist
b57ddcd173 Sort #includes of C++ headers 2016-08-31 17:02:29 +03:00
Tor Lillqvist
a5e5d3cdf6 Introduce LOOL_NO_LOGCOLOR to enable turning off the annoying colours again 2016-08-31 16:59:43 +03:00
Tor Lillqvist
0f3a6a3fb0 LOOL_LOGCOLOR is no longer checked by loolwsd 2016-08-31 12:08:18 +03:00
Ashod Nakashian
571ff06906 loolwsd: canceltiles re-designed using tilecache instead of queue
Change-Id: I4b9ba91ee08bc9dd8d27df275e303f5517d9740c
Reviewed-on: https://gerrit.libreoffice.org/28526
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:44:56 +00:00
Ashod Nakashian
fad6715f7d loolwsd: guard against processing commands before fully loading
Change-Id: Iac915074728f616d81b05558b886998855326a2e
Reviewed-on: https://gerrit.libreoffice.org/28525
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:42:39 +00:00
Ashod Nakashian
a674fc7e8f loolwsd: logs and formatting
Change-Id: Ic3ec268cdc1962814654c7be676da62375494f66
Reviewed-on: https://gerrit.libreoffice.org/28524
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:41:31 +00:00
Ashod Nakashian
494feedd8d loolwsd: unittest cleanup
Change-Id: I60b8c783b16f37530d208f1fdad029d97996e4cc
Reviewed-on: https://gerrit.libreoffice.org/28523
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:40:25 +00:00
Ashod Nakashian
5158818d82 loolwsd: getDocSize -> parseDocSize
Change-Id: I82ee96d6fde8d8c379547d05d7bbb8213a474a4f
Reviewed-on: https://gerrit.libreoffice.org/28522
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:39:43 +00:00
Ashod Nakashian
88f3a213b0 loolwsd: first character of 404 messages are trimmed
For some reason Poco trims the first character
of 404 and other HTTP error messages.
We need to prefix messages with a space to
avoid having the first character chopped-off.

Change-Id: I8cbda9f4b5df894418f1dedf390b8b43a61e5d11
Reviewed-on: https://gerrit.libreoffice.org/28521
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:37:21 +00:00
Ashod Nakashian
492268913b loolwsd: grep-friendly logs
Log entries now prefix the log-level so
it is now trivial to filter-in or -out
a particular class of logs (for example
errors).

Change-Id: I8033d1780a49dd8a3244e63f867377f0c64e9d9f
Reviewed-on: https://gerrit.libreoffice.org/28520
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:36:56 +00:00
Ashod Nakashian
d8a38f5859 loolwsd: startup logs
Change-Id: I90e7debbe881eafc9d65f4ff6a5d5f39d8277c0e
Reviewed-on: https://gerrit.libreoffice.org/28519
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:36:25 +00:00
Ashod Nakashian
42624adf19 loolwsd: fixup unittests
Change-Id: Icf3dea11654cf43a8aa86fadc1f1276d796719c3
Reviewed-on: https://gerrit.libreoffice.org/28518
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:35:55 +00:00
Ashod Nakashian
38a84d2c90 loolwsd: log the tile version after rendering
Change-Id: Id0d532bbf2d836a31ba90f1a47664bd7261a1779
Reviewed-on: https://gerrit.libreoffice.org/28517
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:35:05 +00:00
Ashod Nakashian
1e2dd2d61f loolwsd: TileCacheTests cleanup
Change-Id: I6d09ed3216d4e3651f72c0387c8cc6f2a7d5cc90
Reviewed-on: https://gerrit.libreoffice.org/28516
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:34:24 +00:00
Ashod Nakashian
5ffcafa736 loolwsd: CPPUNIT_TEST_NAME can be regex
To run selective tests only, CPPUNIT_TEST_NAME
envar can be defined to hold the test-name,
for example TileCacheTests::testClientPartImpress.

Now it's possible to pass a regex value instead,
for example TileCacheTests::testC.* to run both
TileCacheTests::testClientPartImpress and
TileCacheTests::testClientPartCalc.

Change-Id: I96aa1ce242fd8afaf073527777be50308dce867c
Reviewed-on: https://gerrit.libreoffice.org/28515
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-31 04:33:45 +00:00
Henry Castro
cd40f694ab loolwsd: test: optimal column/row width/height 2016-08-30 17:47:59 -04:00
Pranav Kant
76884fc020 loolwsd: Remove unused method
Change-Id: I9fcd2610c9cd27a32a9a835801ef627a631a85da
Reviewed-on: https://gerrit.libreoffice.org/28485
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-08-30 07:46:18 +00:00
Pranav Kant
db5efae2b8 loolwsd: Handle user names with spaces; encode/decode properly
Change-Id: I209bbd63686db8112529a3442a13a6162ce14d60
Reviewed-on: https://gerrit.libreoffice.org/28484
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-08-30 07:46:09 +00:00
Pranav Kant
7d48cd6f17 loolwsd: Echo back view information to clients
View information as of now includes viewid and username
associated with the view.

Change-Id: If0c4957eb56962eb4b1b1d0c1189dc300fa6b857
Reviewed-on: https://gerrit.libreoffice.org/28482
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-08-30 07:45:47 +00:00
Pranav Kant
67444eeb80 loolwsd: Pass sessions' usernames to core
Change-Id: I8c81c02fafd2cb9d0048729401e082bb422e299b
Reviewed-on: https://gerrit.libreoffice.org/28481
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-08-30 07:45:37 +00:00
Miklos Vajna
e4bbc15132 Avoid inclusion of deprecated C++ headers
Change-Id: I29abf3feeb8419f4e15ccb8dc7c34c086696ce07
2016-08-30 09:06:47 +02:00
Tor Lillqvist
86afada76e Update bundled LibreOfficeKit include files from LO core master 2016-08-29 17:54:28 +03:00
Tor Lillqvist
7d4ab644f8 Add REDLINE_TABLE_ENTRY_MODIFIED 2016-08-29 17:22:35 +03:00
Tor Lillqvist
4409ccd222 Don't crash if there is no "rendering" in the options JSON of the load message 2016-08-29 17:22:35 +03:00
Tor Lillqvist
ccdac2f767 Adapt the GET after 8cc367638f
The thing to GET is now lool/ws/ + the actual document URL.
2016-08-29 17:22:35 +03:00
Pranav Kant
f8ebb54af0 loolwsd: Receive WOPI userid, username
Change-Id: I0bd5e5a155b8f8486fbeffb1c1413d5e9c177fc3
2016-08-29 19:39:50 +05:30
Pranav Kant
c67c85793b loolwsd: Inform opening view about existing views
Change-Id: I84de6f78ffa21f3018e987e9e0bfeafd0cfb2b52
2016-08-29 18:37:57 +05:30
Pranav Kant
f6217133f4 loolwsd: view ids - unsigned -> int
Change-Id: I4bc2aa109143dd4cfd88a49c1988b66ae134d647
2016-08-29 17:57:23 +05:30
Miklos Vajna
7e3225dceb LOOLKit: avoid unnecessary copy-initialization
Change-Id: I14a4bb7803676173ac164ff8bd7e9eeaa6031f75
2016-08-29 09:23:15 +02:00
Andras Timar
7535d95d44 loolwsd: fix xml tag mismatch 2016-08-29 09:02:56 +02:00
Pranav Kant
06b869bb63 loolwsd: -Werror,-Wpointer-bool-conversion
isSSLTermination() was added in b0619d387b

Change-Id: I63a702023b6a096154b510653bed885331e8e22d
2016-08-29 10:53:56 +05:30
Andras Timar
274d68644d loolwsd: handle HTTP HEAD request for / 2016-08-28 23:06:30 +02:00
Andras Timar
1403a7999a loolwsd: add loolstress to rpm 2016-08-28 23:06:30 +02:00
Andras Timar
05a7101789 loolwsd: add missing headers to dist 2016-08-28 23:06:30 +02:00
Andras Timar
b0619d387b loolwsd: add support of SSL termination 2016-08-28 23:06:30 +02:00
Ashod Nakashian
03921a0769 loolwsd: unittest cleanups
Change-Id: Ic383915012ac1c254960d976cc89d3f7c1a2cb02
Reviewed-on: https://gerrit.libreoffice.org/28440
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-08-28 18:50:11 +00:00
Henry Castro
fa2a99459f loolwsd: add fake .uno:DocumentRepair
Avoid double round trip requesting command value pair
.uno.Redo, .uno:Undo
2016-08-28 09:03:45 -04:00
Henry Castro
d36ff0afda loolwsd: avoid exception, commandName empty 2016-08-28 09:00:04 -04:00