daily work
This commit is contained in:
parent
ba91546d88
commit
b4478bbc1e
|
@ -0,0 +1,4 @@
|
|||
*.o
|
||||
*.d
|
||||
hlswmaster
|
||||
hlswmaster.log
|
23
config.cpp
23
config.cpp
|
@ -5,6 +5,8 @@
|
|||
#include "config.h"
|
||||
#include "logging.h"
|
||||
|
||||
#define BUFSIZE 1024
|
||||
|
||||
/* ------ */
|
||||
|
||||
Config::Tupel::Tupel(const char* name_, const char* value_)
|
||||
|
@ -48,11 +50,11 @@ bool Config::Section::addTupel(const char* name, const char* value)
|
|||
void Config::Section::show() const
|
||||
{
|
||||
Iterator<Tupel>* it = tupelList.createIterator();
|
||||
LogSystem::log(LOG_DEBUG, "[%s]", name);
|
||||
LogSystem::log(LOG_INFO, "[%s]", name);
|
||||
|
||||
while (it->hasNext()) {
|
||||
Tupel* t = it->next();
|
||||
LogSystem::log(LOG_DEBUG, " %s = %s", t->name, t->value);
|
||||
LogSystem::log(LOG_INFO, " %s = %s", t->name, t->value);
|
||||
}
|
||||
|
||||
delete it;
|
||||
|
@ -97,8 +99,9 @@ bool Config::parseFile(const char* name)
|
|||
char *row, *tok, *tok2;
|
||||
bool ret = true;
|
||||
|
||||
if (!(row = (char*)malloc(1024))) {
|
||||
LogSystem::log(LOG_CRIT, "config_parse(): malloc()");
|
||||
row = new char[BUFSIZE];
|
||||
if (!row) {
|
||||
LogSystem::log(LOG_ERROR, "config_parse(): out of memory()");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -107,7 +110,7 @@ bool Config::parseFile(const char* name)
|
|||
return false;
|
||||
}
|
||||
|
||||
while (fgets(row, 1024, fz)) {
|
||||
while (fgets(row, BUFSIZE, fz)) {
|
||||
i++;
|
||||
|
||||
/* kommentar oder leere zeile */
|
||||
|
@ -119,7 +122,7 @@ bool Config::parseFile(const char* name)
|
|||
tok = strtok(row +1, " ]\n");
|
||||
section = addSection(tok);
|
||||
if (!section) {
|
||||
LogSystem::log(LOG_WARNING, "config_parse(): invalid section in row %d", i);
|
||||
LogSystem::log(LOG_WARN, "config_parse(): invalid section in row %d", i);
|
||||
ret = false;
|
||||
break;
|
||||
}
|
||||
|
@ -127,7 +130,7 @@ bool Config::parseFile(const char* name)
|
|||
|
||||
/* option, aber es gab noch keine section */
|
||||
} else if (!section) {
|
||||
LogSystem::log(LOG_WARNING, "config_parse(): missing section in row %d", i);
|
||||
LogSystem::log(LOG_WARN, "config_parse(): missing section in row %d", i);
|
||||
ret = false;
|
||||
break;
|
||||
}
|
||||
|
@ -135,19 +138,19 @@ bool Config::parseFile(const char* name)
|
|||
/* option */
|
||||
if ((tok = strtok(row, " \n")) && (tok2 = strtok(NULL, " \n"))) {
|
||||
if (!section->addTupel(tok, tok2))
|
||||
LogSystem::log(LOG_WARNING, "config_parse(): invalid row %d", i);
|
||||
LogSystem::log(LOG_WARN, "config_parse(): invalid row %d", i);
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fz);
|
||||
free(row);
|
||||
delete row;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Config::show() const
|
||||
{
|
||||
LogSystem::log(LOG_DEBUG, "Config Dump:");
|
||||
LogSystem::log(LOG_INFO, "Config Dump:");
|
||||
Iterator<Section>* it = sectionList.createIterator();
|
||||
while (it->hasNext())
|
||||
it->next()->show();
|
||||
|
|
|
@ -24,7 +24,7 @@ int GameParser::execute(void* arg)
|
|||
case PKT_REJECT:
|
||||
char buf[64];
|
||||
pkt->show(buf, sizeof(buf));
|
||||
LogSystem::log(LOG_DEBUG, "unknown Packet: %s", buf);
|
||||
LogSystem::log(LOG_NOTICE, "unknown Packet: %s", buf);
|
||||
|
||||
case PKT_ACCEPT:
|
||||
delete pkt;
|
||||
|
|
|
@ -27,7 +27,7 @@ GameScanner::~GameScanner()
|
|||
int GameScanner::execute(void* arg)
|
||||
{
|
||||
while (1) {
|
||||
int fd = msock->getRecvSocket();
|
||||
int fd = msock->waitOnSocket();
|
||||
NetPkt* pkt = NetPkt::createFromSocket(fd);
|
||||
|
||||
if (pkt != NULL) {
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
|
||||
#define DEFAULT_CONFIG "hlswmaster.conf"
|
||||
#define DEFAULT_LOGFILE "hlswmaster.log"
|
||||
#define DEFAULT_LOGPRIO LOG_WARN
|
||||
|
||||
static struct option opts[] = {
|
||||
{"config", 1, 0, 'c'},
|
||||
|
@ -25,7 +26,7 @@ static struct option opts[] = {
|
|||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
LogSystem::init(LOG_DEBUG, new StdErrLog());
|
||||
LogSystem::init(DEFAULT_LOGPRIO, new StdErrLog());
|
||||
|
||||
int arg = 0, code = 0, debug = 0;
|
||||
char *configfile = DEFAULT_CONFIG;
|
||||
|
@ -64,8 +65,9 @@ int main(int argc, char *argv[])
|
|||
conf.parseFile(configfile);
|
||||
|
||||
// char* logfile = conf.getString("global", "logfile", DEFAULT_LOGFILE);
|
||||
// int logprio = conf.getInteger("global", "logprio", LOG_NOTICE);
|
||||
// int logprio = conf.getInteger("global", "logprio", DEFAULT_LOGPRIO);
|
||||
// LogSystem::init(logprio, new FileLog(logfile));
|
||||
LogSystem::init(LOG_DEBUG, new StdErrLog());
|
||||
|
||||
LogSystem::log(LOG_EVERYTIME, "hlswmaster-ng startup");
|
||||
// conf.show();
|
||||
|
|
|
@ -31,7 +31,7 @@ HlswServer::HlswServer(Config& conf, GameList& slist)
|
|||
inet_aton(ip, &dst.sin_addr);
|
||||
|
||||
if (bind(sock, (struct sockaddr *)&dst, sizeof(dst)) < 0) {
|
||||
LogSystem::log(LOG_WARNING, "HlswServer(): bind()");
|
||||
LogSystem::log(LOG_ERROR, "HlswServer(): bind()");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -55,13 +55,13 @@ int HlswServer::execute(void* arg)
|
|||
len = sizeof(src);
|
||||
ret = recvfrom(sock, buf, sizeof(buf), 0, (struct sockaddr *)&src, &len);
|
||||
if (ret != HLSW_HEADER_LEN) {
|
||||
LogSystem::log(LOG_WARNING, "HlswServer: invalid packet");
|
||||
LogSystem::log(LOG_NOTICE, "HlswServer: invalid packet");
|
||||
continue;
|
||||
}
|
||||
|
||||
/* testen ob es sich um ein HLSW anforderung handelt */
|
||||
if (memcmp(buf, HLSW_HEADER, HLSW_HEADER_LEN)) {
|
||||
LogSystem::log(LOG_WARNING, "HlswServer: not a hlsw packet");
|
||||
LogSystem::log(LOG_NOTICE, "HlswServer: not a hlsw packet");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
// normal "debug" (config, recv. packets)
|
||||
#define LOG_INFO 4
|
||||
|
||||
// interesting stuff
|
||||
// interesting stuff (unknown packets)
|
||||
#define LOG_NOTICE 3
|
||||
|
||||
// something is not right, but programm is still working (config errors)
|
||||
|
|
|
@ -13,7 +13,7 @@ ModuleList::~ModuleList()
|
|||
|
||||
void ModuleList::reg(Module* mod)
|
||||
{
|
||||
LogSystem::log(LOG_INFO, "Loading Module '%s'", mod->getName());
|
||||
LogSystem::log(LOG_NOTICE, "Loading Module '%s'", mod->getName());
|
||||
mlist.addTail(mod);
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ bool MultiSock::Socket::bindToDevice(const char* name)
|
|||
int ret = setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, devname, sizeof(devname));
|
||||
|
||||
if (ret < 0) {
|
||||
LogSystem::log(LOG_WARNING, "Socket: setsockopt(SO_BINDTODEVICE) %s", devname);
|
||||
LogSystem::log(LOG_NOTICE, "Socket: setsockopt(SO_BINDTODEVICE) %s", devname);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ bool MultiSock::Socket::bindToPort(int port)
|
|||
strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name));
|
||||
|
||||
if (ioctl(fd, SIOCGIFADDR, &ifr) != 0) {
|
||||
LogSystem::log(LOG_WARNING, "Socket: ioctl(SIOCGIFADDR) %s", devname);
|
||||
LogSystem::log(LOG_WARN, "Socket: ioctl(SIOCGIFADDR) %s", devname);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -58,13 +58,13 @@ bool MultiSock::Socket::bindToPort(int port)
|
|||
addr.sin_port = htons(port);
|
||||
|
||||
if (bind(fd, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
|
||||
LogSystem::log(LOG_WARNING, "Socket: bind() %s", devname);
|
||||
LogSystem::log(LOG_WARN, "Socket: bind() %s", devname);
|
||||
return false;
|
||||
}
|
||||
|
||||
int bcast = 1;
|
||||
if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &bcast, sizeof(bcast))) {
|
||||
LogSystem::log(LOG_WARNING, "Socket: setsockopt(SO_BROADCAST) %s", devname);
|
||||
LogSystem::log(LOG_WARN, "Socket: setsockopt(SO_BROADCAST) %s", devname);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ MultiSock::Socket* MultiSock::Socket::createSocket(const char* name, int port)
|
|||
strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
|
||||
|
||||
if (ioctl(sock->fd, SIOCGIFFLAGS, &ifr) != 0) {
|
||||
LogSystem::log(LOG_WARNING, "Socket: ioctl(SIOCGIFFLAGS) %s", name);
|
||||
LogSystem::log(LOG_WARN, "Socket: ioctl(SIOCGIFFLAGS) %s", name);
|
||||
delete sock;
|
||||
return NULL;
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ MultiSock::Socket* MultiSock::Socket::createSocket(const char* name, int port)
|
|||
|
||||
MultiSock::MultiSock(Config& conf)
|
||||
{
|
||||
char* buf = (char*)malloc(BUFSIZE);
|
||||
char* buf = new char [BUFSIZE];
|
||||
if (buf == NULL) {
|
||||
LogSystem::log(LOG_CRIT, "MultiSock(): out of memory");
|
||||
return;
|
||||
|
@ -150,7 +150,7 @@ MultiSock::MultiSock(Config& conf)
|
|||
}
|
||||
|
||||
fclose(fp);
|
||||
free(buf);
|
||||
delete buf;
|
||||
}
|
||||
|
||||
MultiSock::~MultiSock()
|
||||
|
@ -160,7 +160,7 @@ MultiSock::~MultiSock()
|
|||
}
|
||||
|
||||
|
||||
int MultiSock::getRecvSocket()
|
||||
int MultiSock::waitOnSocket()
|
||||
{
|
||||
fd_set fdcpy;
|
||||
|
||||
|
@ -179,7 +179,7 @@ int MultiSock::getRecvSocket()
|
|||
}
|
||||
delete it;
|
||||
|
||||
LogSystem::log(LOG_ERROR, "getRecvSocket(): select()");
|
||||
LogSystem::log(LOG_WARN, "getRecvSocket(): select()");
|
||||
}
|
||||
|
||||
return -1;
|
||||
|
|
|
@ -13,7 +13,7 @@ public:
|
|||
~MultiSock();
|
||||
|
||||
int send(struct in_addr *dstip, int dport, char* data, int size);
|
||||
int getRecvSocket();
|
||||
int waitOnSocket();
|
||||
|
||||
protected:
|
||||
MultiSock(const MultiSock& x);
|
||||
|
|
|
@ -15,14 +15,12 @@
|
|||
NetPkt::NetPkt(int size)
|
||||
:size(size)
|
||||
{
|
||||
LogSystem::log(LOG_DEBUG, "NetPkt()");
|
||||
data = (char*)malloc(size);
|
||||
data = new char[size];
|
||||
}
|
||||
|
||||
NetPkt::~NetPkt()
|
||||
{
|
||||
free(data);
|
||||
LogSystem::log(LOG_DEBUG, "~NetPkt()");
|
||||
delete data;
|
||||
}
|
||||
|
||||
int NetPkt::readFromSocket(int fd)
|
||||
|
@ -44,7 +42,7 @@ NetPkt* NetPkt::createFromSocket(int fd)
|
|||
int recvsize = 0;
|
||||
|
||||
if (ioctl(fd, FIONREAD, &recvsize) == -1) {
|
||||
LogSystem::log(LOG_WARNING, "NetPkt::createFromSocket()");
|
||||
LogSystem::log(LOG_ERROR, "NetPkt::createFromSocket()");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue