office-gobmx/desktop
Miklos Vajna 90beea9a9a cool#9992 lok doc sign: handle .uno:SignatureCert/Key/Ca view options
The desktop way to sign documents is to manually import a .p12 file into
your Firefox user profile, and then the signing key is available in all
views. The LOK case wants per-view signing certificates, set in a way
similar to the name of the user.

Start implementing this by:

1) Extending initializeForRendering() to have JSON entries for the
   signing cert/key/ca chain.

2) Importing the CA chain as trusted certificates, using a new
   SfxLokHelper::extractCertificates() + test for this.

3) Marking a certificate as trusted is tricky, extract
   SfxLokHelper::addCertificate() from the existing doc_addCertificate()
   to do this.

4) Parsing the signing certificate, but just warn if that fails, still
   need to connect that to the SfxViewShell later.

Change-Id: I00e40b3cdd68dbe8994f28861dc7b0f578189643
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173806
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-09-23 17:49:28 +02:00
..
inc tdf#161048 Revert "move opencl check at startup inside its own thread" 2024-05-28 18:02:22 +02:00
qa Related: cool#9735 vcl lok: add an AnyInput() callback 2024-08-14 11:17:33 +02:00
scripts valgrind: dhat is no longer experimental 2024-07-09 10:53:31 +02:00
source cool#9992 lok doc sign: handle .uno:SignatureCert/Key/Ca view options 2024-09-23 17:49:28 +02:00
test/deployment cui, dbaccess, desktop, external, filter, librelogo: fix issues found by 2024-07-27 12:51:55 +02:00
uiconfig/ui Resave with newer Glade version 2024-06-24 15:37:25 +02:00
unx/source cid#1608081 silence Overflowed array index write 2024-09-02 21:15:36 +02:00
util Properly implement cppu::throwException for Emscripten 2024-07-10 12:32:15 +02:00
win32/source Fix typo 2024-02-26 16:14:27 +01:00
AllLangMoTarget_dkt.mk migrate to boost::gettext 2017-07-21 08:20:50 +01:00
CppunitTest_desktop_app.mk Drop support for OpenGL denylist on X11 2022-03-28 14:31:07 +02:00
CppunitTest_desktop_dialogs_test.mk gbuild: Remove MSVC 2013 legacy code 2017-04-21 18:18:44 +02:00
CppunitTest_desktop_lib.mk Test paintPartTile behavior for views with different schemes 2023-08-03 09:14:19 +02:00
CppunitTest_desktop_lokinit.mk Cut down on -pthread/-lpthread proliferation 2019-04-25 21:27:43 +02:00
CppunitTest_desktop_version.mk Enable desktop/qa/deployment_misc/test_dp_version.cxx 2015-05-04 13:50:47 +02:00
CustomTarget_desktop_unopackages_install.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
CustomTarget_soffice.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
CustomTarget_soffice_bin-emscripten-exports.mk Properly implement cppu::throwException for Emscripten 2024-07-10 12:32:15 +02:00
Executable_minidump_upload.mk Add version resource to executables where it was missing 2019-08-31 00:22:28 +02:00
Executable_oosplash.mk tdf#156825 Half of the splash screen is visible on both monitors under Linux 2023-08-22 13:15:57 +02:00
Executable_quickstart.mk Add version resource to executables where it was missing 2019-08-31 00:22:28 +02:00
Executable_sbase.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_scalc.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_sdraw.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_simpress.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_smath.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_soffice_bin.mk Emscripten: Support --disable-gui 2024-08-28 23:02:51 +02:00
Executable_soffice_com.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_soffice_exe.mk
Executable_soffice_safe.mk desktop: separate executable shortcut for safe-mode 2020-07-13 10:53:12 +02:00
Executable_sweb.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_swriter.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_unoinfo.mk Add version resource to executables where it was missing 2019-08-31 00:22:28 +02:00
Executable_unopkg.mk Make unopkg.com proper launcher for unopkg.bin on Windows 2020-01-23 06:20:22 +01:00
Executable_unopkg_bin.mk Make unopkg.com proper launcher for unopkg.bin on Windows 2020-01-23 06:20:22 +01:00
Executable_unopkg_com.mk Make unopkg.com proper launcher for unopkg.bin on Windows 2020-01-23 06:20:22 +01:00
Extension_test-active.mk Re-enable building test-active.oxt 2013-12-16 11:24:12 +01:00
Extension_test-crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Extension_test-passive.mk Add some help content to test-passive.oxt 2018-06-13 13:32:05 +02:00
GeneratedPackage_desktop_unopackages_install.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
IwyuFilter_desktop.yaml tdf#146619 Remove unused #includes from C/C++ files 2024-04-02 17:27:27 +02:00
Jar_active_java.mk Move all public Java classes to libreoffice.jar 2020-05-06 14:48:21 +02:00
Jar_passive_java.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_active_native.mk Introduce gb_*_set_external_code 2014-12-18 16:39:43 +01:00
Library_crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Library_crashreport.mk officecfg,*: add Office::Security::Net::AllowInsecureProtocols 2023-11-09 16:51:31 +01:00
Library_deployment.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_deploymentgui.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_deploymentmisc.mk do not require $(SRCDIR) in every gb_Library_set_precompiled_header 2019-09-23 10:47:25 +02:00
Library_migrationoo2.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_migrationoo3.mk Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx 2022-08-18 17:10:19 +02:00
Library_offacc.mk officecfg,desktop: add Office::Security::Net::AllowInsecureUNORemoteProtocol 2023-11-09 17:11:00 +01:00
Library_passive_native.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_sofficeapp.mk Init Embind-ings manually, once UNO is set up 2024-02-28 07:53:21 +01:00
Library_spl.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_unopkgapp.mk gbuild: Remove MSVC 2013 legacy code 2017-04-21 18:18:44 +02:00
lokclipboard.component Make LOKClipboard available to other modules 2023-02-06 17:02:54 +00:00
Makefile
Module_desktop.mk Properly implement cppu::throwException for Emscripten 2024-07-10 12:32:15 +02:00
Package_branding.mk Replace Galaxy icon theme by Colibre 2018-05-05 10:19:26 +02:00
Package_branding_custom.mk gbuild: set Package default target to INSTDIR 2013-10-28 20:17:26 +01:00
Package_sbase_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Package_scalc_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Package_scripts.mk Unify condition names and fix "else" paths 2022-01-08 12:26:30 +01:00
Package_sdraw_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Package_simpress_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Package_smath_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Package_soffice_sh.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
Package_swriter_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Pagein_calc.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Pagein_common.mk
Pagein_draw.mk Revert "merge sdui library into sd" 2024-02-15 08:57:53 +01:00
Pagein_impress.mk Revert "merge sdui library into sd" 2024-02-15 08:57:53 +01:00
Pagein_writer.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Pyuno_passive_python.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Rdb_crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Rdb_passive_generic.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Rdb_passive_platform.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
README.md Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
README.vars
StaticLibrary_winlauncher.mk Drop UNICODE/_UNICODE defines 2019-04-04 13:57:59 +02:00
StaticLibrary_winloader.mk WIN allow setting a memory limit for soffice.bin 2019-09-13 20:11:38 +02:00
UIConfig_deployment.mk weld ExtMgrDialog and UpdateRequiredDialog 2019-06-14 16:33:45 +02:00
WinResTarget_quickstart.mk
WinResTarget_sbase.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_scalc.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_sdraw.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_simpress.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_smath.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_soffice.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_sofficebin.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_sweb.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_swriter.mk

LibreOffice Binary

Code for the LibreOffice main binary (soffice) resides here. The soffice_main function for the soffice binary can be found here.

Stable Interface

Some of the artifacts built here are part of a LibreOffice installation set's stable interface, which (programmatic) clients can depend on. Among them are:

soffice

In the program directory (program/ on Linux and Windows, Contents/MacOS/ on macOS).

unoinfo

In the program directory (program/ on Linux and Windows, Contents/MacOS/ on macOS).

When called with a sole argument of c++, it prints to stdout an absolute pathname denoting the directory where the public URE libraries are found.

When called with a sole argument of java, it prints to stdout a marker character (either an ASCII '0' or '1') followed by a sequence of zero or more absolute pathnames denoting jars or directories that need to be included in a class loader's search locations.

If the marker character is '0' (on Linux and macOS), the pathnames are encoded as bytes, and any two pathnames in the sequence are separated from each other by NUL bytes.

If the marker character is '1' (on Windows), the pathnames are encoded as UTF-16-LE two-byte code units, and any two pathnames in the sequence are separated from each other by two-byte NUL code units.

Other Binaries

oosplash

Splash screen for the LibreOffice soffice binary.

Extensions

The directory test/deployment contains some extensions to be used for testing:

  • test/deployment/crashextension: C++ extension to make LibreOffice crash. Useful for testing Crashreporter.
    • Build with Extension_test-crashextension.
    • Extension can be found in workdir/Extension/test-crashextension.oxt
  • test/deployment/passive: C++, Java and Python extension samples with passive registration.
    • Build with make Extension_test-passive.
    • Extension can be found in workdir/Extension/test-passive.oxt
  • test/deployment/active: C++, Java and Python extension samples with active registration.
    • Build with make Extension_test-active.
    • Extension can be found in workdir/Extension/test-active.oxt