summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opie-smb/qsmb.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/net/opie-smb/qsmb.cpp b/noncore/net/opie-smb/qsmb.cpp
index fbe1c5c..a219c58 100644
--- a/noncore/net/opie-smb/qsmb.cpp
+++ b/noncore/net/opie-smb/qsmb.cpp
@@ -75,193 +75,193 @@ void Qsmb::DoItClicked()
QMessageBox::warning(this, tr("Error"),tr("<p>No share selected!</p>"));
return;
}
if (scanning) return;
pthread_create(&tpid, NULL, runitm, (void *)this);
}
void* runit(void* arg)
{
Qsmb* caller = (Qsmb*)arg;
caller->scan();
return(0);
}
void* runitm(void* arg)
{
Qsmb* caller = (Qsmb*)arg;
caller->DoIt();
return(0);
}
void Qsmb::scan()
{
// int i;
if (scanning) return;
scanning = true;
QString match;
QString cmd;
LScan->setText("Scanning...");
qApp->processEvents();
sockaddr_in my_addr;
get_myaddress( &my_addr);
QString ip = inet_ntoa( my_addr.sin_addr);
owarn << "IP Address : " << ip<< oendl;
match = ip.left(5);
QStringList ccmd;
TextViewOutput->append("smbfind");
QFile lmhosts("/etc/samba/lmhosts");
QTextStream lms(&lmhosts);
lmhosts.open(IO_WriteOnly);
lms << "127.0.0.1 localhost\n";
/* parse output and display in ListViewScan */
ccmd = "smbfind";
runCommand(ccmd);
QTextStream s(&out, IO_ReadOnly);
while ( !s.atEnd() ) {
QString ip_addr, host, output;
QString tmp = s.readLine();
bool ok;
tmp.left(1).toInt( &ok, 10 );
if(ok) {
QStringList token = QStringList::split(' ', tmp );
ip_addr = token[0];
host = token[1];
CBHost->insertItem( host, -1);
lms << ip_addr+" "+host+"\n";
}
}
lmhosts.close();
TextViewOutput->append("\n\n============================================\n");
LScan->setText("");
scanning = false;
}
void Qsmb::hostSelected(int index)
{
owarn << "hostSelected" << oendl;
QListViewItem *element;
QListViewItem *parent;
QString text = CBHost->currentText();
if (scanning) return;
scanning = true;
QString cmd;
QStringList ccmd;
LScan->setText("Scanning...");
ccmd << "/usr/bin/smbclient";
ccmd << "-L";
ccmd << CBHost->currentText();
ccmd << "-N";
- if(username->text().isEmpty()) {
+ if(!username->text().isEmpty()) {
} else {
ccmd << "-U";
ccmd << username->text()+"\%"+ password->text();
}
runCommand(ccmd);
QTextStream s(&out, IO_ReadOnly);
while ( !s.atEnd() ) {
QString share;
QString comment;
QString tmp = s.readLine();
if( tmp.find("$") == -1 && tmp.find("Disk") != -1) {
QStringList token = QStringList::split(' ', tmp );
share = token[0];
comment = token[2];
element = new QListViewItem(ListViewScan,share, comment);
element->setOpen(true);
// top_element = element;
// parent = element;
}
}
// owarn << "i="<< index << "cmd:" << cmd << oendl;
TextViewOutput->append(cmd);
/* run smbclient & read output */
// if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
// snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
// // cmd = "Error: Can't run "+cmd;
// TextViewOutput->append(result);
// return;
// }
/* parse output and display in ListViewScan */
// while(fgets(result, 256, pipe) != NULL) {
// /* put result into TextViewOutput */
// TextViewOutput->append(result);
// if( strchr(result, '$') == NULL ) {
// char share[256], *ptr1;
// strcpy(share,result);
// ptr1 = strchr(share,' ');
// share[ptr1 - share]='\0';
// owarn<< "add share: " << share << oendl;
// if(top_element != NULL) {
// bool found = false;
// element = top_element;
// while(element != NULL && !found) {
// if(strcmp( element->text(0).ascii(), share)==0) {
// parent = element;
// found = true;
// }
// element = element->nextSibling();
// }
// if(!found) {
// element = new QListViewItem(ListViewScan,share);
// element->setOpen(true);
// parent=element;
// }
// } else {
// element = new QListViewItem(ListViewScan,share);
// element->setOpen(true);
// top_element = element;
// parent = element;
// }
// }
// }
TextViewOutput->append("\n\n============================================\n");
LScan->setText("");
scanning = false;
}
void Qsmb::DoIt()
{
QListViewItem *element;
element = ListViewScan->selectedItem();
if(!element) {
QMessageBox::warning(this, tr("Error!!"),tr("<p><b>No</b> share selected!!</p>"));
return;
}
if (scanning) return;
scanning = true;
int i;
bool err = false;
char share[512];