Commit graph

429 commits

Author SHA1 Message Date
Jan Holesovsky
a3cb6fe960 system-template: We need also the content of the symlinks from /etc/fonts. 2015-08-13 17:35:20 +02:00
Mihai Varga
3e0a3d9ed6 loolwsd: use a mutex when moving/removing tiles form the cache 2015-08-12 16:07:44 +03:00
Jan Holesovsky
44c3e01707 Fix typo in error. 2015-08-11 18:39:18 +02:00
Jan Holesovsky
2e6bb94395 More consistent error report. 2015-08-11 18:31:50 +02:00
Henry Castro
7aeca2f92b loolwsd: destroy LOKit when child finished 2015-08-08 08:20:16 -04:00
Henry Castro
41355096dc loolwsd: update loolstat, socket client and ...
prisioner
2015-08-08 08:09:22 -04:00
Henry Castro
54b1e1b612 loolwsd: set thread name to debug socket 2015-08-08 07:55:54 -04:00
Tor Lillqvist
25333f8f7c loolwsd.postinst has superseded the postinst file 2015-08-06 20:38:16 +03:00
Tor Lillqvist
5b5a5489d5 Set up a lool user, group and systemd service on Debian, too 2015-08-06 20:10:04 +03:00
Mihai Varga
d4f818522a 'requestloksession' message that starts a LOK process
Used to predict the user's interaction with the document and to
provide a better response time
2015-08-06 18:54:45 +03:00
Henry Castro
ee928f9af1 loolwsd: create lokit process id logs
Also, when used with --test option, create lokit PID log
so it is attached to the debugger.

gdb loolwsd $(cat /tmp/lokit.pid)
2015-08-05 20:20:05 -04:00
Henry Castro
1c0153d5e0 loolwsd: ensure one child when debugging
when used with --test option:
./loolwsd --test --systemplate=${SYSTEMPLATE} --lotemplate=${MASTER}/instdir
--childroot=${ROOTFORJAILS}

ensure that one child is created and attach to it easily to debug lokit
messages
2015-08-05 20:05:30 -04:00
Henry Castro
0ec12fe11e loolwsd: fix child fork when debugging one child 2015-08-05 18:19:51 -04:00
Jan Holesovsky
2d2fd83859 Document the timestamp= parameter in the protocol.txt. 2015-08-04 20:42:27 +02:00
Jan Holesovsky
527821597f Make the timestamps work also for non-file:// URLs. 2015-08-04 20:39:33 +02:00
Tor Lillqvist
3b9514aa38 Bump major.minor to 1.3 here in master 2015-08-04 20:28:57 +03:00
Tor Lillqvist
13809cb5f3 Add crontab entry to remove old cached tiles
The same entry as Mihai used in the .spec file.
2015-08-04 17:44:14 +03:00
Mihai Varga
47a96e8dee loolwsd: remove cron job when uninstalling the rpm package 2015-08-04 10:09:47 +03:00
Henry Castro
85b0474deb loolwsd: remove time stamp query parameter
The original URI request with query parameters is processed by loKit.
2015-08-03 21:33:47 -04:00
Mihai Varga
eff724bda7 loolwsd: fixed poorly placed cronjob 2015-08-03 22:01:11 +03:00
Mihai Varga
b0282a2a03 Revert "loolwsd: LRU expiry persistent cache"
This reverts commit 74dcec1d3f.
The cronjob replaces this
2015-08-03 21:51:55 +03:00
Mihai Varga
eceb977186 loolwsd: cron job to delete old tiles from rpm packages
place a cronjob file in /etc/cron.d/ which is removed when
the loolwsd rpm packages is uninstalled
2015-08-03 21:50:41 +03:00
Mihai Varga
6812c6aa0b goToPage API
in loleaflet, this is achived by invalidating the cursor and centering
the viewing area around it
2015-08-03 19:07:02 +03:00
Mihai Varga
992f19e6e8 loolwsd: handle parts in Writer
In Writer a part is a page and we only notify the client about the
current page in which the cursor is. Internally (invalidation and
caching) we work with a single part (0)
2015-08-03 17:29:23 +03:00
Mihai Varga
91c98a344e loolwsd: bump version after tarball 2015-08-03 10:14:19 +03:00
Mihai Varga
ac365f6d17 loolwsd: bump version before tarball 2015-08-03 10:13:07 +03:00
Mihai Varga
4ae546d7bd loolwsd: don't move editing tiles to persistent on saveAs 2015-07-29 16:58:43 +03:00
Mihai Varga
a6091f9f6b loolwsd: don't decode the url in the saveAs command 2015-07-29 11:39:35 +03:00
Henry Castro
74dcec1d3f loolwsd: LRU expiry persistent cache
When tile requests from the cache, update time stamp file
so LRU tiles are removed.
2015-07-25 20:12:07 -04:00
Henry Castro
ec094f1601 loolwsd: remove _pendingPreSpawnedChildren.
_pendingPreSpawnedChildren is no longer need it, because
fork() is used.
Also adjusted time sleep to 1 second.
2015-07-24 15:17:46 -04:00
Henry Castro
6dafcc753f loolwsd: process sleep for amount of time ...
specified by MAINTENANCE_INTERVAL
2015-07-24 14:10:24 -04:00
Henry Castro
e107fa662c loolwsd: update loolstat display processes utility 2015-07-24 13:54:35 -04:00
Tor Lillqvist
bbd5e54785 Let's try to have a bit saner dependencies
Surely loolwsd shouldn't depend on dev packages. And libpng12 gets included
automatically.
2015-07-24 14:31:46 +03:00
Tor Lillqvist
5bee6f71a2 Add more synthetic dependencies per customer wish
Not sure why they want to depend on those dev packages!?
2015-07-24 14:03:53 +03:00
Mihai Varga
e29d7c8468 loolwsd: save the whole status not only the fst line 2015-07-22 15:09:14 +03:00
Mihai Varga
b9884a470a loolwsd: be aware of the client's current part
And set lok's part to match the client's when they start editing or
selecting
2015-07-21 16:56:02 +03:00
Mihai Varga
c9fff5d8e3 loolwsd: updated tileCache::invalidateTiles 2015-07-21 14:53:53 +03:00
Mihai Varga
8f48dabf28 loolwsd: discard requests that are in the queue already 2015-07-21 11:08:36 +03:00
Mihai Varga
47790d9d5d loolwsd: use the new invalidate x y widht height command 2015-07-21 11:08:36 +03:00
Tor Lillqvist
fe8ef16827 Minor update to match facts better 2015-07-20 22:19:20 +03:00
Mihai Varga
19d6dec3f7 loolwsd: log timestamp in microseconds
Also, separate messages by comma so we can parse them easily
2015-07-20 12:54:08 +03:00
Henry Castro
c54ea4cd54 loolwsd: added shell script loolstat
loolstat. display a tree of processes and report total
number processes and threads.
2015-07-19 19:34:18 -04:00
Henry Castro
de3d97d5a4 loolwsd: create PID log file.
The PID log file is used by external utilities
to report processes, threads, etc.
2015-07-19 16:49:11 -04:00
Henry Castro
6e5df9acda loolwsd: systemplate added tmp dir
tmp directory is necessary when uses the valgrind tool
2015-07-18 14:28:12 -04:00
Henry Castro
66756a77a9 loolwsd: change named mutex to private static. 2015-07-18 12:35:16 -04:00
Henry Castro
161e5534ec loolwsd: mutex lock when loKit initialization. 2015-07-17 21:54:26 -04:00
Henry Castro
63a33b39f6 loolwsd: moved server socket to main function. 2015-07-17 17:55:57 -04:00
Henry Castro
404b5edbc9 loolwsd: FileTransferHandler no longer need it. 2015-07-17 16:55:49 -04:00
Henry Castro
99ca81a944 loolwsd: move server socket to parent process 2015-07-17 14:04:40 -04:00
Henry Castro
061a2bfc3d loolwsd: rework child monitor status. 2015-07-16 18:05:28 -04:00
Mihai Varga
5085fd4e0c loolwsd: move tiles to persistent folder on save 2015-07-16 12:51:07 +03:00
Mihai Varga
2ebe9f1be1 loolwsd: format and options in 'saveas' are optional 2015-07-16 12:51:07 +03:00
Henry Castro
fd5b676b2d loolwsd: set RTLD_NOW, all undefined symbols in
the library are resolved before dlopen() returns.
Also remove unnecessary commented code.
2015-07-15 20:57:39 -04:00
Mihai Varga
675cfb8c4a loolwsd: send part names with the status message
Also disabled the status length assertion because part names
are separated by new-line characters ('\n')
2015-07-15 18:49:32 +03:00
Henry Castro
3f3b9f7675 loolwsd: remove WSTOPSIG(status).
No child returns status process stop. This cause problems
when we attach one child to debug.
2015-07-15 09:15:12 -04:00
Mihai Varga
0d80d63cb4 loolwsd: don't cancel special tile requests that have an ID 2015-07-14 19:46:29 +03:00
Mihai Varga
97191d985b loolwsd: allow an extra paramater to the tile command (ID) 2015-07-14 19:46:04 +03:00
Henry Castro
bb3611399b loolwsd: Use fork but no execve 2015-07-13 10:13:06 -04:00
Tor Lillqvist
5bf98749ba Use /opt/libreoffice5.0 to match LO 5.0 beta
Note that the LibreOffice version present on the build system, if any, has no
relation to the one the packaged binaries are supposed to run against. When
building RPM or Debian packages, we use the bundled copy of the LibreOfficeKit
headers we have here, and not ones from a LibreOffice source tree.
2015-07-08 18:03:27 +03:00
Mihai Varga
6d2d8361b6 loolwsd: the third argument in postUnoCommand must be null not space 2015-07-08 09:09:58 +03:00
Tor Lillqvist
8864d8432b Bump minor version in this branch 2015-07-07 18:32:55 +03:00
Tor Lillqvist
d39fa21d64 Bump version after tarball 2015-07-07 12:49:52 +03:00
Tor Lillqvist
44074286a3 Bump version for tarball 2015-07-07 12:44:37 +03:00
Tor Lillqvist
b0f2b06fca Add the libnss* pathnames for Debian, too 2015-07-07 12:44:16 +03:00
Tor Lillqvist
3f874060c4 Bump version after tarball 2015-07-07 10:47:28 +03:00
Tor Lillqvist
db73d12cf2 Bump version for tarball 2015-07-07 10:12:13 +03:00
Tor Lillqvist
e29c773879 Include loolwsd.service and sysconfig.loolwsd in the tarball
(Instead of having them as separate SOURCEn in the loolwsd.spec.)

Both are related to systemd. The latter probably is relevant only for
openSUSE. (And I actually couldn't get what I tried doing in it to work, see
739edf9dcf464f407dfe663fb2f497b866e73333.)
(cherry picked from commit f8b29d666d52a3f18b0125aaed309fa3e4d719fb)
2015-07-07 10:11:34 +03:00
Tor Lillqvist
f1b4f72278 Adapt to the CP LO 5.0 beta1
(cherry picked from commit 9be670309fd107d29c4c54c58d2927968d777745)
2015-07-07 10:11:03 +03:00
Tor Lillqvist
baeeb92d1c Add cap_mknod here, too 2015-07-07 09:57:43 +03:00
Jan Holesovsky
767d6a0a32 Create /dev/*random in the chroot so that ssl works.
Also add the missing library to the systemplate.
2015-07-06 19:35:50 +02:00
Henry Castro
e50e302839 loolwsd: Handle file URI schema
In the file:// case, if it is on linux, hard link function is used
and copy only if hard link fails.
2015-07-04 20:46:13 -04:00
Henry Castro
d788fa92e9 loolwsd: let libreoffice handle http protocol 2015-07-03 10:04:24 -04:00
Tor Lillqvist
f4da368a52 Add a FIXME, found by looking, no time to investigate 2015-07-02 16:26:09 +03:00
Jan Holesovsky
fbcbc462d6 One more place where we need to adapt to the new payload format. 2015-06-25 17:35:33 +02:00
Jan Holesovsky
4071022305 The payload format has changed, swap the parameters accondingly. 2015-06-25 17:03:18 +02:00
Jan Holesovsky
a172c73519 Update the bundled includes. 2015-06-25 12:03:16 +02:00
Jan Holesovsky
7c48ea1fe3 Change the tiles cache to 2-level cache.
Now we have 2 caching directories: 'persistent', and 'editing'.

The Persistent cache always represents the document as it is saved, the
Editing one caches the current edits.  The Editing state is copied to
Persistent on save.  The Editing state is destroyed on reload.
2015-06-24 22:07:58 +02:00
Mihai Varga
e8007ea405 Server getTextSelection implementation 2015-06-24 18:08:15 +03:00
Tor Lillqvist
f7a769ef28 Avoid assertion when the --lotemplate parameter ends with a slash 2015-06-17 16:52:54 +03:00
Tor Lillqvist
d7a6a8511c Handle callbacks here, too 2015-06-12 16:58:49 +03:00
Tor Lillqvist
f09991e6c8 Don't use TABs for variable assignment lines 2015-06-09 19:34:32 +03:00
Tor Lillqvist
692b971a55 Add tsqueue.h 2015-06-09 19:34:24 +03:00
Tor Lillqvist
6804750463 Don't bother with storing a ref to Application::instance() in a variable in some places 2015-06-09 18:30:21 +03:00
Tor Lillqvist
d3f4ddd355 Use a queue also in the child processes 2015-06-09 18:30:12 +03:00
Tor Lillqvist
8a2329d698 Log the number of tiles requests and replies 2015-06-09 18:30:04 +03:00
Tor Lillqvist
70b1e58f4c Typo 2015-06-09 18:29:55 +03:00
Tor Lillqvist
629ba87139 Add a "canceltiles" message to the protocol and handle it
Implementing this Was harder than I first expected. The basic idea is as
follows: The master process puts each message arriving from a client that
isn't "canceltiles" into a (client-specific) queue. A separate thread that
pulls messages from the queue at its own pace and handles them as
before. Incoming "canceltiles" messages are handled specially, though: The
queue is emptied of "tile" messages.

The above sounds simple but there are several details that were a bit tricky
to get right.
2015-06-09 18:29:48 +03:00
Tor Lillqvist
1954d95e91 Clarify usage message 2015-06-09 18:29:35 +03:00
Tor Lillqvist
a7f2e5aa29 The buffer parameter to handleInput() can be const 2015-06-08 17:56:10 +03:00
Tor Lillqvist
391d17831d Bump minor number in this master branch 2015-06-05 16:28:49 +03:00
Tor Lillqvist
316bfe487d Correct documentation for _docURL 2015-06-05 13:05:51 +03:00
Tor Lillqvist
ea2141ffe7 Take the tile cache directory as an option, too 2015-06-04 17:09:19 +03:00
Tor Lillqvist
314a9ba826 We want --localstatedir=/var on Debian 2015-06-04 15:53:19 +03:00
Tor Lillqvist
6b0ab577ce Add Debian packaging 2015-06-04 13:08:01 +03:00
Tor Lillqvist
9ab0aaed03 Bump version after tarball 2015-06-04 13:08:00 +03:00
Tor Lillqvist
5985d86642 Bump version for tarball 2015-06-03 20:05:15 +03:00
Tor Lillqvist
f1732ba96d Avoid global dtors, just _Exit() 2015-06-03 09:13:22 +03:00
Tor Lillqvist
2312d9a962 Just use Requires instead of PreReq
They mean the same.
2015-06-03 09:13:22 +03:00
Tor Lillqvist
d3ba2cae5b Post-release bump 2015-06-01 20:18:53 +03:00
Tor Lillqvist
3f0bd39a12 Bump version for tarball 2015-06-01 20:17:15 +03:00