Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Bdd/Targets/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ if(SOLIDSYSLOG_POSIX)
Linux/BddTargetTcpConfig.c
Linux/BddTargetUdpConfig.c
Common/BddTargetAppName.c
Common/BddTargetErrorText.c
Common/BddTargetInteractive.c
Common/BddTargetIps.c
Common/BddTargetLanguage.c
Expand Down Expand Up @@ -52,6 +53,7 @@ elseif(SOLIDSYSLOG_WINSOCK AND HAVE_WINDOWS_PLATFORM)
Windows/BddTargetWindows.c
Windows/BddTargetWindowsCommandLine.c
Common/BddTargetAppName.c
Common/BddTargetErrorText.c
Common/BddTargetInteractive.c
Common/BddTargetIps.c
Common/BddTargetLanguage.c
Expand Down
51 changes: 51 additions & 0 deletions Bdd/Targets/Common/BddTargetErrorText.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#include "BddTargetErrorText.h"

#include "SolidSyslogBufferCategories.h"
#include "SolidSyslogErrorCategory.h"
#include "SolidSyslogResolverCategories.h"
#include "SolidSyslogSecurityPolicyCategories.h"
#include "SolidSyslogTlsStreamCategories.h"

const char* BddTargetErrorText_Category(uint16_t category)
{
const char* result = "unknown";
switch (category)
{
case SOLIDSYSLOG_CAT_BAD_CONFIG:
result = "bad config";
break;
case SOLIDSYSLOG_CAT_BAD_ARGUMENT:
result = "bad argument";
break;
case SOLIDSYSLOG_CAT_POOL_EXHAUSTED:
result = "pool exhausted";
break;
case SOLIDSYSLOG_CAT_UNKNOWN_DESTROY:
result = "unknown destroy";
break;
case SOLIDSYSLOG_CAT_BUFFER_BACKEND_FAILED:
result = "buffer backend failed";
break;
case SOLIDSYSLOG_CAT_RESOLVER_RESOLVE_FAILED:
result = "resolve failed";
break;
case SOLIDSYSLOG_CAT_SECURITYPOLICY_KEY_UNAVAILABLE:
result = "key unavailable";
break;
case SOLIDSYSLOG_CAT_SECURITYPOLICY_SEAL_FAILED:
result = "seal failed";
break;
case SOLIDSYSLOG_CAT_SECURITYPOLICY_OPEN_FAILED:
result = "open failed";
break;
case SOLIDSYSLOG_CAT_TLSSTREAM_INIT_FAILED:
result = "TLS init failed";
break;
case SOLIDSYSLOG_CAT_TLSSTREAM_HANDSHAKE_FAILED:
result = "TLS handshake failed";
break;
default:
break;
}
return result;
}
14 changes: 14 additions & 0 deletions Bdd/Targets/Common/BddTargetErrorText.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#ifndef BDDTARGETERRORTEXT_H
#define BDDTARGETERRORTEXT_H

#include "ExternC.h"

#include <stdint.h>

EXTERN_C_BEGIN

const char* BddTargetErrorText_Category(uint16_t category);

EXTERN_C_END

#endif /* BDDTARGETERRORTEXT_H */
8 changes: 2 additions & 6 deletions Bdd/Targets/Common/BddTargetStderrErrorHandler.c
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
#include "BddTargetStderrErrorHandler.h"

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>

#include "BddTargetErrorText.h"
#include "SolidSyslogError.h"
#include "SolidSyslogPrival.h"

static void StderrErrorHandlerEx(void* context, const struct SolidSyslogErrorEvent* event)
{
(void) context;
const char* sourceName = "<unknown>";
const char* message = "<no translation>";
const struct SolidSyslogErrorSource* source = event->Source;
if (source != NULL)
{
sourceName = source->Name;
if (source->AsString != NULL)
{
message = source->AsString((uint8_t) event->Detail);
}
}
const char* message = BddTargetErrorText_Category(event->Category);
if (event->Severity <= SOLIDSYSLOG_SEVERITY_ERROR)
{
(void) fprintf(
Expand Down
10 changes: 1 addition & 9 deletions Bdd/Targets/FreeRtos/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -260,33 +260,25 @@ add_executable(SolidSyslogBddTarget
${CMAKE_CURRENT_SOURCE_DIR}/Common/CmsdkUart.c
${CMAKE_CURRENT_SOURCE_DIR}/Common/Syscalls.c
${CMAKE_SOURCE_DIR}/Platform/FatFs/Source/SolidSyslogFatFsFile.c
${CMAKE_SOURCE_DIR}/Platform/FatFs/Source/SolidSyslogFatFsFileMessages.c
${CMAKE_SOURCE_DIR}/Platform/FatFs/Source/SolidSyslogFatFsFileStatic.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpAddress.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpAddressMessages.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpAddressStatic.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpDatagram.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpDatagramMessages.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpDatagramStatic.c
${CMAKE_SOURCE_DIR}/Platform/FreeRtos/Source/SolidSyslogFreeRtosMutex.c
${CMAKE_SOURCE_DIR}/Platform/FreeRtos/Source/SolidSyslogFreeRtosMutexMessages.c
${CMAKE_SOURCE_DIR}/Platform/FreeRtos/Source/SolidSyslogFreeRtosMutexStatic.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpResolver.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpResolverMessages.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpResolverStatic.c
${CMAKE_SOURCE_DIR}/Platform/FreeRtos/Source/SolidSyslogFreeRtosSysUpTime.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpTcpStream.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpTcpStreamMessages.c
${CMAKE_SOURCE_DIR}/Platform/PlusTcp/Source/SolidSyslogPlusTcpTcpStreamStatic.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsStream.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsStreamMessages.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsStreamStatic.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsHmacSha256Policy.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsHmacSha256PolicyMessages.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsHmacSha256PolicyStatic.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsAesGcmPolicy.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsAesGcmPolicyMessages.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsAesGcmPolicyStatic.c
${CMAKE_SOURCE_DIR}/Bdd/Targets/Common/BddTargetErrorText.c
${CMAKE_SOURCE_DIR}/Bdd/Targets/Common/BddTargetInteractive.c
${CMAKE_SOURCE_DIR}/Bdd/Targets/Common/BddTargetIps.c
${CMAKE_SOURCE_DIR}/Bdd/Targets/Common/BddTargetLanguage.c
Expand Down
7 changes: 2 additions & 5 deletions Bdd/Targets/FreeRtos/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

#include "CmsdkUart.h"
#include "BddTargetEnterpriseId.h"
#include "BddTargetErrorText.h"
#include "BddTargetInteractive.h"
#include "BddTargetIps.h"
#include "BddTargetLanguage.h"
Expand Down Expand Up @@ -489,16 +490,12 @@ static void ErrorHandlerEx(void* context, const struct SolidSyslogErrorEvent* ev
{
(void) context;
const char* sourceName = "<unknown>";
const char* message = "<no translation>";
const struct SolidSyslogErrorSource* source = event->Source;
if (source != NULL)
{
sourceName = source->Name;
if (source->AsString != NULL)
{
message = source->AsString((uint8_t) event->Detail);
}
}
const char* message = BddTargetErrorText_Category(event->Category);
(void) printf(
"[solidsyslog] severity=%d [%s cat=%u detail=%ld] %s\n",
(int) event->Severity,
Expand Down
7 changes: 1 addition & 6 deletions Bdd/Targets/FreeRtosLwip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -200,25 +200,20 @@ add_executable(SolidSyslogBddTargetLwip
${FREERTOS_COMMON_DIR}/Syscalls.c
netif/EthernetIf.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawAddress.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawAddressMessages.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawAddressStatic.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawDnsResolver.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawDnsResolverMessages.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawDnsResolverStatic.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawDatagram.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawDatagramMessages.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawDatagramStatic.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawTcpStream.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawTcpStreamMessages.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawTcpStreamStatic.c
${CMAKE_SOURCE_DIR}/Platform/LwipRaw/Source/SolidSyslogLwipRawMarshal.c
${CMAKE_SOURCE_DIR}/Platform/FreeRtos/Source/SolidSyslogFreeRtosMutex.c
${CMAKE_SOURCE_DIR}/Platform/FreeRtos/Source/SolidSyslogFreeRtosMutexMessages.c
${CMAKE_SOURCE_DIR}/Platform/FreeRtos/Source/SolidSyslogFreeRtosMutexStatic.c
${CMAKE_SOURCE_DIR}/Platform/FreeRtos/Source/SolidSyslogFreeRtosSysUpTime.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsStream.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsStreamMessages.c
${CMAKE_SOURCE_DIR}/Platform/MbedTls/Source/SolidSyslogMbedTlsStreamStatic.c
${CMAKE_SOURCE_DIR}/Bdd/Targets/Common/BddTargetErrorText.c
${CMAKE_SOURCE_DIR}/Bdd/Targets/Common/BddTargetInteractive.c
${CMAKE_SOURCE_DIR}/Bdd/Targets/Common/BddTargetIps.c
${CMAKE_SOURCE_DIR}/Bdd/Targets/Common/BddTargetLanguage.c
Expand Down
7 changes: 2 additions & 5 deletions Bdd/Targets/FreeRtosLwip/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include "EthernetIf.h"

#include "BddTargetEnterpriseId.h"
#include "BddTargetErrorText.h"
#include "BddTargetInteractive.h"
#include "BddTargetIps.h"
#include "BddTargetLanguage.h"
Expand Down Expand Up @@ -376,16 +377,12 @@ static void ErrorHandlerEx(void* context, const struct SolidSyslogErrorEvent* ev
{
(void) context;
const char* sourceName = "<unknown>";
const char* message = "<no translation>";
const struct SolidSyslogErrorSource* source = event->Source;
if (source != NULL)
{
sourceName = source->Name;
if (source->AsString != NULL)
{
message = source->AsString((uint8_t) event->Detail);
}
}
const char* message = BddTargetErrorText_Category(event->Category);
(void) printf(
"[solidsyslog] severity=%d [%s cat=%u detail=%ld] %s\n",
(int) event->Severity,
Expand Down
1 change: 0 additions & 1 deletion Core/Interface/SolidSyslogError.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ EXTERN_C_BEGIN
struct SolidSyslogErrorSource
{
const char* Name;
const char* (*AsString)(uint8_t code);
};

struct SolidSyslogErrorEvent
Expand Down
11 changes: 0 additions & 11 deletions Core/Source/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,19 @@
set(SOURCES
SolidSyslog.c
SolidSyslogMessages.c
SolidSyslogStatic.c
SolidSyslogError.c
SolidSyslogConfigLock.c
SolidSyslogSwitchingSender.c
SolidSyslogSwitchingSenderMessages.c
SolidSyslogSwitchingSenderStatic.c
SolidSyslogBuffer.c
SolidSyslogFormatter.c
SolidSyslogTimestampFormatter.c
SolidSyslogMessageFormatter.c
SolidSyslogMetaSd.c
SolidSyslogMetaSdMessages.c
SolidSyslogMetaSdStatic.c
SolidSyslogPassthroughBuffer.c
SolidSyslogPassthroughBufferMessages.c
SolidSyslogPassthroughBufferStatic.c
SolidSyslogCircularBuffer.c
SolidSyslogCircularBufferMessages.c
SolidSyslogCircularBufferStatic.c
SolidSyslogPoolAllocator.c
SolidSyslogMutex.c
Expand All @@ -37,23 +32,19 @@ set(SOURCES
SolidSyslogNullStream.c
SolidSyslogStructuredData.c
SolidSyslogTimeQualitySd.c
SolidSyslogTimeQualitySdMessages.c
SolidSyslogTimeQualitySdStatic.c
SolidSyslogOriginSd.c
SolidSyslogOriginSdMessages.c
SolidSyslogOriginSdStatic.c
SolidSyslogFile.c
SolidSyslogNullFile.c
SolidSyslogBlockStore.c
SolidSyslogBlockStoreMessages.c
SolidSyslogBlockStoreStatic.c
RecordStore.c
RecordStoreStatic.c
BlockSequence.c
BlockSequenceStatic.c
SolidSyslogBlockDevice.c
SolidSyslogFileBlockDevice.c
SolidSyslogFileBlockDeviceMessages.c
SolidSyslogFileBlockDeviceStatic.c
SolidSyslogUdpPayload.c
)
Expand All @@ -78,10 +69,8 @@ if(SOLIDSYSLOG_POSIX OR SOLIDSYSLOG_WINSOCK OR DEFINED ENV{FREERTOS_KERNEL_PATH}
SolidSyslogDatagram.c
SolidSyslogNullDatagram.c
SolidSyslogUdpSender.c
SolidSyslogUdpSenderMessages.c
SolidSyslogUdpSenderStatic.c
SolidSyslogStreamSender.c
SolidSyslogStreamSenderMessages.c
SolidSyslogStreamSenderStatic.c
)
endif()
Expand Down
41 changes: 14 additions & 27 deletions Core/Source/SolidSyslog.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
#include "SolidSyslogTimestamp.h"
#include "SolidSyslogTunables.h"

const struct SolidSyslogErrorSource SolidSyslogErrorSource = {"SolidSyslog"};

struct SolidSyslogBuffer;
struct SolidSyslogFormatter;
struct SolidSyslogSender;
Expand Down Expand Up @@ -83,11 +85,10 @@ static void SolidSyslog_InstallBuffer(struct SolidSyslog* self, struct SolidSysl
{
if (configured == NULL)
{
SolidSyslog_Error(
SolidSyslog_Report(
SOLIDSYSLOG_SEVERITY_ERROR,
&SolidSyslogErrorSource,
SOLIDSYSLOG_CAT_BAD_CONFIG,
(int32_t) SOLIDSYSLOG_ERROR_CREATE_NULL_BUFFER
SOLIDSYSLOG_ERROR_CREATE_NULL_BUFFER
);
}
else
Expand All @@ -100,11 +101,10 @@ static void SolidSyslog_InstallSender(struct SolidSyslog* self, struct SolidSysl
{
if (configured == NULL)
{
SolidSyslog_Error(
SolidSyslog_Report(
SOLIDSYSLOG_SEVERITY_ERROR,
&SolidSyslogErrorSource,
SOLIDSYSLOG_CAT_BAD_CONFIG,
(int32_t) SOLIDSYSLOG_ERROR_CREATE_NULL_SENDER
SOLIDSYSLOG_ERROR_CREATE_NULL_SENDER
);
}
else
Expand All @@ -117,12 +117,7 @@ static void SolidSyslog_InstallStore(struct SolidSyslog* self, struct SolidSyslo
{
if (configured == NULL)
{
SolidSyslog_Error(
SOLIDSYSLOG_SEVERITY_ERROR,
&SolidSyslogErrorSource,
SOLIDSYSLOG_CAT_BAD_CONFIG,
(int32_t) SOLIDSYSLOG_ERROR_CREATE_NULL_STORE
);
SolidSyslog_Report(SOLIDSYSLOG_SEVERITY_ERROR, SOLIDSYSLOG_CAT_BAD_CONFIG, SOLIDSYSLOG_ERROR_CREATE_NULL_STORE);
}
else
{
Expand Down Expand Up @@ -173,11 +168,10 @@ static void SolidSyslog_InstallStructuredData(
/* Inconsistent pairing — the formatter would dereference Sd[i] for
* i < SdCount against a NULL array. Report and leave the reset
* defaults (no SD) in place so Log() degrades safely. */
SolidSyslog_Error(
SolidSyslog_Report(
SOLIDSYSLOG_SEVERITY_ERROR,
&SolidSyslogErrorSource,
SOLIDSYSLOG_CAT_BAD_CONFIG,
(int32_t) SOLIDSYSLOG_ERROR_CREATE_INCONSISTENT_SD
SOLIDSYSLOG_ERROR_CREATE_INCONSISTENT_SD
);
}
else
Expand All @@ -191,11 +185,10 @@ void SolidSyslog_Service(struct SolidSyslog* handle)
{
if (handle == NULL)
{
SolidSyslog_Error(
SolidSyslog_Report(
SOLIDSYSLOG_SEVERITY_ERROR,
&SolidSyslogErrorSource,
SOLIDSYSLOG_CAT_BAD_ARGUMENT,
(int32_t) SOLIDSYSLOG_ERROR_SERVICE_NULL_HANDLE
SOLIDSYSLOG_ERROR_SERVICE_NULL_HANDLE
);
}
else if (SolidSyslog_IsServiceEnabled(handle))
Expand Down Expand Up @@ -258,20 +251,14 @@ void SolidSyslog_Log(struct SolidSyslog* handle, const struct SolidSyslogMessage
{
if (handle == NULL)
{
SolidSyslog_Error(
SOLIDSYSLOG_SEVERITY_ERROR,
&SolidSyslogErrorSource,
SOLIDSYSLOG_CAT_BAD_ARGUMENT,
(int32_t) SOLIDSYSLOG_ERROR_LOG_NULL_HANDLE
);
SolidSyslog_Report(SOLIDSYSLOG_SEVERITY_ERROR, SOLIDSYSLOG_CAT_BAD_ARGUMENT, SOLIDSYSLOG_ERROR_LOG_NULL_HANDLE);
}
else if (message == NULL)
{
SolidSyslog_Error(
SolidSyslog_Report(
SOLIDSYSLOG_SEVERITY_ERROR,
&SolidSyslogErrorSource,
SOLIDSYSLOG_CAT_BAD_ARGUMENT,
(int32_t) SOLIDSYSLOG_ERROR_LOG_NULL_MESSAGE
SOLIDSYSLOG_ERROR_LOG_NULL_MESSAGE
);
}
else
Expand Down
Loading
Loading