summaryrefslogtreecommitdiffstats
path: root/pki/base/tps/src/main/LogFile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/tps/src/main/LogFile.cpp')
-rw-r--r--pki/base/tps/src/main/LogFile.cpp298
1 files changed, 0 insertions, 298 deletions
diff --git a/pki/base/tps/src/main/LogFile.cpp b/pki/base/tps/src/main/LogFile.cpp
deleted file mode 100644
index d908ca0c5..000000000
--- a/pki/base/tps/src/main/LogFile.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-// --- BEGIN COPYRIGHT BLOCK ---
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation;
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor,
-// Boston, MA 02110-1301 USA
-//
-// Copyright (C) 2010 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-
-#include <stdio.h>
-
-#ifdef XP_WIN32
-#define TPS_PUBLIC __declspec(dllexport)
-#else /* !XP_WIN32 */
-#define TPS_PUBLIC
-#endif /* !XP_WIN32 */
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-#include <unistd.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "prmem.h"
-#include "prsystem.h"
-#include "plstr.h"
-#include "prio.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#include "main/ConfigStore.h"
-#include "engine/RA.h"
-#include "main/LogFile.h"
-#include "main/RA_Context.h"
-#include "main/Util.h"
-
-//default constructor
-LogFile::LogFile():
- m_fd(NULL),
- m_fname(NULL),
- m_signed_log(false),
- m_bytes_written(0),
- m_signed(false),
- m_monitor(NULL),
- m_ctx(NULL) { }
-
-int LogFile::startup(RA_Context *ctx, const char* prefix, const char *fname, bool signed_audit)
-{
- if (ctx == NULL) {
- return PR_FAILURE;
- }
-
- if (fname == NULL) {
- ctx->LogError("LogFile::startup",
- __LINE__,
- "startup error, fname is NULL");
- return PR_FAILURE;
- }
-
- m_ctx = ctx;
- m_signed_log = signed_audit;
- m_fname = PL_strdup(fname);
- m_bytes_written =0;
- m_signed = false;
- m_fd = (PRFileDesc*) NULL;
- m_monitor = PR_NewMonitor();
-
- m_ctx->LogInfo( "LogFile::startup",
- __LINE__,
- "thread = 0x%lx: Logfile %s startup complete",
- PR_GetCurrentThread(), m_fname);
- return PR_SUCCESS;
-}
-
-bool LogFile::isOpen()
-{
- if (m_fd != NULL) return true;
- return false;
-}
-
-void LogFile::shutdown()
-{
- m_ctx->LogInfo( "LogFile::shutdown",
- __LINE__,
- "thread = 0x%lx: Logfile %s shutting down pid: %d",
- PR_GetCurrentThread(), m_fname,getpid());
-
- PR_EnterMonitor(m_monitor);
- if (m_fd != NULL) {
- close();
- m_fd = (PRFileDesc *) NULL;
- }
-
- if (m_fname != NULL) {
- PR_Free(m_fname);
- m_fname = NULL;
- }
-
- PR_ExitMonitor(m_monitor);
-
- if (m_monitor != NULL) {
- PR_DestroyMonitor(m_monitor);
- m_monitor = (PRMonitor *) NULL;
- }
-}
-
-int LogFile::open()
-{
- PRFileInfo info;
- PR_EnterMonitor(m_monitor);
-
- m_ctx->LogInfo( "LogFile::open",
- __LINE__,
- "Opening Log File: %s pid: %d",
- m_fname,getpid());
-
- if (m_fd == NULL) {
- m_fd = PR_Open(m_fname, PR_RDWR | PR_CREATE_FILE | PR_APPEND, 440|200);
- if (m_fd == NULL) {
- m_ctx->LogError( "LogFile::open",
- __LINE__,
- "Unable to open log file %s error no: %d",
- m_fname,PR_GetError());
-
-
- goto loser;
- }
- PRStatus status = PR_GetOpenFileInfo(m_fd, &info);
- if (status != PR_SUCCESS) {
- m_ctx->LogError( "LogFile::open",
- __LINE__,
- "Unable to get file information for log file %s",
- m_fname);
- goto loser;
- }
-
- set_bytes_written(info.size);
- }
- PR_ExitMonitor(m_monitor);
- return PR_SUCCESS;
-
- loser:
- if (m_fd != NULL) {
- PR_Close(m_fd);
- m_fd = (PRFileDesc *)NULL;
- }
- set_bytes_written(0);
- PR_ExitMonitor(m_monitor);
- return PR_FAILURE;
-}
-
-int LogFile::close()
-{
- PRStatus status;
- PR_EnterMonitor(m_monitor);
- status = PR_Close(m_fd);
- if (status != PR_SUCCESS) {
- m_ctx->LogError( "LogFile::close",
- __LINE__,
- "Failed to close log file %s",
- m_fname);
- }
- PR_ExitMonitor(m_monitor);
- return status;
-}
-
-int LogFile::ReadLine(char *buf, int buf_len, int *removed_return)
-{
- return Util::ReadLine(m_fd, buf,buf_len, removed_return);
-}
-
-int LogFile::printf(const char* fmt, ...)
-{
- PRInt32 status;
- char msg[4096];
- va_list ap;
- va_start(ap, fmt);
- PR_vsnprintf((char *) msg, 4096, fmt, ap);
- status = this->write(msg);
- va_end(ap);
- return status;
-}
-
-int LogFile::write(char *msg_in, size_t n)
-{
- char msg[4096];
- PRInt32 status;
-
- if (n > 4096) {
- m_ctx->LogError("LogFile::write",
- __LINE__,
- "Trying to write more than 4096 bytes in one write to log file %s. Truncating ...",
- m_fname);
- n=4096;
- }
-
- PR_snprintf(msg, n, "%s", msg_in);
- status = this->write(msg);
- return status;
-}
-
-int LogFile::vfprintf(const char* fmt, va_list ap)
-{
- char msg[4096];
- PRInt32 status;
-
- PR_vsnprintf((char *) msg, 4096, fmt, ap);
- status = this->write(msg);
- return status;
-}
-
-int LogFile::write(const char * msg)
-{
- PRErrorCode error;
- PRInt32 status;
- int len;
-
- if (msg == NULL) {
- return PR_SUCCESS;
- }
-
- PR_EnterMonitor(m_monitor);
- len = PL_strlen(msg);
- if (m_fd != NULL) {
- status = PR_Write(m_fd, msg, len);
- if (status != len) {
- m_ctx->LogError( "LogFile::write",
- __LINE__,
- "Too few or too many bytes written to log file %s",
- m_fname);
- goto loser;
- } else if (status < 0) {
- // write failed
- error = PR_GetError();
- m_ctx->LogError( "LogFile::write",
- __LINE__,
- "Write to log file %s failed: code %d",
- m_fname, error);
- goto loser;
- } else {
- set_bytes_written(get_bytes_written() + len);
- }
- }
- PR_ExitMonitor(m_monitor);
- return PR_SUCCESS;
- loser:
- PR_ExitMonitor(m_monitor);
- return PR_FAILURE;
-}
-
-void LogFile::setSigned(bool val) {
- m_signed = val;
-}
-
-bool LogFile::getSigned() {
- return m_signed;
-}
-
-int LogFile::get_bytes_written() {
- return m_bytes_written;
-}
-
-void LogFile::set_bytes_written(int val) {
- if (val >=0) {
- m_bytes_written = val;
- } else {
- m_ctx->LogError("LogFile::set_bytes_written",
- __LINE__,
- "Attempt to set m_bytes_written to a negative value. Ignoring");
- }
-}
-
-RA_Context * LogFile::get_context() {
- return m_ctx;
-}
-
-void LogFile::set_context(RA_Context *ctx) {
- m_ctx = ctx;
-}
-
-