#include "minicurl.hh"
#endif /* HAVE_LUA_RECORDS */
-time_t s_starttime;
+time_t g_starttime;
-string s_programname = "pdns"; // used in packethandler.cc
+string g_programname = "pdns"; // used in packethandler.cc
const char* funnytext = "*****************************************************************************\n"
"Ok, you just ran pdns_server through 'strings' hoping to find funny messages.\n"
fname = ::arg()["chroot"] + ::arg()["socket-dir"];
}
- fname += +"/" + s_programname + ".pid";
+ fname += +"/" + g_programname + ".pid";
ofstream of(fname.c_str());
if (of)
of << getpid() << endl;
int infd = 0, outfd = 1;
- DynListener dlg(s_programname);
+ DynListener dlg(g_programname);
dlg.registerFunc("QUIT", &DLQuitHandler, "quit daemon");
dlg.registerFunc("CYCLE", &DLCycleHandler, "restart instance");
dlg.registerFunc("PING", &DLPingHandler, "ping guardian");
versionSetProduct(ProductAuthoritative);
reportAllTypes(); // init MOADNSParser
- s_programname = "pdns";
- s_starttime = time(nullptr);
+ g_programname = "pdns";
+ g_starttime = time(nullptr);
#if defined(__GLIBC__) && !defined(__UCLIBC__)
signal(SIGSEGV, tbhandler);
}
if (::arg()["config-name"] != "")
- s_programname += "-" + ::arg()["config-name"];
+ g_programname += "-" + ::arg()["config-name"];
- g_log.setName(s_programname);
+ g_log.setName(g_programname);
- string configname = ::arg()["config-dir"] + "/" + s_programname + ".conf";
+ string configname = ::arg()["config-dir"] + "/" + g_programname + ".conf";
cleanSlashes(configname);
if (::arg()["config"] != "default" && !::arg().mustDo("no-config")) // "config" == print a configuration file
if (::arg().mustDo("control-console"))
g_DynListener = std::make_unique<DynListener>();
else
- g_DynListener = std::make_unique<DynListener>(s_programname);
+ g_DynListener = std::make_unique<DynListener>(g_programname);
writePid();
}
#include "tcpreceiver.hh"
#include "dnsseckeeper.hh"
-extern time_t s_starttime;
+extern time_t g_starttime;
extern ArgvMap theArg;
extern StatBag S; //!< Statistics are gathered across PDNS via the StatBag class S
extern AuthPacketCache PC; //!< This is the main PacketCache, shared across all threads
string DLUptimeHandler(const vector<string>&parts, Utility::pid_t ppid)
{
ostringstream os;
- os<<humanDuration(time(nullptr)-s_starttime);
+ os<<humanDuration(time(nullptr)-g_starttime);
return os.str();
}
int main(int argc, char **argv)
{
- string s_programname="pdns";
+ string programname="pdns";
::arg().set("config-dir","Location of configuration directory (pdns.conf)")=SYSCONFDIR;
::arg().set("socket-dir",string("Where the controlsocket will live, ")+LOCALSTATEDIR+"/pdns when unset and not chrooted" )="";
}
if(::arg()["config-name"]!="")
- s_programname+="-"+::arg()["config-name"];
+ programname+="-"+::arg()["config-name"];
- string configname=::arg()["config-dir"]+"/"+s_programname+".conf";
+ string configname=::arg()["config-dir"]+"/"+programname+".conf";
cleanSlashes(configname);
if(!::arg().mustDo("no-config")) {
socketname = ::arg()["chroot"] + ::arg()["socket-dir"];
}
- socketname += "/" + s_programname + ".controlsocket";
+ socketname += "/" + programname + ".controlsocket";
cleanSlashes(socketname);
try {
set<string> PacketHandler::s_forwardNotify;
bool PacketHandler::s_SVCAutohints{false};
-extern string s_programname;
+extern string g_programname;
// See https://www.rfc-editor.org/rfc/rfc8078.txt and https://www.rfc-editor.org/errata/eid5049 for details
const std::shared_ptr<CDNSKEYRecordContent> PacketHandler::s_deleteCDNSKEYContent = std::make_shared<CDNSKEYRecordContent>("0 3 0 AA==");
const std::shared_ptr<CDSRecordContent> PacketHandler::s_deleteCDSContent = std::make_shared<CDSRecordContent>("0 0 0 00");
-PacketHandler::PacketHandler():B(s_programname), d_dk(&B)
+PacketHandler::PacketHandler():B(g_programname), d_dk(&B)
{
++s_count;
d_doDNAME=::arg().mustDo("dname-processing");
namespace po = boost::program_options;
po::variables_map g_vm;
-string s_programname="pdns";
+string g_programname="pdns";
namespace {
bool g_verbose;
}
if(::arg()["config-name"]!="")
- s_programname+="-"+::arg()["config-name"];
+ g_programname+="-"+::arg()["config-name"];
- string configname=::arg()["config-dir"]+"/"+s_programname+".conf";
+ string configname=::arg()["config-dir"]+"/"+g_programname+".conf";
cleanSlashes(configname);
::arg().set("resolver","Use this resolver for ALIAS and the internal stub resolver")="no";
ret<<"<div class=\"header columns\"></div></div>";
ret<<R"(<div class="row"><div class="all columns">)";
- time_t passed=time(nullptr)-s_starttime;
+ time_t passed=time(nullptr)-g_starttime;
ret<<"<p>Uptime: "<<
humanDuration(passed)<<
}
// add uptime
- out["uptime"] = std::to_string(time(nullptr) - s_starttime);
+ out["uptime"] = std::to_string(time(nullptr) - g_starttime);
}
std::optional<uint64_t> productServerStatisticsFetch(const std::string& name)