summaryrefslogtreecommitdiff
path: root/noncore/net
authormjm <mjm>2002-11-27 22:31:50 (UTC)
committer mjm <mjm>2002-11-27 22:31:50 (UTC)
commitb4d01b67746887223de78e950689c385a5960ad9 (patch) (unidiff)
tree397440c622c73a56bf4671d461bb50cca5e75ab5 /noncore/net
parent31a16f8dc73d79178a4840d9e7aa4a07bfd65a26 (diff)
downloadopie-b4d01b67746887223de78e950689c385a5960ad9.zip
opie-b4d01b67746887223de78e950689c385a5960ad9.tar.gz
opie-b4d01b67746887223de78e950689c385a5960ad9.tar.bz2
updated pcap stuff
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
@@ -12,13 +12,14 @@ int main(int argc, char **argv)
12{ 12{
13 int sock, maxfd, retval; 13 int sock, maxfd, retval;
14 char buffer[128]; 14 char buffer[128];
15 struct pcap_pkthdr header;
15 pcap_t *handletopcap; 16 pcap_t *handletopcap;
17 const unsigned char *packet;
16 18
17 fd_set rset; 19 fd_set rset;
18 20
19 fprintf(stderr, "wellenreiterd %s\n\n", VERSION); 21 fprintf(stderr, "wellenreiterd %s\n\n", VERSION);
20 22
21 /* will be replaced soon, just for max because max is lazy :-) */
22 if(!card_into_monitormode(handletopcap, SNIFFER_DEVICE, CARD_TYPE_NG)) 23 if(!card_into_monitormode(handletopcap, SNIFFER_DEVICE, CARD_TYPE_NG))
23 { 24 {
24 wl_logerr("Cannot set card into mon mode, aborting"); 25 wl_logerr("Cannot set card into mon mode, aborting");
@@ -42,9 +43,9 @@ int main(int argc, char **argv)
42 { 43 {
43 44
44 FD_SET(sock, &rset); 45 FD_SET(sock, &rset);
45 // FD_SET(pcap_fileno(handletopcap), &rset); 46 FD_SET(pcap_fileno(handletopcap), &rset);
46 // maxfd=sock + pcap_fileno(handletopcap) + 1; 47 maxfd=sock + pcap_fileno(handletopcap) + 1;
47 maxfd=sock + 1; 48
48 if(select(maxfd, &rset, NULL, NULL, NULL) < 0) 49 if(select(maxfd, &rset, NULL, NULL, NULL) < 0)
49 { 50 {
50 wl_logerr("Error calling select: %s", strerror(errno)); 51 wl_logerr("Error calling select: %s", strerror(errno));
@@ -54,7 +55,7 @@ int main(int argc, char **argv)
54 /* Got data on local socket from GUI */ 55 /* Got data on local socket from GUI */
55 if(FD_ISSET(sock, &rset)) 56 if(FD_ISSET(sock, &rset))
56 { 57 {
57 58 /* Receive data from socket */
58 if((retval=recvcomm(&sock, buffer, sizeof(buffer))) < 0) 59 if((retval=recvcomm(&sock, buffer, sizeof(buffer))) < 0)
59 { 60 {
60 wl_logerr("Error trying to read: %s", strerror(errno)); 61 wl_logerr("Error trying to read: %s", strerror(errno));
@@ -62,29 +63,23 @@ int main(int argc, char **argv)
62 } 63 }
63 else 64 else
64 { 65 {
66 /* check type of packet and start function according to it */
65 switch(retval) 67 switch(retval)
66 { 68 {
67 case 98: 69 case 98:
68 {
69 wl_loginfo("Received STARTSNIFF command"); 70 wl_loginfo("Received STARTSNIFF command");
70 break; 71 break;
71 };
72 case 99: 72 case 99:
73 {
74 wl_loginfo("Received STOPSNIFF command"); 73 wl_loginfo("Received STOPSNIFF command");
75 break; 74 break;
76 };
77 default: 75 default:
78 {
79 wl_logerr("Received unknown command: %d", retval); 76 wl_logerr("Received unknown command: %d", retval);
80 break; 77 break;
81 };
82 } 78 }
83 } 79 }
84 } /* FD_ISSET */ 80 } /* FD_ISSET */
85 81
86#if 0 82 /* Check pcap lib for packets */
87 /* Pcap stuff */
88 if(FD_ISSET(pcap_fileno(handletopcap), &rset)) 83 if(FD_ISSET(pcap_fileno(handletopcap), &rset))
89 { 84 {
90 85
@@ -92,10 +87,11 @@ int main(int argc, char **argv)
92 packet = pcap_next(handletopcap, &header); 87 packet = pcap_next(handletopcap, &header);
93 88
94 /* process the packet */ 89 /* process the packet */
95 process_packets(NULL,&header,*&packet); 90 process_packets(&header,*&packet);
96 } 91 }
97#endif 92
98 } 93 } /* while(1) */
94
99 close(sock); 95 close(sock);
100 exit(0); 96 exit(0);
101} 97}