diff options
author | Sadie Powell <sadie@witchery.services> | 2021-05-31 20:57:48 +0100 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2021-05-31 20:57:48 +0100 |
commit | df4313f5bbacbfcb6592b6d90fe5362192287d59 (patch) | |
tree | f16f74b745083d6f8575d86c8d19565869c4d9c4 /src | |
parent | 53cd3f47b5c5afa503e96380e9e22d7d35108714 (diff) | |
parent | 3728a0bda1cf010520c4fae821fc9c98b2adb083 (diff) |
Merge branch '2.0' into 2.1.
Diffstat (limited to 'src')
-rw-r--r-- | src/bots.cpp | 4 | ||||
-rw-r--r-- | src/init.cpp | 13 | ||||
-rw-r--r-- | src/tools/anopesmtp.cpp | 4 | ||||
-rw-r--r-- | src/uplink.cpp | 3 |
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(); |