From 950a9c06ba6e8ff6a2eae8adc15bbf8e2c7cf782 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 18 Jun 2018 19:04:37 +0100 Subject: [PATCH] Move position of LogInitialise. --- P25Gateway/P25Gateway.cpp | 36 ++++++++++++++++----------------- P25Reflector/P25Reflector.cpp | 38 +++++++++++++++++------------------ 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/P25Gateway/P25Gateway.cpp b/P25Gateway/P25Gateway.cpp index c947dd5..9ef0e92 100644 --- a/P25Gateway/P25Gateway.cpp +++ b/P25Gateway/P25Gateway.cpp @@ -95,33 +95,27 @@ void CP25Gateway::run() return; } - ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), 1U, 1U); - if (!ret) { - ::fprintf(stderr, "P25Gateway: unable to open the log file\n"); - return; - } - #if !defined(_WIN32) && !defined(_WIN64) bool m_daemon = m_conf.getDaemon(); if (m_daemon) { // Create new process pid_t pid = ::fork(); if (pid == -1) { - ::LogWarning("Couldn't fork() , exiting"); + ::fprintf(stderr, "Couldn't fork() , exiting\n"); return; - } - else if (pid != 0) + } else if (pid != 0) { exit(EXIT_SUCCESS); + } // Create new session and process group if (::setsid() == -1) { - ::LogWarning("Couldn't setsid(), exiting"); + ::fprintf(stderr, "Couldn't setsid(), exiting\n"); return; } // Set the working directory to the root directory if (::chdir("/") == -1) { - ::LogWarning("Couldn't cd /, exiting"); + ::fprintf(stderr, "Couldn't cd /, exiting\n"); return; } @@ -129,37 +123,43 @@ void CP25Gateway::run() ::close(STDOUT_FILENO); ::close(STDERR_FILENO); - //If we are currently root... + // If we are currently root... if (getuid() == 0) { struct passwd* user = ::getpwnam("mmdvm"); if (user == NULL) { - ::LogError("Could not get the mmdvm user, exiting"); + ::fprintf(stderr, "Could not get the mmdvm user, exiting\n"); return; } uid_t mmdvm_uid = user->pw_uid; 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) { - ::LogWarning("Could not set mmdvm GID, exiting"); + ::fprintf(stderr, "Could not set mmdvm GID, exiting\n"); return; } if (setuid(mmdvm_uid) != 0) { - ::LogWarning("Could not set mmdvm UID, exiting"); + ::fprintf(stderr, "Could not set mmdvm UID, exiting\n"); return; } - //Double check it worked (AKA Paranoia) + // Double check it worked (AKA Paranoia) 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; } } } #endif + ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), 1U, 1U); + if (!ret) { + ::fprintf(stderr, "P25Gateway: unable to open the log file\n"); + return; + } + in_addr rptAddr = CUDPSocket::lookup(m_conf.getRptAddress()); unsigned int rptPort = m_conf.getRptPort(); diff --git a/P25Reflector/P25Reflector.cpp b/P25Reflector/P25Reflector.cpp index d9e3a42..0febc31 100644 --- a/P25Reflector/P25Reflector.cpp +++ b/P25Reflector/P25Reflector.cpp @@ -1,5 +1,5 @@ /* -* Copyright (C) 2016 by Jonathan Naylor G4KLX +* Copyright (C) 2016,2018 by Jonathan Naylor G4KLX * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -95,33 +95,27 @@ void CP25Reflector::run() return; } - ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), m_conf.getLogDisplayLevel()); - if (!ret) { - ::fprintf(stderr, "P25Reflector: unable to open the log file\n"); - return; - } - #if !defined(_WIN32) && !defined(_WIN64) bool m_daemon = m_conf.getDaemon(); if (m_daemon) { // Create new process pid_t pid = ::fork(); if (pid == -1) { - ::LogWarning("Couldn't fork() , exiting"); + ::fprintf(stderr, "Couldn't fork() , exiting\n"); return; - } - else if (pid != 0) + } else if (pid != 0) { exit(EXIT_SUCCESS); + } // Create new session and process group if (::setsid() == -1) { - ::LogWarning("Couldn't setsid(), exiting"); + ::fprintf(stderr, "Couldn't setsid(), exiting\n"); return; } // Set the working directory to the root directory if (::chdir("/") == -1) { - ::LogWarning("Couldn't cd /, exiting"); + ::fprintf(stderr, "Couldn't cd /, exiting\n"); return; } @@ -129,37 +123,43 @@ void CP25Reflector::run() ::close(STDOUT_FILENO); ::close(STDERR_FILENO); - //If we are currently root... + // If we are currently root... if (getuid() == 0) { struct passwd* user = ::getpwnam("mmdvm"); if (user == NULL) { - ::LogError("Could not get the mmdvm user, exiting"); + ::fprintf(stderr, "Could not get the mmdvm user, exiting\n"); return; } uid_t mmdvm_uid = user->pw_uid; 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) { - ::LogWarning("Could not set mmdvm GID, exiting"); + ::fprintf(stderr, "Could not set mmdvm GID, exiting\n"); return; } if (setuid(mmdvm_uid) != 0) { - ::LogWarning("Could not set mmdvm UID, exiting"); + ::fprintf(stderr, "Could not set mmdvm UID, exiting\n"); return; } - //Double check it worked (AKA Paranoia) + // Double check it worked (AKA Paranoia) 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; } } } #endif + ret = ::LogInitialise(m_conf.getLogFilePath(), m_conf.getLogFileRoot(), m_conf.getLogFileLevel(), m_conf.getLogDisplayLevel()); + if (!ret) { + ::fprintf(stderr, "P25Gateway: unable to open the log file\n"); + return; + } + CNetwork network(m_conf.getNetworkPort(), m_conf.getNetworkDebug()); ret = network.open();