-rw-r--r-- | noncore/net/wellenreiter/daemon/source/Makefile | 15 | ||||
-rw-r--r-- | noncore/net/wellenreiter/daemon/source/config.hh | 1 | ||||
-rw-r--r-- | noncore/net/wellenreiter/daemon/source/daemon.cc | 36 | ||||
-rw-r--r-- | noncore/net/wellenreiter/daemon/source/daemon.hh | 3 |
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 */ |