summaryrefslogtreecommitdiff
path: root/ucb
AgeCommit message (Collapse)AuthorFilesLines
2019-12-18tdf#126279 related: remove locks from NeonLockStore after NE_AUTH errorMike Kaganski3-1/+15
Change-Id: Idbbb9bb215e3a56e72a29f798c5a5f84afaf2213 Reviewed-on: https://gerrit.libreoffice.org/75224 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 94e4695bcfcb9356d37942c47359b94531ef7b95)
2019-12-18tdf#126279: reinitialize session after NE_AUTH errors in (UN)LOCKMike Kaganski1-2/+14
This just fixes the crash; but there's still a problem left/TODO, because the lock is kept registered with NeonLockStore; following attempts to lock and unlock fail. The NE_AUTH error is returned from this call stack: neon.dll!clean_session(auth_session * sess) Line 275 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_auth.c(275) neon.dll!ah_post_send(ne_request_s * req, void * cookie, const ne_status * status) Line 1554 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_auth.c(1554) neon.dll!ne_end_request(ne_request_s * req) Line 1399 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_request.c(1399) neon.dll!ne_xml_dispatch_request(ne_request_s * req, ne_xml_parser_s * parser) Line 105 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_xmlreq.c(105) neon.dll!ne_lock_refresh(ne_session_s * sess, ne_lock * lock) Line 849 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_locks.c(849) ucpdav1.dll!webdav_ucp::NeonSession::LOCK(ne_lock * pLock, long & rlastChanceToSendRefreshRequest) Line 1663 at C:\cygwin\home\user\lode\dev\core\ucb\source\ucp\webdav-neon\NeonSession.cxx(1663) ucpdav1.dll!webdav_ucp::NeonLockStore::refreshLocks() Line 216 at C:\cygwin\home\user\lode\dev\core\ucb\source\ucp\webdav-neon\NeonLockStore.cxx(216) ucpdav1.dll!webdav_ucp::TickerThread::execute() Line 78 at C:\cygwin\home\user\lode\dev\core\ucb\source\ucp\webdav-neon\NeonLockStore.cxx(78) salhelper3MSC.dll!salhelper::Thread::run() Line 40 at C:\cygwin\home\user\lode\dev\core\salhelper\source\thread.cxx(40) salhelper3MSC.dll!threadFunc(void * param) Line 186 at C:\cygwin\home\user\lode\dev\core\include\osl\thread.hxx(186) sal3.dll!oslWorkerWrapperFunction(void * pData) Line 58 at C:\cygwin\home\user\lode\dev\core\sal\osl\w32\thread.cxx(58) ucrtbased.dll!thread_start<unsigned int (__cdecl*)(void *),1>(void * const parameter) Line 97 at minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(97) kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() If not reinitialized, then on next access, it SEGFAULTs (hostname is nullptr): neon.dll!ne_addr_resolve(const char * hostname, int flags) Line 926 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_socket.c(926) neon.dll!canonical_hostname(const char * serverName) Line 382 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_sspi.c(382) neon.dll!ne_sspi_create_context(void * * context, char * serverName, int ntlm) Line 423 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_sspi.c(423) neon.dll!continue_sspi(auth_session * sess, int ntlm, const char * hdr, int attempt, auth_challenge * parms, ne_buffer * * errmsg) Line 639 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_auth.c(639) neon.dll!sspi_challenge(auth_session * sess, int attempt, auth_challenge * parms, ne_buffer * * errmsg) Line 675 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_auth.c(675) neon.dll!auth_challenge(auth_session * sess, int attempt, const char * value) Line 1419 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_auth.c(1419) neon.dll!ah_post_send(ne_request_s * req, void * cookie, const ne_status * status) Line 1550 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_auth.c(1550) neon.dll!ne_end_request(ne_request_s * req) Line 1399 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_request.c(1399) neon.dll!ne_request_dispatch(ne_request_s * req) Line 1458 at C:\cygwin\home\user\lode\dev\core\workdir\UnpackedTarball\neon\src\ne_request.c(1458) ucpdav1.dll!webdav_ucp::NeonSession::OPTIONS(const rtl::OUString & inPath, webdav_ucp::DAVOptions & rOptions, const webdav_ucp::DAVRequestEnvironment & rEnv) Line 913 at C:\cygwin\home\user\lode\dev\core\ucb\source\ucp\webdav-neon\NeonSession.cxx(913) ucpdav1.dll!webdav_ucp::DAVResourceAccess::OPTIONS(webdav_ucp::DAVOptions & rOptions, const com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> & xEnv) Line 187 at C:\cygwin\home\user\lode\dev\core\ucb\source\ucp\webdav-neon\DAVResourceAccess.cxx(187) ucpdav1.dll!webdav_ucp::Content::getResourceOptions(const com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> & xEnv, webdav_ucp::DAVOptions & rDAVOptions, const std::unique_ptr<webdav_ucp::DAVResourceAccess,std::default_delete<webdav_ucp::DAVResourceAccess> > & rResAccess, bool * networkAccessAllowed) Line 3940 at C:\cygwin\home\user\lode\dev\core\ucb\source\ucp\webdav-neon\webdavcontent.cxx(3940) ucpdav1.dll!webdav_ucp::Content::getProperties(const com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> & xEnv) Line 323 at C:\cygwin\home\user\lode\dev\core\ucb\source\ucp\webdav-neon\webdavcontentcaps.cxx(323) ucbhelper.dll!ucbhelper::PropertySetInfo::getProperties() Line 106 at C:\cygwin\home\user\lode\dev\core\ucbhelper\source\provider\contentinfo.cxx(106) ucbhelper.dll!ucbhelper::PropertySetInfo::queryProperty(const rtl::OUString & rName, com::sun::star::beans::Property & rProp) Line 187 at C:\cygwin\home\user\lode\dev\core\ucbhelper\source\provider\contentinfo.cxx(187) ucbhelper.dll!ucbhelper::PropertySetInfo::hasPropertyByName(const rtl::OUString & Name) Line 168 at C:\cygwin\home\user\lode\dev\core\ucbhelper\source\provider\contentinfo.cxx(168) sfxlo.dll!SfxBaseModel::getBoolPropertyValue(const rtl::OUString & rName) Line 2582 at C:\cygwin\home\user\lode\dev\core\sfx2\source\doc\sfxbasemodel.cxx(2582) sfxlo.dll!SfxBaseModel::isVersionable() Line 2599 at C:\cygwin\home\user\lode\dev\core\sfx2\source\doc\sfxbasemodel.cxx(2599) sfxlo.dll!SfxObjectShell::GetState_Impl(SfxItemSet & rSet) Line 1133 at C:\cygwin\home\user\lode\dev\core\sfx2\source\doc\objserv.cxx(1133) sfxlo.dll!SfxStubSfxObjectShellGetState_Impl(SfxShell * pShell, SfxItemSet & rSet) Line 220 at C:\cygwin\home\user\lode\dev\core\workdir\SdiTarget\sfx2\sdi\sfxslots.hxx(220) sfxlo.dll!SfxShell::CallState(void(*)(SfxShell *, SfxItemSet &) pFunc, SfxItemSet & rSet) Line 199 at C:\cygwin\home\user\lode\dev\core\include\sfx2\shell.hxx(199) sfxlo.dll!SfxShell::GetSlotState(unsigned short nSlotId, const SfxInterface * pIF, SfxItemSet * pStateSet) Line 480 at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\shell.cxx(480) sfxlo.dll!SfxDispatcher::QueryState(unsigned short nSID, com::sun::star::uno::Any & rAny) Line 1967 at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\dispatch.cxx(1967) sfxlo.dll!SfxDispatchController_Impl::addStatusListener(const com::sun::star::uno::Reference<com::sun::star::frame::XStatusListener> & aListener, const com::sun::star::util::URL & aURL) Line 832 at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\unoctitm.cxx(832) sfxlo.dll!SfxOfficeDispatch::addStatusListener(const com::sun::star::uno::Reference<com::sun::star::frame::XStatusListener> & aListener, const com::sun::star::util::URL & aURL) Line 252 at C:\cygwin\home\user\lode\dev\core\sfx2\source\control\unoctitm.cxx(252) fwklo.dll!framework::MenuBarManager::Activate(Menu * pMenu) Line 756 at C:\cygwin\home\user\lode\dev\core\framework\source\uielement\menubarmanager.cxx(756) fwklo.dll!framework::MenuBarManager::LinkStubActivate(void * instance, Menu * data) Line 605 at C:\cygwin\home\user\lode\dev\core\framework\source\uielement\menubarmanager.cxx(605) vcllo.dll!Link<Menu *,bool>::Call(Menu * data) Line 112 at C:\cygwin\home\user\lode\dev\core\include\tools\link.hxx(112) vcllo.dll!Menu::Activate() Line 270 at C:\cygwin\home\user\lode\dev\core\vcl\source\window\menu.cxx(270) vcllo.dll!PopupMenu::ImplExecute(const VclPtr<vcl::Window> & pW, const tools::Rectangle & rRect, FloatWinPopupFlags nPopupModeFlags, Menu * pSFrom, bool bPreSelectFirst) Line 2876 at C:\cygwin\home\user\lode\dev\core\vcl\source\window\menu.cxx(2876) vcllo.dll!MenuBarWindow::ImplCreatePopup(bool bPreSelectFirst) Line 339 at C:\cygwin\home\user\lode\dev\core\vcl\source\window\menubarwindow.cxx(339) vcllo.dll!MenuBarWindow::ChangeHighlightItem(unsigned short n, bool bSelectEntry, bool bAllowRestoreFocus, bool bDefaultToDocument) Line 558 at C:\cygwin\home\user\lode\dev\core\vcl\source\window\menubarwindow.cxx(558) vcllo.dll!MenuBarWindow::MouseButtonDown(const MouseEvent & rMEvt) Line 403 at C:\cygwin\home\user\lode\dev\core\vcl\source\window\menubarwindow.cxx(403) vcllo.dll!ImplHandleMouseEvent(const VclPtr<vcl::Window> & xWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave, long nX, long nY, unsigned __int64 nMsgTime, unsigned short nCode, MouseEventModifiers nMode) Line 700 at C:\cygwin\home\user\lode\dev\core\vcl\source\window\winproc.cxx(700) vcllo.dll!ImplHandleSalMouseButtonDown(vcl::Window * pWindow, const SalMouseEvent * pEvent) Line 2017 at C:\cygwin\home\user\lode\dev\core\vcl\source\window\winproc.cxx(2017) vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const void * pEvent) Line 2351 at C:\cygwin\home\user\lode\dev\core\vcl\source\window\winproc.cxx(2351) vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 299 at C:\cygwin\home\user\lode\dev\core\vcl\inc\salframe.hxx(299) vclplug_winlo.dll!ImplHandleMouseMsg(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 3132 at C:\cygwin\home\user\lode\dev\core\vcl\win\window\salframe.cxx(3132) vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 5487 at C:\cygwin\home\user\lode\dev\core\vcl\win\window\salframe.cxx(5487) vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 5840 at C:\cygwin\home\user\lode\dev\core\vcl\win\window\salframe.cxx(5840) user32.dll!UserCallWinProcCheckWow() user32.dll!CallWindowProcW() opengl32.dll!wglWndProc() user32.dll!UserCallWinProcCheckWow() user32.dll!DispatchMessageWorker() vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 411 at C:\cygwin\home\user\lode\dev\core\vcl\win\app\salinst.cxx(411) vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 484 at C:\cygwin\home\user\lode\dev\core\vcl\win\app\salinst.cxx(484) vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 513 at C:\cygwin\home\user\lode\dev\core\vcl\win\app\salinst.cxx(513) vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 447 at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svapp.cxx(447) vcllo.dll!Application::Yield() Line 512 at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svapp.cxx(512) vcllo.dll!Application::Execute() Line 428 at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svapp.cxx(428) sofficeapp.dll!desktop::Desktop::Main() Line 1620 at C:\cygwin\home\user\lode\dev\core\desktop\source\app\app.cxx(1620) vcllo.dll!ImplSVMain() Line 191 at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svmain.cxx(191) vcllo.dll!SVMain() Line 226 at C:\cygwin\home\user\lode\dev\core\vcl\source\app\svmain.cxx(226) sofficeapp.dll!soffice_main() Line 170 at C:\cygwin\home\user\lode\dev\core\desktop\source\app\sofficemain.cxx(170) soffice.bin!sal_main() Line 48 at C:\cygwin\home\user\lode\dev\core\desktop\source\app\main.c(48) soffice.bin!main(int argc, char * * argv) Line 47 at C:\cygwin\home\user\lode\dev\core\desktop\source\app\main.c(47) soffice.bin!invoke_main() Line 79 at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(79) soffice.bin!__scrt_common_main_seh() Line 288 at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288) soffice.bin!__scrt_common_main() Line 331 at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331) soffice.bin!mainCRTStartup() Line 17 at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp(17) kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() Change-Id: I632d85b65406e29ad0e3d56d8481c651c64b2ec8 Reviewed-on: https://gerrit.libreoffice.org/75194 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 351b730e012fd4562f341967f740f8146aa0538e)
2019-12-18Don't crash when accessing WebDAV resource after auth failedMike Kaganski3-8/+17
In my testing on Windows, the crashing scenario was this: 1. FileDialogHelper_Impl::updateVersions() creates storage calling comphelper::OStorageHelper::GetStorageFromURL; 2. Content::openStream() calls isDocument first; 3. Content::isDocument() indirectly initiates WebDAV session, creating a NeonSession; 4. All operations of NeonSession call Init() first; its first call initializes m_pHttpSession using ne_session_create, and then adds auth callbacks using ne_add_server_auth/ne_add_proxy_auth 5. Then NeonSession performs the rest of PROPFIND task, calling ah_post_send and auth_challenge; the latter fails, then ah_post_send calls clean_session, which cleans m_pHttpSession's auth_session's sspi_host; 6. NeonSession::HandleError throws DAVException for NE_AUTH error; 7. Content::isDocument() returns true to Content::openStream(), which proceeds to execute the command, which in turn re-uses the NeonSession and its m_pHttpSession; 8. NeonSession::OPTIONS then indirectly calls continue_sspi, which tries to dereference the m_pHttpSession's auth_session's sspi_host which is nullptr at this point. So in case NeonSession detects the NE_AUTH error condition, let's set a flag indicating that the next Init() should reinitialize its m_pHttpSession. Also fixed a case when xProps was used before initialization in Content::getPropertyValues. Reviewed-on: https://gerrit.libreoffice.org/65950 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 162a472d55cf9fb9aaa6d5eae625b3da2273a516) Conflicts: ucb/source/ucp/webdav-neon/NeonSession.hxx Change-Id: Ifc9eec4fe0333ff6be17c5089068441b4a6eb78c
2019-08-13tdf#123293 sfx2: fix metadata loss when loading from streamMichael Stahl2-11/+29
The problem is that when loading from a stream, there is no BaseURL and also no storage for the document. Due to the lack of BaseURL, the sfx2::createBaseURI() throws and loading RDF metadata fails, which also pops up an annoying warning dialog. Try to handle this in a similar way than a newly created document (see GetDMA()), by using the vnd.sun.star.tdoc scheme URL for the document; this however currently requires that the document has a XStorage, which is also not the case here. So add another UNO method to tdoc UCP's tdoc_ucp::ContentProvider, to split out the creation of the tdoc schema URL from the creation of the ucb Content, to get rid of the XStorage requirement. Change-Id: Ica62743f9d21db0b1464b70db1a62ebc61989ef8 Reviewed-on: https://gerrit.libreoffice.org/67882 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 0a5ca5768f56db481dd3b947b3dddaab7ed96450) Reviewed-on: https://gerrit.libreoffice.org/69101 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 98b99ef61c6d725962cdbaa05ff90c9d1aa72d57) Reviewed-on: https://gerrit.libreoffice.org/75963 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-09-05-Werror=return-local-addr (-with-webdav=serf)Stephan Bergmann2-2/+2
Missing adaption after 2e142c0ee54744d35517f0b9c49a24302fb32d47 "tdf#114227: Add support for PAC to ucbhelper::InternetProxyDecider on Windows", found by <https://ci.libreoffice.org//job/lo_tb_random_config_linux/1456/>. Change-Id: I5093827035a9bbc31f3d8d2262e14df55fa610aa Reviewed-on: https://gerrit.libreoffice.org/59961 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 200f88c55842a3947eb3cbc5ce05b044eb25d338) Reviewed-on: https://gerrit.libreoffice.org/59981 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2018-06-30tdf#114227: Add support for PAC to ucbhelper::InternetProxyDecider on WindowsMike Kaganski2-2/+2
Change-Id: I62c76efb354949699615a44d9482df24e3eaa314 Reviewed-on: https://gerrit.libreoffice.org/56433 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 2e142c0ee54744d35517f0b9c49a24302fb32d47) Reviewed-on: https://gerrit.libreoffice.org/56757 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-17loplugin:unusedfields in tools..xmlhelpNoel Grandin6-11/+5
Change-Id: I5e909a8def86ce9ad150440e6c6ad304e855cc69 Reviewed-on: https://gerrit.libreoffice.org/54415 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-23loplugin:useuniqueptr in CachedContentResultSet::CCRS_CacheNoel Grandin2-7/+5
Change-Id: Idb2dd770ef39119f2a6ee6989bb983c3c77a1d68 Reviewed-on: https://gerrit.libreoffice.org/53235 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-23loplugin:useuiqueptr in SortedEntryList and EventListNoel Grandin3-54/+49
Change-Id: I15e6e29347dfce68e5631337bf2d3754bffdf864 Reviewed-on: https://gerrit.libreoffice.org/53234 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-14Fix typosAndrea Gelmini1-2/+2
Change-Id: I28d9591517c324e995691139582c77b5cfdc9d77 Reviewed-on: https://gerrit.libreoffice.org/52211 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-04-11new loplugin:unusedvariablemoreNoel Grandin1-5/+0
collection of heuristics to look for local variables that are never read from i.e. do not contribute to the surrounding logic This is an expensive plugin, since it walks up the parent tree, so it is off by default. Change-Id: Ib8ba292241bd16adf299e8bba4502cb473513a06 Reviewed-on: https://gerrit.libreoffice.org/52450 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-08ucb: Fix overwriting at index 7Takeshi Abe1-3/+3
It seems a typo at ee2ecbf89b002fa8f60316b4266b96dfca8b4591. This recovers command "insert". Change-Id: Id335799ab615c09e025badd9408aeb363200c430 Reviewed-on: https://gerrit.libreoffice.org/52552 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-06ucb: Shift property "IsRowCountFinal"'s index from 0 to 1Takeshi Abe1-4/+4
The original 0 seems a typo. Cf. ucb/source/sorter/sortresult.cxx and ucb/source/ucp/ftp/ftpresultsetbase.cxx. Change-Id: I5c2331483aa8186a031bba9fb2fc906ee4a1e535 Reviewed-on: https://gerrit.libreoffice.org/52484 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-03pass area param to DBG_UNHANDLED_EXCEPTIONNoel Grandin2-4/+4
and update sallogareas plugin to enforce this Change-Id: Id0782c8a1f619372e10d931aec3c6a4743a4c86a Reviewed-on: https://gerrit.libreoffice.org/52249 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-02ucb: The sequence's length is 3, not 2.Takeshi Abe1-2/+1
This completes 1a9261124eed5baa04b069a1cb1b51f24423ec9b. Change-Id: I03e6167bca67f8852250d8464b6fde5e4e690f32 Reviewed-on: https://gerrit.libreoffice.org/52261 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-01remove unused processfactory.hxx includesJochen Nitschke22-23/+0
and fix fallout Change-Id: Id06bf31f2075111e426ba40c84c885ae70697bee Reviewed-on: https://gerrit.libreoffice.org/52206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-03-24rhbz#1559633: Treat EPERM same as EACCES when opening filesStephan Bergmann1-0/+1
For example, Linux open(2) with O_RDWR fails with EPERM if the file is flagged as FS_IMMUTABLE_FL. (And there is an #ifdef IOS "Horrible hack" block in openFilePath in sal/osl/unx/file.cxx that is apparently a workaround for a similar scenario where open returns EPERM instead of EACCES on iOS, and which can probably be removed again after this commit.) Change-Id: I00cbd28d4b83b223920776998e9245b6261bb748 Reviewed-on: https://gerrit.libreoffice.org/51788 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-03-19tdf#116489 - fix ucb TaskManager deadlock.Michael Meeks1-1/+3
Change-Id: Ia362db52e7b078203964704569e1d54f053f2b57 Reviewed-on: https://gerrit.libreoffice.org/51544 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-03-12loplugin:redundantfcastStephan Bergmann1-1/+1
Change-Id: I88842cc9c757eda08c26f175a810d781146ed1a3
2018-03-12loplugin:redundantfcast look for redundant copies in return statementsNoel Grandin9-27/+19
Change-Id: I5f416c865dfe1c36018784246a8007452eb42008 Reviewed-on: https://gerrit.libreoffice.org/50996 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-04Remove unnecessary INetProtocol::Webdav[s] againStephan Bergmann4-8/+8
...that 65abd11d68ba9f849d89b98b6a56071411875c89 "Support for webdav:// and webdavs:// schemes from command line" had added for no good reason, and are removed again on the same grounds as eda273fd46e63daa4f15525e05b695450df53cea "Remove unnecessary INetProtocol::VndSunStarWebdavs again". Change-Id: I29135207dfdffcc818664432a11fa3b5b3a0561a Reviewed-on: https://gerrit.libreoffice.org/50748 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-03-04Remove unnecessary INetProtocol::VndSunStarWebdavs againStephan Bergmann4-4/+4
...that 65abd11d68ba9f849d89b98b6a56071411875c89 "Support for webdav:// and webdavs:// schemes from command line" had added for no good reason. See the discussion linked from the commit message of d3de490437df4c9093f32e97fc185066d64c0f46 "Add vnd.sun.star.webdavs URL scheme" why this had deliberately not been added when adding the vnd.sun.star.webdavs scheme. Change-Id: I5728ab0d2517dae54a3536a347a83ff4cbfc18fa Reviewed-on: https://gerrit.libreoffice.org/50734 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-03-04Change INetURLObject::isSchemeEqualTo parameter to u16string_viewStephan Bergmann2-4/+4
Change-Id: I003fa0c6f9c485d0579f3dd18331e63548a3777c Reviewed-on: https://gerrit.libreoffice.org/50728 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-02-02usb: MSVC: pragma warning: make more specific, remove obsoleteMike Kaganski1-8/+0
Change-Id: I17030fc129de3e79965a1abe140fa0c28b949035 Reviewed-on: https://gerrit.libreoffice.org/49053 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-02-02loplugin:useuniqueptr in TaskManager::UnqPathDataNoel Grandin2-51/+12
Change-Id: I6b6e7b59113fcae8dfafa4ed8586b87d2c82489e Reviewed-on: https://gerrit.libreoffice.org/49092 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-01Support for webdav:// and webdavs:// schemes from command lineVasily Melenchuk11-170/+96
We have currently support for WebDAV schemes as vnd.sun.star.webdav:// but it is not user and tools friendly. Some related refactoring in ucb to reuse existing code instead of manual parsing of URLs. Change-Id: Ib14411796d6cf11afd80d5132abe67d4e46a42e1 Reviewed-on: https://gerrit.libreoffice.org/48585 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-01-29make memory management more explicit in BaseContextNoel Grandin6-138/+93
Change-Id: I3afdfd7b461c6eccc57c23314f992900d14bd7d8 Reviewed-on: https://gerrit.libreoffice.org/48708 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-29loplugin:useuniqueptr in BaseContentNoel Grandin2-36/+18
Change-Id: I03a6942e883b75e86f4ee4e7d01198dada70238f Reviewed-on: https://gerrit.libreoffice.org/48707 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-29loplugin:useuniqueptr in DataSupplier_ImplNoel Grandin1-40/+17
Change-Id: Iaa25aee42d59b481a6b6edf015fe57dbd81cfa3e Reviewed-on: https://gerrit.libreoffice.org/48706 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-29loplugin:useuniqueptr in ResultSetBaseNoel Grandin2-13/+9
Change-Id: If1fca43f953acaa4d16ef6094b6e0e218e5f6307 Reviewed-on: https://gerrit.libreoffice.org/48705 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-29loplugin:useuniqueptr in FTPContentProviderNoel Grandin2-6/+6
Change-Id: I3b5a53e274a75078534d0b7f783a7d7d107043d8 Reviewed-on: https://gerrit.libreoffice.org/48704 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-29loplugin:useuniqueptr in XResultSet_implNoel Grandin2-14/+9
Change-Id: I2f333d0d0784fc76f6a3b7a6a9e61b82b856afa0 Reviewed-on: https://gerrit.libreoffice.org/48703 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-26loplugin:useuniqueptr in SortedResultSetNoel Grandin2-9/+7
Change-Id: Ib57cf4b30afda6f5e0d024a0c72417f6b1786e9a Reviewed-on: https://gerrit.libreoffice.org/48588 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-26loplugin:useuniqueptr in PersistentPropertySet_ImplNoel Grandin1-19/+10
Change-Id: I78259770767fd3bbe3217f20a513703e7347288f Reviewed-on: https://gerrit.libreoffice.org/48587 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-26loplugin:useuniqueptr in SortedDynamicResultSetNoel Grandin2-4/+5
Change-Id: Ife4849926f26631bbe65bd22158165fac306cd43 Reviewed-on: https://gerrit.libreoffice.org/48586 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-25loplugin:useuniqueptr in ContentResultSetWrapperNoel Grandin2-13/+10
Change-Id: I798e5b06a5b2f9377f22a86f7b630ffdc20e10c6 Reviewed-on: https://gerrit.libreoffice.org/48559 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-24sal_Bool -> bool (remaining uses of css::uno::Any::has)Stephan Bergmann1-1/+1
Change-Id: I041540307d48083955a74d20f73219ac458037fe Reviewed-on: https://gerrit.libreoffice.org/48482 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-19loplugin:unusedmethods also check for functions returning boolNoel Grandin2-5/+3
we were previously excluding them Change-Id: I48a68799b0de60b4995fae541eb363e043d4dd11 Reviewed-on: https://gerrit.libreoffice.org/48167 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-17loplugin:unnecessaryparen extend to delete statementsNoel Grandin5-11/+11
Change-Id: Ic4383ea948876a26f791f0e5b0110cef978a26e1 Reviewed-on: https://gerrit.libreoffice.org/48027 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-16Fix typosAndrea Gelmini2-4/+4
Change-Id: Id3d1a07922d4ca05e3bbf61d4b5797a30fc5b23a Reviewed-on: https://gerrit.libreoffice.org/47872 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-16Fix typosAndrea Gelmini2-2/+2
Change-Id: Ia976371bf52eb1216d8abe728d80bbb87a3c38a2 Reviewed-on: https://gerrit.libreoffice.org/47858 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-15Fix typosAndrea Gelmini1-2/+2
Change-Id: I4c5965438eb28b853ce4ea826139faab567415e1 Reviewed-on: https://gerrit.libreoffice.org/47873 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jens Carl <j.carl43@gmx.de>
2018-01-12More loplugin:cstylecast: ucbStephan Bergmann8-34/+34
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: I17a91ab6117f1d451fa8daec2a6f9542fc9ed2df
2018-01-09loplugin:convertlong in ucb,sotNoel Grandin3-11/+11
Change-Id: I6fa355448834701f11b84584649dfcdecd0f7b2c Reviewed-on: https://gerrit.libreoffice.org/47596 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-04drop ULONG typedefNoel Grandin1-4/+2
Change-Id: I25d0851bd82838f12a4edb3eb9f322bdf30cc175 Reviewed-on: https://gerrit.libreoffice.org/47342 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-29loplugin:passstuffbyref improved return in ucb,connectivityNoel Grandin4-5/+5
Change-Id: Ib2590648c9dced87693a58a506cb62d04e37b18d Reviewed-on: https://gerrit.libreoffice.org/47149 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19remove unused typedefsNoel Grandin1-1/+0
Change-Id: I6fd7a9fed3a80c91a3766fceefd43c5db0aa5275 Reviewed-on: https://gerrit.libreoffice.org/46763 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19inline use-once typedefsNoel Grandin3-8/+3
Change-Id: I5c3ffc03c26b3428f1f336e6ecba7838a1cf1157 Reviewed-on: https://gerrit.libreoffice.org/46764 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-14No need to keep these whitelisted functions decorated with SAL_CALLStephan Bergmann4-9/+9
The only effect SAL_CALL effectively has on LO-internal code is to change non- static member functions from __thiscall to __cdecl in MSVC (where all other functions are __cdecl by default, anyway). (For 3rd-party code, it could be argued that SAL_CALL is useful on function declarations in the URE stable interface other than non-static member functions, too, in case 3rd-party code uses a compiler switch to change the default calling convention to something other than __cdecl. But loplugin:salcall exempts the URE stable interface, anyway.) One could argue that SAL_CALL, even if today it effectively only affects non- static member functions in MSVC, could be extended in the future to affect more functions on more platforms. However, the current code would already not support that. For example, 3af500580b1c82eabd60335c9ebc458a3f68850c "loplugin:salcall fix functions" changed FrameControl_createInstance in UnoControls/source/base/registercontrols.cxx to no longer be SAL_CALL, even though its address (in ctl_component_getFacrory, in the same file) is passed to cppuhelper::createSingleFactory as an argument of type cppu::ComponentInstantiation, which is a pointer to SAL_CALL function. Change-Id: I3acbf7314a3d7868ed70e35bb5c47bc11a0b7ff6 Reviewed-on: https://gerrit.libreoffice.org/46436 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-11loplugin:salcall fix functionsNoel Grandin33-38/+38
since cdecl is the default calling convention on Windows for such functions, the annotation is redundant. Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d Reviewed-on: https://gerrit.libreoffice.org/46164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>