diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-12-04 12:59:37 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-12-04 12:59:37 +0100 |
commit | e02b553e1fdca5a655a58d03066cfbc4ab41bc85 (patch) | |
tree | 271518077688e126db7267935983e1ab216474d5 /runtime/nsd_gtls.c | |
parent | c5bfd2b24ca8c490401a0835ec741c05acf0ed3e (diff) | |
parent | a453c7d858779736621c336bc1973bbaf6d6d87a (diff) | |
download | rsyslog-e02b553e1fdca5a655a58d03066cfbc4ab41bc85.tar.gz rsyslog-e02b553e1fdca5a655a58d03066cfbc4ab41bc85.tar.bz2 rsyslog-e02b553e1fdca5a655a58d03066cfbc4ab41bc85.zip |
Merge branch 'beta'
Conflicts:
ChangeLog
configure.ac
doc/manual.html
doc/rsyslog_conf.html
plugins/imudp/imudp.c
runtime/rsyslog.h
Diffstat (limited to 'runtime/nsd_gtls.c')
-rw-r--r-- | runtime/nsd_gtls.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/runtime/nsd_gtls.c b/runtime/nsd_gtls.c index 08623da8..3a79a015 100644 --- a/runtime/nsd_gtls.c +++ b/runtime/nsd_gtls.c @@ -1229,7 +1229,6 @@ SetAuthMode(nsd_t *pNsd, uchar *mode) /* TODO: clear stored IDs! */ finalize_it: -dbgprintf("gtls auth mode %d set\n", pThis->authMode); RETiRet; } @@ -1342,6 +1341,20 @@ GetRemoteHName(nsd_t *pNsd, uchar **ppszHName) } +/* Provide access to the sockaddr_storage of the remote peer. This + * is needed by the legacy ACL system. --- gerhards, 2008-12-01 + */ +static rsRetVal +GetRemAddr(nsd_t *pNsd, struct sockaddr_storage **ppAddr) +{ + DEFiRet; + nsd_gtls_t *pThis = (nsd_gtls_t*) pNsd; + ISOBJ_TYPE_assert(pThis, nsd_gtls); + iRet = nsd_ptcp.GetRemAddr(pThis->pTcp, ppAddr); + RETiRet; +} + + /* get the remote host's IP address. The returned string must be freed by the * caller. -- rgerhards, 2008-04-25 */ @@ -1477,6 +1490,13 @@ Rcv(nsd_t *pNsd, uchar *pBuf, ssize_t *pLenBuf) if(pThis->lenRcvBuf == 0) { /* EOS */ *pLenBuf = 0; + /* in this case, we also need to free the receive buffer, if we + * allocated one. -- rgerhards, 2008-12-03 + */ + if(pThis->pszRcvBuf != NULL) { + free(pThis->pszRcvBuf); + pThis->pszRcvBuf = NULL; + } ABORT_FINALIZE(RS_RET_CLOSED); } @@ -1646,6 +1666,7 @@ CODESTARTobjQueryInterface(nsd_gtls) pIf->CheckConnection = CheckConnection; pIf->GetRemoteHName = GetRemoteHName; pIf->GetRemoteIP = GetRemoteIP; + pIf->GetRemAddr = GetRemAddr; finalize_it: ENDobjQueryInterface(nsd_gtls) |