From: <arn...@us...> - 2007-12-09 19:40:25
|
Revision: 101 http://adchpp.svn.sourceforge.net/adchpp/?rev=101&view=rev Author: arnetheduck Date: 2007-12-09 11:40:15 -0800 (Sun, 09 Dec 2007) Log Message: ----------- Simplify logmanager, more lua fixes Modified Paths: -------------- adchpp/trunk/adchpp/LogManager.cpp adchpp/trunk/adchpp/LogManager.h adchpp/trunk/adchpp/PluginManager.cpp adchpp/trunk/adchpp/SettingsManager.cpp adchpp/trunk/adchpp/SocketManager.cpp adchpp/trunk/plugins/Bloom/src/BloomManager.cpp adchpp/trunk/plugins/Script/examples/access.lua adchpp/trunk/plugins/Script/src/LuaScript.cpp adchpp/trunk/plugins/Script/src/ScriptManager.cpp adchpp/trunk/swig/adchpp.i adchpp/trunk/swig/lua.i adchpp/trunk/swig/python.i adchpp/trunk/unix/main.cpp adchpp/trunk/unix/po/adchppd.pot adchpp/trunk/windows/adchppdw.cpp Modified: adchpp/trunk/adchpp/LogManager.cpp =================================================================== --- adchpp/trunk/adchpp/LogManager.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/adchpp/LogManager.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -29,8 +29,7 @@ LogManager* LogManager::instance = 0; -void LogManager::logDateTime(const string& area, const string& msg) throw() -{ +void LogManager::log(const string& area, const string& msg) throw() { char buf[64]; time_t now = time(NULL); size_t s = strftime(buf, 64, "%Y-%m-%d %H:%M:%S: ", localtime(&now)); @@ -41,7 +40,6 @@ dolog(tmp); } - void LogManager::dolog(const string& msg) throw() { dcdebug("Logging: %s\n", msg.c_str()); if(SETTING(LOG)) { Modified: adchpp/trunk/adchpp/LogManager.h =================================================================== --- adchpp/trunk/adchpp/LogManager.h 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/adchpp/LogManager.h 2007-12-09 19:40:15 UTC (rev 101) @@ -35,23 +35,13 @@ * @param area Name of the module that generated the error. * @param msg Message to log. */ - void log(const std::string& area, const std::string& msg) throw() { - std::string tmp(area); - tmp += ": "; - tmp += msg; - dolog(tmp); - } + ADCHPP_DLL void log(const std::string& area, const std::string& msg) throw(); - /** - * Same as log, but prepends the current date and time. - * @see log - */ - ADCHPP_DLL void logDateTime(const std::string& area, const std::string& msg) throw(); private: friend class Singleton<LogManager>; ADCHPP_DLL static LogManager* instance; FastMutex mtx; - + LogManager() throw() { } virtual ~LogManager() throw() { } @@ -59,7 +49,6 @@ }; #define LOG(area, msg) LogManager::getInstance()->log(area, msg) -#define LOGDT(area, msg) LogManager::getInstance()->logDateTime(area, msg) } Modified: adchpp/trunk/adchpp/PluginManager.cpp =================================================================== --- adchpp/trunk/adchpp/PluginManager.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/adchpp/PluginManager.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -86,7 +86,7 @@ #endif if(h == NULL) { - LOGDT(className, "Failed to load " + Util::toAcp(file) + ": " + PM_GET_ERROR_STRING()); + LOG(className, "Failed to load " + Util::toAcp(file) + ": " + PM_GET_ERROR_STRING()); return false; } @@ -103,7 +103,7 @@ h = PM_LOAD_LIBRARY(file.c_str()); } if(h == NULL) { - LOGDT(className, "Failed to load " + Util::toAcp(file) + ": " + PM_GET_ERROR_STRING()); + LOG(className, "Failed to load " + Util::toAcp(file) + ": " + PM_GET_ERROR_STRING()); return false; } #endif @@ -113,21 +113,21 @@ if(l != NULL && u != NULL) { int i = l(); if(i != 0) { - LOGDT(className, "Failed to load plugin " + Util::toAcp(file) + " (Error " + Util::toString(i) + ")"); + LOG(className, "Failed to load plugin " + Util::toAcp(file) + " (Error " + Util::toString(i) + ")"); } else { // Wonderful, we have a plugin... active.push_back(PluginInfo(h, v, l, u)); - LOGDT(className, Util::toAcp(file) + " loaded"); + LOG(className, Util::toAcp(file) + " loaded"); return true; } } else { - LOGDT(className, Util::toAcp(file) + " is not a valid ADCH++ plugin"); + LOG(className, Util::toAcp(file) + " is not a valid ADCH++ plugin"); } } else { - LOGDT(className, Util::toAcp(file) + " is for another version of ADCH++ (" + Util::toString(ver) + "), please get the correct one from the author"); + LOG(className, Util::toAcp(file) + " is for another version of ADCH++ (" + Util::toString(ver) + "), please get the correct one from the author"); } } else { - LOGDT(className, Util::toAcp(file) + " is not a valid ADCH++ plugin"); + LOG(className, Util::toAcp(file) + " is not a valid ADCH++ plugin"); } PM_UNLOAD_LIBRARY(h); Modified: adchpp/trunk/adchpp/SettingsManager.cpp =================================================================== --- adchpp/trunk/adchpp/SettingsManager.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/adchpp/SettingsManager.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -105,7 +105,7 @@ if(xml.findChild(attr)) set(StrSetting(i), xml.getChildData()); else - LOGDT(className, attr + " missing from settings, using default"); + LOG(className, attr + " missing from settings, using default"); xml.resetCurrentChild(); } for(i=INT_FIRST; i<INT_LAST; i++) { @@ -115,7 +115,7 @@ if(xml.findChild(attr)) set(IntSetting(i), Util::toInt(xml.getChildData())); else - LOGDT(className, attr + " missing from settings, using default"); + LOG(className, attr + " missing from settings, using default"); xml.resetCurrentChild(); } Modified: adchpp/trunk/adchpp/SocketManager.cpp =================================================================== --- adchpp/trunk/adchpp/SocketManager.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/adchpp/SocketManager.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -172,7 +172,7 @@ *overlapped = MSOverlapped(MSOverlapped::SHUTDOWN); if(!poller.post(overlapped)) { - LOGDT(SocketManager::className, "Fatal error while posting shutdown to completion port: " + Util::translateError(::GetLastError())); + LOG(SocketManager::className, "Fatal error while posting shutdown to completion port: " + Util::translateError(::GetLastError())); } join(); } @@ -189,7 +189,7 @@ private: bool init() { if(!poller.init()) { - LOGDT(SocketManager::className, "Unable to start poller: " + Util::translateError(socket_errno)); + LOG(SocketManager::className, "Unable to start poller: " + Util::translateError(socket_errno)); return false; } @@ -197,23 +197,23 @@ srv.listen(SETTING(SERVER_PORT)); srv.setBlocking(false); } catch(const SocketException& e) { - LOGDT(SocketManager::className, "Unable to create server socket: " + e.getError()); + LOG(SocketManager::className, "Unable to create server socket: " + e.getError()); return false; } if(!poller.associate(srv.getSocket())) { - LOGDT(SocketManager::className, "Unable to associate server socket with poller: " + Util::translateError(socket_errno)); + LOG(SocketManager::className, "Unable to associate server socket with poller: " + Util::translateError(socket_errno)); return false; } #ifndef _WIN32 if(socketpair(AF_UNIX, SOCK_STREAM, 0, event) == -1) { - LOGDT(SocketManager::className, "Unable to create event socketpair: " + Util::translateError(errno)); + LOG(SocketManager::className, "Unable to create event socketpair: " + Util::translateError(errno)); return false; } if(!poller.associate(event[1])) { - LOGDT(SocketManager::className, "Unable to associate event: " + Util::translateError(errno)); + LOG(SocketManager::className, "Unable to associate event: " + Util::translateError(errno)); return false; } #endif @@ -221,7 +221,7 @@ } virtual int run() { - LOGDT(SocketManager::className, "Writer starting"); + LOG(SocketManager::className, "Writer starting"); if(!init()) { return 0; } @@ -242,7 +242,7 @@ } } - LOGDT(SocketManager::className, "Writer shutting down"); + LOG(SocketManager::className, "Writer shutting down"); return 0; } @@ -257,7 +257,7 @@ int error = ::GetLastError(); if(overlapped == 0) { if(error != WAIT_TIMEOUT) { - LOGDT(SocketManager::className, "Fatal error while getting status from completion port: " + Util::translateError(error)); + LOG(SocketManager::className, "Fatal error while getting status from completion port: " + Util::translateError(error)); return; } } else if(overlapped->type == MSOverlapped::ACCEPT_DONE) { @@ -310,12 +310,12 @@ try { ms->create(); } catch (const SocketException& e) { - LOGDT(SocketManager::className, "Unable to create socket: " + e.getError()); + LOG(SocketManager::className, "Unable to create socket: " + e.getError()); return; } if(!poller.associate(ms->getSocket())) { - LOGDT(SocketManager::className, "Unable to associate poller: " + Util::translateError(::GetLastError())); + LOG(SocketManager::className, "Unable to associate poller: " + Util::translateError(::GetLastError())); return; } @@ -331,7 +331,7 @@ int error = ::WSAGetLastError(); if(error != ERROR_IO_PENDING) { if(!stop) { - LOGDT(SocketManager::className, "Failed accepting connection: " + Util::translateError(GetLastError())); + LOG(SocketManager::className, "Failed accepting connection: " + Util::translateError(GetLastError())); } pool.put(overlapped); @@ -491,7 +491,7 @@ void handleEvents() { vector<epoll_event> events; if(!poller.get(events)) { - LOGDT(SocketManager::className, "Poller failed: " + Util::translateError(errno)); + LOG(SocketManager::className, "Poller failed: " + Util::translateError(errno)); } for(vector<epoll_event>::iterator i = events.begin(); i != events.end(); ++i) { epoll_event& ev = *i; @@ -518,7 +518,7 @@ ms->setIp(ms->sock.accept(srv)); if(!poller.associate(ms)) { - LOGDT(SocketManager::className, "Unable to associate EPoll: " + Util::translateError(errno)); + LOG(SocketManager::className, "Unable to associate EPoll: " + Util::translateError(errno)); return; } @@ -530,7 +530,7 @@ read(ms); } catch (const SocketException& e) { - LOGDT(SocketManager::className, "Unable to create socket: " + e.getError()); + LOG(SocketManager::className, "Unable to create socket: " + e.getError()); return; } } @@ -610,7 +610,7 @@ if(err == EAGAIN || err == EINTR) { return; } - LOGDT(SocketManager::className, "Error reading from event[1]: " + Util::translateError(err)); + LOG(SocketManager::className, "Error reading from event[1]: " + Util::translateError(err)); return; } @@ -692,7 +692,7 @@ const string SocketManager::className = "SocketManager"; int SocketManager::run() { - LOGDT(SocketManager::className, "Starting"); + LOG(SocketManager::className, "Starting"); writer->start(); writer->setThreadPriority(Thread::HIGH); @@ -706,14 +706,14 @@ } for(ProcessQueue::iterator i = workQueue.begin(); i != workQueue.end(); ++i) { if(!(*i)) { - LOGDT(SocketManager::className, "Shutting down"); + LOG(SocketManager::className, "Shutting down"); return 0; } (*i)(); } workQueue.clear(); } - LOGDT(SocketManager::className, "ERROR; should never end up here..."); + LOG(SocketManager::className, "ERROR; should never end up here..."); return 0; } Modified: adchpp/trunk/plugins/Bloom/src/BloomManager.cpp =================================================================== --- adchpp/trunk/plugins/Bloom/src/BloomManager.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/plugins/Bloom/src/BloomManager.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -28,14 +28,14 @@ const string BloomManager::className = "BloomManager"; BloomManager::BloomManager() { - LOGDT(className, "Starting"); + LOG(className, "Starting"); ClientManager* cm = ClientManager::getInstance(); receiveConn = manage(&cm->signalReceive(), std::tr1::bind(&BloomManager::onReceive, this, _1, _2, _3)); disconnectConn = manage(&cm->signalDisconnected(), std::tr1::bind(&BloomManager::onDisconnected, this, _1)); } BloomManager::~BloomManager() { - LOGDT(className, "Shutting down"); + LOG(className, "Shutting down"); } static const std::string FEATURE = "BLOM"; Modified: adchpp/trunk/plugins/Script/examples/access.lua =================================================================== --- adchpp/trunk/plugins/Script/examples/access.lua 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/plugins/Script/examples/access.lua 2007-12-09 19:40:15 UTC (rev 101) @@ -241,7 +241,6 @@ for field, regex in pairs(inf_fields) do val = cmd:getParam(field, 0) if #val > 0 and hasVal and not val:match(regex) then - print("Bad INF " .. field) reply(c, "Field " .. field .. " has an invalid value, removed") cmd:delParam(field, 0) end @@ -252,6 +251,11 @@ return command_processed end + if #cmd:getParam("CT", 0) > 0 then + dump(c, adchpp.AdcCommand_ERROR_PROTOCOL_GENERIC, "I decide what type you are") + return command_processed + end + if #cmd:getParam("OP", 0) > 0 then dump(c, adchpp.AdcCommand_ERROR_PROTOCOL_GENERIC, "I decide who's an OP") return command_processed @@ -323,7 +327,6 @@ local user = get_user(c:getCID():toBase32(), c:getField("NI")) if not user then - print("User sending PAS not found (?)") dump(c, adchpp.AdcCommand_ERROR_PROTOCOL_GENERIC, "Can't find you now") return command_processed end @@ -388,7 +391,6 @@ local function onMSG(c, cmd) msg = cmd:getParam(0) - print("got message") local command, parameters = msg:match("^%+(%a+) ?(.*)") if not command then @@ -514,7 +516,7 @@ victim = cm:getClient(adchpp.AdcCommand_toSID(sid)) if not victim then - print "Victim not found" + reply(c, "Victim not found") return command_processed end @@ -538,7 +540,6 @@ local allowed_type = command_contexts[cmd:getCommand()] if allowed_type then if not cmd:getType():match(allowed_type) then - print("Invalid context for " .. cmd:getCommandString()) reply(c, "Invalid context for " .. cmd:getCommandString()) return command_processed end @@ -549,14 +550,12 @@ if allowed_level then user = get_user(c:getCID(), c:getField("NI")) if not user or user.level < allowed_level then - print("unallowed") reply(c, "You don't have access to " .. cmd:getCommandString()) return command_processed end end end - print("command is " .. cmd:getCommand() .. " msg is " .. adchpp.AdcCommand_CMD_MSG) if cmd:getCommand() == adchpp.AdcCommand_CMD_INF then return onINF(c, cmd) elseif cmd:getCommand() == adchpp.AdcCommand_CMD_PAS then Modified: adchpp/trunk/plugins/Script/src/LuaScript.cpp =================================================================== --- adchpp/trunk/plugins/Script/src/LuaScript.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/plugins/Script/src/LuaScript.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -87,9 +87,9 @@ int error = luaL_loadfile(l, filename.c_str()) || lua_pcall(l, 0, 0, 0); if(error) { - LOGDT(className, string("Error loading file: ") + lua_tostring(l, -1)); + LOG(className, string("Error loading file: ") + lua_tostring(l, -1)); } else { - LOGDT(className, "Loaded " + filename); + LOG(className, "Loaded " + filename); } chdir(old_dir); } Modified: adchpp/trunk/plugins/Script/src/ScriptManager.cpp =================================================================== --- adchpp/trunk/plugins/Script/src/ScriptManager.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/plugins/Script/src/ScriptManager.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -39,7 +39,7 @@ const string ScriptManager::className = "ScriptManager"; ScriptManager::ScriptManager() { - LOGDT(className, "Starting"); + LOG(className, "Starting"); ClientManager::SignalReceive::Signal& sig = ClientManager::getInstance()->signalReceive(); receiveConn = manage(&sig, std::tr1::bind(&ScriptManager::onReceive, this, _1, _2, _3)); @@ -47,7 +47,7 @@ } ScriptManager::~ScriptManager() { - LOGDT(className, "Shutting down"); + LOG(className, "Shutting down"); clearEngines(); } @@ -74,7 +74,7 @@ } xml.stepOut(); } catch(const Exception& e) { - LOGDT(className, "Failed to load settings: " + e.getError()); + LOG(className, "Failed to load settings: " + e.getError()); return; } } Modified: adchpp/trunk/swig/adchpp.i =================================================================== --- adchpp/trunk/swig/adchpp.i 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/swig/adchpp.i 2007-12-09 19:40:15 UTC (rev 101) @@ -455,7 +455,6 @@ { public: void log(const std::string& area, const std::string& msg) throw(); - void logDateTime(const std::string& area, const std::string& msg) throw(); }; %template(SignalC) Signal<void (Client&)>; Modified: adchpp/trunk/swig/lua.i =================================================================== --- adchpp/trunk/swig/lua.i 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/swig/lua.i 2007-12-09 19:40:15 UTC (rev 101) @@ -179,4 +179,3 @@ return std::string(); } } - Modified: adchpp/trunk/swig/python.i =================================================================== --- adchpp/trunk/swig/python.i 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/swig/python.i 2007-12-09 19:40:15 UTC (rev 101) @@ -1,6 +1,5 @@ %module pyadchpp - %{ // Python pollution #undef socklen_t @@ -111,3 +110,4 @@ PyObject* obj; }; %} + Modified: adchpp/trunk/unix/main.cpp =================================================================== --- adchpp/trunk/unix/main.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/unix/main.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -66,7 +66,7 @@ } static void uninit() { - LOGDT(modName, versionString + " shut down"); + LOG(modName, versionString + " shut down"); if(!asdaemon) printf(_("Shutting down.")); shutdown(&f2); @@ -86,19 +86,19 @@ static void daemonize() { switch(fork()) { case -1: - LOGDT(modName, string("First fork failed: ") + strerror(errno)); + LOG(modName, string("First fork failed: ") + strerror(errno)); exit(5); case 0: break; default: _exit(0); } if(setsid() < 0) { - LOGDT(modName, string("setsid failed: ") + strerror(errno)); + LOG(modName, string("setsid failed: ") + strerror(errno)); exit(6); } switch(fork()) { case -1: - LOGDT(modName, string("Second fork failed: ") + strerror(errno)); + LOG(modName, string("Second fork failed: ") + strerror(errno)); exit(7); case 0: break; default: exit(0); @@ -121,11 +121,11 @@ try { adchpp::startup(&f2); } catch(const adchpp::Exception& e) { - LOGDT(modName, "Failed to start: " + e.getError()); + LOG(modName, "Failed to start: " + e.getError()); uninit(); return; } - LOGDT(modName, versionString + " started as a daemon"); + LOG(modName, versionString + " started as a daemon"); // Now what? int x = 0; sigset_t st; @@ -141,7 +141,7 @@ printf(_("Starting")); init(); initialize(configPath); - LOGDT(modName, versionString + " starting from console"); + LOG(modName, versionString + " starting from console"); printf("."); try { startup(&f2); Modified: adchpp/trunk/unix/po/adchppd.pot =================================================================== --- adchpp/trunk/unix/po/adchppd.pot 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/unix/po/adchppd.pot 2007-12-09 19:40:15 UTC (rev 101) @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: \"adchpp\"--copyright-holder=\"Jacek Sieka\"\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-12-09 18:46+0100\n" +"POT-Creation-Date: 2007-12-09 20:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" Modified: adchpp/trunk/windows/adchppdw.cpp =================================================================== --- adchpp/trunk/windows/adchppdw.cpp 2007-12-09 18:53:20 UTC (rev 100) +++ adchpp/trunk/windows/adchppdw.cpp 2007-12-09 19:40:15 UTC (rev 101) @@ -28,7 +28,7 @@ static const string modName = "adchpp"; -#define LOGERROR(func) LOGDT(modName, func " failed: " + Util::translateError(GetLastError())) +#define LOGERROR(func) LOG(modName, func " failed: " + Util::translateError(GetLastError())) #define PRINTERROR(func) fprintf(stderr, func " failed: 0x%x, %s", GetLastError(), Util::translateError(GetLastError()).c_str()) #ifdef _MSC_VER @@ -172,9 +172,9 @@ initialize(configPath); if(asService) - LOGDT(modName, versionString + " started as a service"); + LOG(modName, versionString + " started as a service"); else - LOGDT(modName, versionString + " started from console"); + LOG(modName, versionString + " started from console"); } static void f2() { @@ -182,7 +182,7 @@ } static void uninit() { - LOGDT(modName, versionString + " shut down"); + LOG(modName, versionString + " shut down"); printf("Shutting down."); shutdown(&f2); #if defined(_MSC_VER) && !defined(NDEBUG) @@ -202,7 +202,7 @@ case SERVICE_CONTROL_SHUTDOWN: // Fallthrough case SERVICE_CONTROL_STOP: ss.dwCurrentState = SERVICE_STOP_PENDING; exitSem.signal(); break; case SERVICE_CONTROL_INTERROGATE: break; - default: LOGDT(modName, "Unknown service handler code " + Util::toString(code)); + default: LOG(modName, "Unknown service handler code " + Util::toString(code)); } if(!SetServiceStatus(ssh, &ss)) { @@ -243,7 +243,7 @@ try { startup(&f); } catch(const Exception& e) { - LOGDT(modName, "ADCH++ startup failed because: " + e.getError()); + LOG(modName, "ADCH++ startup failed because: " + e.getError()); uninit(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |