When the default value was empty, @ENABLE_DEBUG@ in loolwsd.xml.in
was substituted to empty string, not to "false" as intended in release
builds. As a consequence, in new installations, the loading of the
loleaflet.html gave 400 Bad request error with a not very helpful
error message:
wsd-00922-00928 2019-11-24 16:05:55.384859 [ websrv_poll ] INF #23 Exception while processing incoming request: [POST /loleaflet/08aa7d914/loleaflet.html?WOPISrc=http%3A%2F%2F172.22.64.173%2Findex.php%2Fapps%2F...]: Syntax error| wsd/LOOLWSD.cpp:2244euex4o&title=About.odt&lang=en&closebutton=1&revisionhistory=1 HTTP/1.1
Change-Id: Ia8bb18914bb49af057c4618f99124b0f22737f20
It turns out that the std::filesystem is still not part of the NDK:
https://github.com/android/ndk/issues/609
The NDK has the header - but not the c++fs library yet :-(
Change-Id: Ic7003f71cd4730b2f34138adea3b09fe92fdbb4a
Reviewed-on: https://gerrit.libreoffice.org/82336
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
This introduces basic C++17 support, because the functionality needed
here is easy to implement using std::filesystem.
Adds also the necessary checks to ./configure. The code still uses POCO
when C++17 is not available in the compiler.
Change-Id: I03353834d10201bf0a13ea72715560b9b9b16265
Reviewed-on: https://gerrit.libreoffice.org/82294
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
When building the iOS app my way, I do the J bits on a Linux box and
not on the Mac, thus I don't need any Python stuff on the Mac.
Change-Id: Ib8092870598fb3a8f304aefa8fab21fe7e3acc73
Reviewed-on: https://gerrit.libreoffice.org/82018
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
Without this the linking with static poco libs failed on Ubuntu
16.04 and 18.04. Interestingly on other distros, including Debian
8, 9, 10, and CentOS 7, 8, and openSUSE, this patch was not necessary.
Change-Id: I96c90ab5e960e8843db9b835f6e1a0417c7b48f8
Reviewed-on: https://gerrit.libreoffice.org/81836
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
The test program did not compile because of
error: unused parameter 'argc' [-Werror=unused-parameter]
As result, we always linked with -lpcre.
Change-Id: I7557025cc56fb72fc2a9f8de6142de93cfed2335
They are needed since commit
c1e04e4069
("scripts/unocommands.py: Switch to python3"),
so add a corresponding check to configure.ac.
Change-Id: If0f1d2b474c3edb3fc63dc54292acd54f096b822
Reviewed-on: https://gerrit.libreoffice.org/81473
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Michael Weghorn <m.weghorn@posteo.de>
It was not very useful to let this setting configurable by the user.
On the other hand, old path in config file caused issues after
upgrade. It is better to decide the location of LOKit core
during compilation. From now on the --with-lo-path configure
option is compulsory.
Change-Id: Icdcbc21bde5dad329fdb6e30ed17efde6b0e73de
Reviewed-on: https://gerrit.libreoffice.org/79943
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
It is now possible to run ./configure --with-sanitizer=address
(or any least of valid sanitizers) to build with sanitizers.
When --with-sanitizer is specified, we build with -O1 and
don't omit frame-pointer. We also enable RTTI (which should
be enabled anyway, but just in case).
UBSan (undefined) sanitizer can cause 'typeinfo' errors.
Fixing the source is best, but as a workaround, disabling
vptr sanitizer works. Just pass -fno-sanitize=vptr to CFLAGS
and CXXFLAGS.
Change-Id: I4031aa872b1b1ef779703135394f3733952e5cd1
Reviewed-on: https://gerrit.libreoffice.org/79329
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
This simplifies the anonymization configuration
as virtually always they are all either enabled
together, or not at all.
Change-Id: I6fe60f5287fc5d71cd7a6ac3268eac67e5e6e9fb
Reviewed-on: https://gerrit.libreoffice.org/70033
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/71090
This way, it is more naturally visible what is the actuall app (with the
initial recent documents / file picker) and the editing part.
Change-Id: Ia764f2900939e980f703e3da9f9abd6c0aee7cbb
This is needed for the Android app too, so generalize the switch.
Kill copying of the example documents into the APK when at that...
Change-Id: I5b575ade3e40cc0becd5c739077acff5299d3312
The change causes problems for people on various sad distros. Oh well,
whatever.
This reverts commit bd00d9fd05.
This reverts commit 054a9cdb04.
Change-Id: Ie439e4c655d02b6f34bdd1a9c1c5b6db6048b653
It is is complicated enough to build the iOS app. Requiring GNU
libtool brings with it the risk of polluting the command environment
as there already is a completely different command in macOS with the
same name, /usr/bin/libtool. And as GNU libtool was used only to build
the unit tests for the "normal" server-based Online that are built and
run only on Linux anyway, we don't really need any of the
"portability" that GNU libtool brings.
Without GNU libtool, we compile all the $(wsd_sources) (see
test/Makefile.am) that the unit-* tests use into a single object file,
WsdSources.o. (Because they need to be compiled as PIC we can't use
the already compiled object files for the Online server programs.)
This required some additional minor changes to a few source files.
Change-Id: I20a2c523170376fa4c1a0d9d8d6b693a9779376f
Reviewed-on: https://gerrit.libreoffice.org/72840
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
As discussed on IRC: This leads to incompatible changes (config directory changed) and instead we will use loolwsd on master branch too from now on.
This reverts commit 1dbbc5acc7.
Change-Id: Ifa38144f830578c12cda7454354b60d09426e704
Reviewed-on: https://gerrit.libreoffice.org/72734
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
The name on master is "loolwsd" while the official relase branches
(libreoffice-6-2 e.g.) have "libreoffice-online".
This leads to various issues, e.g. some scripts expect the config files
to be in /etc/loolwsd while changing the name also changes that folder name
to /etc/libreoffice-online.
So at least docker builds from the release branches don't work.
The package name should be consistent, either we use "libreoffice-online"
on master also, or we change the release branches to also use "loolwsd".
My preference is to have "libreoffice-online" as the name. "loolwsd" is an
internal term and hard to associate with LibreOffice online for "outsiders".
Change-Id: I1b1efda2fa6083f1a0d211fd73f1fa062f3286cc
Reviewed-on: https://gerrit.libreoffice.org/72590
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
A configure argument, --with-iosapp-branding, should point to a
directory containing a branding.css file and possibly other files that
branding.css references, to be bundled and used by the iOS app. The
directory structure ends upp in the app bundle as Branding. The
generated loleaflet.html for the iOS app references
Branding/branding.css unconditionally.
Preparation for using it on Android too.
Change-Id: Iee7778b2625a02a98daff5df87c39f4ab1d18144
Reviewed-on: https://gerrit.libreoffice.org/70651
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
This is necessary after 338563ab45
Change-Id: I026dba613349931a95fd71b126e72605d1546140
Reviewed-on: https://gerrit.libreoffice.org/70054
Reviewed-by: Alexandru Vlăduţu <alexandru.vladutu@1and1.ro>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
When you want to build a new version for distribution, bump the
build number in the BUNDLE-VERSION file.
Change-Id: I1e7e55528aef6d3526ce14d070ae96abc5931f38
Tool to automatically reload used .css and .js files.
To make it work symlinks are created instead of a copy
if browsersync is enabled.
1. install:
npm install -g browser-sync
2. use configure option: --enable-browsersync
3. remove loleaflet/dist directory
4. run server:
LOOL_SERVE_FROM_FS=1 make run -j10
5. run browsersync:
browser-sync start --config browsersync-config.js
or
make sync-writer
Change-Id: Iebee1cc0b9a03bc866954ff33e3cb8a10b48e0af