summaryrefslogtreecommitdiff
path: root/core/launcher/transferserver.cpp
Side-by-side diff
Diffstat (limited to 'core/launcher/transferserver.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/transferserver.cpp191
1 files changed, 113 insertions, 78 deletions
diff --git a/core/launcher/transferserver.cpp b/core/launcher/transferserver.cpp
index cbda247..0337a94 100644
--- a/core/launcher/transferserver.cpp
+++ b/core/launcher/transferserver.cpp
@@ -32,3 +32,4 @@
-extern "C" {
+extern "C"
+{
#include <uuid/uuid.h>
@@ -61,3 +62,3 @@ extern "C" {
#include "transferserver.h"
-#include "qprocess.h"
+#include <opie/oprocess.h>
@@ -75,3 +76,2 @@ TransferServer::~TransferServer()
{
-
}
@@ -87,4 +87,6 @@ void TransferServer::newConnection( int socket )
*/
-namespace {
- struct UidGen {
+namespace
+{
+struct UidGen
+{
QString uuid();
@@ -92,3 +94,5 @@ namespace {
#if !defined(_OS_LINUX_)
- QString UidGen::uuid() {
+
+QString UidGen::uuid()
+{
uuid_t uuid;
@@ -102,3 +106,4 @@ namespace {
*/
- QString UidGen::uuid() {
+QString UidGen::uuid()
+{
QFile file( "/proc/sys/kernel/random/uuid" );
@@ -165,3 +170,4 @@ bool SyncAuthentication::checkUser( const QString& user )
{
- if ( user.isEmpty() ) return FALSE;
+ if ( user.isEmpty() )
+ return FALSE;
QString euser = loginName();
@@ -232,4 +238,3 @@ bool SyncAuthentication::checkPassword( const QString& password )
"<p>If you have just initiated a Sync for the first time, this is normal."),
- tr("Allow"),tr("Deny"), 0, 1, 1 ) ==1 )
- {
+ tr("Allow"), tr("Deny"), 0, 1, 1 ) == 1 ) {
denials++;
@@ -237,3 +242,4 @@ bool SyncAuthentication::checkPassword( const QString& password )
return FALSE;
- } else {
+ }
+ else {
denials=0;
@@ -258,2 +264,3 @@ ServerPI::ServerPI( int socket, QObject *parent , const char* name )
#ifndef INSECURE
+
if ( !SyncAuthentication::isAuthorized(peeraddress) ) {
@@ -261,3 +268,4 @@ ServerPI::ServerPI( int socket, QObject *parent , const char* name )
startTimer( 0 );
- } else
+ }
+ else
#endif
@@ -295,3 +303,2 @@ ServerPI::~ServerPI()
{
-
}
@@ -353,3 +360,4 @@ void ServerPI::process( const QString& message )
QStringList msg = QStringList::split( " ", message );
- if ( msg.isEmpty() ) return;
+ if ( msg.isEmpty() )
+ return ;
@@ -592,3 +600,4 @@ void ServerPI::process( const QString& message )
e << file.name();
- } else {
+ }
+ else {
send( "550 Requested action not taken" );
@@ -736,3 +745,4 @@ void ServerPI::sendFile( const QString& file )
dtp->sendGzipFile( file, targets, peeraddress, peerport );
- else dtp->sendFile( file, peeraddress, peerport );
+ else
+ dtp->sendFile( file, peeraddress, peerport );
}
@@ -760,3 +770,4 @@ bool ServerPI::parsePort( const QString& pp )
QStringList p = QStringList::split( ",", pp );
- if ( p.count() != 6 ) return FALSE;
+ if ( p.count() != 6 )
+ return FALSE;
@@ -812,3 +823,4 @@ bool ServerPI::sendList( const QString& arg )
QFileInfo fi( fn );
- if ( !fi.exists() ) return FALSE;
+ if ( !fi.exists() )
+ return FALSE;
@@ -860,3 +872,4 @@ QString ServerPI::fileListing( QFileInfo *info )
{
- if ( !info ) return QString::null;
+ if ( !info )
+ return QString::null;
QString s;
@@ -910,3 +923,4 @@ QString ServerPI::permissionString( QFileInfo *info )
{
- if ( !info ) return QString( "---------" );
+ if ( !info )
+ return QString( "---------" );
QString s;
@@ -914,24 +928,42 @@ QString ServerPI::permissionString( QFileInfo *info )
// user
- if ( info->permission( QFileInfo::ReadUser ) ) s += "r";
- else s += "-";
- if ( info->permission( QFileInfo::WriteUser ) ) s += "w";
- else s += "-";
- if ( info->permission( QFileInfo::ExeUser ) ) s += "x";
- else s += "-";
+ if ( info->permission( QFileInfo::ReadUser ) )
+ s += "r";
+ else
+ s += "-";
+ if ( info->permission( QFileInfo::WriteUser ) )
+ s += "w";
+ else
+ s += "-";
+ if ( info->permission( QFileInfo::ExeUser ) )
+ s += "x";
+ else
+ s += "-";
// group
- if ( info->permission( QFileInfo::ReadGroup ) ) s += "r";
- else s += "-";
- if ( info->permission( QFileInfo::WriteGroup ) )s += "w";
- else s += "-";
- if ( info->permission( QFileInfo::ExeGroup ) ) s += "x";
- else s += "-";
+ if ( info->permission( QFileInfo::ReadGroup ) )
+ s += "r";
+ else
+ s += "-";
+ if ( info->permission( QFileInfo::WriteGroup ) )
+ s += "w";
+ else
+ s += "-";
+ if ( info->permission( QFileInfo::ExeGroup ) )
+ s += "x";
+ else
+ s += "-";
// exec
- if ( info->permission( QFileInfo::ReadOther ) ) s += "r";
- else s += "-";
- if ( info->permission( QFileInfo::WriteOther ) ) s += "w";
- else s += "-";
- if ( info->permission( QFileInfo::ExeOther ) ) s += "x";
- else s += "-";
+ if ( info->permission( QFileInfo::ReadOther ) )
+ s += "r";
+ else
+ s += "-";
+ if ( info->permission( QFileInfo::WriteOther ) )
+ s += "w";
+ else
+ s += "-";
+ if ( info->permission( QFileInfo::ExeOther ) )
+ s += "x";
+ else
+ s += "-";
@@ -944,3 +976,4 @@ void ServerPI::newConnection( int socket )
- if ( !passiv ) return;
+ if ( !passiv )
+ return ;
@@ -980,3 +1013,4 @@ QString ServerPI::absFilePath( const QString& file )
{
- if ( file.isEmpty() ) return file;
+ if ( file.isEmpty() )
+ return file;
@@ -1006,9 +1040,7 @@ retrieveTargzProc( 0 ), gzipProc( 0 )
- gzipProc = new QProcess( this, "gzipProc" );
- gzipProc->setCommunication( QProcess::Stdin | QProcess::Stdout );
+ gzipProc = new OProcess( this, "gzipProc" );
- createTargzProc = new QProcess( QString("tar"), this, "createTargzProc");
- createTargzProc->setCommunication( QProcess::Stdout );
+ createTargzProc = new OProcess( QString("tar"), this, "createTargzProc");
createTargzProc->setWorkingDirectory( QDir::rootDirPath() );
- connect( createTargzProc, SIGNAL( processExited() ), SLOT( targzDone() ) );
+ connect( createTargzProc, SIGNAL( processExited(OProcess *) ), SLOT( targzDone() ) );
@@ -1016,8 +1048,7 @@ retrieveTargzProc( 0 ), gzipProc( 0 )
args += "-xv";
- retrieveTargzProc = new QProcess( args, this, "retrieveTargzProc" );
- retrieveTargzProc->setCommunication( QProcess::Stdin );
+ retrieveTargzProc = new OProcess( args, this, "retrieveTargzProc" );
retrieveTargzProc->setWorkingDirectory( QDir::rootDirPath() );
- connect( retrieveTargzProc, SIGNAL( processExited() ),
+ connect( retrieveTargzProc, SIGNAL( processExited(OProcess *) ),
SIGNAL( completed() ) );
- connect( retrieveTargzProc, SIGNAL( processExited() ),
+ connect( retrieveTargzProc, SIGNAL( processExited(OProcess *) ),
SLOT( extractTarDone() ) );
@@ -1036,2 +1067,3 @@ void ServerDTP::extractTarDone()
#ifndef QT_NO_COP
+
QCopEnvelope e( "QPE/Desktop", "restoreDone(QString)" );
@@ -1060,3 +1092,4 @@ void ServerDTP::connected()
mode = Idle;
- } else {
+ }
+ else {
@@ -1079,6 +1112,6 @@ void ServerDTP::connected()
qDebug("==>start send tar process");
- if ( !createTargzProc->start() )
+ if ( !createTargzProc->start(OProcess::NotifyOnExit, OProcess::Stdout) )
qWarning("Error starting %s or %s",
- createTargzProc->arguments().join(" ").latin1(),
- gzipProc->arguments().join(" ").latin1() );
+ createTargzProc->args()[0].data(),
+ gzipProc->args()[0].data());
break;
@@ -1214,3 +1247,3 @@ void ServerDTP::readyRead()
if ( !gzipProc->isRunning() )
- gzipProc->start();
+ gzipProc->start(OProcess::NotifyOnExit, (OProcess::Communication) ( OProcess::Stdin | OProcess::Stdout ));
@@ -1219,3 +1252,3 @@ void ServerDTP::readyRead()
readBlock( s.data(), bytesAvailable() );
- gzipProc->writeToStdin( s );
+ gzipProc->writeStdin( s.data(), s.size() );
qDebug("wrote %d bytes to ungzip ", s.size() );
@@ -1231,7 +1264,6 @@ void ServerDTP::readyRead()
-void ServerDTP::writeTargzBlock()
+void ServerDTP::writeTargzBlock(OProcess *, char *buffer, int buflen)
{
- QByteArray block = gzipProc->readStdout();
- writeBlock( block.data(), block.size() );
- qDebug("writeTargzBlock %d", block.size());
+ writeBlock( buffer, buflen );
+ qDebug("writeTargzBlock %d", buflen);
if ( !createTargzProc->isRunning() ) {
@@ -1240,4 +1272,4 @@ void ServerDTP::writeTargzBlock()
mode = Idle;
- disconnect( gzipProc, SIGNAL( readyReadStdout() ),
- this, SLOT( writeTargzBlock() ) );
+ disconnect( gzipProc, SIGNAL( receivedStdout(OProcess *, char *, int ) ),
+ this, SLOT( writeTargzBlock(OProcess *, char *, int) ) );
}
@@ -1248,4 +1280,4 @@ void ServerDTP::targzDone()
//qDebug("targz done");
- disconnect( createTargzProc, SIGNAL( readyReadStdout() ),
- this, SLOT( gzipTarBlock() ) );
+ disconnect( createTargzProc, SIGNAL( receivedStdout(OProcess *, char *, int) ),
+ this, SLOT( gzipTarBlock(OProcess *, char *, int) ) );
gzipProc->closeStdin();
@@ -1253,3 +1285,3 @@ void ServerDTP::targzDone()
-void ServerDTP::gzipTarBlock()
+void ServerDTP::gzipTarBlock(OProcess *, char *buffer, int buflen)
{
@@ -1258,5 +1290,5 @@ void ServerDTP::gzipTarBlock()
//qDebug("auto start gzip proc");
- gzipProc->start();
+ gzipProc->start(OProcess::NotifyOnExit, (OProcess::Communication) ( OProcess::Stdin | OProcess::Stdout ));
}
- gzipProc->writeToStdin( createTargzProc->readStdout() );
+ gzipProc->writeStdin( buffer, buflen );
}
@@ -1294,9 +1326,11 @@ void ServerDTP::sendGzipFile( const QString &fn,
qDebug("sendGzipFile %s", args.join(" ").latin1() );
- createTargzProc->setArguments( args );
+ createTargzProc->clearArguments( );
+ *createTargzProc << args;
connect( createTargzProc,
- SIGNAL( readyReadStdout() ), SLOT( gzipTarBlock() ) );
+ SIGNAL( receivedStdout(OProcess *, char *, int) ), SLOT( gzipTarBlock(OProcess *, char *, int) ) );
- gzipProc->setArguments( "gzip" );
- connect( gzipProc, SIGNAL( readyReadStdout() ),
- SLOT( writeTargzBlock() ) );
+ gzipProc->clearArguments( );
+ *gzipProc << "gzip";
+ connect( gzipProc, SIGNAL( receivedStdout(OProcess *, char *, int) ),
+ SLOT( writeTargzBlock(OProcess *, char *, int) ) );
}
@@ -1309,15 +1343,15 @@ void ServerDTP::gunzipDone()
retrieveTargzProc->closeStdin();
- disconnect( gzipProc, SIGNAL( readyReadStdout() ),
- this, SLOT( tarExtractBlock() ) );
+ disconnect( gzipProc, SIGNAL( receivedStdout(OProcess *, char *, int) ),
+ this, SLOT( tarExtractBlock(OProcess *, char *, int) ) );
}
-void ServerDTP::tarExtractBlock()
+void ServerDTP::tarExtractBlock(OProcess *, char *buffer, int buflen)
{
- qDebug("ungzipTarBlock");
+ qDebug("tarExtractBlock");
if ( !retrieveTargzProc->isRunning() ) {
qDebug("auto start ungzip proc");
- if ( !retrieveTargzProc->start() )
+ if ( !retrieveTargzProc->start(OProcess::NotifyOnExit, OProcess::Stdin) )
qWarning(" failed to start tar -x process");
}
- retrieveTargzProc->writeToStdin( gzipProc->readStdout() );
+ retrieveTargzProc->writeStdin( buffer, buflen );
}
@@ -1344,3 +1378,4 @@ void ServerDTP::retrieveGzipFile( const QString &fn )
- gzipProc->setArguments( "gunzip" );
+ gzipProc->clearArguments();
+ *gzipProc << "gunzip";
connect( gzipProc, SIGNAL( readyReadStdout() ),