[Libreoffice-commits] core.git: xmlsecurity/source xmlsecurity/util

2018-04-13 Thread Miklos Vajna
 xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.cxx |   54 ++--
 xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.hxx |   10 --
 xmlsecurity/source/xmlsec/nss/xsec_nss.cxx  |   10 --
 xmlsecurity/util/xsec_xmlsec.component  |6 +
 4 files changed, 43 insertions(+), 37 deletions(-)

New commits:
commit 08ac81ccb5ef2397c0073f186fcf5bb2cc528b83
Author: Miklos Vajna 
Date:   Thu Apr 12 22:01:06 2018 +0200

xmlsecurity nss: create SEInitializer instances with a constructor

And split NSSInitializer and SEInitializer into two implementations,
they are not the same on Windows, so it simplifies things if they're
also split on other platforms.

Change-Id: Ifc0ea7e35e804232ee492b7eea9c25662c9b499e
Reviewed-on: https://gerrit.libreoffice.org/52801
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.cxx 
b/xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.cxx
index 19e92fc2113b..58fa45acf4b6 100644
--- a/xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.cxx
+++ b/xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.cxx
@@ -108,37 +108,57 @@ void SAL_CALL SEInitializer_NssImpl::freeSecurityContext( 
const uno::Reference<
 //NSS_Shutdown();
 }
 
-OUString SEInitializer_NssImpl_getImplementationName ()
+/* XServiceInfo */
+OUString SAL_CALL SEInitializer_NssImpl::getImplementationName(  )
+{
+return OUString("com.sun.star.xml.crypto.SEInitializer");
+}
+sal_Bool SAL_CALL SEInitializer_NssImpl::supportsService( const OUString& 
rServiceName )
+{
+return cppu::supportsService( this, rServiceName );
+}
+uno::Sequence< OUString > SAL_CALL 
SEInitializer_NssImpl::getSupportedServiceNames(  )
 {
-return OUString 
("com.sun.star.xml.security.bridge.xmlsec.SEInitializer_NssImpl" );
+uno::Sequence seqServiceNames{ 
"com.sun.star.xml.crypto.SEInitializer" };
+return seqServiceNames;
 }
 
-uno::Sequence< OUString > SEInitializer_NssImpl_getSupportedServiceNames(  )
+class NSSInitializer_NssImpl : public SEInitializer_NssImpl
+{
+public:
+explicit NSSInitializer_NssImpl(const 
uno::Reference& xContext);
+OUString SAL_CALL getImplementationName() override;
+uno::Sequence SAL_CALL getSupportedServiceNames() override;
+};
+
+NSSInitializer_NssImpl::NSSInitializer_NssImpl(const 
uno::Reference& xContext)
+: SEInitializer_NssImpl(xContext)
 {
-uno::Sequence < OUString > aRet(2);
-OUString* pArray = aRet.getArray();
-pArray[0] =  "com.sun.star.xml.crypto.SEInitializer";
-pArray[1] =  NSS_SERVICE_NAME;
-return aRet;
 }
 
-uno::Reference< uno::XInterface > SEInitializer_NssImpl_createInstance( const 
uno::Reference< lang::XMultiServiceFactory > & rxMSF)
+OUString NSSInitializer_NssImpl::getImplementationName()
 {
-return static_cast(new 
SEInitializer_NssImpl(comphelper::getComponentContext(rxMSF)));
+return OUString("com.sun.star.xml.crypto.NSSInitializer");
 }
 
-/* XServiceInfo */
-OUString SAL_CALL SEInitializer_NssImpl::getImplementationName(  )
+uno::Sequence SAL_CALL 
NSSInitializer_NssImpl::getSupportedServiceNames()
 {
-return SEInitializer_NssImpl_getImplementationName();
+uno::Sequence seqServiceNames{ 
"com.sun.star.xml.crypto.NSSInitializer" };
+return seqServiceNames;
 }
-sal_Bool SAL_CALL SEInitializer_NssImpl::supportsService( const OUString& 
rServiceName )
+
+extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
+com_sun_star_xml_crypto_NSSInitializer_get_implementation(
+uno::XComponentContext* pCtx, uno::Sequence const& /*rSeq*/)
 {
-return cppu::supportsService( this, rServiceName );
+return cppu::acquire(new NSSInitializer_NssImpl(pCtx));
 }
-uno::Sequence< OUString > SAL_CALL 
SEInitializer_NssImpl::getSupportedServiceNames(  )
+
+extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
+com_sun_star_xml_crypto_SEInitializer_get_implementation(
+uno::XComponentContext* pCtx, uno::Sequence const& /*rSeq*/)
 {
-return SEInitializer_NssImpl_getSupportedServiceNames();
+return cppu::acquire(new SEInitializer_NssImpl(pCtx));
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.hxx 
b/xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.hxx
index 03485e199408..7eda9a259677 100644
--- a/xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.hxx
+++ b/xmlsecurity/source/xmlsec/nss/seinitializer_nssimpl.hxx
@@ -54,16 +54,6 @@ public:
 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames(  
) override;
 };
 
-/// @throws css::uno::RuntimeException
-OUString SEInitializer_NssImpl_getImplementationName();
-
-/// @throws css::uno::RuntimeException
-css::uno::Sequence< OUString > SEInitializer_NssImpl_getSupportedServiceNames( 
 );
-
-/// @throws css::uno::Exception
-css::uno::Reference< css::uno::XInterface >

[Libreoffice-commits] core.git: xmlsecurity/source xmlsecurity/util

2018-04-07 Thread Miklos Vajna
 xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx |  105 
--
 xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.hxx |   16 -
 xmlsecurity/source/xmlsec/mscrypt/xsec_mscrypt.cxx|5 
 xmlsecurity/util/xsec_xmlsec.windows.component|3 
 4 files changed, 51 insertions(+), 78 deletions(-)

New commits:
commit 8e069a319a200e3b6a105f3468cd87ef6af323b2
Author: Miklos Vajna 
Date:   Thu Apr 5 21:02:25 2018 +0200

xmlsecurity mscrypt: create SecurityEnvironment instances with a constructor

Change-Id: Ic121dc33252a1ac41bfdb09086d355321fd8d990
Reviewed-on: https://gerrit.libreoffice.org/52472
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins 

diff --git 
a/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx 
b/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
index fb5d4b4cbbfa..9f164d62e803 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
@@ -46,7 +46,7 @@
 #include 
 #include 
 
-using namespace ::com::sun::star::uno ;
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::lang ;
 using ::com::sun::star::lang::XMultiServiceFactory ;
 using ::com::sun::star::lang::XSingleServiceFactory ;
@@ -102,8 +102,9 @@ void traceTrustStatus(DWORD err)
 }
 }
 
-SecurityEnvironment_MSCryptImpl::SecurityEnvironment_MSCryptImpl( const 
Reference< XMultiServiceFactory >& aFactory ) : m_hProv( NULL ) , 
m_pszContainer( nullptr ) , m_hKeyStore( nullptr ), m_hCertStore( nullptr ), 
m_hMySystemStore(nullptr), m_hRootSystemStore(nullptr), 
m_hTrustSystemStore(nullptr), m_hCaSystemStore(nullptr), m_bEnableDefault( 
false ), m_xServiceManager( aFactory ){
+SecurityEnvironment_MSCryptImpl::SecurityEnvironment_MSCryptImpl( const 
uno::Reference< uno::XComponentContext >& xContext ) : m_hProv( NULL ) , 
m_pszContainer( nullptr ) , m_hKeyStore( nullptr ), m_hCertStore( nullptr ), 
m_hMySystemStore(nullptr), m_hRootSystemStore(nullptr), 
m_hTrustSystemStore(nullptr), m_hCaSystemStore(nullptr), m_bEnableDefault( 
false ){
 
+m_xServiceManager.set(xContext, uno::UNO_QUERY);
 }
 
 SecurityEnvironment_MSCryptImpl::~SecurityEnvironment_MSCryptImpl() {
@@ -152,12 +153,12 @@ 
SecurityEnvironment_MSCryptImpl::~SecurityEnvironment_MSCryptImpl() {
 
 /* XServiceInfo */
 OUString SAL_CALL SecurityEnvironment_MSCryptImpl::getImplementationName() {
-return impl_getImplementationName() ;
+return OUString("com.sun.star.xml.crypto.SecurityEnvironment");
 }
 
 /* XServiceInfo */
 sal_Bool SAL_CALL SecurityEnvironment_MSCryptImpl::supportsService( const 
OUString& serviceName) {
-Sequence< OUString > seqServiceNames = getSupportedServiceNames() ;
+uno::Sequence< OUString > seqServiceNames = getSupportedServiceNames() ;
 const OUString* pArray = seqServiceNames.getConstArray() ;
 for( sal_Int32 i = 0 ; i < seqServiceNames.getLength() ; i ++ ) {
 if( *( pArray + i ) == serviceName )
@@ -167,32 +168,13 @@ sal_Bool SAL_CALL 
SecurityEnvironment_MSCryptImpl::supportsService( const OUStri
 }
 
 /* XServiceInfo */
-Sequence< OUString > SAL_CALL 
SecurityEnvironment_MSCryptImpl::getSupportedServiceNames() {
-return impl_getSupportedServiceNames() ;
-}
-
-//Helper for XServiceInfo
-Sequence< OUString > 
SecurityEnvironment_MSCryptImpl::impl_getSupportedServiceNames() {
-::osl::Guard< ::osl::Mutex > aGuard( ::osl::Mutex::getGlobalMutex() ) ;
-Sequence seqServiceNames { 
"com.sun.star.xml.crypto.SecurityEnvironment" };
+uno::Sequence< OUString > SAL_CALL 
SecurityEnvironment_MSCryptImpl::getSupportedServiceNames() {
+uno::Sequence seqServiceNames { 
"com.sun.star.xml.crypto.SecurityEnvironment" };
 return seqServiceNames ;
 }
 
-OUString SecurityEnvironment_MSCryptImpl::impl_getImplementationName() {
-return 
OUString("com.sun.star.xml.security.bridge.xmlsec.SecurityEnvironment_MSCryptImpl")
 ;
-}
-
-//Helper for registry
-Reference< XInterface > SAL_CALL 
SecurityEnvironment_MSCryptImpl::impl_createInstance( const Reference< 
XMultiServiceFactory >& aServiceManager ) {
-return Reference< XInterface >( *new SecurityEnvironment_MSCryptImpl( 
aServiceManager ) ) ;
-}
-
-Reference< XSingleServiceFactory > 
SecurityEnvironment_MSCryptImpl::impl_createFactory( const Reference< 
XMultiServiceFactory >& aServiceManager ) {
-return ::cppu::createSingleFactory( aServiceManager , 
impl_getImplementationName() , impl_createInstance , 
impl_getSupportedServiceNames() ) ;
-}
-
 /* XUnoTunnel */
-sal_Int64 SAL_CALL SecurityEnvironment_MSCryptImpl::getSomething( const 
Sequence< sal_Int8 >& aIdentifier )
+sal_Int64 SAL_CALL SecurityEnvironment_MSCryptImpl::getSomething( const 
uno::Sequence< sal_Int8 >& aIdentifier )
 {
 if( aIdentifier.getLength() == 16 && 0 == 

[Libreoffice-commits] core.git: xmlsecurity/source xmlsecurity/util

2018-03-29 Thread Miklos Vajna
 xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx |   33 +++---
 xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.hxx |   12 ---
 xmlsecurity/source/xmlsec/nss/xsec_nss.cxx|5 -
 xmlsecurity/util/xsec_xmlsec.component|3 
 4 files changed, 12 insertions(+), 41 deletions(-)

New commits:
commit 04bfd8bf7677f54295778b5d762e0b09278df895
Author: Miklos Vajna 
Date:   Wed Mar 28 22:44:14 2018 +0200

xmlsecurity nss: create SecurityEnvironment instances with a constructor

Change-Id: If4b18747292dd265d789b70078979361bd044fde
Reviewed-on: https://gerrit.libreoffice.org/52039
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins 

diff --git a/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx 
b/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx
index 36d2e0a57ca4..cc5cb0a3f19e 100644
--- a/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx
+++ b/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.cxx
@@ -106,7 +106,6 @@ char* GetPasswordFunction( PK11SlotInfo* pSlot, PRBool 
bRetry, void* /*arg*/ )
 
 SecurityEnvironment_NssImpl::SecurityEnvironment_NssImpl() :
 m_pHandler( nullptr ) , m_tSymKeyList() , m_tPubKeyList() , m_tPriKeyList() {
-
 PK11_SetPasswordFunc( GetPasswordFunction ) ;
 }
 
@@ -143,7 +142,7 @@ SecurityEnvironment_NssImpl::~SecurityEnvironment_NssImpl() 
{
 
 /* XServiceInfo */
 OUString SAL_CALL SecurityEnvironment_NssImpl::getImplementationName() {
-return impl_getImplementationName() ;
+return OUString("com.sun.star.xml.crypto.SecurityEnvironment");
 }
 
 /* XServiceInfo */
@@ -159,27 +158,8 @@ sal_Bool SAL_CALL 
SecurityEnvironment_NssImpl::supportsService( const OUString&
 
 /* XServiceInfo */
 Sequence< OUString > SAL_CALL 
SecurityEnvironment_NssImpl::getSupportedServiceNames() {
-return impl_getSupportedServiceNames() ;
-}
-
-//Helper for XServiceInfo
-Sequence< OUString > 
SecurityEnvironment_NssImpl::impl_getSupportedServiceNames() {
-::osl::Guard< ::osl::Mutex > aGuard( ::osl::Mutex::getGlobalMutex() ) ;
-Sequence seqServiceNames { 
"com.sun.star.xml.crypto.SecurityEnvironment" };
-return seqServiceNames ;
-}
-
-OUString SecurityEnvironment_NssImpl::impl_getImplementationName() {
-return 
OUString("com.sun.star.xml.security.bridge.xmlsec.SecurityEnvironment_NssImpl") 
;
-}
-
-//Helper for registry
-Reference< XInterface > SAL_CALL 
SecurityEnvironment_NssImpl::impl_createInstance( const Reference< 
XMultiServiceFactory >& ) {
-return Reference< XInterface >( *new SecurityEnvironment_NssImpl ) ;
-}
-
-Reference< XSingleServiceFactory > 
SecurityEnvironment_NssImpl::impl_createFactory( const Reference< 
XMultiServiceFactory >& aServiceManager ) {
-return ::cppu::createSingleFactory( aServiceManager , 
impl_getImplementationName() , impl_createInstance , 
impl_getSupportedServiceNames() ) ;
+Sequence seqServiceNames{ 
"com.sun.star.xml.crypto.SecurityEnvironment" };
+return seqServiceNames;
 }
 
 /* XUnoTunnel */
@@ -961,4 +941,11 @@ void 
SecurityEnvironment_NssImpl::destroyKeysManager(xmlSecKeysMngrPtr pKeysMngr
 }
 }
 
+extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
+com_sun_star_xml_crypto_SecurityEnvironment_get_implementation(
+uno::XComponentContext* /*pCtx*/, uno::Sequence const& /*rSeq*/)
+{
+return cppu::acquire(new SecurityEnvironment_NssImpl);
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.hxx 
b/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.hxx
index 0e47cd9d4213..88f6a0762125 100644
--- a/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.hxx
+++ b/xmlsecurity/source/xmlsec/nss/securityenvironment_nssimpl.hxx
@@ -79,18 +79,6 @@ private:
 
 virtual css::uno::Sequence< OUString > SAL_CALL 
getSupportedServiceNames() override ;
 
-//Helper for XServiceInfo
-static css::uno::Sequence< OUString > impl_getSupportedServiceNames() ;
-
-/// @throws css::uno::RuntimeException
-static OUString impl_getImplementationName() ;
-
-//Helper for registry
-/// @throws css::uno::RuntimeException
-static css::uno::Reference< css::uno::XInterface > SAL_CALL 
impl_createInstance( const css::uno::Reference< css::lang::XMultiServiceFactory 
>& aServiceManager ) ;
-
-static css::uno::Reference< css::lang::XSingleServiceFactory > 
impl_createFactory( const css::uno::Reference< css::lang::XMultiServiceFactory 
>& aServiceManager ) ;
-
 virtual ::sal_Int32 SAL_CALL verifyCertificate(
 const css::uno::Reference<
 css::security::XCertificate >& xCert,
diff --git a/xmlsecurity/source/xmlsec/nss/xsec_nss.cxx 
b/xmlsecurity/source/xmlsec/nss/xsec_nss.cxx
index a6b489ffb189..db23623aada9 100644
--- a/xmlsecurity/source/xmlsec/nss/xsec_nss.cxx

[Libreoffice-commits] core.git: xmlsecurity/source xmlsecurity/util

2018-03-01 Thread Miklos Vajna
 xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx |   83 
+---
 xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.hxx |   95 
--
 xmlsecurity/source/xmlsec/mscrypt/xsec_mscrypt.cxx   |5 
 xmlsecurity/util/xsec_xmlsec.windows.component   |3 
 4 files changed, 58 insertions(+), 128 deletions(-)

New commits:
commit 7ef644e7e5a91935ce4fd15c40cf9e8338e49ca4
Author: Miklos Vajna 
Date:   Wed Feb 28 21:47:52 2018 +0100

xmlsecurity mscrypt: create XMLSecurityContext instances with a constructor

Change-Id: If535e153e587448232bf1451fa159d976e61be37
Reviewed-on: https://gerrit.libreoffice.org/50534
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins 

diff --git 
a/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx 
b/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx
index 925da9eba35c..1e479623ec0e 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx
@@ -18,15 +18,15 @@
  */
 
 #include 
+#include 
 #include "securityenvironment_mscryptimpl.hxx"
 
-#include "xmlsecuritycontext_mscryptimpl.hxx"
 #include 
 #include "akmngr.hxx"
 
 #include 
 
-using namespace ::com::sun::star::uno ;
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::lang ;
 using ::com::sun::star::lang::XMultiServiceFactory ;
 using ::com::sun::star::lang::XSingleServiceFactory ;
@@ -34,6 +34,48 @@ using ::com::sun::star::lang::XSingleServiceFactory ;
 using ::com::sun::star::xml::crypto::XSecurityEnvironment ;
 using ::com::sun::star::xml::crypto::XXMLSecurityContext ;
 
+class XMLSecurityContext_MSCryptImpl : public ::cppu::WeakImplHelper<
+css::xml::crypto::XXMLSecurityContext ,
+css::lang::XServiceInfo >
+{
+private:
+//xmlSecKeysMngrPtr m_pKeysMngr ;
+css::uno::Reference< css::xml::crypto::XSecurityEnvironment > 
m_xSecurityEnvironment ;
+
+public:
+XMLSecurityContext_MSCryptImpl();
+virtual ~XMLSecurityContext_MSCryptImpl() override;
+
+//Methods from XXMLSecurityContext
+virtual sal_Int32 SAL_CALL addSecurityEnvironment(
+const css::uno::Reference< css::xml::crypto::XSecurityEnvironment 
>& aSecurityEnvironment
+) override;
+
+virtual ::sal_Int32 SAL_CALL getSecurityEnvironmentNumber(  ) override;
+
+virtual css::uno::Reference<
+css::xml::crypto::XSecurityEnvironment > SAL_CALL
+getSecurityEnvironmentByIndex( ::sal_Int32 index ) override;
+
+virtual css::uno::Reference<
+css::xml::crypto::XSecurityEnvironment > SAL_CALL
+getSecurityEnvironment(  ) override;
+
+virtual ::sal_Int32 SAL_CALL getDefaultSecurityEnvironmentIndex(  ) 
override;
+
+virtual void SAL_CALL setDefaultSecurityEnvironmentIndex( sal_Int32 
nDefaultEnvIndex ) override;
+
+
+//Methods from XServiceInfo
+virtual OUString SAL_CALL getImplementationName() override;
+
+virtual sal_Bool SAL_CALL supportsService(
+const OUString& ServiceName
+) override;
+
+virtual css::uno::Sequence< OUString > SAL_CALL 
getSupportedServiceNames() override;
+};
+
 XMLSecurityContext_MSCryptImpl::XMLSecurityContext_MSCryptImpl()
 ://m_pKeysMngr( NULL ) ,
  m_xSecurityEnvironment( nullptr )
@@ -49,7 +91,7 @@ sal_Int32 SAL_CALL 
XMLSecurityContext_MSCryptImpl::addSecurityEnvironment(
 {
 if( !aSecurityEnvironment.is() )
 {
-throw RuntimeException() ;
+throw uno::RuntimeException() ;
 }
 
 m_xSecurityEnvironment = aSecurityEnvironment;
@@ -68,7 +110,7 @@ css::uno::Reference< css::xml::crypto::XSecurityEnvironment 
> SAL_CALL
 {
 if (index != 0)
 {
-throw RuntimeException() ;
+throw uno::RuntimeException() ;
 }
 return m_xSecurityEnvironment;
 }
@@ -91,12 +133,12 @@ void SAL_CALL 
XMLSecurityContext_MSCryptImpl::setDefaultSecurityEnvironmentIndex
 
 /* XServiceInfo */
 OUString SAL_CALL XMLSecurityContext_MSCryptImpl::getImplementationName() {
-return impl_getImplementationName() ;
+return OUString("com.sun.star.xml.crypto.XMLSecurityContext") ;
 }
 
 /* XServiceInfo */
 sal_Bool SAL_CALL XMLSecurityContext_MSCryptImpl::supportsService( const 
OUString& serviceName) {
-Sequence< OUString > seqServiceNames = getSupportedServiceNames() ;
+uno::Sequence< OUString > seqServiceNames = getSupportedServiceNames() ;
 const OUString* pArray = seqServiceNames.getConstArray() ;
 for( sal_Int32 i = 0 ; i < seqServiceNames.getLength() ; i ++ ) {
 if( *( pArray + i ) == serviceName )
@@ -106,31 +148,16 @@ sal_Bool SAL_CALL 
XMLSecurityContext_MSCryptImpl::supportsService( const OUStrin
 }
 
 /* XServiceInfo */
-Sequence< OUString > SAL_CALL 

[Libreoffice-commits] core.git: xmlsecurity/source xmlsecurity/util

2018-02-26 Thread Miklos Vajna
 xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx |   97 +
 xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.hxx |  111 ---
 xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx   |2 
 xmlsecurity/source/xmlsec/nss/xsec_nss.cxx   |5 
 xmlsecurity/util/xsec_xmlsec.component   |3 
 5 files changed, 57 insertions(+), 161 deletions(-)

New commits:
commit 0f62b798acf9c53cd6e151daf908a432a02e5771
Author: Miklos Vajna 
Date:   Fri Feb 23 09:08:10 2018 +0100

xmlsecurity nss: create XMLSecurityContext instances with a constructor

Change-Id: I0133469e08b6d48aaf949e928ec4436d309963eb
Reviewed-on: https://gerrit.libreoffice.org/50223
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx 
b/xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx
index 17e709eead02..b894cd098330 100644
--- a/xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx
+++ b/xmlsecurity/source/xmlsec/nss/xmlsecuritycontext_nssimpl.cxx
@@ -18,12 +18,13 @@
  */
 
 #include 
+#include 
 #include 
+#include 
 #include "securityenvironment_nssimpl.hxx"
+#include 
 
-#include "xmlsecuritycontext_nssimpl.hxx"
-
-using namespace ::com::sun::star::uno ;
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::lang ;
 using ::com::sun::star::lang::XMultiServiceFactory ;
 using ::com::sun::star::lang::XSingleServiceFactory ;
@@ -31,21 +32,52 @@ using ::com::sun::star::lang::XSingleServiceFactory ;
 using ::com::sun::star::xml::crypto::XSecurityEnvironment ;
 using ::com::sun::star::xml::crypto::XXMLSecurityContext ;
 
-XMLSecurityContext_NssImpl::XMLSecurityContext_NssImpl()
-: m_nDefaultEnvIndex(-1)
+class XMLSecurityContext_NssImpl
+: public ::cppu::WeakImplHelper
 {
-}
+private:
+std::vector 
m_vSecurityEnvironments;
+
+sal_Int32 m_nDefaultEnvIndex;
+
+public:
+XMLSecurityContext_NssImpl();
+
+//XXMLSecurityContext
+virtual sal_Int32 SAL_CALL addSecurityEnvironment(
+const uno::Reference& 
aSecurityEnvironment) override;
+
+virtual ::sal_Int32 SAL_CALL getSecurityEnvironmentNumber() override;
+
+virtual uno::Reference
+SAL_CALL getSecurityEnvironmentByIndex(::sal_Int32 index) override;
+
+virtual uno::Reference
+SAL_CALL getSecurityEnvironment() override;
+
+virtual ::sal_Int32 SAL_CALL getDefaultSecurityEnvironmentIndex() override;
+
+virtual void SAL_CALL setDefaultSecurityEnvironmentIndex(sal_Int32 
nDefaultEnvIndex) override;
+
+//XServiceInfo
+virtual OUString SAL_CALL getImplementationName() override;
 
-XMLSecurityContext_NssImpl::~XMLSecurityContext_NssImpl()
+virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) 
override;
+
+virtual uno::Sequence SAL_CALL getSupportedServiceNames() 
override;
+};
+
+XMLSecurityContext_NssImpl::XMLSecurityContext_NssImpl()
+: m_nDefaultEnvIndex(-1)
 {
 }
 
 sal_Int32 SAL_CALL XMLSecurityContext_NssImpl::addSecurityEnvironment(
-const css::uno::Reference< css::xml::crypto::XSecurityEnvironment >& 
aSecurityEnvironment)
+const uno::Reference< xml::crypto::XSecurityEnvironment >& 
aSecurityEnvironment)
 {
 if( !aSecurityEnvironment.is() )
 {
-throw RuntimeException() ;
+throw uno::RuntimeException() ;
 }
 
 m_vSecurityEnvironments.push_back( aSecurityEnvironment );
@@ -59,21 +91,21 @@ sal_Int32 SAL_CALL 
XMLSecurityContext_NssImpl::getSecurityEnvironmentNumber(  )
 return m_vSecurityEnvironments.size();
 }
 
-css::uno::Reference< css::xml::crypto::XSecurityEnvironment > SAL_CALL
+uno::Reference< xml::crypto::XSecurityEnvironment > SAL_CALL
 XMLSecurityContext_NssImpl::getSecurityEnvironmentByIndex( sal_Int32 index 
)
 {
 if (index < 0 || index >= 
static_cast(m_vSecurityEnvironments.size()))
-throw RuntimeException();
+throw uno::RuntimeException();
 
-css::uno::Reference< css::xml::crypto::XSecurityEnvironment > 
xSecurityEnvironment = m_vSecurityEnvironments[index];
+uno::Reference< xml::crypto::XSecurityEnvironment > xSecurityEnvironment = 
m_vSecurityEnvironments[index];
 return xSecurityEnvironment;
 }
 
-css::uno::Reference< css::xml::crypto::XSecurityEnvironment > SAL_CALL
+uno::Reference< xml::crypto::XSecurityEnvironment > SAL_CALL
 XMLSecurityContext_NssImpl::getSecurityEnvironment(  )
 {
 if (m_nDefaultEnvIndex < 0 || m_nDefaultEnvIndex >= 
static_cast(m_vSecurityEnvironments.size()))
-throw RuntimeException();
+throw uno::RuntimeException();
 
 return getSecurityEnvironmentByIndex(m_nDefaultEnvIndex);
 }
@@ -90,44 +122,25 @@ void SAL_CALL 
XMLSecurityContext_NssImpl::setDefaultSecurityEnvironmentIndex( sa
 
 /* XServiceInfo */
 OUString 

[Libreoffice-commits] core.git: xmlsecurity/source xmlsecurity/util

2018-02-23 Thread Miklos Vajna
 xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx |   58 --
 xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.hxx |   83 
--
 xmlsecurity/source/xmlsec/mscrypt/xsec_mscrypt.cxx |5 
 xmlsecurity/util/xsec_xmlsec.windows.component |3 
 4 files changed, 41 insertions(+), 108 deletions(-)

New commits:
commit a2e53070ca807e1974c462d9ae8f7098990c9356
Author: Miklos Vajna 
Date:   Wed Feb 21 22:15:05 2018 +0100

xmlsecurity mscrypt: create XMLSignature instances with a constructor

Change-Id: Ie30885226d1ede4293adc888e587d6111343f5af
Reviewed-on: https://gerrit.libreoffice.org/50144
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx 
b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
index 3213f9e9e2e6..f7ade4e54161 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
@@ -21,8 +21,8 @@
 #include 
 
 #include 
+#include 
 
-#include "xmlsignature_mscryptimpl.hxx"
 #include "securityenvironment_mscryptimpl.hxx"
 
 #include 
@@ -32,6 +32,7 @@
 
 #include 
 
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno ;
 using namespace ::com::sun::star::lang ;
 using ::com::sun::star::lang::XMultiServiceFactory ;
@@ -45,7 +46,36 @@ using ::com::sun::star::xml::crypto::XXMLSignatureTemplate ;
 using ::com::sun::star::xml::crypto::XXMLSecurityContext ;
 using ::com::sun::star::xml::crypto::XUriBinding ;
 
-XMLSignature_MSCryptImpl::XMLSignature_MSCryptImpl( const Reference< 
XMultiServiceFactory >& aFactory ) : m_xServiceManager( aFactory ) {
+class XMLSignature_MSCryptImpl : public ::cppu::WeakImplHelper<
+css::xml::crypto::XXMLSignature ,
+css::lang::XServiceInfo >
+{
+public:
+explicit XMLSignature_MSCryptImpl();
+virtual ~XMLSignature_MSCryptImpl() override;
+
+//Methods from XXMLSignature
+virtual css::uno::Reference< css::xml::crypto::XXMLSignatureTemplate > 
SAL_CALL generate(
+const css::uno::Reference< css::xml::crypto::XXMLSignatureTemplate 
>& aTemplate ,
+const css::uno::Reference< css::xml::crypto::XSecurityEnvironment 
>& aEnvironment
+) override;
+
+virtual css::uno::Reference< css::xml::crypto::XXMLSignatureTemplate > 
SAL_CALL validate(
+const css::uno::Reference< css::xml::crypto::XXMLSignatureTemplate 
>& aTemplate ,
+const css::uno::Reference< css::xml::crypto::XXMLSecurityContext 
>& aContext
+) override;
+
+//Methods from XServiceInfo
+virtual OUString SAL_CALL getImplementationName() override;
+
+virtual sal_Bool SAL_CALL supportsService(
+const OUString& ServiceName
+) override;
+
+virtual css::uno::Sequence< OUString > SAL_CALL 
getSupportedServiceNames() override;
+} ;
+
+XMLSignature_MSCryptImpl::XMLSignature_MSCryptImpl() {
 }
 
 XMLSignature_MSCryptImpl::~XMLSignature_MSCryptImpl() {
@@ -251,7 +281,7 @@ SAL_CALL XMLSignature_MSCryptImpl::validate(
 
 /* XServiceInfo */
 OUString SAL_CALL XMLSignature_MSCryptImpl::getImplementationName() {
-return impl_getImplementationName() ;
+return OUString("com.sun.star.xml.crypto.XMLSignature");
 }
 
 /* XServiceInfo */
@@ -267,27 +297,15 @@ sal_Bool SAL_CALL 
XMLSignature_MSCryptImpl::supportsService( const OUString& ser
 
 /* XServiceInfo */
 Sequence< OUString > SAL_CALL 
XMLSignature_MSCryptImpl::getSupportedServiceNames() {
-return impl_getSupportedServiceNames() ;
-}
-
-//Helper for XServiceInfo
-Sequence< OUString > XMLSignature_MSCryptImpl::impl_getSupportedServiceNames() 
{
-::osl::Guard< ::osl::Mutex > aGuard( ::osl::Mutex::getGlobalMutex() ) ;
 Sequence seqServiceNames { 
"com.sun.star.xml.crypto.XMLSignature" };
 return seqServiceNames ;
 }
 
-OUString XMLSignature_MSCryptImpl::impl_getImplementationName() {
-return 
OUString("com.sun.star.xml.security.bridge.xmlsec.XMLSignature_MSCryptImpl") ;
-}
-
-//Helper for registry
-Reference< XInterface > SAL_CALL 
XMLSignature_MSCryptImpl::impl_createInstance( const Reference< 
XMultiServiceFactory >& aServiceManager ) {
-return Reference< XInterface >( *new XMLSignature_MSCryptImpl( 
aServiceManager ) ) ;
-}
-
-Reference< XSingleServiceFactory > 
XMLSignature_MSCryptImpl::impl_createFactory( const Reference< 
XMultiServiceFactory >& aServiceManager ) {
-return ::cppu::createSingleFactory( aServiceManager , 
impl_getImplementationName() , impl_createInstance , 
impl_getSupportedServiceNames() ) ;
+extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
+com_sun_star_xml_crypto_XMLSignature_get_implementation(uno::XComponentContext*
 /*pCtx*/,
+
uno::Sequence const& /*rSeq*/)
+{
+return 

[Libreoffice-commits] core.git: xmlsecurity/source xmlsecurity/util

2018-02-14 Thread Miklos Vajna
 xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx |   53 ++-
 xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.hxx |   80 -
 xmlsecurity/source/xmlsec/nss/xsec_nss.cxx |5 -
 xmlsecurity/util/xsec_xmlsec.component |3 
 4 files changed, 33 insertions(+), 108 deletions(-)

New commits:
commit 48d3ff5c498f8f186d4ee72871af379010403442
Author: Miklos Vajna 
Date:   Tue Feb 13 22:09:40 2018 +0100

xmlsecurity nss: create XMLSignature instances with a constructor

Change-Id: Ic2968a1eda7517ba4cfb67d0cf68fb7de1ac1935
Reviewed-on: https://gerrit.libreoffice.org/49685
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx 
b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
index 3389fd149086..5eef5e80ae28 100644
--- a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
+++ b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
@@ -19,7 +19,6 @@
 
 #include 
 #include 
-#include "xmlsignature_nssimpl.hxx"
 
 #include 
 #include 
@@ -31,7 +30,9 @@
 #include "xmlsecuritycontext_nssimpl.hxx"
 
 #include 
+#include 
 
+using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno ;
 using namespace ::com::sun::star::lang ;
 using ::com::sun::star::lang::XMultiServiceFactory ;
@@ -45,10 +46,30 @@ using ::com::sun::star::xml::crypto::XXMLSignatureTemplate ;
 using ::com::sun::star::xml::crypto::XXMLSecurityContext ;
 using ::com::sun::star::xml::crypto::XUriBinding ;
 
-XMLSignature_NssImpl::XMLSignature_NssImpl() {
-}
+class XMLSignature_NssImpl
+: public ::cppu::WeakImplHelper
+{
+public:
+explicit XMLSignature_NssImpl();
+
+//Methods from XXMLSignature
+virtual uno::Reference SAL_CALL
+generate(const uno::Reference& 
aTemplate,
+ const uno::Reference& 
aEnvironment) override;
+
+virtual uno::Reference SAL_CALL
+validate(const uno::Reference& 
aTemplate,
+ const uno::Reference& aContext) 
override;
+
+//Methods from XServiceInfo
+virtual OUString SAL_CALL getImplementationName() override;
+
+virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) 
override;
+
+virtual uno::Sequence SAL_CALL getSupportedServiceNames() 
override;
+};
 
-XMLSignature_NssImpl::~XMLSignature_NssImpl() {
+XMLSignature_NssImpl::XMLSignature_NssImpl() {
 }
 
 /* XXMLSignature */
@@ -267,7 +288,7 @@ SAL_CALL XMLSignature_NssImpl::validate(
 
 /* XServiceInfo */
 OUString SAL_CALL XMLSignature_NssImpl::getImplementationName() {
-return impl_getImplementationName() ;
+return OUString("com.sun.star.xml.crypto.XMLSignature");
 }
 
 /* XServiceInfo */
@@ -283,27 +304,15 @@ sal_Bool SAL_CALL XMLSignature_NssImpl::supportsService( 
const OUString& service
 
 /* XServiceInfo */
 Sequence< OUString > SAL_CALL XMLSignature_NssImpl::getSupportedServiceNames() 
{
-return impl_getSupportedServiceNames() ;
-}
-
-//Helper for XServiceInfo
-Sequence< OUString > XMLSignature_NssImpl::impl_getSupportedServiceNames() {
-::osl::Guard< ::osl::Mutex > aGuard( ::osl::Mutex::getGlobalMutex() ) ;
 Sequence seqServiceNames { 
"com.sun.star.xml.crypto.XMLSignature" };
 return seqServiceNames ;
 }
 
-OUString XMLSignature_NssImpl::impl_getImplementationName() {
-return 
OUString("com.sun.star.xml.security.bridge.xmlsec.XMLSignature_NssImpl") ;
-}
-
-//Helper for registry
-Reference< XInterface > SAL_CALL XMLSignature_NssImpl::impl_createInstance( 
const Reference< XMultiServiceFactory >& ) {
-return Reference< XInterface >( *new XMLSignature_NssImpl ) ;
-}
-
-Reference< XSingleServiceFactory > XMLSignature_NssImpl::impl_createFactory( 
const Reference< XMultiServiceFactory >& aServiceManager ) {
-return ::cppu::createSingleFactory( aServiceManager , 
impl_getImplementationName() , impl_createInstance , 
impl_getSupportedServiceNames() ) ;
+extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface*
+com_sun_star_xml_crypto_XMLSignature_get_implementation(uno::XComponentContext*
 /*pCtx*/,
+
uno::Sequence const& /*rSeq*/)
+{
+return cppu::acquire(new XMLSignature_NssImpl);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.hxx 
b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.hxx
deleted file mode 100644
index 92f50d9acb26..
--- a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at