author | mjm <mjm> | 2002-11-27 22:31:50 (UTC) |
---|---|---|
committer | mjm <mjm> | 2002-11-27 22:31:50 (UTC) |
commit | b4d01b67746887223de78e950689c385a5960ad9 (patch) (side-by-side diff) | |
tree | 397440c622c73a56bf4671d461bb50cca5e75ab5 | |
parent | 31a16f8dc73d79178a4840d9e7aa4a07bfd65a26 (diff) | |
download | opie-b4d01b67746887223de78e950689c385a5960ad9.zip opie-b4d01b67746887223de78e950689c385a5960ad9.tar.gz opie-b4d01b67746887223de78e950689c385a5960ad9.tar.bz2 |
updated pcap stuff
-rw-r--r-- | noncore/net/wellenreiter/daemon/source/daemon.cc | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/noncore/net/wellenreiter/daemon/source/daemon.cc b/noncore/net/wellenreiter/daemon/source/daemon.cc index 75b2222..b836a31 100644 --- a/noncore/net/wellenreiter/daemon/source/daemon.cc +++ b/noncore/net/wellenreiter/daemon/source/daemon.cc @@ -14,3 +14,5 @@ int main(int argc, char **argv) char buffer[128]; + struct pcap_pkthdr header; pcap_t *handletopcap; + const unsigned char *packet; @@ -20,3 +22,2 @@ int main(int argc, char **argv) - /* will be replaced soon, just for max because max is lazy :-) */ if(!card_into_monitormode(handletopcap, SNIFFER_DEVICE, CARD_TYPE_NG)) @@ -44,5 +45,5 @@ int main(int argc, char **argv) FD_SET(sock, &rset); - // FD_SET(pcap_fileno(handletopcap), &rset); - // maxfd=sock + pcap_fileno(handletopcap) + 1; - maxfd=sock + 1; + FD_SET(pcap_fileno(handletopcap), &rset); + maxfd=sock + pcap_fileno(handletopcap) + 1; + if(select(maxfd, &rset, NULL, NULL, NULL) < 0) @@ -56,3 +57,3 @@ int main(int argc, char **argv) { - + /* Receive data from socket */ if((retval=recvcomm(&sock, buffer, sizeof(buffer))) < 0) @@ -64,2 +65,3 @@ int main(int argc, char **argv) { + /* check type of packet and start function according to it */ switch(retval) @@ -67,16 +69,10 @@ int main(int argc, char **argv) case 98: - { wl_loginfo("Received STARTSNIFF command"); break; - }; case 99: - { wl_loginfo("Received STOPSNIFF command"); break; - }; default: - { wl_logerr("Received unknown command: %d", retval); break; - }; } @@ -85,4 +81,3 @@ int main(int argc, char **argv) -#if 0 - /* Pcap stuff */ + /* Check pcap lib for packets */ if(FD_ISSET(pcap_fileno(handletopcap), &rset)) @@ -94,6 +89,7 @@ int main(int argc, char **argv) /* process the packet */ - process_packets(NULL,&header,*&packet); - } -#endif + process_packets(&header,*&packet); } + + } /* while(1) */ + close(sock); |