summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2005-08-14 21:45:59 (UTC)
committer llornkcor <llornkcor>2005-08-14 21:45:59 (UTC)
commit1dc2675c1bf557ba0032781535faf033809bae48 (patch) (side-by-side diff)
treea949c816bc2fcc3213b38f4b5aed54254f7bd7c0
parentab6f37a50ef2a0d95f25eff4a749bfcf39057d65 (diff)
downloadopie-1dc2675c1bf557ba0032781535faf033809bae48.zip
opie-1dc2675c1bf557ba0032781535faf033809bae48.tar.gz
opie-1dc2675c1bf557ba0032781535faf033809bae48.tar.bz2
use shell script smbfind and not perl script findsmb
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opie-smb/opie-smb.control2
-rw-r--r--noncore/net/opie-smb/qsmb.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/noncore/net/opie-smb/opie-smb.control b/noncore/net/opie-smb/opie-smb.control
index 98a23b4..fc8c316 100644
--- a/noncore/net/opie-smb/opie-smb.control
+++ b/noncore/net/opie-smb/opie-smb.control
@@ -1,11 +1,11 @@
Package: opie-smb
-Files: plugins/application/libopie-smb.so* bin/opie-smb pics/opie-smb apps/Applications/opie-smb.desktop
+Files: plugins/application/libopie-smb.so* bin/opie-smb bin/smbfind pics/opie-smb apps/Applications/opie-smb.desktop
Version: $QPE_VERSION$EXTRAVERSION
Architecture: arm
Arch: arm
Maintainer: Kurt Korbatits (support@midget.net.au)
Section: Network
Priority: optional
Description: Gui front end for samba utilities.
Source:
Depends: smbclient
diff --git a/noncore/net/opie-smb/qsmb.cpp b/noncore/net/opie-smb/qsmb.cpp
index 527ab38..880573b 100644
--- a/noncore/net/opie-smb/qsmb.cpp
+++ b/noncore/net/opie-smb/qsmb.cpp
@@ -61,129 +61,129 @@ void Qsmb::clear()
void Qsmb::scanClicked()
{
if (scanning) return;
pthread_create(&tpid, NULL, runit, (void *)this);
}
void Qsmb::DoItClicked()
{
if(! ListViewScan->selectedItem()) {
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;
char match[512], lmhosts[512];
QString cmd;
char result[256];
FILE *pipe, *pipe2;
LScan->setText("Scanning...");
qApp->processEvents();
cmd = "ifconfig |grep 'addr:'|awk '{print $2}'|awk 'BEGIN{FS=\":\"}{print $2}'|sed 's/\\.[0-9]*$//'|head -n1";
owarn << "cmd: " << cmd << oendl;
/* run findsmb & read output */
if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
TextViewOutput->append(result);
return;
}
while(fgets(result, 256, pipe) != NULL) {
strcpy( match, result);
match[5]='\0';
break;
}
owarn << "match: " << match << oendl;
- cmd = "/usr/bin/findsmb";
+ cmd = "smbfind";
owarn <<"cmd: " << cmd << oendl;
TextViewOutput->append(cmd);
snprintf(lmhosts, 512, "echo '127.0.0.1 localhost'>/etc/samba/lmhosts");
if ((pipe2 = popen(lmhosts, "r")) == NULL) {
snprintf(result, 256, "Error: Can't run %s", lmhosts);
//TextViewOutput->append(result);
return;
}
/* run command & read output */
if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
TextViewOutput->append(result);
return;
}
/* parse output and display in ListViewScan */
while(fgets(result, 256, pipe) != NULL) {
/* put result into TextViewOutput */
TextViewOutput->append(result);
if( strstr(result, match) != NULL ) {
char ip_addr[256], host[256], *ptr1;
strcpy( ip_addr, result);
ptr1 = strchr(ip_addr,' ');
strcpy( host, ptr1);
ip_addr[ptr1 - ip_addr]='\0';
for(i = 0; i < 256; i++) {
if(host[i]!=' ') {
strcpy( host, host + i);
break;
}
}
ptr1 = strchr(host,' ');
host[ptr1 - host] = '\0';
owarn << "add host: " << host << oendl;
CBHost->insertItem( host, -1);
snprintf( lmhosts, 512, "echo '%s %s'>>/etc/samba/lmhosts", ip_addr,host);
owarn << "lmhosts: " << lmhosts << oendl;
if ((pipe2 = popen(lmhosts, "r")) == NULL) {
snprintf(result, 256, "Error: Can't run %s", lmhosts);
return;
}
}
}
TextViewOutput->append("\n\n============================================\n");
LScan->setText("");
scanning = false;
}
void Qsmb::hostSelected(int index)
{
owarn << "hostSelected" << oendl;
int i;