summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ucb/source/ucp/webdav-neon/NeonSession.cxx16
1 files changed, 14 insertions, 2 deletions
diff --git a/ucb/source/ucp/webdav-neon/NeonSession.cxx b/ucb/source/ucp/webdav-neon/NeonSession.cxx
index 7ee9c56d4807..cd8b31f9d359 100644
--- a/ucb/source/ucp/webdav-neon/NeonSession.cxx
+++ b/ucb/source/ucp/webdav-neon/NeonSession.cxx
@@ -1659,7 +1659,8 @@ bool NeonSession::LOCK( NeonLock * pLock,
TimeValue startCall;
osl_getSystemTime( &startCall );
- if ( ne_lock_refresh( m_pHttpSession, pLock ) == NE_OK )
+ const int theRetVal = ne_lock_refresh(m_pHttpSession, pLock);
+ if (theRetVal == NE_OK)
{
rlastChanceToSendRefreshRequest
= lastChanceToSendRefreshRequest( startCall, pLock->timeout );
@@ -1674,6 +1675,11 @@ bool NeonSession::LOCK( NeonLock * pLock,
SAL_WARN( "ucb.ucp.webdav", "LOCK (refresh) - not refreshed! Relative URL: <" << p << "> token: <" << pLock->token << ">" );
ne_free( p );
#endif
+ if (theRetVal == NE_AUTH)
+ {
+ // tdf#126279: see handling of NE_AUTH in HandleError
+ m_bNeedNewSession = true;
+ }
return false;
}
}
@@ -1720,7 +1726,8 @@ bool NeonSession::UNLOCK( NeonLock * pLock )
}
#endif
- if ( ne_unlock( m_pHttpSession, pLock ) == NE_OK )
+ const int theRetVal = ne_unlock(m_pHttpSession, pLock);
+ if (theRetVal == NE_OK)
{
#if defined SAL_LOG_INFO
{
@@ -1740,6 +1747,11 @@ bool NeonSession::UNLOCK( NeonLock * pLock )
ne_free( p );
}
#endif
+ if (theRetVal == NE_AUTH)
+ {
+ // tdf#126279: see handling of NE_AUTH in HandleError
+ m_bNeedNewSession = true;
+ }
return false;
}
}