Move log LogInitialise()

This commit is contained in:
Andy CA6JAU 2018-07-21 23:31:57 -04:00
parent d600b606cd
commit c7e02fecd0
6 changed files with 93 additions and 93 deletions

View File

@ -132,32 +132,26 @@ int CDMR2NXDN::run()
logDisplayLevel = 0U; logDisplayLevel = 0U;
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "DMR2NXDN: unable to open the log file\n");
return 1;
}
#if !defined(_WIN32) && !defined(_WIN64) #if !defined(_WIN32) && !defined(_WIN64)
bool m_daemon = m_conf.getDaemon(); bool m_daemon = m_conf.getDaemon();
if (m_daemon) { if (m_daemon) {
// Create new process // Create new process
pid_t pid = ::fork(); pid_t pid = ::fork();
if (pid == -1) { if (pid == -1) {
::LogWarning("Couldn't fork() , exiting"); ::fprintf(stderr, "Couldn't fork() , exiting\n");
return -1; return -1;
} else if (pid != 0) } else if (pid != 0)
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
// Create new session and process group // Create new session and process group
if (::setsid() == -1) { if (::setsid() == -1) {
::LogWarning("Couldn't setsid(), exiting"); ::fprintf(stderr, "Couldn't setsid(), exiting\n");
return -1; return -1;
} }
// Set the working directory to the root directory // Set the working directory to the root directory
if (::chdir("/") == -1) { if (::chdir("/") == -1) {
::LogWarning("Couldn't cd /, exiting"); ::fprintf(stderr, "Couldn't cd /, exiting\n");
return -1; return -1;
} }
@ -165,37 +159,43 @@ int CDMR2NXDN::run()
::close(STDOUT_FILENO); ::close(STDOUT_FILENO);
::close(STDERR_FILENO); ::close(STDERR_FILENO);
//If we are currently root... // If we are currently root...
if (getuid() == 0) { if (getuid() == 0) {
struct passwd* user = ::getpwnam("mmdvm"); struct passwd* user = ::getpwnam("mmdvm");
if (user == NULL) { if (user == NULL) {
::LogError("Could not get the mmdvm user, exiting"); ::fprintf(stderr, "Could not get the mmdvm user, exiting\n");
return -1; return -1;
} }
uid_t mmdvm_uid = user->pw_uid; uid_t mmdvm_uid = user->pw_uid;
gid_t mmdvm_gid = user->pw_gid; gid_t mmdvm_gid = user->pw_gid;
//Set user and group ID's to mmdvm:mmdvm // Set user and group ID's to mmdvm:mmdvm
if (setgid(mmdvm_gid) != 0) { if (setgid(mmdvm_gid) != 0) {
::LogWarning("Could not set mmdvm GID, exiting"); ::fprintf(stderr, "Could not set mmdvm GID, exiting\n");
return -1; return -1;
} }
if (setuid(mmdvm_uid) != 0) { if (setuid(mmdvm_uid) != 0) {
::LogWarning("Could not set mmdvm UID, exiting"); ::fprintf(stderr, "Could not set mmdvm UID, exiting\n");
return -1; return -1;
} }
//Double check it worked (AKA Paranoia) // Double check it worked (AKA Paranoia)
if (setuid(0) != -1) { if (setuid(0) != -1) {
::LogWarning("It's possible to regain root - something is wrong!, exiting"); ::fprintf(stderr, "It's possible to regain root - something is wrong!, exiting\n");
return -1; return -1;
} }
} }
} }
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "DMR2NXDN: unable to open the log file\n");
return 1;
}
m_defsrcid = m_conf.getDMRId(); m_defsrcid = m_conf.getDMRId();
std::string gatewayAddress = m_conf.getDstAddress(); std::string gatewayAddress = m_conf.getDstAddress();

View File

@ -135,32 +135,26 @@ int CDMR2YSF::run()
logDisplayLevel = 0U; logDisplayLevel = 0U;
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "DMR2YSF: unable to open the log file\n");
return 1;
}
#if !defined(_WIN32) && !defined(_WIN64) #if !defined(_WIN32) && !defined(_WIN64)
bool m_daemon = m_conf.getDaemon(); bool m_daemon = m_conf.getDaemon();
if (m_daemon) { if (m_daemon) {
// Create new process // Create new process
pid_t pid = ::fork(); pid_t pid = ::fork();
if (pid == -1) { if (pid == -1) {
::LogWarning("Couldn't fork() , exiting"); ::fprintf(stderr, "Couldn't fork() , exiting\n");
return -1; return -1;
} else if (pid != 0) } else if (pid != 0)
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
// Create new session and process group // Create new session and process group
if (::setsid() == -1) { if (::setsid() == -1) {
::LogWarning("Couldn't setsid(), exiting"); ::fprintf(stderr, "Couldn't setsid(), exiting\n");
return -1; return -1;
} }
// Set the working directory to the root directory // Set the working directory to the root directory
if (::chdir("/") == -1) { if (::chdir("/") == -1) {
::LogWarning("Couldn't cd /, exiting"); ::fprintf(stderr, "Couldn't cd /, exiting\n");
return -1; return -1;
} }
@ -168,37 +162,43 @@ int CDMR2YSF::run()
::close(STDOUT_FILENO); ::close(STDOUT_FILENO);
::close(STDERR_FILENO); ::close(STDERR_FILENO);
//If we are currently root... // If we are currently root...
if (getuid() == 0) { if (getuid() == 0) {
struct passwd* user = ::getpwnam("mmdvm"); struct passwd* user = ::getpwnam("mmdvm");
if (user == NULL) { if (user == NULL) {
::LogError("Could not get the mmdvm user, exiting"); ::fprintf(stderr, "Could not get the mmdvm user, exiting\n");
return -1; return -1;
} }
uid_t mmdvm_uid = user->pw_uid; uid_t mmdvm_uid = user->pw_uid;
gid_t mmdvm_gid = user->pw_gid; gid_t mmdvm_gid = user->pw_gid;
//Set user and group ID's to mmdvm:mmdvm // Set user and group ID's to mmdvm:mmdvm
if (setgid(mmdvm_gid) != 0) { if (setgid(mmdvm_gid) != 0) {
::LogWarning("Could not set mmdvm GID, exiting"); ::fprintf(stderr, "Could not set mmdvm GID, exiting\n");
return -1; return -1;
} }
if (setuid(mmdvm_uid) != 0) { if (setuid(mmdvm_uid) != 0) {
::LogWarning("Could not set mmdvm UID, exiting"); ::fprintf(stderr, "Could not set mmdvm UID, exiting\n");
return -1; return -1;
} }
//Double check it worked (AKA Paranoia) // Double check it worked (AKA Paranoia)
if (setuid(0) != -1) { if (setuid(0) != -1) {
::LogWarning("It's possible to regain root - something is wrong!, exiting"); ::fprintf(stderr, "It's possible to regain root - something is wrong!, exiting\n");
return -1; return -1;
} }
} }
} }
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "DMR2YSF: unable to open the log file\n");
return 1;
}
m_callsign = m_conf.getCallsign(); m_callsign = m_conf.getCallsign();
m_defsrcid = m_conf.getDMRId(); m_defsrcid = m_conf.getDMRId();

View File

@ -136,32 +136,26 @@ int CNXDN2DMR::run()
logDisplayLevel = 0U; logDisplayLevel = 0U;
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "NXDN2DMR: unable to open the log file\n");
return 1;
}
#if !defined(_WIN32) && !defined(_WIN64) #if !defined(_WIN32) && !defined(_WIN64)
bool m_daemon = m_conf.getDaemon(); bool m_daemon = m_conf.getDaemon();
if (m_daemon) { if (m_daemon) {
// Create new process // Create new process
pid_t pid = ::fork(); pid_t pid = ::fork();
if (pid == -1) { if (pid == -1) {
::LogWarning("Couldn't fork() , exiting"); ::fprintf(stderr, "Couldn't fork() , exiting\n");
return -1; return -1;
} else if (pid != 0) } else if (pid != 0)
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
// Create new session and process group // Create new session and process group
if (::setsid() == -1) { if (::setsid() == -1) {
::LogWarning("Couldn't setsid(), exiting"); ::fprintf(stderr, "Couldn't setsid(), exiting\n");
return -1; return -1;
} }
// Set the working directory to the root directory // Set the working directory to the root directory
if (::chdir("/") == -1) { if (::chdir("/") == -1) {
::LogWarning("Couldn't cd /, exiting"); ::fprintf(stderr, "Couldn't cd /, exiting\n");
return -1; return -1;
} }
@ -169,37 +163,43 @@ int CNXDN2DMR::run()
::close(STDOUT_FILENO); ::close(STDOUT_FILENO);
::close(STDERR_FILENO); ::close(STDERR_FILENO);
//If we are currently root... // If we are currently root...
if (getuid() == 0) { if (getuid() == 0) {
struct passwd* user = ::getpwnam("mmdvm"); struct passwd* user = ::getpwnam("mmdvm");
if (user == NULL) { if (user == NULL) {
::LogError("Could not get the mmdvm user, exiting"); ::fprintf(stderr, "Could not get the mmdvm user, exiting\n");
return -1; return -1;
} }
uid_t mmdvm_uid = user->pw_uid; uid_t mmdvm_uid = user->pw_uid;
gid_t mmdvm_gid = user->pw_gid; gid_t mmdvm_gid = user->pw_gid;
//Set user and group ID's to mmdvm:mmdvm // Set user and group ID's to mmdvm:mmdvm
if (setgid(mmdvm_gid) != 0) { if (setgid(mmdvm_gid) != 0) {
::LogWarning("Could not set mmdvm GID, exiting"); ::fprintf(stderr, "Could not set mmdvm GID, exiting\n");
return -1; return -1;
} }
if (setuid(mmdvm_uid) != 0) { if (setuid(mmdvm_uid) != 0) {
::LogWarning("Could not set mmdvm UID, exiting"); ::fprintf(stderr, "Could not set mmdvm UID, exiting\n");
return -1; return -1;
} }
//Double check it worked (AKA Paranoia) // Double check it worked (AKA Paranoia)
if (setuid(0) != -1) { if (setuid(0) != -1) {
::LogWarning("It's possible to regain root - something is wrong!, exiting"); ::fprintf(stderr, "It's possible to regain root - something is wrong!, exiting\n");
return -1; return -1;
} }
} }
} }
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "NXDN2DMR: unable to open the log file\n");
return 1;
}
m_callsign = m_conf.getCallsign(); m_callsign = m_conf.getCallsign();
m_nxdnTG = m_conf.getTG(); m_nxdnTG = m_conf.getTG();

View File

@ -141,32 +141,26 @@ int CYSF2DMR::run()
logDisplayLevel = 0U; logDisplayLevel = 0U;
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "YSF2DMR: unable to open the log file\n");
return 1;
}
#if !defined(_WIN32) && !defined(_WIN64) #if !defined(_WIN32) && !defined(_WIN64)
bool m_daemon = m_conf.getDaemon(); bool m_daemon = m_conf.getDaemon();
if (m_daemon) { if (m_daemon) {
// Create new process // Create new process
pid_t pid = ::fork(); pid_t pid = ::fork();
if (pid == -1) { if (pid == -1) {
::LogWarning("Couldn't fork() , exiting"); ::fprintf(stderr, "Couldn't fork() , exiting\n");
return -1; return -1;
} else if (pid != 0) } else if (pid != 0)
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
// Create new session and process group // Create new session and process group
if (::setsid() == -1) { if (::setsid() == -1) {
::LogWarning("Couldn't setsid(), exiting"); ::fprintf(stderr, "Couldn't setsid(), exiting\n");
return -1; return -1;
} }
// Set the working directory to the root directory // Set the working directory to the root directory
if (::chdir("/") == -1) { if (::chdir("/") == -1) {
::LogWarning("Couldn't cd /, exiting"); ::fprintf(stderr, "Couldn't cd /, exiting\n");
return -1; return -1;
} }
@ -174,37 +168,43 @@ int CYSF2DMR::run()
::close(STDOUT_FILENO); ::close(STDOUT_FILENO);
::close(STDERR_FILENO); ::close(STDERR_FILENO);
//If we are currently root... // If we are currently root...
if (getuid() == 0) { if (getuid() == 0) {
struct passwd* user = ::getpwnam("mmdvm"); struct passwd* user = ::getpwnam("mmdvm");
if (user == NULL) { if (user == NULL) {
::LogError("Could not get the mmdvm user, exiting"); ::fprintf(stderr, "Could not get the mmdvm user, exiting\n");
return -1; return -1;
} }
uid_t mmdvm_uid = user->pw_uid; uid_t mmdvm_uid = user->pw_uid;
gid_t mmdvm_gid = user->pw_gid; gid_t mmdvm_gid = user->pw_gid;
//Set user and group ID's to mmdvm:mmdvm // Set user and group ID's to mmdvm:mmdvm
if (setgid(mmdvm_gid) != 0) { if (setgid(mmdvm_gid) != 0) {
::LogWarning("Could not set mmdvm GID, exiting"); ::fprintf(stderr, "Could not set mmdvm GID, exiting\n");
return -1; return -1;
} }
if (setuid(mmdvm_uid) != 0) { if (setuid(mmdvm_uid) != 0) {
::LogWarning("Could not set mmdvm UID, exiting"); ::fprintf(stderr, "Could not set mmdvm UID, exiting\n");
return -1; return -1;
} }
//Double check it worked (AKA Paranoia) // Double check it worked (AKA Paranoia)
if (setuid(0) != -1) { if (setuid(0) != -1) {
::LogWarning("It's possible to regain root - something is wrong!, exiting"); ::fprintf(stderr, "It's possible to regain root - something is wrong!, exiting\n");
return -1; return -1;
} }
} }
} }
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "YSF2DMR: unable to open the log file\n");
return 1;
}
m_callsign = m_conf.getCallsign(); m_callsign = m_conf.getCallsign();
m_suffix = m_conf.getSuffix(); m_suffix = m_conf.getSuffix();

View File

@ -134,32 +134,26 @@ int CYSF2NXDN::run()
logDisplayLevel = 0U; logDisplayLevel = 0U;
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "YSF2NXDN: unable to open the log file\n");
return 1;
}
#if !defined(_WIN32) && !defined(_WIN64) #if !defined(_WIN32) && !defined(_WIN64)
bool m_daemon = m_conf.getDaemon(); bool m_daemon = m_conf.getDaemon();
if (m_daemon) { if (m_daemon) {
// Create new process // Create new process
pid_t pid = ::fork(); pid_t pid = ::fork();
if (pid == -1) { if (pid == -1) {
::LogWarning("Couldn't fork() , exiting"); ::fprintf(stderr, "Couldn't fork() , exiting\n");
return -1; return -1;
} else if (pid != 0) } else if (pid != 0)
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
// Create new session and process group // Create new session and process group
if (::setsid() == -1) { if (::setsid() == -1) {
::LogWarning("Couldn't setsid(), exiting"); ::fprintf(stderr, "Couldn't setsid(), exiting\n");
return -1; return -1;
} }
// Set the working directory to the root directory // Set the working directory to the root directory
if (::chdir("/") == -1) { if (::chdir("/") == -1) {
::LogWarning("Couldn't cd /, exiting"); ::fprintf(stderr, "Couldn't cd /, exiting\n");
return -1; return -1;
} }
@ -171,7 +165,7 @@ int CYSF2NXDN::run()
if (getuid() == 0) { if (getuid() == 0) {
struct passwd* user = ::getpwnam("mmdvm"); struct passwd* user = ::getpwnam("mmdvm");
if (user == NULL) { if (user == NULL) {
::LogError("Could not get the mmdvm user, exiting"); ::fprintf(stderr, "Could not get the mmdvm user, exiting\n");
return -1; return -1;
} }
@ -180,24 +174,30 @@ int CYSF2NXDN::run()
//Set user and group ID's to mmdvm:mmdvm //Set user and group ID's to mmdvm:mmdvm
if (setgid(mmdvm_gid) != 0) { if (setgid(mmdvm_gid) != 0) {
::LogWarning("Could not set mmdvm GID, exiting"); ::fprintf(stderr, "Could not set mmdvm GID, exiting\n");
return -1; return -1;
} }
if (setuid(mmdvm_uid) != 0) { if (setuid(mmdvm_uid) != 0) {
::LogWarning("Could not set mmdvm UID, exiting"); ::fprintf(stderr, "Could not set mmdvm UID, exiting\n");
return -1; return -1;
} }
//Double check it worked (AKA Paranoia) //Double check it worked (AKA Paranoia)
if (setuid(0) != -1) { if (setuid(0) != -1) {
::LogWarning("It's possible to regain root - something is wrong!, exiting"); ::fprintf(stderr, "It's possible to regain root - something is wrong!, exiting\n");
return -1; return -1;
} }
} }
} }
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "YSF2NXDN: unable to open the log file\n");
return 1;
}
m_callsign = m_conf.getCallsign(); m_callsign = m_conf.getCallsign();
m_suffix = m_conf.getSuffix(); m_suffix = m_conf.getSuffix();
m_defsrcid = m_conf.getNXDNId(); m_defsrcid = m_conf.getNXDNId();

View File

@ -186,32 +186,26 @@ int CYSF2P25::run()
logDisplayLevel = 0U; logDisplayLevel = 0U;
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "YSF2P25: unable to open the log file\n");
return 1;
}
#if !defined(_WIN32) && !defined(_WIN64) #if !defined(_WIN32) && !defined(_WIN64)
bool m_daemon = m_conf.getDaemon(); bool m_daemon = m_conf.getDaemon();
if (m_daemon) { if (m_daemon) {
// Create new process // Create new process
pid_t pid = ::fork(); pid_t pid = ::fork();
if (pid == -1) { if (pid == -1) {
::LogWarning("Couldn't fork() , exiting"); ::fprintf(stderr, "Couldn't fork() , exiting\n");
return -1; return -1;
} else if (pid != 0) } else if (pid != 0)
exit(EXIT_SUCCESS); exit(EXIT_SUCCESS);
// Create new session and process group // Create new session and process group
if (::setsid() == -1) { if (::setsid() == -1) {
::LogWarning("Couldn't setsid(), exiting"); ::fprintf(stderr, "Couldn't setsid(), exiting\n");
return -1; return -1;
} }
// Set the working directory to the root directory // Set the working directory to the root directory
if (::chdir("/") == -1) { if (::chdir("/") == -1) {
::LogWarning("Couldn't cd /, exiting"); ::fprintf(stderr, "Couldn't cd /, exiting\n");
return -1; return -1;
} }
@ -219,37 +213,43 @@ int CYSF2P25::run()
::close(STDOUT_FILENO); ::close(STDOUT_FILENO);
::close(STDERR_FILENO); ::close(STDERR_FILENO);
//If we are currently root... // If we are currently root...
if (getuid() == 0) { if (getuid() == 0) {
struct passwd* user = ::getpwnam("mmdvm"); struct passwd* user = ::getpwnam("mmdvm");
if (user == NULL) { if (user == NULL) {
::LogError("Could not get the mmdvm user, exiting"); ::fprintf(stderr, "Could not get the mmdvm user, exiting\n");
return -1; return -1;
} }
uid_t mmdvm_uid = user->pw_uid; uid_t mmdvm_uid = user->pw_uid;
gid_t mmdvm_gid = user->pw_gid; gid_t mmdvm_gid = user->pw_gid;
//Set user and group ID's to mmdvm:mmdvm // Set user and group ID's to mmdvm:mmdvm
if (setgid(mmdvm_gid) != 0) { if (setgid(mmdvm_gid) != 0) {
::LogWarning("Could not set mmdvm GID, exiting"); ::fprintf(stderr, "Could not set mmdvm GID, exiting\n");
return -1; return -1;
} }
if (setuid(mmdvm_uid) != 0) { if (setuid(mmdvm_uid) != 0) {
::LogWarning("Could not set mmdvm UID, exiting"); ::fprintf(stderr, "Could not set mmdvm UID, exiting\n");
return -1; return -1;
} }
//Double check it worked (AKA Paranoia) // Double check it worked (AKA Paranoia)
if (setuid(0) != -1) { if (setuid(0) != -1) {
::LogWarning("It's possible to regain root - something is wrong!, exiting"); ::fprintf(stderr, "It's possible to regain root - something is wrong!, exiting\n");
return -1; return -1;
} }
} }
} }
#endif #endif
ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), logDisplayLevel);
if (!ret) {
::fprintf(stderr, "YSF2P25: unable to open the log file\n");
return 1;
}
m_callsign = m_conf.getCallsign(); m_callsign = m_conf.getCallsign();
m_defsrcid = m_conf.getP25Id(); m_defsrcid = m_conf.getP25Id();
m_dstid = m_conf.getP25DstId(); m_dstid = m_conf.getP25DstId();