Tor Lillqvist
996898f9ce
The default number of preforked loolkit processes is actually just one
...
At least, that is the value of the num_prespawn_children element in
the loolwsd.xml as shipped. But maybe that is not what is meant with
"default"? It is unclear to me what the "default" attribute means.
2016-04-18 09:52:25 +03:00
Tor Lillqvist
70c7ca5a57
The --nocaps option does not take an argument
2016-04-18 09:49:21 +03:00
Tor Lillqvist
16e4ad5fc5
The 'loadtest' programs can surely die
2016-04-18 09:43:39 +03:00
Tor Lillqvist
c6941c71c6
Bin a few unneeded #includes and usings
2016-04-18 09:43:39 +03:00
Miklos Vajna
0f82a3a6ae
loolwsd: fix -Werror,-Wshadow
...
Change-Id: I33095de03e5f3df3ed8919121f6a078f80c26ae9
2016-04-18 08:41:19 +02:00
Miklos Vajna
b1b947cfb3
loolwsd: fix -Werror,-Wlogical-not-parentheses
...
Change-Id: I035347339cf789e49994640b03f239a3e161f9b7
2016-04-18 08:40:03 +02:00
Ashod Nakashian
385359824a
loolwsd: unittest to validate correct doc reloading while unloading
...
Change-Id: Id956fc9e243c44ecd3914b448ab92f87e011d3ee
Reviewed-on: https://gerrit.libreoffice.org/24185
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-18 03:37:54 +00:00
Ashod Nakashian
b933988a59
loolwsd: flag and wait if document is unloading before relaoding
...
When a new view is created on a document that is
in the process of unloading, all sorts of things
can go wrong. This is especially problematic when
the document needs to be saved before unloading,
which takes significantly longer than otherwise.
Change-Id: Ib33a18cafa9d5a3a17f6bd8c6145f9331ae54044
Reviewed-on: https://gerrit.libreoffice.org/24184
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-18 03:36:45 +00:00
Ashod Nakashian
892358e5cb
loolwsd: new Admin API to remove documents
...
Normally, when each client view closes, the
session count is decremented until the last
view is closed. However this doesn't work
when the kit child process terminates.
Due to a race condition between the last
client disconnecting, and the internal
structure destructing, and the next
client connecting (on the same doc),
the Admin loses track of the doc and pid.
This is an issue of assuming a document
and its pid are unique and will always
remain unchanged.
This patch adds a new API to remove a
doc and all its views unconditionally
to try to avoid the above issues.
Change-Id: I0c181260679875b0464dd9b6548b29b8d6a361f7
Reviewed-on: https://gerrit.libreoffice.org/24183
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-18 03:35:29 +00:00
Ashod Nakashian
52959b7289
loolwsd: admin cleanups
...
Change-Id: Ib8a488ef08d345f768323e1303f7a053e54464d5
Reviewed-on: https://gerrit.libreoffice.org/24182
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-18 03:34:54 +00:00
Ashod Nakashian
53a2e3ba42
loolwsd: save on disconnection test enabled and functional
...
Change-Id: I604b0826674e981136ca7f8a9169a20eed9597d3
Reviewed-on: https://gerrit.libreoffice.org/24181
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-18 03:34:10 +00:00
Ashod Nakashian
2ee7d35fb8
loolwsd: reload test now actually reloads same document
...
Change-Id: I2ff724d3a3566f5fcb010ce46a6749e517afccd2
Reviewed-on: https://gerrit.libreoffice.org/24180
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-18 03:33:41 +00:00
Ashod Nakashian
7399f82b4e
loolwsd: std::exit -> std::_Exit in forkit
...
Change-Id: I68af331440d95811f1d50c95de470350c0b6a4a3
Reviewed-on: https://gerrit.libreoffice.org/24179
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-18 03:33:12 +00:00
Ashod Nakashian
8af52337a5
loolwsd: clean and quick shutdown
...
Change-Id: Idfac3a27d19dd0a1b141d95a62c9e3453bd399a1
Reviewed-on: https://gerrit.libreoffice.org/24166
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 16:13:18 +00:00
Ashod Nakashian
a000a1e274
loolwsd: forkit exits without cleanup to avoid LO Core assertions
...
Change-Id: Ic9033b7d33f2ef114615950f01eab5904faa2ca7
Reviewed-on: https://gerrit.libreoffice.org/24165
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 16:12:49 +00:00
Ashod Nakashian
882ffafb16
loolwsd: simplified ChildDispatcher
...
Change-Id: I5b61678a01f4491ca06a25dd969f7538b4c8445d
Reviewed-on: https://gerrit.libreoffice.org/24164
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 16:12:30 +00:00
Ashod Nakashian
b420b70154
loolwsd: gitignore loolforkit-nocaps
...
Change-Id: Ide73478726c0341d2679053650b3c89ec7c8dc94
Reviewed-on: https://gerrit.libreoffice.org/24163
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 15:27:13 +00:00
Ashod Nakashian
8b5d702acb
loolwsd: testBadRequest actually provokes connection error
...
Change-Id: Ibf12b6b45d6eb34e031ab689983ab3599a58caef
Reviewed-on: https://gerrit.libreoffice.org/24162
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 15:27:00 +00:00
Ashod Nakashian
ea223f14d2
loolwsd: storage validation should throw BadRequest on failure
...
Change-Id: I8e9eca96e3e9cef7391a74d72db806e6d1085b01
Reviewed-on: https://gerrit.libreoffice.org/24161
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 15:26:38 +00:00
Ashod Nakashian
a70c5300b1
loolwsd: childConnected event added to UnitWSD
...
Change-Id: I3d19465229b434d07f50290f08462e9c9c66a6ca
Reviewed-on: https://gerrit.libreoffice.org/24160
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 15:26:09 +00:00
Ashod Nakashian
b50a7d507c
loolwsd: wopi trusted hosts are stored in set to warn about conflicting config
...
Change-Id: If27e173ffee753e655057d8516f4f3b3ecda5d3b
Reviewed-on: https://gerrit.libreoffice.org/24159
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 15:24:58 +00:00
Ashod Nakashian
372baaf427
loolwsd: cleanup of DocumentBroker session management
...
Improved session add/remove API.
Reduced mutex count.
Renamed members and variables.
Added documentation.
Change-Id: If15991971484d4d508714c9436a51b291f42079f
Reviewed-on: https://gerrit.libreoffice.org/24158
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 15:23:53 +00:00
Ashod Nakashian
0cf179ba57
loolwsd: run_unit.sh now finds abs_top_builddir and executes using bash
...
Change-Id: I3a341f5508ecf4cda51cc526d38d09cdbcaf09ff
Reviewed-on: https://gerrit.libreoffice.org/24157
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 15:20:43 +00:00
Ashod Nakashian
ea83ed2374
loolwsd: configuration manipulation UT hook added
...
Change-Id: If5ab75ee3630e629179dfc8d3c3374795bd2a221
Reviewed-on: https://gerrit.libreoffice.org/24156
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-17 15:20:14 +00:00
Henry Castro
0a92e02339
loolwsd: test: update changes to WebSocketErrorMessageException
2016-04-17 08:42:07 -04:00
Michael Meeks
6388298a04
Attempt at a --nocaps argument to run with no caps, ie. under valgrind.
2016-04-16 20:47:55 +01:00
Ashod Nakashian
a76e9a2b21
loolwsd: check WOPI host against configured whitelist and cleanup factory
...
Change-Id: I1dd45a9b1332754a33b2f190b7f6244e8e3b1dff
Reviewed-on: https://gerrit.libreoffice.org/24136
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-16 17:58:18 +00:00
Ashod Nakashian
115e654d63
bccu#1648: Limit trusted WOPI hosts
...
Control allowed/trusted wopi hosts from config.
Change-Id: I730b4be8ef0d47bdb5e490926486184777de4eb0
Reviewed-on: https://gerrit.libreoffice.org/24135
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-16 17:58:01 +00:00
Ashod Nakashian
a9f58e2657
loolwsd: log Storage construction to identify concrete backend
...
Change-Id: I0bcb0d08bccd1551abc7c2ffdf79d8f6154dc880
Reviewed-on: https://gerrit.libreoffice.org/24134
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-16 17:57:14 +00:00
Ashod Nakashian
33854ec4ac
loolwsd: cleanup and improve WSD request handlers
...
Standardized error handling in request-handlers.
There is a new family of internal exeptions designed
to signify the type of error and how to handle it.
All handlers must throw one of those errors
and they will be translated to the correct HTTP
response when caught.
Since some requests send a response as part of their
handling (convert-to, for example) those handlers
must return a flag signlaning whether or not they
sent a response. If not, HTTP OK response is sent
at the end of the handler.
To complicate things, some requests upgrade the
connection to WebSocket. In those cases errors
must be sent via the WebSocket and not as an
HTTP response. The error message sent can (and
in most cases should) be displayed to the end-user.
A new file, UserMessages.hpp, has been added to
hold user-visible messages that can be
reviewed and translated.
Change-Id: Icc725f3313446d4514cf6d092635158ee7171f5d
Reviewed-on: https://gerrit.libreoffice.org/24133
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-16 17:56:55 +00:00
Henry Castro
a66e73aeb0
loolwsd: fail when document broker cannot get a child
2016-04-16 13:32:44 -04:00
Ashod Nakashian
4254ddad77
loolwsd: consistently set HTTP status and reason everywhere
...
Change-Id: Ie538e4907e3a3a514918000bb585d2aaf182e468
Reviewed-on: https://gerrit.libreoffice.org/24132
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-16 17:29:35 +00:00
Ashod Nakashian
fe952794f0
loolwsd: don't expose private members
...
Change-Id: I049c92d0ddb296058fad283fffc291348b4608b1
Reviewed-on: https://gerrit.libreoffice.org/24131
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-16 17:29:11 +00:00
Ashod Nakashian
93d3f806e1
loolwsd: logging and cosmetics
...
Change-Id: I413a2e40f480ba41e37c7442724c3f037528f89b
Reviewed-on: https://gerrit.libreoffice.org/24130
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-16 17:28:45 +00:00
Ashod Nakashian
c2560725db
loolwsd: admin uses config for ssl key
...
Change-Id: I38b0f59c158698a6eb89d4b671001e1d8cb61673
Reviewed-on: https://gerrit.libreoffice.org/24129
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-16 17:27:43 +00:00
Michael Meeks
69816395d5
Re-enable verbose tracing during unit testing.
2016-04-15 22:04:15 +01:00
Michael Meeks
448e25f6d8
Make logging signal safe again. snprintf: simpler, safer, faster.
2016-04-15 21:53:10 +01:00
Michael Meeks
65ee749ce1
Move new unit tests to custom test driver.
...
Cleaner, and avoids bogus warnings during compile.
Merge run_test.sh.in into a mode of run_unit.sh - gives the
chance for nice debug output etc.
2016-04-15 21:52:39 +01:00
Michael Meeks
ebfa339da0
Cleanup symlinking and add realpath symlink if necessary.
2016-04-15 16:17:04 +01:00
Tor Lillqvist
b1aa059bc3
I don't have any ~/.fonts
2016-04-15 17:19:04 +03:00
Tor Lillqvist
947f8bcf13
Test number of loolkit processes also before and after the HTTPPostTest suite
2016-04-15 17:13:47 +03:00
Michael Meeks
a49f642801
Tolerate --version, and add git hash version, print on default start.
...
Should help diagnosing issues - to have this in our logs.
2016-04-15 15:07:24 +01:00
Michael Meeks
7376b7475e
Font bits: create symlink in jail at OS instdir path, to point at /lo
...
This ensures that bundled fonts in instdir/share end up resolved to
the same path that they were in when the forkit font config was setup.
It may also help locate other pre-inited resources.
Also copy in ~/.fonts in debug mode - can't hurt.
2016-04-15 14:35:57 +01:00
Michael Meeks
ab6cc4135b
Copy fonts into systemplate from libreoffice install.
2016-04-15 14:23:44 +01:00
Michael Meeks
b5e37448a8
looltool: get argument array copyies right.
2016-04-15 13:55:34 +01:00
Ashod Nakashian
7df929cb77
loolwsd: use SocketProcessor in kit
...
SocketProcessor doesn't need to take response
instance, since by the time it is called we
are already upgraded to WebSocket and it's
too late to set a request-level status.
Change-Id: Id95087e60354a50148c88427130613356679cf82
Reviewed-on: https://gerrit.libreoffice.org/24110
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-15 11:54:30 +00:00
Ashod Nakashian
df47ff1b2f
loolwsd: .gitignore updated
...
Change-Id: Ica74b3f6f2fd9e3f9d75f41f2f780010b9b9bc55
Reviewed-on: https://gerrit.libreoffice.org/24109
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-15 11:53:57 +00:00
Ashod Nakashian
cf85f51850
loolwsd: tabs -> spaces
...
Change-Id: I581346970321446378ff135e0227e06a2092b39f
Reviewed-on: https://gerrit.libreoffice.org/24108
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-15 11:53:42 +00:00
Tor Lillqvist
5782e0b04c
TileCache::lookupTile() already returns non-null only if the stream is open
...
No need to test at call sites. We can assert() as a sanity check
though.
2016-04-15 14:12:35 +03:00
Tor Lillqvist
ecaaab6e90
Default values for bool parameters make the code harder to read
...
In this case we always passed the parameter anyway.
2016-04-15 13:17:20 +03:00