diff options
Diffstat (limited to 'dev-cpp/libcmis/files/libcmis-0.5.2-onedrive-do-not-allow-copying.patch')
| -rw-r--r-- | dev-cpp/libcmis/files/libcmis-0.5.2-onedrive-do-not-allow-copying.patch | 430 |
1 files changed, 430 insertions, 0 deletions
diff --git a/dev-cpp/libcmis/files/libcmis-0.5.2-onedrive-do-not-allow-copying.patch b/dev-cpp/libcmis/files/libcmis-0.5.2-onedrive-do-not-allow-copying.patch new file mode 100644 index 000000000000..d14f36830f7b --- /dev/null +++ b/dev-cpp/libcmis/files/libcmis-0.5.2-onedrive-do-not-allow-copying.patch @@ -0,0 +1,430 @@ +From d55b04376e509997b01e68bcacebd4cad2ec4002 Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Sat, 30 Mar 2019 16:18:40 +0100 +Subject: [PATCH] onedrive-session: do not allow copying + +--- + qa/libcmis/test-onedrive.cxx | 102 ++++++++++++++++--------------- + src/libcmis/onedrive-session.cxx | 5 -- + src/libcmis/onedrive-session.hxx | 4 +- + 3 files changed, 54 insertions(+), 57 deletions(-) + +diff --git a/qa/libcmis/test-onedrive.cxx b/qa/libcmis/test-onedrive.cxx +index 1df1b30..b15edd1 100644 +--- a/qa/libcmis/test-onedrive.cxx ++++ b/qa/libcmis/test-onedrive.cxx +@@ -68,6 +68,8 @@ static const string SCOPE ( "https://scope/url" ); + static const string REDIRECT_URI ("redirect:uri" ); + static const string BASE_URL ( "https://base/url" ); + ++typedef std::unique_ptr<OneDriveSession> OneDriveSessionPtr; ++ + class OneDriveTest : public CppUnit::TestFixture + { + public: +@@ -116,10 +118,10 @@ class OneDriveTest : public CppUnit::TestFixture + CPPUNIT_TEST_SUITE_END( ); + + private: +- OneDriveSession getTestSession( string username, string password ); ++ OneDriveSessionPtr getTestSession( string username, string password ); + }; + +-OneDriveSession OneDriveTest::getTestSession( string username, string password ) ++OneDriveSessionPtr OneDriveTest::getTestSession( string username, string password ) + { + libcmis::OAuth2DataPtr oauth2( + new libcmis::OAuth2Data( AUTH_URL, TOKEN_URL, SCOPE, +@@ -154,12 +156,12 @@ OneDriveSession OneDriveTest::getTestSession( string username, string password ) + curl_mockup_addResponse ( TOKEN_URL.c_str( ), empty.c_str( ), "POST", + DATA_DIR "/onedrive/token-response.json", 200, true ); + +- return OneDriveSession( BASE_URL, username, password, oauth2, false ); ++ return OneDriveSessionPtr( new OneDriveSession( BASE_URL, username, password, oauth2, false ) ); + } + + void OneDriveTest::sessionAuthenticationTest( ) + { +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + string empty; + + // Check token request +@@ -179,11 +181,11 @@ void OneDriveTest::sessionAuthenticationTest( ) + CPPUNIT_ASSERT_EQUAL_MESSAGE( + "Wrong access token", + string ( "mock-access-token" ), +- session.m_oauth2Handler->getAccessToken( )); ++ session->m_oauth2Handler->getAccessToken( )); + CPPUNIT_ASSERT_EQUAL_MESSAGE( + "Wrong refresh token", + string ("mock-refresh-token"), +- session.m_oauth2Handler->getRefreshToken( )); ++ session->m_oauth2Handler->getRefreshToken( )); + } + + void OneDriveTest::sessionExpiryTokenGetTest( ) +@@ -192,7 +194,7 @@ void OneDriveTest::sessionExpiryTokenGetTest( ) + // We need to use the refresh key to get a new one. + + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + + curl_mockup_reset( ); + static const string objectId("aFileId"); +@@ -206,17 +208,17 @@ void OneDriveTest::sessionExpiryTokenGetTest( ) + try + { + // GET expires, need to refresh then GET again +- libcmis::ObjectPtr obj = session.getObject( objectId ); ++ libcmis::ObjectPtr obj = session->getObject( objectId ); + } + catch ( ... ) + { +- if ( session.getHttpStatus( ) == 401 ) ++ if ( session->getHttpStatus( ) == 401 ) + { + // Check if access token is refreshed + CPPUNIT_ASSERT_EQUAL_MESSAGE( + "wrong access token", + string ( "new-access-token" ), +- session.m_oauth2Handler->getAccessToken( ) ); ++ session->m_oauth2Handler->getAccessToken( ) ); + } + } + } +@@ -225,8 +227,8 @@ void OneDriveTest::getRepositoriesTest( ) + { + curl_mockup_reset( ); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); +- vector< libcmis::RepositoryPtr > actual = session.getRepositories( ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); ++ vector< libcmis::RepositoryPtr > actual = session->getRepositories( ); + + CPPUNIT_ASSERT_EQUAL_MESSAGE( "Wrong number of repositories", size_t( 1 ), + actual.size( ) ); +@@ -239,9 +241,9 @@ void OneDriveTest::getObjectTypeDocumentTest() + { + curl_mockup_reset( ); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + +- libcmis::ObjectTypePtr actual = session.getType("cmis:document"); ++ libcmis::ObjectTypePtr actual = session->getType("cmis:document"); + + CPPUNIT_ASSERT_EQUAL_MESSAGE( "Wrong type ID", string("cmis:document"), + actual->getId() ); +@@ -282,9 +284,9 @@ void OneDriveTest::getObjectTypeFolderTest() + { + curl_mockup_reset( ); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + +- libcmis::ObjectTypePtr actual = session.getType("cmis:folder"); ++ libcmis::ObjectTypePtr actual = session->getType("cmis:folder"); + + CPPUNIT_ASSERT_EQUAL_MESSAGE( "Wrong type ID", string("cmis:folder"), + actual->getId() ); +@@ -322,11 +324,11 @@ void OneDriveTest::getObjectTest() + { + static const string objectId ("aFileId"); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + string url = BASE_URL + "/" + objectId; + curl_mockup_addResponse ( url.c_str( ), "", + "GET", DATA_DIR "/onedrive/file.json", 200, true); +- libcmis::ObjectPtr object = session.getObject( objectId ); ++ libcmis::ObjectPtr object = session->getObject( objectId ); + boost::shared_ptr<OneDriveObject> obj = boost::dynamic_pointer_cast + <OneDriveObject>( object ); + CPPUNIT_ASSERT_EQUAL_MESSAGE( "Wrong Object Id", objectId, +@@ -338,12 +340,12 @@ void OneDriveTest::filePropertyTest( ) + curl_mockup_reset( ); + static const string objectId ("aFileId"); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + string url = BASE_URL + "/" + objectId; + curl_mockup_addResponse( url.c_str( ), "", + "GET", DATA_DIR "/onedrive/file.json", 200, true); + +- libcmis::ObjectPtr obj = session.getObject( objectId ); ++ libcmis::ObjectPtr obj = session->getObject( objectId ); + + CPPUNIT_ASSERT_EQUAL_MESSAGE( "Wrong creation date", + string ( "2014-06-09T08:24:04+0000" ), +@@ -365,7 +367,7 @@ void OneDriveTest::filePropertyTest( ) + void OneDriveTest::deleteTest( ) + { + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + + const string objectId( "aFileId" ); + +@@ -374,7 +376,7 @@ void OneDriveTest::deleteTest( ) + "GET", DATA_DIR "/onedrive/file.json", 200, true); + curl_mockup_addResponse( url.c_str( ),"", "DELETE", "", 204, false); + +- libcmis::ObjectPtr object = session.getObject( objectId ); ++ libcmis::ObjectPtr object = session->getObject( objectId ); + + object->remove( ); + const struct HttpRequest* deleteRequest = curl_mockup_getRequest( url.c_str( ), "", "DELETE" ); +@@ -385,7 +387,7 @@ void OneDriveTest::deleteTest( ) + void OneDriveTest::updatePropertiesTest( ) + { + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + const string objectId( "aFileId" ); + const string newObjectId( "aNewFileId" ); + +@@ -399,8 +401,8 @@ void OneDriveTest::updatePropertiesTest( ) + curl_mockup_addResponse( objectUrl.c_str( ), "", + "PUT", DATA_DIR "/onedrive/updated-file.json", 200, true ); + +- libcmis::ObjectPtr object = session.getObject( objectId ); +- libcmis::ObjectPtr newObject = session.getObject( newObjectId ); ++ libcmis::ObjectPtr object = session->getObject( objectId ); ++ libcmis::ObjectPtr newObject = session->getObject( newObjectId ); + + object->updateProperties( newObject->getProperties( ) ); + +@@ -424,12 +426,12 @@ void OneDriveTest::getFileAllowableActionsTest( ) + curl_mockup_reset( ); + static const string objectId ("aFileId"); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + string url = BASE_URL + "/" + objectId; + curl_mockup_addResponse( url.c_str( ), "", + "GET", DATA_DIR "/onedrive/file.json", 200, true); + +- libcmis::ObjectPtr object = session.getObject( objectId ); ++ libcmis::ObjectPtr object = session->getObject( objectId ); + + boost::shared_ptr< libcmis::AllowableActions > actions = object->getAllowableActions( ); + +@@ -446,12 +448,12 @@ void OneDriveTest::getFolderAllowableActionsTest( ) + curl_mockup_reset( ); + static const string objectId ("aFolderId"); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + string url = BASE_URL + "/" + objectId; + curl_mockup_addResponse( url.c_str( ), "", + "GET", DATA_DIR "/onedrive/folder.json", 200, true); + +- libcmis::ObjectPtr object = session.getObject( objectId ); ++ libcmis::ObjectPtr object = session->getObject( objectId ); + + boost::shared_ptr< libcmis::AllowableActions > actions = object->getAllowableActions( ); + +@@ -468,7 +470,7 @@ void OneDriveTest::getFolderTest( ) + { + curl_mockup_reset( ); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + static const string folderId( "aFolderId" ); + static const string parentId( "aParentId" ); + string url = BASE_URL + "/" + folderId; +@@ -480,7 +482,7 @@ void OneDriveTest::getFolderTest( ) + curl_mockup_addResponse( parentUrl.c_str( ), "", + "GET", DATA_DIR "/onedrive/parent-folder.json", 200, true); + +- libcmis::FolderPtr folder = session.getFolder( folderId ); ++ libcmis::FolderPtr folder = session->getFolder( folderId ); + CPPUNIT_ASSERT_MESSAGE( "Fetched object should be an instance of libcmis::FolderPtr", + NULL != folder ); + +@@ -499,15 +501,15 @@ void OneDriveTest::getChildrenTest( ) + { + curl_mockup_reset( ); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + static const string folderId ("aFolderId"); + string url = BASE_URL + "/" + folderId; + curl_mockup_addResponse( url.c_str( ), "", + "GET", DATA_DIR "/onedrive/folder.json", 200, true); + +- libcmis::ObjectPtr obj = session.getObject( folderId ); ++ libcmis::ObjectPtr obj = session->getObject( folderId ); + +- libcmis::FolderPtr folder = session.getFolder( folderId ); ++ libcmis::FolderPtr folder = session->getFolder( folderId ); + CPPUNIT_ASSERT_MESSAGE( "Fetched object should be an instance of libcmis::FolderPtr", + NULL != folder ); + +@@ -536,7 +538,7 @@ void OneDriveTest::getChildrenTest( ) + void OneDriveTest::moveTest( ) + { + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + const string objectId( "aFileId" ); + const string sourceId( "aFolderId" ); + const string desId( "aParentId" ); +@@ -554,9 +556,9 @@ void OneDriveTest::moveTest( ) + curl_mockup_addResponse( sourceUrl.c_str( ), "", + "GET", DATA_DIR "/onedrive/folder.json", 200, true ); + +- libcmis::ObjectPtr object = session.getObject( objectId ); +- libcmis::FolderPtr source = session.getFolder( sourceId ); +- libcmis::FolderPtr destination = session.getFolder( desId ); ++ libcmis::ObjectPtr object = session->getObject( objectId ); ++ libcmis::FolderPtr source = session->getFolder( sourceId ); ++ libcmis::FolderPtr destination = session->getFolder( desId ); + + object->move( source, destination ); + const char* moveRequest = curl_mockup_getRequestBody( url.c_str( ), "method=MOVE", "POST" ); +@@ -570,12 +572,12 @@ void OneDriveTest::getDocumentTest( ) + curl_mockup_reset( ); + static const string objectId ("aFileId"); + +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + string url = BASE_URL + "/" + objectId; + curl_mockup_addResponse( url.c_str( ), "", + "GET", DATA_DIR "/onedrive/file.json", 200, true); + +- libcmis::ObjectPtr obj = session.getObject( objectId ); ++ libcmis::ObjectPtr obj = session->getObject( objectId ); + + // Check if we got the document object. + libcmis::DocumentPtr document = boost::dynamic_pointer_cast< libcmis::Document >( obj ); +@@ -599,7 +601,7 @@ void OneDriveTest::getDocumentTest( ) + void OneDriveTest::getDocumentParentTest( ) + { + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + + static const string documentId( "aFileId" ); + static const string parentId( "aParentId" ); +@@ -611,7 +613,7 @@ void OneDriveTest::getDocumentParentTest( ) + curl_mockup_addResponse( parentUrl.c_str( ), "", + "GET", DATA_DIR "/onedrive/parent-folder.json", 200, true); + +- libcmis::ObjectPtr object = session.getObject( "aFileId" ); ++ libcmis::ObjectPtr object = session->getObject( "aFileId" ); + libcmis::DocumentPtr document = boost::dynamic_pointer_cast< libcmis::Document >( object ); + + CPPUNIT_ASSERT_MESSAGE( "Document expected", document != NULL ); +@@ -626,7 +628,7 @@ void OneDriveTest::getDocumentParentTest( ) + void OneDriveTest::getContentStreamTest( ) + { + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + + static const string documentId( "aFileId" ); + string url = BASE_URL + "/" + documentId; +@@ -636,7 +638,7 @@ void OneDriveTest::getContentStreamTest( ) + string downloadUrl = "sourceUrl"; + curl_mockup_addResponse( downloadUrl.c_str( ), "", "GET", expectedContent.c_str( ), 0, false ); + +- libcmis::ObjectPtr object = session.getObject( documentId ); ++ libcmis::ObjectPtr object = session->getObject( documentId ); + libcmis::DocumentPtr document = boost::dynamic_pointer_cast< libcmis::Document >( object ); + + try +@@ -658,7 +660,7 @@ void OneDriveTest::getContentStreamTest( ) + void OneDriveTest::setContentStreamTest( ) + { + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + + const string documentId( "aFileId" ); + +@@ -667,7 +669,7 @@ void OneDriveTest::setContentStreamTest( ) + curl_mockup_addResponse( url.c_str( ), "", + "GET", DATA_DIR "/onedrive/file.json", 200, true); + +- libcmis::ObjectPtr object = session.getObject( documentId ); ++ libcmis::ObjectPtr object = session->getObject( documentId ); + libcmis::DocumentPtr document = boost::dynamic_pointer_cast< libcmis::Document >( object ); + + curl_mockup_addResponse( url.c_str( ), "", +@@ -701,7 +703,7 @@ void OneDriveTest::setContentStreamTest( ) + void OneDriveTest::createDocumentTest( ) + { + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + const string documentId( "aFileId" ); + const string folderId( "aParentId" ); + const string filename( "aFileName" ); +@@ -719,7 +721,7 @@ void OneDriveTest::createDocumentTest( ) + curl_mockup_addResponse( documentUrl.c_str( ), "", + "GET", DATA_DIR "/onedrive/file.json", 200, true ); + +- libcmis::FolderPtr parent = session.getFolder( folderId ); ++ libcmis::FolderPtr parent = session->getFolder( folderId ); + try + { + string expectedContent( "Test set content stream" ); +@@ -744,7 +746,7 @@ void OneDriveTest::createDocumentTest( ) + void OneDriveTest::getObjectByPathTest( ) + { + curl_mockup_reset( ); +- OneDriveSession session = getTestSession( USERNAME, PASSWORD ); ++ OneDriveSessionPtr session = getTestSession( USERNAME, PASSWORD ); + const string documentId( "rightFile" ); + const string wrongDocumentId( "wrongFile" ); + const string folderAId( "folderA" ); // root +@@ -772,7 +774,7 @@ void OneDriveTest::getObjectByPathTest( ) + curl_mockup_addResponse( folderCUrl.c_str( ), "", + "GET", DATA_DIR "/onedrive/folderC.json", 200, true ); + +- libcmis::ObjectPtr object = session.getObjectByPath( path ); ++ libcmis::ObjectPtr object = session->getObjectByPath( path ); + CPPUNIT_ASSERT_EQUAL_MESSAGE( "Wrong objectFetched", documentId, object->getId( ) ); + } + +diff --git a/src/libcmis/onedrive-session.cxx b/src/libcmis/onedrive-session.cxx +index c6f4270..a6652b4 100644 +--- a/src/libcmis/onedrive-session.cxx ++++ b/src/libcmis/onedrive-session.cxx +@@ -54,11 +54,6 @@ OneDriveSession::OneDriveSession ( string baseUrl, + } + } + +-OneDriveSession::OneDriveSession( const OneDriveSession& copy ) : +- BaseSession( copy ) +-{ +-} +- + OneDriveSession::OneDriveSession() : + BaseSession() + { +diff --git a/src/libcmis/onedrive-session.hxx b/src/libcmis/onedrive-session.hxx +index 441e110..f11fbaf 100644 +--- a/src/libcmis/onedrive-session.hxx ++++ b/src/libcmis/onedrive-session.hxx +@@ -42,8 +42,6 @@ class OneDriveSession : public BaseSession + libcmis::OAuth2DataPtr oauth2, + bool verbose = false ); + +- OneDriveSession( const OneDriveSession& copy ); +- + ~OneDriveSession ( ); + + virtual libcmis::RepositoryPtr getRepository( ); +@@ -64,6 +62,8 @@ class OneDriveSession : public BaseSession + + private: + OneDriveSession( ); ++ OneDriveSession( const OneDriveSession& copy ) = delete; ++ OneDriveSession& operator=( const OneDriveSession& copy ) = delete; + }; + + #endif /* _ONEDRIVE_SESSION_HXX_ */ |
