summaryrefslogtreecommitdiff
path: root/noncore/net
Side-by-side diff
Diffstat (limited to 'noncore/net') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/daemon/source/daemon.cc28
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);
+ process_packets(&header,*&packet);
}
-#endif
- }
+
+ } /* while(1) */
+
close(sock);