From ca26c4d9caced6f2bc70381e387c3a4d60c5cb41 Mon Sep 17 00:00:00 2001 From: DukePyrolator Date: Mon, 2 Aug 2010 07:09:46 +0200 Subject: [PATCH 1/2] fixed segfault on ctcp ping --- src/chanserv.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chanserv.cpp b/src/chanserv.cpp index 07ebe9525..8e2014426 100644 --- a/src/chanserv.cpp +++ b/src/chanserv.cpp @@ -249,7 +249,7 @@ void chanserv(User *u, const Anope::string &buf) { Anope::string command = buf; command.erase(command.begin()); - command.erase(command.end()); + command.erase(command.end() - 1); ircdproto->SendCTCP(ChanServ, u->nick, "%s", command.c_str()); } else From 15a0f998a74941655e71e35b632054f504254aa7 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 2 Aug 2010 01:17:50 -0400 Subject: [PATCH 2/2] Log an error message if we are unable to load the socket engine module, and changed the default engine to be select --- data/example.conf | 4 ++-- src/init.cpp | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/data/example.conf b/data/example.conf index ea45c70e0..1a9ee7ff3 100644 --- a/data/example.conf +++ b/data/example.conf @@ -305,9 +305,9 @@ options * - m_socketengine_select * - m_socketengine_epoll * - * We recommend using epoll if your operating system supports it. + * We recommend using epoll if your operating system supports it (Linux 2.6+). */ - socketengine = "m_socketengine_epoll" + socketengine = "m_socketengine_select" /* * The maximum length of passwords diff --git a/src/init.cpp b/src/init.cpp index 811981a32..e64a622d9 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -355,7 +355,11 @@ int init_primary(int ac, char **av) ModuleManager::LoadModuleList(Config.DBModuleList); /* Load the socket engine */ - ModuleManager::LoadModule(Config.SocketEngine, NULL); + if (ModuleManager::LoadModule(Config.SocketEngine, NULL)) + { + Alog(LOG_TERMINAL) << "Unable to load socket engine " << Config.SocketEngine; + return -1; + } return 0; }