summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/daemon/source/Makefile15
-rw-r--r--noncore/net/wellenreiter/daemon/source/config.hh1
-rw-r--r--noncore/net/wellenreiter/daemon/source/daemon.cc36
-rw-r--r--noncore/net/wellenreiter/daemon/source/daemon.hh3
4 files changed, 27 insertions, 28 deletions
diff --git a/noncore/net/wellenreiter/daemon/source/Makefile b/noncore/net/wellenreiter/daemon/source/Makefile
index dc459af..f6efa3d 100644
--- a/noncore/net/wellenreiter/daemon/source/Makefile
+++ b/noncore/net/wellenreiter/daemon/source/Makefile
@@ -1,31 +1,28 @@
# $Id$
CPP = g++
-CFLAGS =
OPTIMFLAGS = -g
WARNFLAGS = -Wall -pedantic -DDEBUG
LDFLAGS =
-LIBS = -lpcap
-OBJ = daemon.o log.o sendgui.o getgui.o sniffer.o
+LIBS = -lpcap ../../libwellenreiter/source/libwellenreiter.a
+OBJ = daemon.o
.SUFFIXES:
.PHONY: all wellenreiterd clean distclean realclean
%.o : %.cc
- $(CPP) $(CFLAGS) $(WARNFLAGS) $(OPTIMFLAGS) -c $< -o $@
+ $(CPP) $(WARNFLAGS) $(OPTIMFLAGS) -c $< -o $@
all: wellenreiterd
wellenreiterd: $(OBJ)
- $(CPP) $(OPTIMFLAGS) $(WARNFLAGS) $(CFLAGS) $(OBJ) $(LDFLAGS) $(LIBS) -o $@
+ $(CPP) $(OPTIMFLAGS) $(WARNFLAGS) $(OBJ) $(LDFLAGS) $(LIBS) -o $@
@echo Build wellenreiterd
clean distclean realclean:
@rm -rf wellenreiterd *~ *.o
@echo All dependent files have been removed.
-wellenreiterd.o: config.hh
-serve.o: config.hh
-log.o: config.hh
-sendgui.o: config.hh
+daemon.o: config.hh
+
diff --git a/noncore/net/wellenreiter/daemon/source/config.hh b/noncore/net/wellenreiter/daemon/source/config.hh
index b124f41..b54ff46 100644
--- a/noncore/net/wellenreiter/daemon/source/config.hh
+++ b/noncore/net/wellenreiter/daemon/source/config.hh
@@ -1,22 +1,23 @@
/*
*
* Global configuration for wellenreiter
*
* $Id$
*
* Written by Martin J. Muench <mjm@codito.de>
*
*/
#ifndef CONFIG_HH
#define CONFIG_HH
#define PROGNAME "wellenreiter" /* Name of program (for syslog et.al.) */
#define VERSION "0.2" /* Version of wellenreiter */
+#define DAEMONADDR "127.0.0.1"
#define DAEMONPORT 37772 /* Port of Daemon */
#define GUIADDR "127.0.0.1" /* Adress of GUI, later specified in configfile */
#define GUIPORT 37773 /* Port of GUI, " " */
#endif /* CONFIG_HH */
diff --git a/noncore/net/wellenreiter/daemon/source/daemon.cc b/noncore/net/wellenreiter/daemon/source/daemon.cc
index 8724efa..b3a37b6 100644
--- a/noncore/net/wellenreiter/daemon/source/daemon.cc
+++ b/noncore/net/wellenreiter/daemon/source/daemon.cc
@@ -1,83 +1,81 @@
/*
* Startup functions of wellenreiter
*
* $Id$
*/
#include "config.hh"
#include "daemon.hh"
-#include "log.hh"
-#include "sendgui.hh"
-#include "getgui.hh"
/* Main function of wellenreiterd */
int main(int argc, char **argv)
{
- int sock, maxfd;
+ int sock, maxfd, guiport=GUIPORT;
+ char guihost[]="127.0.0.1";
struct sockaddr_in *cliaddr;
socklen_t len=sizeof(struct sockaddr);
char buffer[128];
FILE *fp=stdin; /* Will be replaced with sniffer */
fd_set rset;
fprintf(stderr, "wellenreiterd %s\n\n", VERSION);
/* Setup socket for incoming commands */
- if(!commsock(&sock))
- return 0;
-
- log_info("Set up socket '%d' for GUI communication", sock);
+ if((sock=commsock(DAEMONADDR, DAEMONPORT)) < 0)
+ {
+ wl_logerr("Cannot setup socket");
+ exit(-1);
+ }
+ wl_loginfo("Set up socket '%d' for GUI communication", sock);
FD_ZERO(&rset);
/* Start main loop */
- log_info("Starting main loop");
+ wl_loginfo("Starting main loop");
while(1)
{
FD_SET(sock, &rset);
FD_SET(fileno(fp), &rset);
maxfd=sock+fileno(fp)+1;
if(select(maxfd, &rset, NULL, NULL, NULL) < 0)
{
- log_err("Error calling select: %s", strerror(errno));
+ wl_logerr("Error calling select: %s", strerror(errno));
break;
}
/* Got data on local socket from GUI */
if(FD_ISSET(sock, &rset))
{
memset(buffer, 0, sizeof(buffer));
if(recvfrom(sock, buffer, sizeof(buffer)-1, 0, (struct sockaddr *)cliaddr, &len) < 0)
{
- log_err("Cannot read from socket: %s", strerror(errno));
+ wl_logerr("Cannot read from socket: %s", strerror(errno));
break;
}
- log_info("Received command from '%s': %s", inet_ntoa(cliaddr->sin_addr), buffer);
+ wl_loginfo("Received command from '%s': %s", inet_ntoa(cliaddr->sin_addr), buffer);
/* Pass string to analyze function */
- commstring(buffer);
+ // sendcomm(guihost, guiport, buffer);
}
/* Will be replaced with sniffer ... later */
if(FD_ISSET(fileno(fp), &rset))
{
memset(buffer, 0, sizeof(buffer));
if(fgets(buffer, sizeof(buffer) - 1, fp) == NULL)
{
- log_err("Cannot read from stdin: %s", strerror(errno));
+ wl_logerr("Cannot read from stdin: %s", strerror(errno));
break;
}
- log_info("Sending command to '%s': %s", GUIADDR, buffer);
+ wl_loginfo("Sending command to '%s': %s", GUIADDR, buffer);
/* Send string to GUI */
- sendgui("%d: %s", 1234, buffer);
+ sendcomm(guihost, guiport, "%d: %s", 1234, buffer);
}
-
}
-
close(sock);
- return 0;
+ exit(0);
}
diff --git a/noncore/net/wellenreiter/daemon/source/daemon.hh b/noncore/net/wellenreiter/daemon/source/daemon.hh
index 6776d37..a9a97ac 100644
--- a/noncore/net/wellenreiter/daemon/source/daemon.hh
+++ b/noncore/net/wellenreiter/daemon/source/daemon.hh
@@ -1,16 +1,19 @@
/* $Id$ */
#ifndef DAEMON_HH
#define DAEMON_HH
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <errno.h>
+#include "../../libwellenreiter/source/sock.hh"
+#include "../../libwellenreiter/source/log.hh"
+
#endif /* DAEMON_HH */