|
|
|
@ -111,9 +111,9 @@ compare_items_as_paths (const svn_sort__item_t*a, const svn_sort__item_t*b) {
|
|
|
|
|
return svn_path_compare_paths ((const char *)a->key, (const char *)b->key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tdeio_svnProtocol::kio_svnProtocol(const TQCString &pool_socket, const TQCString &app_socket)
|
|
|
|
|
tdeio_svnProtocol::tdeio_svnProtocol(const TQCString &pool_socket, const TQCString &app_socket)
|
|
|
|
|
: SlaveBase("tdeio_svn", pool_socket, app_socket) {
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::kio_svnProtocol()" << endl;
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::tdeio_svnProtocol()" << endl;
|
|
|
|
|
|
|
|
|
|
m_counter = 0;
|
|
|
|
|
|
|
|
|
@ -124,14 +124,14 @@ tdeio_svnProtocol::kio_svnProtocol(const TQCString &pool_socket, const TQCString
|
|
|
|
|
|
|
|
|
|
svn_error_t *err = svn_client_create_context(&ctx, pool);
|
|
|
|
|
if ( err ) {
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::kio_svnProtocol() create_context ERROR" << endl;
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::tdeio_svnProtocol() create_context ERROR" << endl;
|
|
|
|
|
error( TDEIO::ERR_SLAVE_DEFINED, err->message );
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
err = svn_config_ensure (NULL,pool);
|
|
|
|
|
if ( err ) {
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::kio_svnProtocol() configensure ERROR" << endl;
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::tdeio_svnProtocol() configensure ERROR" << endl;
|
|
|
|
|
error( TDEIO::ERR_SLAVE_DEFINED, err->message );
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -153,11 +153,11 @@ tdeio_svnProtocol::kio_svnProtocol(const TQCString &pool_socket, const TQCString
|
|
|
|
|
APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider;
|
|
|
|
|
|
|
|
|
|
//interactive prompt
|
|
|
|
|
svn_client_get_simple_prompt_provider (&provider,kio_svnProtocol::checkAuth,this,2,pool);
|
|
|
|
|
svn_client_get_simple_prompt_provider (&provider,tdeio_svnProtocol::checkAuth,this,2,pool);
|
|
|
|
|
APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider;
|
|
|
|
|
//we always ask user+pass, no need for a user only question
|
|
|
|
|
/* svn_client_get_username_prompt_provider
|
|
|
|
|
* (&provider,kio_svnProtocol::checkAuth,this,2,pool);
|
|
|
|
|
* (&provider,tdeio_svnProtocol::checkAuth,this,2,pool);
|
|
|
|
|
APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider;*/
|
|
|
|
|
|
|
|
|
|
//SSL disk cache, keep that one, because it does nothing bad :)
|
|
|
|
@ -179,8 +179,8 @@ tdeio_svnProtocol::kio_svnProtocol(const TQCString &pool_socket, const TQCString
|
|
|
|
|
svn_auth_open(&ctx->auth_baton, providers, pool);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tdeio_svnProtocol::~kio_svnProtocol(){
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::~kio_svnProtocol()" << endl;
|
|
|
|
|
tdeio_svnProtocol::~tdeio_svnProtocol(){
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::~tdeio_svnProtocol()" << endl;
|
|
|
|
|
svn_pool_destroy(pool);
|
|
|
|
|
apr_terminate();
|
|
|
|
|
}
|
|
|
|
@ -204,7 +204,7 @@ void tdeio_svnProtocol::initNotifier(bool is_checkout, bool is_export, bool supp
|
|
|
|
|
|
|
|
|
|
svn_error_t* tdeio_svnProtocol::checkAuth(svn_auth_cred_simple_t **cred, void *baton, const char *realm, const char *username, svn_boolean_t /*may_save*/, apr_pool_t *pool) {
|
|
|
|
|
kdDebug(7128) << "tdeio_svnProtocol::checkAuth() for " << realm << endl;
|
|
|
|
|
kio_svnProtocol *p = ( tdeio_svnProtocol* )baton;
|
|
|
|
|
tdeio_svnProtocol *p = ( tdeio_svnProtocol* )baton;
|
|
|
|
|
svn_auth_cred_simple_t *ret = (svn_auth_cred_simple_t*)apr_pcalloc (pool, sizeof (*ret));
|
|
|
|
|
|
|
|
|
|
// p->info.keepPassword = true;
|
|
|
|
@ -347,7 +347,7 @@ void tdeio_svnProtocol::stat(const KURL & url){
|
|
|
|
|
|
|
|
|
|
//start session
|
|
|
|
|
svn_ra_callbacks_t *cbtable = (svn_ra_callbacks_t*)apr_pcalloc(subpool, sizeof(*cbtable));
|
|
|
|
|
kio_svn_callback_baton_t *callbackbt = (kio_svn_callback_baton_t*)apr_pcalloc(subpool, sizeof( *callbackbt ));
|
|
|
|
|
tdeio_svn_callback_baton_t *callbackbt = (tdeio_svn_callback_baton_t*)apr_pcalloc(subpool, sizeof( *callbackbt ));
|
|
|
|
|
|
|
|
|
|
cbtable->open_tmp_file = open_tmp_file;
|
|
|
|
|
cbtable->get_wc_prop = NULL;
|
|
|
|
@ -1250,32 +1250,32 @@ TQString tdeio_svnProtocol::chooseProtocol ( const TQString& kproto ) const {
|
|
|
|
|
return kproto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
svn_error_t *kio_svnProtocol::trustSSLPrompt(svn_auth_cred_ssl_server_trust_t **cred_p, void *, const char */*realm*/, apr_uint32_t /*failures*/, const svn_auth_ssl_server_cert_info_t */*cert_info*/, svn_boolean_t /*may_save*/, apr_pool_t *pool) {
|
|
|
|
|
svn_error_t *tdeio_svnProtocol::trustSSLPrompt(svn_auth_cred_ssl_server_trust_t **cred_p, void *, const char */*realm*/, apr_uint32_t /*failures*/, const svn_auth_ssl_server_cert_info_t */*cert_info*/, svn_boolean_t /*may_save*/, apr_pool_t *pool) {
|
|
|
|
|
//when ksvnd is ready make it prompt for the SSL certificate ... XXX
|
|
|
|
|
*cred_p = (svn_auth_cred_ssl_server_trust_t*)apr_pcalloc (pool, sizeof (**cred_p));
|
|
|
|
|
(*cred_p)->may_save = FALSE;
|
|
|
|
|
return SVN_NO_ERROR;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
svn_error_t *kio_svnProtocol::clientCertSSLPrompt(svn_auth_cred_ssl_client_cert_t **/*cred_p*/, void *, const char */*realm*/, svn_boolean_t /*may_save*/, apr_pool_t */*pool*/) {
|
|
|
|
|
svn_error_t *tdeio_svnProtocol::clientCertSSLPrompt(svn_auth_cred_ssl_client_cert_t **/*cred_p*/, void *, const char */*realm*/, svn_boolean_t /*may_save*/, apr_pool_t */*pool*/) {
|
|
|
|
|
//when ksvnd is ready make it prompt for the SSL certificate ... XXX
|
|
|
|
|
/* *cred_p = apr_palloc (pool, sizeof(**cred_p));
|
|
|
|
|
(*cred_p)->cert_file = cert_file;*/
|
|
|
|
|
return SVN_NO_ERROR;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
svn_error_t *kio_svnProtocol::clientCertPasswdPrompt(svn_auth_cred_ssl_client_cert_pw_t **/*cred_p*/, void *, const char */*realm*/, svn_boolean_t /*may_save*/, apr_pool_t */*pool*/) {
|
|
|
|
|
svn_error_t *tdeio_svnProtocol::clientCertPasswdPrompt(svn_auth_cred_ssl_client_cert_pw_t **/*cred_p*/, void *, const char */*realm*/, svn_boolean_t /*may_save*/, apr_pool_t */*pool*/) {
|
|
|
|
|
//when ksvnd is ready make it prompt for the SSL certificate password ... XXX
|
|
|
|
|
return SVN_NO_ERROR;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
svn_error_t *kio_svnProtocol::commitLogPrompt( const char **log_msg, const char **/*file*/, apr_array_header_t *commit_items, void *baton, apr_pool_t *pool ) {
|
|
|
|
|
svn_error_t *tdeio_svnProtocol::commitLogPrompt( const char **log_msg, const char **/*file*/, apr_array_header_t *commit_items, void *baton, apr_pool_t *pool ) {
|
|
|
|
|
TQCString replyType;
|
|
|
|
|
TQByteArray params;
|
|
|
|
|
TQByteArray reply;
|
|
|
|
|
TQString result;
|
|
|
|
|
TQStringList slist;
|
|
|
|
|
kio_svnProtocol *p = ( tdeio_svnProtocol* )baton;
|
|
|
|
|
tdeio_svnProtocol *p = ( tdeio_svnProtocol* )baton;
|
|
|
|
|
svn_stringbuf_t *message = NULL;
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < commit_items->nelts; i++) {
|
|
|
|
@ -1516,7 +1516,7 @@ void tdeio_svnProtocol::notify(void *baton, const char *path, svn_wc_notify_acti
|
|
|
|
|
}
|
|
|
|
|
//// End convert
|
|
|
|
|
|
|
|
|
|
kio_svnProtocol *p = ( tdeio_svnProtocol* )nb->master;
|
|
|
|
|
tdeio_svnProtocol *p = ( tdeio_svnProtocol* )nb->master;
|
|
|
|
|
|
|
|
|
|
p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "path" , TQString::fromUtf8( path ));
|
|
|
|
|
p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "action", TQString::number( action ));
|
|
|
|
@ -1537,7 +1537,7 @@ void tdeio_svnProtocol::status(void *baton, const char *path, svn_wc_status_t *s
|
|
|
|
|
<< endl;
|
|
|
|
|
|
|
|
|
|
TQByteArray params;
|
|
|
|
|
kio_svnProtocol *p = ( tdeio_svnProtocol* )baton;
|
|
|
|
|
tdeio_svnProtocol *p = ( tdeio_svnProtocol* )baton;
|
|
|
|
|
|
|
|
|
|
TQDataStream stream(params, IO_WriteOnly);
|
|
|
|
|
long int rev = status->entry ? status->entry->revision : 0;
|
|
|
|
@ -1583,7 +1583,7 @@ extern "C"
|
|
|
|
|
exit(-1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
kio_svnProtocol slave(argv[2], argv[3]);
|
|
|
|
|
tdeio_svnProtocol slave(argv[2], argv[3]);
|
|
|
|
|
slave.dispatchLoop();
|
|
|
|
|
|
|
|
|
|
kdDebug(7128) << "*** tdeio_svn Done" << endl;
|
|
|
|
|