[Libreoffice-commits] core.git: Branch 'libreoffice-7-0' - ucb/source

Julian Kalinowski (via logerrit) logerrit at kemper.freedesktop.org
Fri Jun 12 14:00:12 UTC 2020


 ucb/source/ucp/webdav-neon/NeonSession.cxx |    2 --
 1 file changed, 2 deletions(-)

New commits:
commit 1d4bd2c6c71ff64423b69e79274f751683370674
Author:     Julian Kalinowski <julian.kalinowski at dataport.de>
AuthorDate: Thu Jun 11 14:39:54 2020 +0200
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Fri Jun 12 15:59:38 2020 +0200

    tdf#133673 fix webdav lock refresh with Auth:Negotiate
    
    NeonSession::NeonAuth requires an AuthListener to be set in the
    RequestEnvironment (RE). After a HTTP 401, the Negotiate challenge should be
    handled. The whole RE however is reset in HandleError, which is called after
    every request. Usually, this is not a problem because the RE is re-set at the
    beginning of almost all requests (PUT, GET, PROPFIND, ...).
    But when refreshing locks this is not the case, as the LockStore does not know
    any RequestEnvironment.
    NeonSession::NeonAuth is then called in a post-send hook after a HTTP 401, the
    AuthListener is null and in consequence Neon's ah_post_send does not return
    NE_RETRY. So there will be no retry with the correct authorization header.
    
    This patch removes the reset of the RequestEnvironment in HandleError, thus
    keeping it in the session for further use.
    
    Change-Id: Ib1a5eff08072f9ef003e760c5f40d9ad26c6cad1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96191
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit af7e5983e53746acd3b453d38942950a7ab83c22)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96183
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

diff --git a/ucb/source/ucp/webdav-neon/NeonSession.cxx b/ucb/source/ucp/webdav-neon/NeonSession.cxx
index 704e20ce039c..7fac083451f6 100644
--- a/ucb/source/ucp/webdav-neon/NeonSession.cxx
+++ b/ucb/source/ucp/webdav-neon/NeonSession.cxx
@@ -1822,8 +1822,6 @@ void NeonSession::HandleError( int nError,
                                const OUString & inPath,
                                const DAVRequestEnvironment & rEnv )
 {
-    m_aEnv = DAVRequestEnvironment();
-
     // Map error code to DAVException.
     switch ( nError )
     {


More information about the Libreoffice-commits mailing list