novi upstream verzije 2.8.3
[ossec-hids.git] / src / remoted / syslogtcp.c
index cce947f..d4944c0 100755 (executable)
@@ -58,6 +58,11 @@ static void HandleClient(int client_socket, char *srcip)
 
     char *buffer_pt = NULL;
 
+    /* Create PID file */
+    if(CreatePID(ARGV0, getpid()) < 0)
+    {
+        ErrorExit(PID_ERROR,ARGV0);
+    }
 
     /* Initializing some variables */
     memset(buffer, '\0', OS_MAXSTR +2);
@@ -71,6 +76,7 @@ static void HandleClient(int client_socket, char *srcip)
         if((r_sz = OS_RecvTCPBuffer(client_socket, buffer, OS_MAXSTR -2)) < 0)
         {
             close(client_socket);
+            DeletePID(ARGV0);
             return;
         }
 
@@ -143,7 +149,7 @@ static void HandleClient(int client_socket, char *srcip)
         if(SendMSG(logr.m_queue, buffer_pt, srcip,SYSLOG_MQ) < 0)
         {
             merror(QUEUE_ERROR,ARGV0,DEFAULTQUEUE, strerror(errno));
-            if((logr.m_queue = StartMQ(DEFAULTQUEUE,READ)) < 0)
+            if((logr.m_queue = StartMQ(DEFAULTQUEUE,WRITE)) < 0)
             {
                 ErrorExit(QUEUE_FATAL,ARGV0,DEFAULTQUEUE);
             }