summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2021-05-31 20:57:48 +0100
committerSadie Powell <sadie@witchery.services>2021-05-31 20:57:48 +0100
commitdf4313f5bbacbfcb6592b6d90fe5362192287d59 (patch)
treef16f74b745083d6f8575d86c8d19565869c4d9c4 /src
parent53cd3f47b5c5afa503e96380e9e22d7d35108714 (diff)
parent3728a0bda1cf010520c4fae821fc9c98b2adb083 (diff)
Merge branch '2.0' into 2.1.
Diffstat (limited to 'src')
-rw-r--r--src/bots.cpp4
-rw-r--r--src/init.cpp13
-rw-r--r--src/tools/anopesmtp.cpp4
-rw-r--r--src/uplink.cpp3
4 files changed, 14 insertions, 10 deletions
diff --git a/src/bots.cpp b/src/bots.cpp
index 2f6c916a7..94b688f0d 100644
--- a/src/bots.cpp
+++ b/src/bots.cpp
@@ -62,9 +62,9 @@ BotInfo::~BotInfo()
IRCD->SendSQLineDel(&x);
}
- for (std::set<ChannelInfo *>::iterator it = this->channels->begin(), it_end = this->channels->end(); it != it_end; ++it)
+ for (std::set<ChannelInfo *>::iterator it = this->channels->begin(), it_end = this->channels->end(); it != it_end;)
{
- ChannelInfo *ci = *it;
+ ChannelInfo *ci = *it++;
this->UnAssign(NULL, ci);
}
diff --git a/src/init.cpp b/src/init.cpp
index 049829bc4..7186cccfc 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -106,9 +106,12 @@ void Anope::Fork()
#ifndef _WIN32
kill(getppid(), SIGUSR2);
- freopen("/dev/null", "r", stdin);
- freopen("/dev/null", "w", stdout);
- freopen("/dev/null", "w", stderr);
+ if (!freopen("/dev/null", "r", stdin))
+ Log() << "Unable to redirect stdin to /dev/null: " << Anope::LastError();
+ if (!freopen("/dev/null", "w", stdout))
+ Log() << "Unable to redirect stdout to /dev/null: " << Anope::LastError();
+ if (!freopen("/dev/null", "w", stderr))
+ Log() << "Unable to redirect stderr to /dev/null: " << Anope::LastError();
setpgid(0, 0);
@@ -263,7 +266,9 @@ static void setuidgid()
{
LogFile* lf = li.logfiles[j];
- chown(lf->filename.c_str(), uid, gid);
+ errno = 0;
+ if (chown(lf->filename.c_str(), uid, gid) != 0)
+ Log() << "Unable to change the ownership of " << lf->filename << " to " << uid << "/" << gid << ": " << Anope::LastError();
}
}
diff --git a/src/tools/anopesmtp.cpp b/src/tools/anopesmtp.cpp
index 396524049..d86f9c43f 100644
--- a/src/tools/anopesmtp.cpp
+++ b/src/tools/anopesmtp.cpp
@@ -112,9 +112,9 @@ static std::string GetTimeStamp()
{
char tbuf[256];
time_t t = time(NULL);
- struct tm *tm = localtime(&t);
+ struct tm *tm = gmtime(&t);
- strftime(tbuf, sizeof(tbuf) - 1, "%a, %d %b %Y %H:%M:%S %z", tm);
+ strftime(tbuf, sizeof(tbuf) - 1, "%a, %d %b %Y %H:%M:%S +0000", tm);
return tbuf;
}
diff --git a/src/uplink.cpp b/src/uplink.cpp
index 7e8a15860..785ef88cd 100644
--- a/src/uplink.cpp
+++ b/src/uplink.cpp
@@ -94,14 +94,13 @@ UplinkSocket::~UplinkSocket()
}
IRCD->SendSquit(Me, Anope::QuitReason);
-
- this->ProcessWrite(); // Write out the last bit
}
for (unsigned i = Me->GetLinks().size(); i > 0; --i)
if (!Me->GetLinks()[i - 1]->IsJuped())
Me->GetLinks()[i - 1]->Delete(Me->GetName() + " " + Me->GetLinks()[i - 1]->GetName());
+ this->ProcessWrite(); // Write out the last bit
UplinkSock = NULL;
Me->Unsync();