summaryrefslogtreecommitdiff
path: root/ucb
AgeCommit message (Collapse)Author
2023-09-28Fix curl proxy access for non-authenticated proxyNoel Grandin
If rSession.m_Proxy.aName is a simple host-name, the CurlUri constructor will fail with CURLUE_BAD_SCHEME, so just ignore the error here, we only care about parsing out the username/password Change-Id: Iec2d6e7315a5899ddddf6120a43199b75bf62db2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155834 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 9b30b4b1678e8be15ba51d236bd9a3e693d8d3d6)
2023-06-06ucb: webdav-curl: auth data is invalid when receiving 401cib-6.4-18Michael Stahl
Even if it used to be valid before; unfortunately newly entered credentials weren't actually used because the flag was never reset. Change-Id: Ib36689f40ff780596b9cfe6fe589a6f2e79cfcd2
2023-06-02tdf#149921 ucb: webdav-curl: WNT: certificate revocation checkMichael Stahl
- don't require it to be successful. Trying to connect to a server with self-signed CA results in: warn:ucb.ucp.webdav.curl:6796:6568:ucb/source/ucp/webdav-curl/CurlSession.cxx:946: curl_easy_perform failed: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate. Apparently schannel wants to check by default (called with SCH_CRED_REVOCATION_CHECK_CHAIN) that all the certificates aren't revoked, but the self-signed CA doesn't specify how to check. Set it to only check revocation when the way to do so actually works, via CURLSSLOPT_REVOKE_BEST_EFFORT, which sets these flags: SCH_CRED_IGNORE_NO_REVOCATION_CHECK | SCH_CRED_IGNORE_REVOCATION_OFFLINE | SCH_CRED_REVOCATION_CHECK_CHAIN Change-Id: I6d77ca23fe2012d8a5d65000b14775070b5c9a0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138204 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit f6a0ca0e92e41ad8fea71acdacdc7ec5e775dc59)
2022-10-26ucb: FTP UCP: report CURLE_URL_MALFORMAT as IllegalIdentifierExceptionMichael Stahl
With curl 7.86, the test JunitTest_ucb_complex starts to fail: .ftp://noname:nopasswd@*nohost.invalid now executing open com.sun.star.ucb.InteractiveAugmentedIOException: at com.sun.proxy.$Proxy15.execute(Unknown Source) at complex.ucb.UCB.executeCommand(UCB.java:63) at complex.ucb.UCB.checkWrongFtpConnection(UCB.java:119) because curl_easy_perform() now returns CURLE_URL_MALFORMAT where previously it was CURLE_COULDNT_RESOLVE_HOST. Map this to an exception the test expects. Change-Id: Ifdb672946726ddb4cb4d9426b7e70eefac63f040 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141877 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 022e476af44c0dfc97403dc0f3a3b63e731903e6)
2022-10-26more UCB test more robust on my systemNoel Grandin
ever since a system update, this test receives an IllegalIdentifierException thrown by ContentProvider::queryContent in ucb/source/ucp/webdav-neon/webdavprovider.cxx Given that (1) On a system where the test passes, no IllegalArgumentException is thrown (2) Comment in the test indicates that the test should be run with proxy enabled, which is not the case in our build (3) I am running with a system proxy enabled (4) the IllegalIdentifierException looks quite valid I suspect that I am the victim of a dodgy test and some new proxy behaviour in Fedora31. Change-Id: Id3fb3499a44b5672e4eed0a2749dc287d6e7a3cc Reviewed-on: https://gerrit.libreoffice.org/83853 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 649a37f1f4048eb10303b6d1a46050234807f8ce)
2022-10-20ucb: webdav-curl: forgot to commit this lineMichael Stahl
Change-Id: I63c3521de965ae3aba3079def8e29a189f9b44d2
2022-10-19Revert "statushack"Michael Stahl
This reverts commit 275b318cd55720b1106965c31e8d60619ae50ec9.
2022-10-19statushackMichael Stahl
Change-Id: Idbfacc858dd0180c40e86bbd6fc9b0084bd9ed2d
2022-10-19ucb: webdav-curl: try to share DNS and TLS data as wellMichael Stahl
Not necessary but probably faster. Documentation says that CURL_LOCK_DATA_CONNECT isn't safe in a multi threaded program. Change-Id: Iae79c01330b48f443b94abf6101a50559cb46189
2022-10-19ucb: webdav-curl: add a shared cookie storeMichael Stahl
Change-Id: I8796aa7de6335c57818aa570a55fdc64d85bd9f9
2022-10-19ucb: webdav-curl: enable cookie engine on 403 fallbackMichael Stahl
Change-Id: Iafa8bdd183ef8a514b656ec41a9b7a6fa1e3acb9
2022-10-18ucb: webdav-curl: add magic header to disable FBA in 403 fallbackMichael Stahl
Change-Id: I0018a9904857d7521895936dc27607a54523f300
2022-10-13ucb: webdav-curl: try fallback authentication with Negotiate insteadMichael Stahl
Change-Id: I93e0c8f95beafc30b94296430352f2ae54e65b11
2022-10-12ucb: webdav-curl: try fallback authentication on 403 errorMichael Stahl
Sharepoint reports lack of authentication with 403 status and additional X-MSDAVEXT_ERROR header value 0x000E0098. Try to fallback to NTLM auth in this case, if a first attempt with imported cookie didn't work. Note that the build config of libcurl on Linux is such that adding CURLAUTH_NEGOTIATE has no effect, but on WNT it causes the AuthMask to be ambiguous and prevents curl from trying NTLM.
2022-10-10Revert "ucb: webdav-curl: try fallback authentication on 403 error"cib-6.4-11Michael Stahl
This reverts commit cc77bc0e5273c6cf404851624ce5b127cdd839f4.
2022-10-07ucb: webdav-curl: try fallback authentication on 403 errorMichael Stahl
Sharepoint reports lack of authentication with 403 status and additional X-MSDAVEXT_ERROR header value 0x000E0098. Try to fallback to NTLM auth in this case, if a first attempt with imported cookie didn't work. Change-Id: I0d6dca2989d276262547a61784a3d0ed8bff9abd
2022-09-16ucb: webdav-curl: tweak cookie importcib-6.4-10Michael Stahl
Improve error handling/logging, and do it only if the error code 0x000E0098 is received. Change-Id: I47dada2ef08b21a43cdfa3db9eb2fcdb4043a04f
2022-09-01Revert "ucb: webdav-curl: try to auth on 403"Michael Stahl
This reverts commit 9352ba337a84672a0ba60651023422de88105456.
2022-08-26ucb: webdav-curl: import Sharepoint FedAuth cookie from EdgeMichael Stahl
Change-Id: I1d22ff039f10304588820388e62701ea1f515a80
2022-07-19ucb: webdav-curl: try to auth on 403Michael Stahl
This is just for testing, don't ship. Change-Id: Ic2344c61cbe3cf419b698be526a20388c0ef4f37
2022-05-09ucb: webdav-curl: if LOCK fails, display error messageMichael Stahl
Sharepoint may reject LOCK with HTTP/1.1 403 FORBIDDEN and then a dialog pops up via UUIInteractionHelper that says "Server error message: ." Let's actually put some error message in the dialog, why not the HTTP status line, plus a little prefix to see which method failed. Change-Id: Ied895787f813c5cddcb18eb4f693d5bfc8c62076 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133835 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit cb64a52afc92891ab853b9bb1294610bb9ca98d0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133856 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 061fbad1e33f68726ee5605c7903f4ae219d8539)
2022-05-09ucb: webdav-curl: fix handling of non-standard propertiesMichael Stahl
Sharepoint uses properties like these: "http://schemas.microsoft.com/repl/resourcetag" "urn:schemas-microsoft-com:Win32CreationTime" They aren't standard and don't match our own ucbprops namespace, and it looks like they should be handled by an encoding to a name like "<prop:Win32CreationTime xmlns:prop=\"urn:schemas-microsoft-com:\">" Unfortunately WebDAVResponseParser::endElement() didn't do that when handling a PROPFIND reply to get the property names. This causes a crash when all properties are copied in UniversalContentBroker::globalTransfer(), which is called by SfxMedium::DoBackup_Impl() when the setting "/org.openoffice.Office.Common/Save/Document/CreateBackup" is in effect. Change-Id: I2d6480bfd2f828b6e7fc431ba4b333d95ec12718 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133769 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 65362d63b9019e45d1224ed6d78d4e1d443d6b00) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133727 Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 8a8226630e7e2458835f21f57cb73769ef06c668)
2022-05-09tdf#148426 ucb: webdav-curl: fall-back to GET if OPTIONS status 500Michael Stahl
With the ndr.de server, OPTIONS on an image URL results in a status 500 Internal Server Error and an unexpected closed connection: 16.591:info:ucb.ucp.webdav.curl:1634132:1634170:ucb/source/ucp/webdav-curl/CurlSession.cxx:285: debug log: 0x7f9c94004988: transfer closed with 222 bytes remaining to read Apparently Neon always reported the closed connection problem with a string: "Could not read response body: connection was closed by server" The HTTP status code is extracted in makeStatusCode() and the string doesn't contain it, so the status is reported as 0 up the stack. With curl, it can apparently happen that either CURLE_PARTIAL_FILE is returned, in which case the status is ignored and reported as 0, or CURLE_OK is returned and the status 500 is reported up the stack. Adapt the handling in Content::open() to fall back to GET in case of a 500 status. Change-Id: I5f3dce7f67ce25c87bf3882c89e7ff2d386bcbad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133707 Tested-by: Jenkins Tested-by: Gabor Kelemen <kelemeng@ubuntu.com> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 5801b887629dbd784116ec6878b61bb99e991647) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133723 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit 5459e6ef2554005ec045b76195ef1ba813a2dd34)
2022-04-22ucb: webdav-curl: put user name from config into LOCK requestMichael Stahl
... so that the dialog in SfxMedium::LockOrigFileOnDemand() can show something more useful than hard-coded URL, which has been used since commit 99bdd887a6141883878978bad9beb35e7b326cd1 in 2009 when locking was added. This is half of the user info that is put into LO's own lock files (see svt::LockFileCommon::GenerateOwnEntry()). Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133186 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 70bea73ffbe815c2d5b7067f20d3eebbb98df61f) ucb: webdav-curl: check UseUserData before sending user name Hope this should be acceptable. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133188 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 6d7c3848560883034a4ff12ac1ef52d2d1d28606) Change-Id: Iefac724644a536fc37c3c79ce862e25bd9be38af
2022-04-22ucb: webdav-curl: fix getting DAV:lockdiscovery propertyMichael Stahl
commit b4576f3da4d90139fc5140962d13cb91dab98797 "tdf#82744: fix WebDAV lock/unlock behaviour - part 3" added a call to get the DAV:lockdiscovery property. But WebDAVResponseParser puts lock related properties into a separate return value maResult_Lock that is only returned for LOCK requests. Just add it as a normal property too, then PROPFIND can get it, and the dialog in SfxMedium::LockOrigFileOnDemand() no longer displays "Unknown user". Change-Id: Icee920588ea40b6e203b18287d75484528cfdebb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133185 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 68f41f4e2dcec65e8885cdfa658c0568a26182a9)
2022-04-22tdf#146460 tdf#148429 ucb: webdav-curl: censor "curl" in UserAgentMichael Stahl
This is now the second bug filed because a server replies with 403 if the UserAgent contains the string "curl". Change-Id: I25ca2d255af76a7ff4e64dad900b1bf0b78de59f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133212 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 8d9c56e8f42428fd6695942c673bffb985d22ad5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133146 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 3fe6a03426a86ec6b18a9b712588619f19a72897)
2022-04-14ucb: webdav-curl: only allow system credentials for auth oncecib-6.4-7Michael Stahl
... and in any case abort authentication after 10 failed attempts. Apparently some PasswordContainer can turn this into an infinite loop. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132974 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 2bc4d1d22fdbd9d97c66bb53762b4b4bf7b61b47) ucb: webdav-curl: oops, increment after checking Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132982 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins (cherry picked from commit ab65a74998b498ff49c15db87fc14a9afa89d8bf) Change-Id: Ib2333b371a770999e8407ce7e1af21512aadb70d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132867 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 6b54e6a8e64233de63b826211b81a8ed6767483f)
2022-03-10ucb: add webdav configuration settingMichael Stahl
Change-Id: Ifc98baec69e32d231e44b389a870e90debd5a389
2022-03-10ucb: webdav-curl: add sources to Library_ucpdav1.mkMichael Stahl
Change-Id: I040e18ae4ddca11d1ed7303fce5d343d36c1c3b0
2022-03-10ucb/neon: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation. Change-Id: Ia86a4cc06819ce5820ab44d293790f7bd9a03711 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99224 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit f3f0d05f72d8dbd9717910b4d6b42c54be3e106f)
2022-03-10expand out an UNO macroNoel Grandin
to make the ongoing convert-to-UNO-constructor work easier Change-Id: I99596561832b10538505cf4dfdabaf11d6e4d7cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98664 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 15f44cb6fbf2459dca522e4f5b7f525fd1d6c5e7)
2022-03-10ucb: webdav-curl: demodernize code so it buildsMichael Stahl
Change-Id: Ic12c38be4426d7cb3c4134585df34a7107e8f4ce
2022-03-09ucb: webdav-curl: fix CurlUri::CloneWithRelativeRefPathAbsolute()Michael Stahl
Change-Id: Idf1d75817009286cd79a00c0ba154cea70e2ffda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125908 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit b03e070420606d407df2ec5e9dfa7043ecc46177) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125895 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit db8edd163cf453bbb9b85c2a17c78da49df27cdf)
2022-03-09ucb: webdav-curl: consolidate unit testsMichael Stahl
1 CppuniTest makefile should be sufficient, particularly since all 4 of them used gb_CppunitTest_use_library_objects so this should reduce wasted space. Change-Id: I485f0af0aee2b265b56c505ced44257834784e98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124608 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 895918b07da8fbe5603b3a96b3c58a8dc2d066e5)
2022-03-09ucb: webdav-curl: convert webdav unit tests to curlMichael Stahl
There's no point in building the tests for neon any more, just build them only if curl is used. This finds a bug in CurlUri::Init() where query and fragment separators need to be added manually. Change-Id: I3dcd1512450522df2c2a7d223b2e29b6c0e794fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124607 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 5a44e3772adb281d16757cdac3120d56565a96e5)
2022-03-09ucb: add webdav-curl from libreoffice-7-3 branchMichael Stahl
TODO: ucb/Library_ucpdav1.mk changes Change-Id: I528bd0b4ccbd3c8cfe98b74a94269ef99292f82e
2020-04-15"General Internet Error" dialog appearing on gio mountCaolán McNamara
we get a GError of G_IO_ERROR_FAILED_HANDLED which is documented as "Operation failed and a helper program has already interacted with the user. Do not display any error dialog." PENDING seems to describe this state better than a generic error case and results in no error dialog. Change-Id: Iee382e49edaa0a734526659971e0339991e2c03e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92171 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-11-21tdf#128598: Revert "Move dubious file: -> smb: conversion from...Stephan Bergmann
INetURLObject to file UCP" It turns out that there is lots of code in and around e.g. SfxMedium::LockOrigFileOnDemand (sfx2/source/doc/docfile.cxx) that treats document URLs non-generically and treats file URLs specially. That means that it does not work to transparently rewrite a file URL as an smb URL in the underlying UCB layer. So for libreoffice-6-4 revert the change again. (For master towards LO 6.5, I plan to instead completely drop the feature of silently treating certain forms of file URLs on Linux as smb URLs.) This reverts commit 46c645bf4e9909f5296e75028f1f5434e83942d2. Conflicts: tools/qa/cppunit/test_urlobj.cxx ucb/source/ucp/file/prov.cxx Change-Id: I94ac0637115bea36924099951efd8542854a727d Reviewed-on: https://gerrit.libreoffice.org/83396 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-13Extend loplugin:salbool to loplugin:fakeboolStephan Bergmann
...checking for unnecessary uses of more "fake bool" types. In the past, some of the checks involving the types of variables or data members, or the return types of functions, issued warnings that required surrounding code to be changed too (e.g., when changing the signature of a function whose address was taken). These checks have been tightened now to not warn in such cases (which avoids warnings that require changes to additional code, or changes that might even be impossible to make, at the cost of being less aggressive about removing all unnecessary uses of those "fake bool" types). Change-Id: I70eb75039817cda34ed611387ee27dc5f36a3e2e Reviewed-on: https://gerrit.libreoffice.org/82554 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-03loplugin:stringaddNoel Grandin
tweak the plugin to be more permissive, then validate by hand afterwards Change-Id: I40c5c911fe6ff7e45baaca372abf7dac211d9654 Reviewed-on: https://gerrit.libreoffice.org/81942 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-02New loplugin:conditionalstringStephan Bergmann
Change-Id: I2eab990c15f845b44a3b598571aca361dadf9ff3 Reviewed-on: https://gerrit.libreoffice.org/81946 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-31Fix StringAdd::isCompileTimeConstantStephan Bergmann
...to find StringLiteral on the RHS of +=. Which revealed that the VisitCompoundStmt/checkForCompoundAssign logic needed to be fixed, too, so that s += side_effect(); s += "literal"; s += side_effect(); only gets combined to s += side_effect() + "literal"; s += side_effect(); and not all the way to s += side_effect() + "literal" + side_effect(); Change-Id: I432e3458b933a7d0ad6141c747b675cc8b0f0ba4 Reviewed-on: https://gerrit.libreoffice.org/81804 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-29tdf#42949 Fix IWYU warnings in ucb/*/*cxxGabor Kelemen
Also recheck hxx files after recent changes in f-u-i Note: to build ucb/source/ucp/webdav one needs to use the --with-webdav=serf configure option Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I69c3a869394b0667b4d51e18e5293000872227a5 Reviewed-on: https://gerrit.libreoffice.org/81496 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-10-28loplugin:stringadd improve detectionNoel Grandin
if one side of the expression is a compile-time-constant, we don't need to worry about side-effects on the other side Change-Id: Iee71ea51b327ef244bf39f128f921ac325d74e2b Reviewed-on: https://gerrit.libreoffice.org/81589 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-21Silence new Clang 10 trunk -std=c++2a -Wambiguous-reversed-operator for nowStephan Bergmann
It is unclear whether this will really be errors in a final C++20 standard, see <https://github.com/llvm/llvm-project/commit/ 974c8b7e2fde550fd87850d50695341101c38c2d> "[c++20] Add rewriting from comparison operators to <=> / ==" for details. Change-Id: I3a7c2574a65952c8d255107823a1d1e18b2cbe4c Reviewed-on: https://gerrit.libreoffice.org/81268 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-21size some stringbuffer to prevent re-allocNoel Grandin
found by the simple expidient of putting asserts in the resize routine. Where an explicit const size is used, I started with 32 and kept doubling until that site did not need resizing anymore. Change-Id: I998787edc940d0a3ba23b5ac37131ab9ecd300f4 Reviewed-on: https://gerrit.libreoffice.org/81138 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-17Silence Clang 10 trunk -Wdeprecated-volatile in GLib for nowStephan Bergmann
See <https://gitlab.gnome.org/GNOME/glib/merge_requests/1170> "Avoid C++20 deprecated assignment to volatile" for a potential fix in GLib (but also see my question at <https://github.com/llvm/llvm-project/commit/ 4a6861a7e5b59be24a09b8b9782255d028e7aade#commitcomment-35540755> "[c++20] P1152R4: warn on any simple-assignment to a volatile lvalue" whether that Clang warning is actually wanted here). With glib2-devel-2.62.1-1.fc31.x86_64, the suppressed warnings looked like > libreofficekit/source/gtk/lokdocview.cxx:327:1: error: use of result of assignment to object of volatile-qualified type 'volatile gsize' (aka 'volatile unsigned long') is deprecated [-Werror,-Wdeprecated-volatile] > G_DEFINE_TYPE_WITH_CODE (LOKDocView, lok_doc_view, GTK_TYPE_DRAWING_AREA, > ^ > /usr/include/glib-2.0/gobject/gtype.h:1617:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE' > #define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END() > ^ > /usr/include/glib-2.0/gobject/gtype.h:2034:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN' > _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \ > ^ > /usr/include/glib-2.0/gobject/gtype.h:2005:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER' > g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ > ^ > /usr/include/glib-2.0/glib/gthread.h:257:17: note: expanded from macro 'g_once_init_leave' > (void) (0 ? *(location) = (result) : 0); \ > ^ Change-Id: If67ad04f8fb242f50b43a1d98ad2b28c4bed55a4 Reviewed-on: https://gerrit.libreoffice.org/80937 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-17Remove some memset callsMike Kaganski
Replace them with default initialization or calloc Change-Id: I747f53c2ced2d0473fd5a5ede4f8520a0633dcc1 Reviewed-on: https://gerrit.libreoffice.org/80805 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-15new loplugin:bufferaddNoel Grandin
look for OUStringBuffer append sequences that can be turned into creating an OUString with + operations Change-Id: Ica840dc096000307b4a105fb4d9ec7588a15ade6 Reviewed-on: https://gerrit.libreoffice.org/80809 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-14loplugin:stringadd look for unnecessary temporariesNoel Grandin
which defeat the *StringConcat optimisation. Also make StringConcat conversions treat a nullptr as an empty string, to match the O*String(char*) constructors. Change-Id: If45f5b4b6a535c97bfeeacd9ec472a7603a52e5b Reviewed-on: https://gerrit.libreoffice.org/80724 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>