summaryrefslogtreecommitdiff
path: root/ucb/source/ucp/webdav/NeonSession.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'ucb/source/ucp/webdav/NeonSession.cxx')
-rw-r--r--ucb/source/ucp/webdav/NeonSession.cxx21
1 files changed, 20 insertions, 1 deletions
diff --git a/ucb/source/ucp/webdav/NeonSession.cxx b/ucb/source/ucp/webdav/NeonSession.cxx
index 165824a44c93..4ceeef476d66 100644
--- a/ucb/source/ucp/webdav/NeonSession.cxx
+++ b/ucb/source/ucp/webdav/NeonSession.cxx
@@ -60,6 +60,7 @@
#include <com/sun/star/security/CertificateContainerStatus.hpp>
#include <com/sun/star/security/CertificateContainer.hpp>
#include <com/sun/star/security/XCertificateContainer.hpp>
+#include <com/sun/star/task/XMasterPasswordHandling.hpp>
#ifndef _SIMPLECERTIFICATIONVALIDATIONREQUEST_HXX_
@@ -329,11 +330,19 @@ extern "C" int NeonSession_NeonAuth( void * inUserData,
//thePassWord = rtl::OUString::createFromAscii( inoutPassWord );
}
+ //i97003 (tkr): Ask XMasterPasswordHandling if we should store the credentials persistently and give this information to the SimpleAuthenticationRequest
+ uno::Reference< ::com::sun::star::task::XMasterPasswordHandling > xMasterPasswordHandling =
+ uno::Reference< ::com::sun::star::task::XMasterPasswordHandling >(
+ theSession->getMSF().get()->createInstance( rtl::OUString::createFromAscii( "com.sun.star.task.PasswordContainer" )), uno::UNO_QUERY );
+ // -
+
int theRetVal = pListener->authenticate(
rtl::OUString::createFromAscii( inRealm ),
theSession->getHostName(),
theUserName,
- thePassWord );
+ thePassWord,
+ xMasterPasswordHandling.is() ? xMasterPasswordHandling->isPersistentStoringAllowed() : sal_False);
+
rtl::OString aUser(
rtl::OUStringToOString( theUserName, RTL_TEXTENCODING_UTF8 ) );
if ( aUser.getLength() > ( NE_ABUFSIZ - 1 ) )
@@ -1250,6 +1259,16 @@ void NeonSession::POST( const rtl::OUString & inPath,
}
// -------------------------------------------------------------------
+// ABORT
+// -------------------------------------------------------------------
+void NeonSession::ABORT()
+ throw ( DAVException )
+{
+ if (NULL !=m_pHttpSession)
+ ne_close_connection(m_pHttpSession);
+}
+
+// -------------------------------------------------------------------
// MKCOL
// -------------------------------------------------------------------
void NeonSession::MKCOL( const rtl::OUString & inPath,