diff --git a/CronosAgent.c b/CronosAgent.c index 3b2ae03..93619a2 100644 --- a/CronosAgent.c +++ b/CronosAgent.c @@ -17,6 +17,7 @@ #include #include #include +#include #ifdef USE_OPENSSL #include @@ -121,9 +122,9 @@ #endif -#define MODE_CONSOLE (1 << 0) -#define MODE_SYSLOG (1 << 1) -#define MODE_DAEMON (1 << 2) +#define MODE_CONSOLE (1 << 0) +#define MODE_SYSLOG (1 << 1) +#define MODE_DAEMON (1 << 2) #define EVENT_LIST_LENGTH (4 + 2 + 4) @@ -516,7 +517,7 @@ int main(int argc, const char* argv[]) struct RingBuffer ringBuffers[2]; memset(ringBuffers, 0, sizeof(ringBuffers)); - uint32_t sequenceNumbers[] = + uint32_t sequenceNumbers[] = { 0, 0, @@ -524,6 +525,9 @@ int main(int argc, const char* argv[]) 0 }; + struct utsname systemName; + uname(&systemName); + // Main loop bool running = true; @@ -801,12 +805,16 @@ int main(int argc, const char* argv[]) data->number = htole32(repeaterNumber); data->service = REWIND_SERVICE_CRONOS_AGENT; - length += sprintf(data->description, "CronosAgent " STRING(VERSION) " " BUILD); + + length += sprintf(data->description, + "CronosAgent " STRING(VERSION) " %s %s " BUILD, + systemName.sysname, + systemName.machine); outgoingBuffer->type = htole16(REWIND_TYPE_KEEP_ALIVE); outgoingBuffer->flags = htole16(REWIND_FLAG_DEFAULT_SET); outgoingBuffer->number = htole32(++ sequenceNumbers[0]); - outgoingBuffer->length = htobe16(length); + outgoingBuffer->length = htole16(length); length += sizeof(struct RewindData); sendto(uplinkHandle, outgoingBuffer, length, 0, serverAddress->ai_addr, serverAddress->ai_addrlen); diff --git a/RingBuffer.c b/RingBuffer.c index 40aa09c..b2e830b 100644 --- a/RingBuffer.c +++ b/RingBuffer.c @@ -20,13 +20,13 @@ void ProcessBuffer(struct RingBuffer* buffer, int handle, struct sockaddr_in* ad { if (buffer->marks == 0) { - // Nothing to process - return; + // Nothing to process + return; } if (buffer->delay > 0) { - // Processing was postponed + // Processing was postponed buffer->delay --; return; } @@ -35,7 +35,7 @@ void ProcessBuffer(struct RingBuffer* buffer, int handle, struct sockaddr_in* ad if (buffer->marks & mark) { - // Transmit scheduled data + // Transmit scheduled data struct BufferRecord* record = buffer->records + buffer->index; sendto(handle, record->data, record->length, 0, (struct sockaddr*)address, sizeof(struct sockaddr_in)); // Clear processing mark diff --git a/RingBuffer.h b/RingBuffer.h index a50e813..20b9a68 100644 --- a/RingBuffer.h +++ b/RingBuffer.h @@ -10,8 +10,8 @@ extern "C" { #endif -#define DATA_LENGTH 256 -#define BUFFER_LENGTH 8 +#define DATA_LENGTH 48 +#define BUFFER_LENGTH 16 struct BufferRecord { diff --git a/Version.h b/Version.h index 3149507..6ea5c38 100644 --- a/Version.h +++ b/Version.h @@ -1 +1 @@ -#define VERSION 20160806 +#define VERSION 20160811