daily work

This commit is contained in:
Olaf Rempel 2006-02-05 12:00:47 +01:00 committed by
parent ba91546d88
commit b4478bbc1e
11 changed files with 41 additions and 34 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.o
*.d
hlswmaster
hlswmaster.log

View File

@ -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();

View File

@ -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;

View File

@ -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) {

View File

@ -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();

View File

@ -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;
}

View File

@ -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)

View File

@ -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);
}

View File

@ -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;

View File

@ -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);

View File

@ -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;
}