diff options
author | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2013-08-07 15:23:14 +0200 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2013-09-02 13:51:55 +0200 |
commit | 19b76cc20cec1802c32248b3a2a4fcfcea1b58b6 (patch) | |
tree | aca443a52ed659212679ef9b3ba6e942596063b0 /libcmis | |
parent | 0e241ca0a8dd14bcc895b25dd5480b5ae90915a6 (diff) |
Updated internal libcmis to 0.4.0
Change-Id: I9ea14c00016e0390a90cae4c15abb34b879b31a7
Diffstat (limited to 'libcmis')
-rw-r--r-- | libcmis/StaticLibrary_cmis.mk | 13 | ||||
-rw-r--r-- | libcmis/UnpackedTarball_cmis.mk | 8 | ||||
-rw-r--r-- | libcmis/libcmis-0.3.0-lotus-live-fix.patch | 122 | ||||
-rw-r--r-- | libcmis/libcmis-0.3.0-proxy.patch | 1088 | ||||
-rw-r--r-- | libcmis/libcmis-0.3.0-warnings.patch | 238 | ||||
-rw-r--r-- | libcmis/libcmis-0.3.0-win.patch | 25 | ||||
-rw-r--r-- | libcmis/libcmis-0.3.0.patch | 49 |
7 files changed, 13 insertions, 1530 deletions
diff --git a/libcmis/StaticLibrary_cmis.mk b/libcmis/StaticLibrary_cmis.mk index ace0326496eb..f87df26dea9f 100644 --- a/libcmis/StaticLibrary_cmis.mk +++ b/libcmis/StaticLibrary_cmis.mk @@ -38,10 +38,23 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,cmislib,\ UnpackedTarball/cmis/src/libcmis/base-session \ UnpackedTarball/cmis/src/libcmis/document \ UnpackedTarball/cmis/src/libcmis/folder \ + UnpackedTarball/cmis/src/libcmis/gdrive-document \ + UnpackedTarball/cmis/src/libcmis/gdrive-folder \ + UnpackedTarball/cmis/src/libcmis/gdrive-object \ + UnpackedTarball/cmis/src/libcmis/gdrive-object-type \ + UnpackedTarball/cmis/src/libcmis/gdrive-property \ + UnpackedTarball/cmis/src/libcmis/gdrive-repository \ + UnpackedTarball/cmis/src/libcmis/gdrive-session \ + UnpackedTarball/cmis/src/libcmis/gdrive-utils \ + UnpackedTarball/cmis/src/libcmis/json-utils \ + UnpackedTarball/cmis/src/libcmis/oauth2-data \ + UnpackedTarball/cmis/src/libcmis/oauth2-handler \ + UnpackedTarball/cmis/src/libcmis/oauth2-providers \ UnpackedTarball/cmis/src/libcmis/object \ UnpackedTarball/cmis/src/libcmis/object-type \ UnpackedTarball/cmis/src/libcmis/property-type \ UnpackedTarball/cmis/src/libcmis/property \ + UnpackedTarball/cmis/src/libcmis/rendition \ UnpackedTarball/cmis/src/libcmis/repository \ UnpackedTarball/cmis/src/libcmis/session-factory \ UnpackedTarball/cmis/src/libcmis/ws-document \ diff --git a/libcmis/UnpackedTarball_cmis.mk b/libcmis/UnpackedTarball_cmis.mk index 0a9f9f8ad2f2..57864742c62d 100644 --- a/libcmis/UnpackedTarball_cmis.mk +++ b/libcmis/UnpackedTarball_cmis.mk @@ -13,14 +13,6 @@ $(eval $(call gb_UnpackedTarball_set_tarball,cmis,$(CMIS_TARBALL))) $(eval $(call gb_UnpackedTarball_set_patchlevel,cmis,0)) -$(eval $(call gb_UnpackedTarball_add_patches,cmis, \ - libcmis/libcmis-0.3.0-warnings.patch \ - libcmis/libcmis-0.3.0-win.patch \ - libcmis/libcmis-0.3.0.patch \ - libcmis/libcmis-0.3.0-proxy.patch \ - libcmis/libcmis-0.3.0-lotus-live-fix.patch \ -)) - ifeq ($(OS)$(COM),WNTMSC) $(eval $(call gb_UnpackedTarball_add_patches,cmis,libcmis/boost-win.patch)) endif diff --git a/libcmis/libcmis-0.3.0-lotus-live-fix.patch b/libcmis/libcmis-0.3.0-lotus-live-fix.patch deleted file mode 100644 index 2aca934df806..000000000000 --- a/libcmis/libcmis-0.3.0-lotus-live-fix.patch +++ /dev/null @@ -1,122 +0,0 @@ -diff --git src/libcmis/atom-folder.cxx src/libcmis/atom-folder.cxx -index 68fb124..2756a5d 100644 ---- src/libcmis/atom-folder.cxx -+++ src/libcmis/atom-folder.cxx -@@ -57,8 +57,11 @@ vector< libcmis::ObjectPtr > AtomFolder::getChildren( ) throw ( libcmis::Excepti - { - AtomLink* childrenLink = getLink( "down", "application/atom+xml;type=feed" ); - -+ // Some servers aren't giving the GetChildren properly... if not defined, we need to try -+ // as we may have the right to proceed. - if ( ( NULL == childrenLink ) || ( getAllowableActions( ).get() && -- !getAllowableActions()->isAllowed( libcmis::ObjectAction::GetChildren ) ) ) -+ ( !getAllowableActions()->isAllowed( libcmis::ObjectAction::GetChildren ) && -+ getAllowableActions()->isDefined( libcmis::ObjectAction::GetChildren ) ) ) ) - throw libcmis::Exception( string( "GetChildren not allowed on node " ) + getId() ); - - vector< libcmis::ObjectPtr > children; -@@ -182,7 +185,8 @@ libcmis::DocumentPtr AtomFolder::createDocument( const map< string, libcmis::Pro - AtomLink* childrenLink = getLink( "down", "application/atom+xml;type=feed" ); - - if ( ( NULL == childrenLink ) || ( getAllowableActions( ).get() && -- !getAllowableActions()->isAllowed( libcmis::ObjectAction::CreateDocument ) ) ) -+ !getAllowableActions()->isAllowed( libcmis::ObjectAction::CreateDocument ) && -+ getAllowableActions()->isDefined( libcmis::ObjectAction::CreateDocument ) ) ) - throw libcmis::Exception( string( "CreateDocument not allowed on folder " ) + getId() ); - - xmlBufferPtr buf = xmlBufferCreate( ); -@@ -210,9 +214,37 @@ libcmis::DocumentPtr AtomFolder::createDocument( const map< string, libcmis::Pro - } - - string respBuf = response->getStream( )->str( ); -- xmlDocPtr doc = xmlReadMemory( respBuf.c_str(), respBuf.size(), getInfosUrl().c_str(), NULL, 0 ); -+ xmlDocPtr doc = xmlReadMemory( respBuf.c_str(), respBuf.size(), getInfosUrl().c_str(), NULL, XML_PARSE_NOERROR ); - if ( NULL == doc ) -- throw libcmis::Exception( "Failed to parse object infos" ); -+ { -+ // We may not have the created document entry in the response body: this is -+ // the behaviour of some servers, but the standard says we need to look for -+ // the Location header. -+ map< string, string >& headers = response->getHeaders( ); -+ map< string, string >::iterator it = headers.find( "Location" ); -+ -+ // Some servers like Lotus Live aren't sending Location header, but Content-Location -+ if ( it == headers.end( ) ) -+ it = headers.find( "Content-Location" ); -+ -+ if ( it != headers.end() ) -+ { -+ try -+ { -+ response = getSession( )->httpGetRequest( it->second ); -+ respBuf = response->getStream( )->str( ); -+ doc = xmlReadMemory( respBuf.c_str(), respBuf.size(), getInfosUrl().c_str(), NULL, XML_PARSE_NOERROR ); -+ } -+ catch ( const CurlException& e ) -+ { -+ throw e.getCmisException( ); -+ } -+ } -+ -+ // if doc is still NULL after that, then throw an exception -+ if ( NULL == doc ) -+ throw libcmis::Exception( "Missing expected response from server" ); -+ } - - libcmis::ObjectPtr created = getSession( )->createObjectFromEntryDoc( doc ); - xmlFreeDoc( doc ); -diff --git src/libcmis/atom-object.cxx src/libcmis/atom-object.cxx -index b7b3b4a..812951d 100644 ---- src/libcmis/atom-object.cxx -+++ src/libcmis/atom-object.cxx -@@ -140,6 +140,34 @@ libcmis::ObjectPtr AtomObject::updateProperties( const map< string, libcmis::Pro - return updated; - } - -+libcmis::AllowableActionsPtr AtomObject::getAllowableActions( ) -+{ -+ if ( !m_allowableActions ) -+ { -+ // For some reason we had no allowable actions before, get them now. -+ AtomLink* link = getLink( "http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions", "application/cmisallowableactions+xml" ); -+ if ( link ) -+ { -+ try -+ { -+ libcmis::HttpResponsePtr response = getSession()->httpGetRequest( link->getHref() ); -+ string buf = response->getStream()->str(); -+ xmlDocPtr doc = xmlReadMemory( buf.c_str(), buf.size(), link->getHref().c_str(), NULL, 0 ); -+ xmlNodePtr actionsNode = xmlDocGetRootElement( doc ); -+ if ( actionsNode ) -+ m_allowableActions.reset( new libcmis::AllowableActions( actionsNode ) ); -+ -+ xmlFreeDoc( doc ); -+ } -+ catch ( libcmis::Exception& ) -+ { -+ } -+ } -+ } -+ -+ return libcmis::Object::getAllowableActions(); -+} -+ - void AtomObject::refreshImpl( xmlDocPtr doc ) throw ( libcmis::Exception ) - { - bool createdDoc = ( NULL == doc ); -diff --git src/libcmis/atom-object.hxx src/libcmis/atom-object.hxx -index 2d1761d..452b4f5 100644 ---- src/libcmis/atom-object.hxx -+++ src/libcmis/atom-object.hxx -@@ -69,6 +69,8 @@ class AtomObject : public virtual libcmis::Object - virtual libcmis::ObjectPtr updateProperties( - const std::map< std::string, libcmis::PropertyPtr >& properties ) throw ( libcmis::Exception ); - -+ virtual libcmis::AllowableActionsPtr getAllowableActions( ); -+ - /** Reload the data from the server. - */ - virtual void refresh( ) throw ( libcmis::Exception ) { refreshImpl( NULL ); } --- -1.7.10.4 - diff --git a/libcmis/libcmis-0.3.0-proxy.patch b/libcmis/libcmis-0.3.0-proxy.patch deleted file mode 100644 index a7e85da1a135..000000000000 --- a/libcmis/libcmis-0.3.0-proxy.patch +++ /dev/null @@ -1,1088 +0,0 @@ -diff --git NEWS NEWS -index 6e9c10d..0047613 100644 ---- NEWS -+++ NEWS -@@ -50,3 +50,6 @@ - * Session factory automatically detects which binding to use - * C wrapper API - * Unit tests are now split between quick ones and the ones needing a CMIS server -+ -+0.3.1 -+ * Added support for proxy configuration -diff --git doc/cmis-client.xml doc/cmis-client.xml -index b7dce51..2d6cdea 100644 ---- doc/cmis-client.xml -+++ doc/cmis-client.xml -@@ -213,6 +213,41 @@ - </para> - </listitem> - </varlistentry> -+ <varlistentry> -+ <term>--proxy <replaceable class="parameter">url</replaceable></term> -+ <listitem> -+ <para> -+ Use <replaceable class="parameter">url</replaceable> as the HTTP proxy. -+ Setting this value will override the system proxy settings. -+ </para> -+ </listitem> -+ </varlistentry> -+ <varlistentry> -+ <term>--proxy-username <replaceable class="parameter">login</replaceable></term> -+ <listitem> -+ <para> -+ Use <replaceable class="parameter">login</replaceable> to authenticate on the HTTP proxy. -+ </para> -+ </listitem> -+ </varlistentry> -+ <varlistentry> -+ <term>--proxy-password <replaceable class="parameter">secret</replaceable></term> -+ <listitem> -+ <para> -+ Use <replaceable class="parameter">secret</replaceable> to authenticate on the HTTP proxy. -+ </para> -+ </listitem> -+ </varlistentry> -+ <varlistentry> -+ <term>--noproxy <replaceable class="parameter">list</replaceable></term> -+ <listitem> -+ <para> -+ Proxy settings won't apply to hostnames and domain names listed -+ in <replaceable class="parameter">list</replaceable>. -+ This value is a coma separated list. -+ </para> -+ </listitem> -+ </varlistentry> - </variablelist> - </refsect2> - <refsect2> -diff --git src/cmis-client.cxx src/cmis-client.cxx -index 587a05b..432e140 100644 ---- src/cmis-client.cxx -+++ src/cmis-client.cxx -@@ -121,11 +121,32 @@ libcmis::Session* CmisClient::getSession( ) throw ( CommandException, libcmis::E - password = m_vm["password"].as< string >(); - } - -+ // Look for proxy settings -+ string proxyUrl; -+ string proxyUser; -+ string proxyPass; -+ string noproxy; -+ if ( m_vm.count( "proxy" ) > 0 ) -+ { -+ proxyUrl = m_vm["proxy"].as< string >(); -+ -+ if ( m_vm.count( "proxy-user" ) > 0 ) -+ proxyUser = m_vm["proxy-user"].as< string >(); -+ -+ if ( m_vm.count( "proxy-password" ) > 0 ) -+ proxyPass = m_vm["proxy-password"].as< string >(); -+ -+ if ( m_vm.count( "noproxy" ) > 0 ) -+ noproxy = m_vm["noproxy"].as< string >(); -+ -+ libcmis::SessionFactory::setProxySettings( proxyUrl, noproxy, proxyUser, proxyPass ); -+ } - - bool verbose = m_vm.count( "verbose" ) > 0; - - string repoId; -- list< libcmis::RepositoryPtr > repositories = libcmis::SessionFactory:: getRepositories( url, username, password, verbose ); -+ list< libcmis::RepositoryPtr > repositories = libcmis::SessionFactory::getRepositories( -+ url, username, password, verbose ); - if ( repositories.size( ) == 1 ) - repoId = repositories.front( )->getId( ); - else -@@ -169,10 +190,31 @@ void CmisClient::execute( ) throw ( exception ) - password = m_vm["password"].as< string >(); - } - -+ // Look for proxy settings -+ string proxyUrl; -+ string proxyUser; -+ string proxyPass; -+ string noproxy; -+ if ( m_vm.count( "proxy" ) > 0 ) -+ { -+ proxyUrl = m_vm["proxy"].as< string >(); -+ -+ if ( m_vm.count( "proxy-user" ) > 0 ) -+ proxyUser = m_vm["proxy-user"].as< string >(); -+ -+ if ( m_vm.count( "proxy-password" ) > 0 ) -+ proxyPass = m_vm["proxy-password"].as< string >(); -+ -+ if ( m_vm.count( "noproxy" ) > 0 ) -+ noproxy = m_vm["noproxy"].as< string >(); -+ -+ libcmis::SessionFactory::setProxySettings( proxyUrl, noproxy, proxyUser, proxyPass ); -+ } - - bool verbose = m_vm.count( "verbose" ) > 0; - -- list< libcmis::RepositoryPtr > repos = libcmis::SessionFactory::getRepositories( url, username, password, verbose ); -+ list< libcmis::RepositoryPtr > repos = libcmis::SessionFactory::getRepositories( -+ url, username, password, verbose ); - - cout << "Repositories: name (id)" << endl; - for ( list< libcmis::RepositoryPtr >::iterator it = repos.begin(); it != repos.end(); it++ ) -@@ -828,6 +870,11 @@ options_description CmisClient::getOptionsDescription( ) - ( "repository,r", value< string >(), "Name of the repository to use" ) - ( "username,u", value< string >(), "Username used to authenticate to the repository" ) - ( "password,p", value< string >(), "Password used to authenticate to the repository" ) -+ ( "proxy", value< string >(), "HTTP proxy url to override the system settings" ) -+ ( "noproxy", value< string >(), "Coma separated list if host and domain names not going" -+ "through the proxy" ) -+ ( "proxy-username", value< string >(), "Username to authenticate on the proxy" ) -+ ( "proxy-password", value< string >(), "Password to authenticate on the proxy" ) - ; - - options_description setcontentOpts( "modification operations options" ); -diff --git src/libcmis-c/session-factory.cxx src/libcmis-c/session-factory.cxx -index a171c82..7ebb278 100644 ---- src/libcmis-c/session-factory.cxx -+++ src/libcmis-c/session-factory.cxx -@@ -37,6 +37,33 @@ - - using namespace std; - -+void libcmis_setProxySettings( char* proxy, char* noProxy, -+ char* proxyUser, char* proxyPass ) -+{ -+ libcmis::SessionFactory::setProxySettings( string( proxy ), string( noProxy ), -+ string( proxyUser ), string( proxyPass ) ); -+} -+ -+const char* libcmis_getProxy( ) -+{ -+ return libcmis::SessionFactory::getProxy( ).c_str(); -+} -+ -+const char* libcmis_getNoProxy( ) -+{ -+ return libcmis::SessionFactory::getNoProxy( ).c_str(); -+} -+ -+const char* libcmis_getProxyUser( ) -+{ -+ return libcmis::SessionFactory::getProxyUser( ).c_str(); -+} -+ -+const char* libcmis_getProxyPass( ) -+{ -+ return libcmis::SessionFactory::getProxyPass( ).c_str(); -+} -+ - libcmis_SessionPtr libcmis_createSession( - char* bindingUrl, - char* repositoryId, -@@ -49,7 +76,8 @@ libcmis_SessionPtr libcmis_createSession( - - try - { -- libcmis::Session* handle = libcmis::SessionFactory::createSession( bindingUrl, username, password, repositoryId, verbose ); -+ libcmis::Session* handle = libcmis::SessionFactory::createSession( bindingUrl, username, -+ password, repositoryId, verbose ); - session = new libcmis_session( ); - session->handle = handle; - } -diff --git src/libcmis-c/session-factory.h src/libcmis-c/session-factory.h -index ad95acc..d28059e 100644 ---- src/libcmis-c/session-factory.h -+++ src/libcmis-c/session-factory.h -@@ -34,6 +34,17 @@ extern "C" { - - #include "types.h" - -+void libcmis_setProxySettings( -+ char* proxy, -+ char* noProxy, -+ char* proxyUser, -+ char* proxyPass ); -+ -+const char* libcmis_getProxy( ); -+const char* libcmis_getNoProxy( ); -+const char* libcmis_getProxyUser( ); -+const char* libcmis_getProxyPass( ); -+ - libcmis_SessionPtr libcmis_createSession( - char* bindingUrl, - char* repositoryId, -diff --git src/libcmis/atom-session.cxx src/libcmis/atom-session.cxx -index 1716755..1f8ac2d 100644 ---- src/libcmis/atom-session.cxx -+++ src/libcmis/atom-session.cxx -@@ -39,7 +39,7 @@ - - using namespace std; - --AtomPubSession::AtomPubSession( string atomPubUrl, string repositoryId, -+AtomPubSession::AtomPubSession( string atomPubUrl, string repositoryId, - string username, string password, bool verbose ) throw ( libcmis::Exception ) : - BaseSession( atomPubUrl, repositoryId, username, password, verbose ), - m_repository( ) -@@ -139,7 +139,8 @@ void AtomPubSession::initialize( ) throw ( libcmis::Exception ) - - } - --list< libcmis::RepositoryPtr > AtomPubSession::getRepositories( string url, string username, string password, bool verbose ) throw ( libcmis::Exception ) -+list< libcmis::RepositoryPtr > AtomPubSession::getRepositories( string url, string username, -+ string password, bool verbose ) throw ( libcmis::Exception ) - { - AtomPubSession session( url, string(), username, password, verbose ); - return session.m_repositories; -diff --git src/libcmis/atom-session.hxx src/libcmis/atom-session.hxx -index 568b9b0..29eb359 100644 ---- src/libcmis/atom-session.hxx -+++ src/libcmis/atom-session.hxx -@@ -39,7 +39,7 @@ class AtomPubSession : public BaseSession - public: - AtomPubSession( std::string sAtomPubUrl, std::string repositoryId, - std::string username, std::string password, -- bool verbose ) throw ( libcmis::Exception ); -+ bool verbose =false ) throw ( libcmis::Exception ); - AtomPubSession( const AtomPubSession& copy ); - ~AtomPubSession( ); - -diff --git src/libcmis/base-session.cxx src/libcmis/base-session.cxx -index adc030e..b007a9d 100644 ---- src/libcmis/base-session.cxx -+++ src/libcmis/base-session.cxx -@@ -33,6 +33,7 @@ - #include <libxml/xpath.h> - - #include "base-session.hxx" -+#include "session-factory.hxx" - #include "xml-utils.hxx" - - using namespace std; -@@ -105,11 +106,12 @@ namespace - } - } - --BaseSession::BaseSession( string atomPubUrl, string repositoryId, -- string username, string password, bool verbose ) throw ( libcmis::Exception ) : -+BaseSession::BaseSession( string atomPubUrl, string repositoryId, string username, -+ string password, bool verbose ) throw ( libcmis::Exception ) : - Session( ), - m_authProvider( ), - m_curlHandle( NULL ), -+ m_no100Continue( false ), - m_bindingUrl( atomPubUrl ), - m_repositoryId( repositoryId ), - m_username( username ), -@@ -127,6 +129,7 @@ BaseSession::BaseSession( const BaseSession& copy ) : - Session( ), - m_authProvider( copy.m_authProvider ), - m_curlHandle( NULL ), -+ m_no100Continue( copy.m_no100Continue ), - m_bindingUrl( copy.m_bindingUrl ), - m_repositoryId( copy.m_repositoryId ), - m_username( copy.m_username ), -@@ -141,11 +144,11 @@ BaseSession::BaseSession( const BaseSession& copy ) : - m_curlHandle = curl_easy_init( ); - } - -- - BaseSession& BaseSession::operator=( const BaseSession& copy ) - { - m_authProvider = copy.m_authProvider; - m_curlHandle = NULL; -+ m_no100Continue = copy.m_no100Continue; - m_bindingUrl = copy.m_bindingUrl; - m_repositoryId = copy.m_repositoryId; - m_username = copy.m_username; -@@ -186,7 +189,7 @@ string BaseSession::createUrl( const string& pattern, map< string, string > vari - if ( pos != string::npos ) - { - // Escape the URL by chunks --#if LIBCURL_VERSION_VALUE >= 0x071504 -+#if LIBCURL_VERSION_VALUE >= 0x070F04 - char* escaped = curl_easy_escape( m_curlHandle, value.c_str(), value.length() ); - #else - char* escaped = curl_escape( value.c_str(), value.length() ); -@@ -215,6 +218,9 @@ string BaseSession::createUrl( const string& pattern, map< string, string > vari - - libcmis::HttpResponsePtr BaseSession::httpGetRequest( string url ) throw ( CurlException ) - { -+ // Reset the handle for the request -+ curl_easy_reset( m_curlHandle ); -+ - libcmis::HttpResponsePtr response( new libcmis::HttpResponse( ) ); - - curl_easy_setopt( m_curlHandle, CURLOPT_WRITEFUNCTION, lcl_bufferData ); -@@ -244,6 +250,9 @@ libcmis::HttpResponsePtr BaseSession::httpGetRequest( string url ) throw ( CurlE - - libcmis::HttpResponsePtr BaseSession::httpPutRequest( string url, istream& is, vector< string > headers ) throw ( CurlException ) - { -+ // Reset the handle for the request -+ curl_easy_reset( m_curlHandle ); -+ - libcmis::HttpResponsePtr response( new libcmis::HttpResponse( ) ); - - curl_easy_setopt( m_curlHandle, CURLOPT_WRITEFUNCTION, lcl_bufferData ); -@@ -266,12 +275,32 @@ libcmis::HttpResponsePtr BaseSession::httpPutRequest( string url, istream& is, v - struct curl_slist *headers_slist = NULL; - for ( vector< string >::iterator it = headers.begin( ); it != headers.end( ); ++it ) - headers_slist = curl_slist_append( headers_slist, it->c_str( ) ); -+ -+ // If we know for sure that 100-Continue won't be accepted, -+ // don't even try with it to save one HTTP request. -+ if ( m_no100Continue ) -+ headers_slist = curl_slist_append( headers_slist, "Expect:" ); - curl_easy_setopt( m_curlHandle, CURLOPT_HTTPHEADER, headers_slist ); - - try - { - httpRunRequest( url ); - response->getData( )->finish(); -+ -+ /** If we had a HTTP 417 response, this is likely to be due to some -+ HTTP 1.0 proxy / server not accepting the "Expect: 100-continue" -+ header. Try to disable this header and try again. -+ */ -+ if ( getHttpStatus() == 417 ) -+ { -+ headers_slist = curl_slist_append( headers_slist, "Expect:" ); -+ curl_easy_setopt( m_curlHandle, CURLOPT_HTTPHEADER, headers_slist ); -+ httpRunRequest( url ); -+ response->getData( )->finish(); -+ -+ // Remember that we don't want 100-Continue for the future requests -+ m_no100Continue = true; -+ } - } - catch ( CurlException& e ) - { -@@ -286,6 +315,9 @@ libcmis::HttpResponsePtr BaseSession::httpPutRequest( string url, istream& is, v - - libcmis::HttpResponsePtr BaseSession::httpPostRequest( string url, istringstream& is, string contentType ) throw ( CurlException ) - { -+ // Reset the handle for the request -+ curl_easy_reset( m_curlHandle ); -+ - libcmis::HttpResponsePtr response( new libcmis::HttpResponse( ) ); - - curl_easy_setopt( m_curlHandle, CURLOPT_WRITEFUNCTION, lcl_bufferData ); -@@ -308,12 +340,32 @@ libcmis::HttpResponsePtr BaseSession::httpPostRequest( string url, istringstream - struct curl_slist *headers_slist = NULL; - string contentTypeHeader = string( "Content-Type:" ) + contentType; - headers_slist = curl_slist_append( headers_slist, contentTypeHeader.c_str( ) ); -+ -+ // If we know for sure that 100-Continue won't be accepted, -+ // don't even try with it to save one HTTP request. -+ if ( m_no100Continue ) -+ headers_slist = curl_slist_append( headers_slist, "Expect:" ); - curl_easy_setopt( m_curlHandle, CURLOPT_HTTPHEADER, headers_slist ); - - try - { - httpRunRequest( url ); - response->getData( )->finish(); -+ -+ /** If we had a HTTP 417 response, this is likely to be due to some -+ HTTP 1.0 proxy / server not accepting the "Expect: 100-continue" -+ header. Try to disable this header and try again. -+ */ -+ if ( getHttpStatus() == 417 ) -+ { -+ headers_slist = curl_slist_append( headers_slist, "Expect:" ); -+ curl_easy_setopt( m_curlHandle, CURLOPT_HTTPHEADER, headers_slist ); -+ httpRunRequest( url ); -+ response->getData( )->finish(); -+ -+ // Remember that we don't want 100-Continue for the future requests -+ m_no100Continue = true; -+ } - } - catch ( const CurlException& e ) - { -@@ -328,6 +380,9 @@ libcmis::HttpResponsePtr BaseSession::httpPostRequest( string url, istringstream - - void BaseSession::httpDeleteRequest( string url ) throw ( CurlException ) - { -+ // Reset the handle for the request -+ curl_easy_reset( m_curlHandle ); -+ - curl_easy_setopt( m_curlHandle, CURLOPT_CUSTOMREQUEST, "DELETE" ); - httpRunRequest( url ); - } -@@ -351,7 +406,7 @@ void BaseSession::httpRunRequest( string url ) throw ( CurlException ) - { - curl_easy_setopt( m_curlHandle, CURLOPT_HTTPAUTH, CURLAUTH_ANY ); - --#if LIBCURL_VERSION_VALUE >= 0x071901 -+#if LIBCURL_VERSION_VALUE >= 0x071301 - curl_easy_setopt( m_curlHandle, CURLOPT_USERNAME, m_username.c_str() ); - curl_easy_setopt( m_curlHandle, CURLOPT_PASSWORD, m_password.c_str() ); - #else -@@ -360,6 +415,28 @@ void BaseSession::httpRunRequest( string url ) throw ( CurlException ) - #endif - } - -+ // Set the proxy configuration if any -+ if ( !libcmis::SessionFactory::getProxy( ).empty() ) -+ { -+ curl_easy_setopt( m_curlHandle, CURLOPT_PROXY, libcmis::SessionFactory::getProxy( ).c_str() ); -+#if LIBCURL_VERSION_VALUE >= 0x071304 -+ curl_easy_setopt( m_curlHandle, CURLOPT_NOPROXY, libcmis::SessionFactory::getNoProxy( ).c_str() ); -+#endif -+ const string& proxyUser = libcmis::SessionFactory::getProxyUser( ); -+ const string& proxyPass = libcmis::SessionFactory::getProxyPass( ); -+ if ( !proxyUser.empty( ) && !proxyPass.empty( ) ) -+ { -+ curl_easy_setopt( m_curlHandle, CURLOPT_PROXYAUTH, CURLAUTH_ANY ); -+#if LIBCURL_VERSION_VALUE >= 0X071301 -+ curl_easy_setopt( m_curlHandle, CURLOPT_PROXYUSERNAME, proxyUser.c_str( ) ); -+ curl_easy_setopt( m_curlHandle, CURLOPT_PROXYPASSWORD, proxyPass.c_str( ) ); -+#else -+ string userpwd = proxyUser + ":" + proxyPass; -+ curl_easy_setopt( m_curlHandle, CURLOPT_PROXYUSERPWD, userpwd.c_str( ) ); -+#endif -+ } -+ } -+ - // Get some feedback when something wrong happens - char errBuff[CURL_ERROR_SIZE]; - curl_easy_setopt( m_curlHandle, CURLOPT_ERRORBUFFER, errBuff ); -@@ -373,9 +450,6 @@ void BaseSession::httpRunRequest( string url ) throw ( CurlException ) - - // Perform the query - CURLcode errCode = curl_easy_perform( m_curlHandle ); -- -- // Reset the handle for the next request -- curl_easy_reset( m_curlHandle ); - - bool isHttpError = errCode == CURLE_HTTP_RETURNED_ERROR; - if ( CURLE_OK != errCode && !( m_noHttpErrors && isHttpError ) ) -diff --git src/libcmis/base-session.hxx src/libcmis/base-session.hxx -index fb95ba7..0b90c1f 100644 ---- src/libcmis/base-session.hxx -+++ src/libcmis/base-session.hxx -@@ -94,6 +94,7 @@ class BaseSession : public libcmis::Session - libcmis::AuthProviderPtr m_authProvider; - - CURL* m_curlHandle; -+ bool m_no100Continue; - - protected: - std::string m_bindingUrl; -@@ -110,7 +111,7 @@ class BaseSession : public libcmis::Session - public: - BaseSession( std::string sBindingUrl, std::string repository, - std::string username, std::string password, -- bool verbose ) throw ( libcmis::Exception ); -+ bool verbose = false ) throw ( libcmis::Exception ); - BaseSession( const BaseSession& copy ); - ~BaseSession( ); - -@@ -137,8 +138,6 @@ class BaseSession : public libcmis::Session - libcmis::HttpResponsePtr httpPostRequest( std::string url, std::istringstream& is, std::string contentType ) throw ( CurlException ); - void httpDeleteRequest( std::string url ) throw ( CurlException ); - -- void httpRunRequest( std::string url ) throw ( CurlException ); -- - long getHttpStatus( ); - - // Session methods -@@ -148,6 +147,8 @@ class BaseSession : public libcmis::Session - virtual libcmis::FolderPtr getFolder( std::string id ) throw ( libcmis::Exception ); - - virtual void setAuthenticationProvider( libcmis::AuthProviderPtr provider ) { m_authProvider = provider; } -+ private: -+ void httpRunRequest( std::string url ) throw ( CurlException ); - }; - - #endif -diff --git src/libcmis/session-factory.cxx src/libcmis/session-factory.cxx -index d7d886b..afe6943 100644 ---- src/libcmis/session-factory.cxx -+++ src/libcmis/session-factory.cxx -@@ -33,8 +33,23 @@ using namespace std; - - namespace libcmis - { -+ string SessionFactory::s_proxy; -+ string SessionFactory::s_noProxy; -+ string SessionFactory::s_proxyUser; -+ string SessionFactory::s_proxyPass; -+ -+ void SessionFactory::setProxySettings( string proxy, string noProxy, -+ string proxyUser, string proxyPass ) -+ { -+ SessionFactory::s_proxy = proxy; -+ SessionFactory::s_noProxy = noProxy; -+ SessionFactory::s_proxyUser = proxyUser; -+ SessionFactory::s_proxyPass = proxyPass; -+ } -+ - Session* SessionFactory::createSession( string bindingUrl, string username, -- string password, string repository, bool verbose ) throw ( Exception ) -+ string password, string repository, -+ bool verbose ) throw ( Exception ) - { - Session* session = NULL; - -@@ -68,8 +83,8 @@ namespace libcmis - return session; - } - -- list< RepositoryPtr > SessionFactory::getRepositories( string bindingUrl, string username, -- string password, bool verbose ) throw ( Exception ) -+ list< RepositoryPtr > SessionFactory::getRepositories( string bindingUrl, -+ string username, string password, bool verbose ) throw ( Exception ) - { - list< RepositoryPtr > repos; - -diff --git src/libcmis/session-factory.hxx src/libcmis/session-factory.hxx -index 677c2ab..598497f 100644 ---- src/libcmis/session-factory.hxx -+++ src/libcmis/session-factory.hxx -@@ -40,8 +40,24 @@ namespace libcmis - { - class SessionFactory - { -+ private: -+ static std::string s_proxy; -+ static std::string s_noProxy; -+ static std::string s_proxyUser; -+ static std::string s_proxyPass; -+ - public: - -+ static void setProxySettings( std::string proxy, -+ std::string noProxy, -+ std::string proxyUser, -+ std::string proxyPass ); -+ -+ static const std::string& getProxy() { return s_proxy; } -+ static const std::string& getNoProxy() { return s_noProxy; } -+ static const std::string& getProxyUser() { return s_proxyUser; } -+ static const std::string& getProxyPass() { return s_proxyPass; } -+ - /** Create a session from the given parameters. The binding type is automatically - detected based on the provided URL. - -diff --git src/libcmis/test-atom.cxx src/libcmis/test-atom.cxx -index 4ee64ea..624078d 100644 ---- src/libcmis/test-atom.cxx -+++ src/libcmis/test-atom.cxx -@@ -211,7 +211,7 @@ class TestAuthProvider : public libcmis::AuthProvider - - void AtomTest::authCallbackTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, string( ), false); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, string( ) ); - - // Test cancelled authentication - { -@@ -239,7 +239,7 @@ void AtomTest::authCallbackTest( ) - - void AtomTest::getUnexistantTypeTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - try - { -@@ -254,7 +254,7 @@ void AtomTest::getUnexistantTypeTest( ) - - void AtomTest::getNormalTypeTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - libcmis::ObjectTypePtr type = session.getType( TEST_TYPE_ID ); - -@@ -265,7 +265,7 @@ void AtomTest::getNormalTypeTest( ) - - void AtomTest::getTypeChildrenTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - libcmis::ObjectTypePtr type = session.getType( CHILDREN_TEST_TYPE_ID ); - vector< libcmis::ObjectTypePtr > children = type->getChildren( ); -@@ -275,7 +275,7 @@ void AtomTest::getTypeChildrenTest( ) - - void AtomTest::getUnexistantFolderTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - try - { -@@ -290,7 +290,7 @@ void AtomTest::getUnexistantFolderTest( ) - - void AtomTest::getUnexistantObjectTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - try - { -@@ -305,7 +305,7 @@ void AtomTest::getUnexistantObjectTest( ) - - void AtomTest::getFolderFromOtherNodeTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr folder = session.getFolder( TEST_DOCUMENT_ID ); - - CPPUNIT_ASSERT_MESSAGE( "Nothing should be returned: not a folder", -@@ -314,7 +314,7 @@ void AtomTest::getFolderFromOtherNodeTest( ) - - void AtomTest::getFolderCreationFromUrlTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr folder = session.getFolder( TEST_FOLDER_ID ); - - AtomFolder* atomFolder = dynamic_cast< AtomFolder* >( folder.get( ) ); -@@ -336,7 +336,7 @@ void AtomTest::getFolderCreationFromUrlTest( ) - - void AtomTest::getDocumentCreationFromUrlTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::ObjectPtr object = session.getObject( TEST_DOCUMENT_ID ); - - AtomDocument* atomDocument = dynamic_cast< AtomDocument* >( object.get( ) ); -@@ -359,7 +359,7 @@ void AtomTest::getDocumentCreationFromUrlTest( ) - - void AtomTest::getByPathValidTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - try - { - libcmis::ObjectPtr object = session.getObjectByPath( TEST_PATH_VALID ); -@@ -376,7 +376,7 @@ void AtomTest::getByPathValidTest( ) - - void AtomTest::getByPathInvalidTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - try - { - libcmis::ObjectPtr object = session.getObjectByPath( TEST_PATH_INVALID ); -@@ -391,7 +391,7 @@ void AtomTest::getByPathInvalidTest( ) - - void AtomTest::getAllowableActionsTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr folder = session.getRootFolder( ); - - boost::shared_ptr< libcmis::AllowableActions > toCheck = folder->getAllowableActions( ); -@@ -405,7 +405,7 @@ void AtomTest::getAllowableActionsTest( ) - - void AtomTest::getChildrenTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr folder = session.getRootFolder( ); - - vector< libcmis::ObjectPtr > children = folder->getChildren( ); -@@ -429,7 +429,7 @@ void AtomTest::getChildrenTest( ) - - void AtomTest::getObjectParentsTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::ObjectPtr object = session.getObject( TEST_DOCUMENT_ID ); - libcmis::Document* document = dynamic_cast< libcmis::Document* >( object.get() ); - -@@ -445,7 +445,7 @@ void AtomTest::getObjectParentsTest( ) - - void AtomTest::getContentStreamTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::ObjectPtr object = session.getObject( TEST_DOCUMENT_ID ); - libcmis::Document* document = dynamic_cast< libcmis::Document* >( object.get() ); - -@@ -467,7 +467,7 @@ void AtomTest::getContentStreamTest( ) - - void AtomTest::setContentStreamTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::ObjectPtr object = session.getObject( TEST_DOCUMENT_ID ); - libcmis::Document* document = dynamic_cast< libcmis::Document* >( object.get() ); - -@@ -503,7 +503,7 @@ void AtomTest::setContentStreamTest( ) - - void AtomTest::updatePropertiesTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - // Values for the test - libcmis::ObjectPtr object = session.getObject( "114" ); -@@ -530,7 +530,7 @@ void AtomTest::updatePropertiesTest( ) - - void AtomTest::createFolderTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr parent = session.getFolder( session.getRootId( ) ); - - // Prepare the properties for the new object, object type is cmis:folder -@@ -564,7 +564,7 @@ void AtomTest::createFolderTest( ) - - void AtomTest::createFolderBadTypeTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr parent = session.getFolder( session.getRootId( ) ); - - // Prepare the properties for the new object, object type is cmis:document to trigger the exception -@@ -603,7 +603,7 @@ void AtomTest::createFolderBadTypeTest( ) - - void AtomTest::createDocumentTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr parent = session.getFolder( session.getRootId( ) ); - - // Prepare the properties for the new object, object type is cmis:folder -@@ -647,7 +647,7 @@ void AtomTest::createDocumentTest( ) - - void AtomTest::deleteDocumentTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - string id( "130" ); - libcmis::ObjectPtr object = session.getObject( id ); -@@ -669,7 +669,7 @@ void AtomTest::deleteDocumentTest( ) - - void AtomTest::deleteTreeTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - string id( "117" ); - libcmis::ObjectPtr object = session.getObject( id ); -@@ -691,7 +691,7 @@ void AtomTest::deleteTreeTest( ) - - void AtomTest::checkOutTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - // First create a document of type VersionableType - libcmis::DocumentPtr doc = test::createVersionableDocument( &session, "checkOutTest" ); -@@ -709,7 +709,7 @@ void AtomTest::checkOutTest( ) - - void AtomTest::cancelCheckOutTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - // First create a versionable document and check it out - libcmis::DocumentPtr doc = test::createVersionableDocument( &session, "cancelCheckOutTest" ); -@@ -734,7 +734,7 @@ void AtomTest::cancelCheckOutTest( ) - - void AtomTest::checkInTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - // First create a versionable document and check it out - libcmis::DocumentPtr doc = test::createVersionableDocument( &session, "checkInTest" ); -@@ -770,7 +770,7 @@ void AtomTest::checkInTest( ) - - void AtomTest::getAllVersionsTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - // First create a versionable document and check it out - libcmis::DocumentPtr doc = test::createVersionableDocument( &session, "getAllVersionsTest" ); -@@ -795,7 +795,7 @@ void AtomTest::getAllVersionsTest( ) - - void AtomTest::moveTest( ) - { -- AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD, false ); -+ AtomPubSession session( SERVER_ATOM_URL, SERVER_REPOSITORY, SERVER_USERNAME, SERVER_PASSWORD ); - - string id( "135" ); - libcmis::ObjectPtr object = session.getObject( id ); -diff --git src/libcmis/test-ws.cxx src/libcmis/test-ws.cxx -index 1b5dfee..ad564bc 100644 ---- src/libcmis/test-ws.cxx -+++ src/libcmis/test-ws.cxx -@@ -136,19 +136,19 @@ void WSTest::getRepositoriesTest() - - void WSTest::sessionCreationTest( ) - { -- WSSession session( SERVER_WSDL_URL, "", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "", SERVER_USERNAME, SERVER_PASSWORD ); - CPPUNIT_ASSERT_MESSAGE( "No RepositoryService URL", !session.getServiceUrl( "RepositoryService" ).empty( ) ); - } - - void WSTest::getRepositoryTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - CPPUNIT_ASSERT_EQUAL_MESSAGE( "Repository info badly retrieved", string( "100" ), session.getRepository()->getRootId( ) ); - } - - void WSTest::getRepositoryBadTest( ) - { -- WSSession session( SERVER_WSDL_URL, "", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "", SERVER_USERNAME, SERVER_PASSWORD ); - try - { - session.getRepositoryService( ).getRepositoryInfo( "bad" ); -@@ -164,7 +164,7 @@ void WSTest::getRepositoryBadTest( ) - - void WSTest::getTypeDefinitionTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - string id( "ComplexType" ); - libcmis::ObjectTypePtr actual = session.getType( id ); - -@@ -175,7 +175,7 @@ void WSTest::getTypeDefinitionTest( ) - - void WSTest::getTypeDefinitionErrorTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - string id( "bad_type" ); - try -@@ -192,7 +192,7 @@ void WSTest::getTypeDefinitionErrorTest( ) - - void WSTest::getTypeChildrenTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::ObjectTypePtr actual = session.getType( "cmis:document" ); - - vector< libcmis::ObjectTypePtr > children = actual->getChildren( ); -@@ -202,7 +202,7 @@ void WSTest::getTypeChildrenTest( ) - - void WSTest::getObjectTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - string id( "101" ); - libcmis::ObjectPtr actual = session.getObject( id ); - -@@ -217,7 +217,7 @@ void WSTest::getObjectTest( ) - - void WSTest::getObjectDocumentTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - string id( "114" ); - libcmis::ObjectPtr actual = session.getObject( id ); - -@@ -232,7 +232,7 @@ void WSTest::getObjectDocumentTest( ) - - void WSTest::getObjectParentsTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::ObjectPtr object = session.getObject( "116" ); - libcmis::Document* document = dynamic_cast< libcmis::Document* >( object.get() ); - -@@ -248,7 +248,7 @@ void WSTest::getObjectParentsTest( ) - - void WSTest::getChildrenTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr folder = session.getRootFolder( ); - - vector< libcmis::ObjectPtr > children = folder->getChildren( ); -@@ -270,7 +270,7 @@ void WSTest::getChildrenTest( ) - - void WSTest::getByPathValidTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - try - { - libcmis::ObjectPtr object = session.getObjectByPath( "/My_Folder-0-0/My_Document-1-2" ); -@@ -287,7 +287,7 @@ void WSTest::getByPathValidTest( ) - - void WSTest::getByPathInvalidTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - try - { - libcmis::ObjectPtr object = session.getObjectByPath( "/some/dummy/path" ); -@@ -302,7 +302,7 @@ void WSTest::getByPathInvalidTest( ) - - void WSTest::updatePropertiesTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - // Values for the test - libcmis::ObjectPtr object = session.getObject( "114" ); -@@ -329,7 +329,7 @@ void WSTest::updatePropertiesTest( ) - - void WSTest::createFolderTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr parent = session.getFolder( session.getRootId( ) ); - - // Prepare the properties for the new object, object type is cmis:folder -@@ -363,7 +363,7 @@ void WSTest::createFolderTest( ) - - void WSTest::createFolderBadTypeTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr parent = session.getFolder( session.getRootId( ) ); - - // Prepare the properties for the new object, object type is cmis:document to trigger the exception -@@ -401,7 +401,7 @@ void WSTest::createFolderBadTypeTest( ) - - void WSTest::createDocumentTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::FolderPtr parent = session.getFolder( session.getRootId( ) ); - - // Prepare the properties for the new object, object type is cmis:folder -@@ -444,7 +444,7 @@ void WSTest::createDocumentTest( ) - - void WSTest::deleteObjectTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - // Get the object to remove - string id( "130" ); -@@ -467,7 +467,7 @@ void WSTest::deleteObjectTest( ) - - void WSTest::deleteTreeTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - string id( "117" ); - libcmis::ObjectPtr object = session.getObject( id ); -@@ -489,7 +489,7 @@ void WSTest::deleteTreeTest( ) - - void WSTest::moveTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - string id( "135" ); - libcmis::ObjectPtr object = session.getObject( id ); -@@ -508,7 +508,7 @@ void WSTest::moveTest( ) - - void WSTest::getContentStreamTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::ObjectPtr object = session.getObject( "116" ); - libcmis::Document* document = dynamic_cast< libcmis::Document* >( object.get() ); - -@@ -532,7 +532,7 @@ void WSTest::getContentStreamTest( ) - - void WSTest::setContentStreamTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - libcmis::ObjectPtr object = session.getObject( "116" ); - libcmis::Document* document = dynamic_cast< libcmis::Document* >( object.get() ); - -@@ -570,7 +570,7 @@ void WSTest::setContentStreamTest( ) - - void WSTest::checkOutTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - // First create a document of type VersionableType - libcmis::DocumentPtr doc = test::createVersionableDocument( &session, "checkOutTest" ); -@@ -588,7 +588,7 @@ void WSTest::checkOutTest( ) - - void WSTest::cancelCheckOutTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - // First create a versionable document and check it out - libcmis::DocumentPtr doc = test::createVersionableDocument( &session, "cancelCheckOutTest" ); -@@ -613,7 +613,7 @@ void WSTest::cancelCheckOutTest( ) - - void WSTest::checkInTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - // First create a versionable document and check it out - libcmis::DocumentPtr doc = test::createVersionableDocument( &session, "checkInTest" ); -@@ -649,7 +649,7 @@ void WSTest::checkInTest( ) - - void WSTest::getAllVersionsTest( ) - { -- WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD, false ); -+ WSSession session( SERVER_WSDL_URL, "A1", SERVER_USERNAME, SERVER_PASSWORD ); - - // First create a versionable document and check it out - libcmis::DocumentPtr doc = test::createVersionableDocument( &session, "getAllVersionsTest" ); -diff --git src/libcmis/ws-relatedmultipart.cxx src/libcmis/ws-relatedmultipart.cxx -index 37f133a..ef91b4d 100644 ---- src/libcmis/ws-relatedmultipart.cxx -+++ src/libcmis/ws-relatedmultipart.cxx -@@ -299,7 +299,7 @@ boost::shared_ptr< istream > getStreamFromNode( xmlNodePtr node, RelatedMultipar - { - id = href.substr( 4 ); - // URL-decode the id --#if LIBCURL_VERSION_VALUE >= 0x071504 -+#if LIBCURL_VERSION_VALUE >= 0x070F04 - char* escaped = curl_easy_unescape( NULL, id.c_str(), id.length(), NULL ); - #else - char* escaped = curl_unescape( id.c_str(), id.length() ); -diff --git src/libcmis/ws-session.cxx src/libcmis/ws-session.cxx -index b906a5a..f551109 100644 ---- src/libcmis/ws-session.cxx -+++ src/libcmis/ws-session.cxx -@@ -39,8 +39,8 @@ - - using namespace std; - --WSSession::WSSession( string bindingUrl, string repositoryId, -- string username, string password, bool verbose ) throw ( libcmis::Exception ) : -+WSSession::WSSession( string bindingUrl, string repositoryId, string username, -+ string password, bool verbose ) throw ( libcmis::Exception ) : - BaseSession( bindingUrl, repositoryId, username, password, verbose ), - m_servicesUrls( ), - m_navigationService( NULL ), -@@ -336,7 +336,8 @@ VersioningService& WSSession::getVersioningService( ) - return *m_versioningService; - } - --list< libcmis::RepositoryPtr > WSSession::getRepositories( string url, string username, string password, bool verbose ) throw ( libcmis::Exception ) -+list< libcmis::RepositoryPtr > WSSession::getRepositories( string url, string username, -+ string password, bool verbose ) throw ( libcmis::Exception ) - { - WSSession session( url, string(), username, password, verbose ); - return session.m_repositories; -diff --git src/libcmis/ws-session.hxx src/libcmis/ws-session.hxx -index 952e914..e8b806a 100644 ---- src/libcmis/ws-session.hxx -+++ src/libcmis/ws-session.hxx -@@ -52,7 +52,7 @@ class WSSession : public BaseSession, public SoapSession - public: - WSSession( std::string bindingUrl, std::string repositoryId, - std::string username, std::string password, -- bool verbose ) throw ( libcmis::Exception ); -+ bool verbose = false ) throw ( libcmis::Exception ); - WSSession( const WSSession& copy ); - ~WSSession( ); - diff --git a/libcmis/libcmis-0.3.0-warnings.patch b/libcmis/libcmis-0.3.0-warnings.patch deleted file mode 100644 index b67ae47180b3..000000000000 --- a/libcmis/libcmis-0.3.0-warnings.patch +++ /dev/null @@ -1,238 +0,0 @@ -diff --git src/libcmis/atom-folder.cxx src/libcmis/atom-folder.cxx -index f2e0381..1c65d41 100644 ---- src/libcmis/atom-folder.cxx -+++ src/libcmis/atom-folder.cxx -@@ -177,7 +177,7 @@ libcmis::FolderPtr AtomFolder::createFolder( const map< string, libcmis::Propert - } - - libcmis::DocumentPtr AtomFolder::createDocument( const map< string, libcmis::PropertyPtr >& properties, -- boost::shared_ptr< ostream > os, string contentType, string fileName ) throw ( libcmis::Exception ) -+ boost::shared_ptr< ostream > os, string contentType, string ) throw ( libcmis::Exception ) - { - AtomLink* childrenLink = getLink( "down", "application/atom+xml;type=feed" ); - -diff --git src/libcmis/atom-session.cxx src/libcmis/atom-session.cxx -index c2baa4f..1716755 100644 ---- src/libcmis/atom-session.cxx -+++ src/libcmis/atom-session.cxx -@@ -39,74 +39,6 @@ - - using namespace std; - --namespace --{ -- size_t lcl_getEncoding( void *ptr, size_t size, size_t nmemb, void *userdata ) -- { -- libcmis::EncodedData* data = static_cast< libcmis::EncodedData* >( userdata ); -- -- string buf( ( const char* ) ptr, size * nmemb ); -- -- size_t sepPos = buf.find( ':' ); -- if ( sepPos != string::npos ) -- { -- string name( buf, 0, sepPos ); -- if ( "Content-Transfer-Encoding" == name ) -- { -- string encoding = buf.substr( sepPos + 1 ); -- encoding.erase( remove_if( encoding.begin(), encoding.end(), ptr_fun< int, int> ( isspace ) ), encoding.end() ); -- -- data->setEncoding( encoding ); -- } -- } -- -- return nmemb; -- } -- -- size_t lcl_bufferData( void* buffer, size_t size, size_t nmemb, void* data ) -- { -- libcmis::EncodedData* encoded = static_cast< libcmis::EncodedData* >( data ); -- encoded->decode( buffer, size, nmemb ); -- return nmemb; -- } -- -- size_t lcl_readStream( void* buffer, size_t size, size_t nmemb, void* data ) -- { -- istream& is = *( static_cast< istream* >( data ) ); -- char* out = ( char * ) buffer; -- is.read( out, size * nmemb ); -- -- return is.gcount( ) / size; -- } -- -- curlioerr lcl_ioctlStream( CURL* /*handle*/, int cmd, void* data ) -- { -- curlioerr errCode = CURLIOE_OK; -- -- switch ( cmd ) -- { -- case CURLIOCMD_RESTARTREAD: -- { -- istream& is = *( static_cast< istream* >( data ) ); -- is.clear( ); -- is.seekg( 0, ios::beg ); -- -- if ( !is.good() ) -- { -- fprintf ( stderr, "rewind failed\n" ); -- errCode = CURLIOE_FAILRESTART; -- } -- } -- break; -- case CURLIOCMD_NOP: -- break; -- default: -- errCode = CURLIOE_UNKNOWNCMD; -- } -- return errCode; -- } --} -- - AtomPubSession::AtomPubSession( string atomPubUrl, string repositoryId, - string username, string password, bool verbose ) throw ( libcmis::Exception ) : - BaseSession( atomPubUrl, repositoryId, username, password, verbose ), -@@ -190,7 +122,7 @@ void AtomPubSession::initialize( ) throw ( libcmis::Exception ) - - m_repositories.push_back( ws ); - } -- catch ( const libcmis::Exception& e ) -+ catch ( const libcmis::Exception& ) - { - // Invalid repository, don't take care of this - } -diff --git src/libcmis/atom-workspace.cxx src/libcmis/atom-workspace.cxx -index b6f2388..527d0f4 100644 ---- src/libcmis/atom-workspace.cxx -+++ src/libcmis/atom-workspace.cxx -@@ -69,6 +69,7 @@ AtomRepository::AtomRepository( xmlNodePtr wsNode ) throw ( libcmis::Exception ) - } - - AtomRepository::AtomRepository( const AtomRepository& rCopy ) : -+ Repository( rCopy ), - m_collections( rCopy.m_collections ), - m_uriTemplates( rCopy.m_uriTemplates ) - { -diff --git src/libcmis/base-session.cxx src/libcmis/base-session.cxx -index c99f110..b060d0b 100644 ---- src/libcmis/base-session.cxx -+++ src/libcmis/base-session.cxx -@@ -61,28 +61,6 @@ namespace - return nmemb; - } - -- size_t lcl_getEncoding( void *ptr, size_t size, size_t nmemb, void *userdata ) -- { -- libcmis::EncodedData* data = static_cast< libcmis::EncodedData* >( userdata ); -- -- string buf( ( const char* ) ptr, size * nmemb ); -- -- size_t sepPos = buf.find( ':' ); -- if ( sepPos != string::npos ) -- { -- string name( buf, 0, sepPos ); -- if ( "Content-Transfer-Encoding" == name ) -- { -- string encoding = buf.substr( sepPos + 1 ); -- encoding.erase( remove_if( encoding.begin(), encoding.end(), ptr_fun< int, int> ( isspace ) ), encoding.end() ); -- -- data->setEncoding( encoding ); -- } -- } -- -- return nmemb; -- } -- - size_t lcl_bufferData( void* buffer, size_t size, size_t nmemb, void* data ) - { - libcmis::EncodedData* encoded = static_cast< libcmis::EncodedData* >( data ); -@@ -125,16 +103,6 @@ namespace - } - return errCode; - } -- -- string lcl_tolower( string sText ) -- { -- string lower( sText ); -- for ( size_t i = 0; i < sText.size(); ++i ) -- { -- lower[i] = ::tolower( sText[i] ); -- } -- return lower; -- } - } - - BaseSession::BaseSession( string atomPubUrl, string repositoryId, -@@ -443,7 +411,7 @@ const char* CurlException::what( ) const throw () - if ( !isCancelled( ) ) - { - stringstream buf; -- buf << "CURL error - " << m_code << ": "; -+ buf << "CURL error - " << ( unsigned int )m_code << ": "; - buf << m_message; - m_errorMessage = buf.str( ); - -diff --git src/libcmis/object.cxx src/libcmis/object.cxx -index 690bb17..3397070 100644 ---- src/libcmis/object.cxx -+++ src/libcmis/object.cxx -@@ -93,8 +93,8 @@ namespace libcmis - xmlXPathObjectPtr xpathObj = xmlXPathEvalExpression( BAD_CAST( "//cmis:allowableActions" ), xpathCtx ); - if ( xpathObj && xpathObj->nodesetval && xpathObj->nodesetval->nodeNr > 0 ) - { -- xmlNodePtr node = xpathObj->nodesetval->nodeTab[0]; -- m_allowableActions.reset( new libcmis::AllowableActions( node ) ); -+ xmlNodePtr actionsNode = xpathObj->nodesetval->nodeTab[0]; -+ m_allowableActions.reset( new libcmis::AllowableActions( actionsNode ) ); - } - xmlXPathFreeObject( xpathObj ); - -@@ -109,8 +109,8 @@ namespace libcmis - int size = xpathObj->nodesetval->nodeNr; - for ( int i = 0; i < size; i++ ) - { -- xmlNodePtr node = xpathObj->nodesetval->nodeTab[i]; -- libcmis::PropertyPtr property = libcmis::parseProperty( node, getTypeDescription( ) ); -+ xmlNodePtr propertyNode = xpathObj->nodesetval->nodeTab[i]; -+ libcmis::PropertyPtr property = libcmis::parseProperty( propertyNode, getTypeDescription( ) ); - if ( property.get( ) ) - m_properties[ property->getPropertyType( )->getId() ] = property; - } -diff --git src/libcmis/ws-requests.cxx src/libcmis/ws-requests.cxx -index 2b421b2..e13ae07 100644 ---- src/libcmis/ws-requests.cxx -+++ src/libcmis/ws-requests.cxx -@@ -105,7 +105,7 @@ - string content( buf, size ); - delete[ ] buf; - -- xmlTextWriterWriteFormatElement( writer, BAD_CAST( "cmism:length" ), "%ld", content.size( ) ); -+ xmlTextWriterWriteFormatElement( writer, BAD_CAST( "cmism:length" ), "%ld", (long int) content.size( ) ); - xmlTextWriterWriteElement( writer, BAD_CAST( "cmism:mimeType" ), BAD_CAST( contentType.c_str( ) ) ); - if ( !filename.empty( ) ) - xmlTextWriterWriteElement( writer, BAD_CAST( "cmism:filename" ), BAD_CAST( filename.c_str( ) ) ); -@@ -349,7 +349,7 @@ void UpdateProperties::toXml( xmlTextWriterPtr writer ) - xmlTextWriterEndElement( writer ); - } - --SoapResponsePtr UpdatePropertiesResponse::create( xmlNodePtr node, RelatedMultipart&, SoapSession* session ) -+SoapResponsePtr UpdatePropertiesResponse::create( xmlNodePtr node, RelatedMultipart&, SoapSession* ) - { - UpdatePropertiesResponse* response = new UpdatePropertiesResponse( ); - -@@ -425,7 +425,7 @@ void DeleteTree::toXml( xmlTextWriterPtr writer ) - xmlTextWriterEndElement( writer ); - } - --SoapResponsePtr DeleteTreeResponse::create( xmlNodePtr node, RelatedMultipart&, SoapSession* session ) -+SoapResponsePtr DeleteTreeResponse::create( xmlNodePtr node, RelatedMultipart&, SoapSession* ) - { - DeleteTreeResponse* response = new DeleteTreeResponse( ); - -@@ -624,7 +624,7 @@ void CreateFolder::toXml( xmlTextWriterPtr writer ) - xmlTextWriterEndElement( writer ); - } - --SoapResponsePtr CreateFolderResponse::create( xmlNodePtr node, RelatedMultipart&, SoapSession* session ) -+SoapResponsePtr CreateFolderResponse::create( xmlNodePtr node, RelatedMultipart&, SoapSession* ) - { - CreateFolderResponse* response = new CreateFolderResponse( ); - diff --git a/libcmis/libcmis-0.3.0-win.patch b/libcmis/libcmis-0.3.0-win.patch deleted file mode 100644 index e9110d286023..000000000000 --- a/libcmis/libcmis-0.3.0-win.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git src/libcmis/ws-objectservice.cxx src/libcmis/ws-objectservice.cxx -index df624de..5134d8e 100644 ---- src/libcmis/ws-objectservice.cxx -+++ src/libcmis/ws-objectservice.cxx -@@ -119,7 +119,7 @@ libcmis::ObjectPtr ObjectService::updateProperties( - - void ObjectService::deleteObject( string repoId, string id, bool allVersions ) throw ( libcmis::Exception ) - { -- DeleteObject request( repoId, id, allVersions ); -+ class DeleteObject request( repoId, id, allVersions ); - m_session->soapRequest( m_url, request ); - } - -diff --git src/libcmis/ws-requests.hxx src/libcmis/ws-requests.hxx -index 88fe5b9..6de94b8 100644 ---- src/libcmis/ws-requests.hxx -+++ src/libcmis/ws-requests.hxx -@@ -202,6 +202,7 @@ class GetTypeChildrenResponse : public SoapResponse - std::vector< libcmis::ObjectTypePtr > getChildren( ) { return m_children; } - }; - -+#undef GetObject - class GetObject : public SoapRequest - { - private: diff --git a/libcmis/libcmis-0.3.0.patch b/libcmis/libcmis-0.3.0.patch deleted file mode 100644 index 772c828ab121..000000000000 --- a/libcmis/libcmis-0.3.0.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git src/libcmis/ws-soap.cxx src/libcmis/ws-soap.cxx -index e8efd67..decb79a 100644 ---- src/libcmis/ws-soap.cxx -+++ src/libcmis/ws-soap.cxx -@@ -279,7 +279,7 @@ string SoapRequest::createEnvelope( string& username, string& password ) - boost::posix_time::ptime expires( created ); - expires = expires + boost::gregorian::days( 1 ); - string createdStr = libcmis::writeDateTime( created ); -- xmlChar* expiresStr = BAD_CAST( libcmis::writeDateTime( expires ).c_str( ) ); -+ string expiresStr = libcmis::writeDateTime( expires ); - - xmlTextWriterStartElement( writer, BAD_CAST( "S:Envelope" ) ); - xmlTextWriterWriteAttribute( writer, BAD_CAST( "xmlns:S" ), BAD_CAST( NS_SOAP_ENV_URL ) ); -@@ -296,7 +296,7 @@ string SoapRequest::createEnvelope( string& username, string& password ) - xmlTextWriterWriteRaw( writer, BAD_CAST( createdStr.c_str( ) ) ); - xmlTextWriterEndElement( writer ); // End of Created - xmlTextWriterStartElement( writer, BAD_CAST( "wsse:Expires" ) ); -- xmlTextWriterWriteRaw( writer, expiresStr ); -+ xmlTextWriterWriteRaw( writer, BAD_CAST( expiresStr.c_str() ) ); - xmlTextWriterEndElement( writer ); // End of Expires - xmlTextWriterEndElement( writer ); // End of Timestamp - -diff --git src/libcmis/document.cxx src/libcmis/document.cxx -index 7c2a8e6..e7014cb 100644 ---- src/libcmis/document.cxx -+++ src/libcmis/document.cxx -@@ -78,7 +78,7 @@ namespace libcmis - { - long contentLength = 0; - map< string, libcmis::PropertyPtr >::const_iterator it = getProperties( ).find( string( "cmis:contentStreamLength" ) ); -- if ( it != getProperties( ).end( ) && !it->second->getStrings( ).empty( ) ) -+ if ( it != getProperties( ).end( ) && !it->second->getLongs( ).empty( ) ) - contentLength = it->second->getLongs( ).front( ); - return contentLength; - } -diff --git src/libcmis/ws-relatedmultipart.cxx src/libcmis/ws-relatedmultipart.cxx -index ef91b4d..3a990e7 100644 ---- src/libcmis/ws-relatedmultipart.cxx -+++ src/libcmis/ws-relatedmultipart.cxx -@@ -93,6 +93,8 @@ RelatedMultipart::RelatedMultipart( const string& body, const string& contentTyp - if ( value[0] == '"' && value[value.length() - 1] == '"' ) - value = value.substr( 1, value.length( ) - 2 ); - -+ name = libcmis::trim( name ); -+ - if ( name == "start" ) - { - m_startId = value; --- |