summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/daemon/source/daemon.cc
Side-by-side diff
Diffstat (limited to 'noncore/net/wellenreiter/daemon/source/daemon.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/daemon/source/daemon.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/noncore/net/wellenreiter/daemon/source/daemon.cc b/noncore/net/wellenreiter/daemon/source/daemon.cc
index 9c34115..7c3f8a8 100644
--- a/noncore/net/wellenreiter/daemon/source/daemon.cc
+++ b/noncore/net/wellenreiter/daemon/source/daemon.cc
@@ -13,4 +13,5 @@ int main(int argc, char **argv)
int sock, maxfd, retval, card_type;
- char buffer[128], sniffer_device[6];
+ char buffer[WL_SOCKBUF], sniffer_device[6];
struct pcap_pkthdr header;
+ struct sockaddr_in saddr;
pcap_t *handletopcap;
@@ -57,6 +58,6 @@ int main(int argc, char **argv)
{
- wl_loginfo("Interface %s does not work in the correct 802.11 raw mode",
+ wl_logerr("Interface %s does not work in the correct 802.11 raw mode",
sniffer_device);
pcap_close(handletopcap);
- return 0;
+ exit(-1);;
}
@@ -66,3 +67,3 @@ int main(int argc, char **argv)
/* Setup socket for incoming commands */
- if((sock=wl_setupsock(DAEMONADDR, DAEMONPORT)) < 0)
+ if((sock=wl_setupsock(DAEMONADDR, DAEMONPORT, saddr)) < 0)
{
@@ -82,3 +83,5 @@ int main(int argc, char **argv)
FD_SET(pcap_fileno(handletopcap), &rset);
- maxfd=sock + pcap_fileno(handletopcap) + 1;
+
+ /* socket or pcap handle bigger? Will be cleaned up, have to check pcap */
+ maxfd = (sock > pcap_fileno(handletopcap) ? sock : pcap_fileno(handletopcap)) + 1;
@@ -94,3 +97,3 @@ int main(int argc, char **argv)
/* Receive data from socket */
- if((retval=wl_recv(&sock, buffer, sizeof(buffer))) < 0)
+ if((retval=wl_recv(&sock, saddr, buffer, sizeof(buffer))) < 0)
{