| commit | 7349c6f03cb2bb38dd65666e02ca3fbfa4fcf83c | [log] [tgz] |
|---|---|---|
| author | Taichi Haradaguchi <20001722@ymail.ne.jp> | Sat Jun 10 15:57:28 2023 +0900 |
| committer | Andras Timar <andras.timar@collabora.com> | Mon Jun 24 23:45:56 2024 +0200 |
| tree | 28e40dacc128c1f26cc7e090b3ea394902d1605f | |
| parent | 2b3b868f66bea547863a4528a68e56527d1391a0 [diff] |
upgrade to curl 8.6.0 via... curl: upgrade to release 8.1.2 Fixes CVE-2023-28321, CVE-2023-28322, and 2 more CVEs that probably don't affect LibreOffice. Change-Id: If8720ba3647216063bffc8678aa64dad9a317128 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152809 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit dc19ef0d42e89edffcc21795194eb1eeb5957d0f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152888 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit cbdb9359bc77ebe7f79340cf0322fb2e4d78b125) Update to curl-8.2.1.tar.xz ...obtained from <https://curl.se/download/curl-8.2.1.tar.xz> Change-Id: I7260f79e2f72501869ff58c77f0d9dfa3ebdece1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155116 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 85c07891ad9424661d8e1adb8e93364e3964ce34) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155133 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 52d9d30371247f7d613dd9d1fd5f0c4fdf94682a) remove configure arguments to curl that no longer exist Change-Id: Ic6995dfcc11c872092c5e1a53c84dfed5d254eea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141955 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 6f00aef4fe3242a1ff3a7f9fa31e8a6663162ca3) ofz: build-failure use with-tls result for curl otherwise with (default due to --disable-dynamic-loading) --disable-nss we get: configure: error: select TLS backend(s) or disable TLS with --without-ssl. Select from these: --with-amissl --with-bearssl --with-gnutls --with-mbedtls --with-nss --with-openssl (also works for BoringSSL and libressl) --with-rustls --with-schannel --with-secure-transport --with-wolfssl alternative we could --without-ssl entirely without nss Change-Id: Iea25b918c135664dffacfb74089d7c7c0818695e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141956 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 2c0997900d35e54466d479c9c5437d447ba9b165) curl: upgrade to release 8.3.0 Fixes CVE-2023-38039 * NSS support was removed in this release, so NSS related patches are not necessary now. * add configure options for curl. Change-Id: I71e09bac3c69ce4b13deee770a32225f39f79c46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156917 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp> (cherry picked from commit c2930ebff82c4f7ffe8377ab82627131f8544226) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157311 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 609d4a6b8d66d02a36c57de99efd36a4b1c2b789) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157313 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 5d9a942721ea683b3684e71c470d338599a80eb1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157828 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 5a113f2376344062ff1a71debecf7a7b112c8e25) curl: upgrade to release 8.4.0 Fixes CVE-2023-38546 and CVE-2023-38545 Minor amount of bugfixes, nothing that immediately affects us. New feature: IPFS protocols via HTTP gateway now supported, with the right URL. Change-Id: I24af4d17b570685081aa031c50a87bb8dcf1833d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157829 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit d97184677471565f3987a5d0fe1ef96503c0b099) curl: upgrade to release 8.5.0 Fixes CVE-2023-46218 (cookies apparently used by libcmis) Change-Id: I6f903ab63589d3318c0cc7d47f5183f7ae55f52b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160592 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 0a2df11fb563177951db1e8890d67cee8d44246a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160577 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 04eddbaa4530d75c4984125dab7bb3f58113a3ff) curl: upgrade to release 8.6.0 Fixes CVE-2024-0853 Change-Id: Iabba0748f7c48ee03a8223aef9ca81bf379738e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162793 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 9667ea7e274c4e29cf7c35d9e124a8fbcb2af3da) (cherry picked from commit a990e726efb2bcb4cb8de9aaade0f35e429ea330) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169120 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
LibreOffice is an integrated office suite based on copyleft licenses and compatible with most document formats and standards. Libreoffice is backed by The Document Foundation, which represents a large independent community of enterprises, developers and other volunteers moved by the common goal of bringing to the market the best software for personal productivity. LibreOffice is open source, and free to download, use and distribute.
A quick overview of the LibreOffice code structure.
You can develop for LibreOffice in one of two ways, one recommended and one much less so. First the somewhat less recommended way: it is possible to use the SDK to develop an extension, for which you can read the API docs here and here. This re-uses the (extremely generic) UNO APIs that are also used by macro scripting in StarBasic.
The best way to add a generally useful feature to LibreOffice is to work on the code base however. Overall this way makes it easier to compile and build your code, it avoids any arbitrary limitations of our scripting APIs, and in general is far more simple and intuitive - if you are a reasonably able C++ programmer.
These are the current minimal operating system and compiler versions to run and compile LibreOffice, also used by the TDF builds:
If you want to use Clang with the LibreOffice compiler plugins, the minimal version of Clang is 5.0.2. Since Xcode doesn't provide the compiler plugin headers, you have to compile your own Clang to use them on macOS.
You can find the TDF configure switches in the distro-configs/ directory.
To setup your initial build environment on Windows and macOS, we provide the LibreOffice Development Environment (LODE) scripts.
For more information see the build instructions for your platform in the TDF wiki.
Each module should have a README.md file inside it which has some degree of documentation for that module; patches are most welcome to improve those. We have those turned into a web page here:
However, there are two hundred modules, many of them of only peripheral interest for a specialist audience. So - where is the good stuff, the code that is most useful. Here is a quick overview of the most important ones:
| Module | Description |
|---|---|
| sal/ | this provides a simple System Abstraction Layer |
| tools/ | this provides basic internal types: Rectangle, Color etc. |
| vcl/ | this is the widget toolkit library and one rendering abstraction |
| framework/ | UNO framework, responsible for building toolbars, menus, status bars, and the chrome around the document using widgets from VCL, and XML descriptions from /uiconfig/ files |
| sfx2/ | legacy core framework used by Writer/Calc/Draw: document model / load/save / signals for actions etc. |
| svx/ | drawing model related helper code, including much of Draw/Impress |
Then applications
| Module | Description |
|---|---|
| desktop/ | this is where the main() for the application lives, init / bootstrap. the name dates back to an ancient StarOffice that also drew a desktop |
| sw/ | Writer |
| sc/ | Calc |
| sd/ | Draw / Impress |
There are several other libraries that are helpful from a graphical perspective:
| Module | Description |
|---|---|
| basegfx/ | algorithms and data-types for graphics as used in the canvas |
| canvas/ | new (UNO) canvas rendering model with various backends |
| cppcanvas/ | C++ helper classes for using the UNO canvas |
| drawinglayer/ | View code to render drawable objects and break them down into primitives we can render more easily. |
Use the "..." form if and only if the included file is found next to the including file. Otherwise, use the <...> form. (For further details, see the mail Re: C[++]: Normalizing include syntax ("" vs <>).)
The UNO API include files should consistently use double quotes, for the benefit of external users of this API.
loplugin:includeform (compilerplugins/clang/includeform.cxx) enforces these rules.
Beyond this, you can read the README.md files, send us patches, ask on the mailing list libreoffice@lists.freedesktop.org (no subscription required) or poke people on IRC #libreoffice-dev on irc.libera.chat - we're a friendly and generally helpful mob. We know the code can be hard to get into at first, and so there are no silly questions.