imuxsock: do not cache hostname
authorRainer Gerhards <rgerhards@adiscon.com>
Thu, 12 Apr 2012 08:14:32 +0000 (10:14 +0200)
committerRainer Gerhards <rgerhards@adiscon.com>
Thu, 12 Apr 2012 08:14:32 +0000 (10:14 +0200)
plugins/imuxsock/imuxsock.c
tools/syslogd.c

index 5867f1c..9ad2421 100644 (file)
@@ -281,16 +281,16 @@ addLstnSocketName(void __attribute__((unused)) *pVal, uchar *pNewVal)
                } else {
                        listeners[nfd].bParseHost = 0;
                }
-               CHKiRet(prop.Construct(&(listeners[nfd].hostName)));
                if(pLogHostName == NULL) {
-                       CHKiRet(prop.SetString(listeners[nfd].hostName, glbl.GetLocalHostName(), ustrlen(glbl.GetLocalHostName())));
+                       listeners[nfd].hostName = NULL;
                } else {
+                       CHKiRet(prop.Construct(&(listeners[nfd].hostName)));
                        CHKiRet(prop.SetString(listeners[nfd].hostName, pLogHostName, ustrlen(pLogHostName)));
+                       CHKiRet(prop.ConstructFinalize(listeners[nfd].hostName));
                        /* reset hostname for next socket */
                        free(pLogHostName);
                        pLogHostName = NULL;
                }
-               CHKiRet(prop.ConstructFinalize(listeners[nfd].hostName));
                if(ratelimitInterval > 0) {
                        if((listeners[nfd].ht = create_hashtable(100, hash_from_key_fn, key_equals_fn, NULL)) == NULL) {
                                /* in this case, we simply turn of rate-limiting */
@@ -602,7 +602,7 @@ SubmitMsg(uchar *pRcv, int lenRcv, lstn_t *pLstn, struct ucred *cred)
                pMsg->msgFlags  = pLstn->flags;
        }
 
-       MsgSetRcvFrom(pMsg, pLstn->hostName);
+       MsgSetRcvFrom(pMsg, pLstn->hostName == NULL ? glbl.GetLocalHostNameProp() : pLstn->hostName);
        CHKiRet(MsgSetRcvFromIP(pMsg, pLocalHostIP));
        CHKiRet(submitMsg(pMsg));
 
@@ -864,7 +864,6 @@ CODESTARTafterRun
 
        if(pInputName != NULL)
                prop.Destruct(&pInputName);
-
 ENDafterRun
 
 
@@ -958,11 +957,6 @@ CODEmodInit_QueryRegCFSLineHdlr
        CHKiRet(prop.SetString(pLocalHostIP, UCHAR_CONSTANT("127.0.0.1"), sizeof("127.0.0.1") - 1));
        CHKiRet(prop.ConstructFinalize(pLocalHostIP));
 
-       /* now init listen socket zero, the local log socket */
-       CHKiRet(prop.Construct(&(listeners[0].hostName)));
-       CHKiRet(prop.SetString(listeners[0].hostName, glbl.GetLocalHostName(), ustrlen(glbl.GetLocalHostName())));
-       CHKiRet(prop.ConstructFinalize(listeners[0].hostName));
-
        /* register config file handlers */
        CHKiRet(omsdRegCFSLineHdlr((uchar *)"omitlocallogging", 0, eCmdHdlrBinary,
                NULL, &bOmitLocalLogging, STD_LOADABLE_MODULE_ID));
index 5e94bea..af63b11 100644 (file)
@@ -21,7 +21,7 @@
  * For further information, please see http://www.rsyslog.com
  *
  * rsyslog - An Enhanced syslogd Replacement.
- * Copyright 2003-2009 Rainer Gerhards and Adiscon GmbH.
+ * Copyright 2003-2012 Rainer Gerhards and Adiscon GmbH.
  *
  * This file is part of rsyslog.
  *