author | April Chin <april.chin@oracle.com> |
Fri, 03 Oct 2014 08:19:15 -0700 | |
branch | s11u2-sru |
changeset 3361 | a4a50df947fd |
parent 2924 | 894dcec4ac14 |
permissions | -rw-r--r-- |
2853
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
1 |
# This patch is to fix: |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
2 |
# 16134419 rsyslogd forwarding over TCP does not detect server restart |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
3 |
# which was fixed in upstream version 6.4.1; this patch is a minor variant |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
4 |
# on the upstream patch, adapted for 6.2.0 . This can go away once we |
2924
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
5 |
# upgrade to 6.4.1 or later, except for the CheckConnection() part in |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
6 |
# runtime/netstrm.c which needs to make sure to return a value, as there |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
7 |
# was a bug in the 6.4.1 code that failed to do this: |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
8 |
# http://bugzilla.adiscon.com/show_bug.cgi?id=511 |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
9 |
|
2853
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
10 |
--- rsyslog/runtime/netstrm.c.orig 2012-01-09 06:05:45.000000000 -0800 |
2924
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
11 |
+++ rsyslog/runtime/netstrm.c 2014-01-29 10:16:47.131765870 -0800 |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
12 |
@@ -250,11 +250,13 @@ |
2853
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
13 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
14 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
15 |
/* check connection - slim wrapper for NSD driver function */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
16 |
-static void |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
17 |
+static rsRetVal |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
18 |
CheckConnection(netstrm_t *pThis) |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
19 |
{ |
2924
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
20 |
+ DEFiRet; |
2853
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
21 |
ISOBJ_TYPE_assert(pThis, netstrm); |
2924
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
22 |
- pThis->Drvr.CheckConnection(pThis->pDrvrData); |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
23 |
+ iRet = pThis->Drvr.CheckConnection(pThis->pDrvrData); |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
24 |
+ RETiRet; |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
25 |
} |
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
26 |
|
894dcec4ac14
18154717 rsyslog TCP forwarding on SPARC fails randomly after 16134419
John Beck <John.Beck@Oracle.COM>
parents:
2853
diff
changeset
|
27 |
|
2853
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
28 |
--- rsyslog/runtime/netstrm.h~ 2011-12-01 02:26:19.000000000 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
29 |
+++ rsyslog/runtime/netstrm.h 2013-12-02 09:30:45.155766988 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
30 |
@@ -53,7 +53,7 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
31 |
rsRetVal (*SetDrvrMode)(netstrm_t *pThis, int iMode); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
32 |
rsRetVal (*SetDrvrAuthMode)(netstrm_t *pThis, uchar*); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
33 |
rsRetVal (*SetDrvrPermPeers)(netstrm_t *pThis, permittedPeers_t*); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
34 |
- void (*CheckConnection)(netstrm_t *pThis); /* This is a trick mostly for plain tcp syslog */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
35 |
+ rsRetVal (*CheckConnection)(netstrm_t *pThis); /* This is a trick mostly for plain tcp syslog */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
36 |
/* the GetSock() below is a hack to make imgssapi work. In the long term, |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
37 |
* we should migrate imgssapi to a stream driver, which will relieve us of |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
38 |
* this problem. Please note that nobody else should use GetSock(). Using it |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
39 |
@@ -72,9 +72,10 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
40 |
/* v4 */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
41 |
rsRetVal (*EnableKeepAlive)(netstrm_t *pThis); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
42 |
ENDinterface(netstrm) |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
43 |
-#define netstrmCURR_IF_VERSION 4 /* increment whenever you change the interface structure! */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
44 |
+#define netstrmCURR_IF_VERSION 5 /* increment whenever you change the interface structure! */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
45 |
/* interface version 3 added GetRemAddr() |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
46 |
* interface version 4 added EnableKeepAlive() -- rgerhards, 2009-06-02 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
47 |
+ * interface version 5 changed return of CheckConnection from void to rsRetVal -- alorbach, 2012-09-06 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
48 |
* */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
49 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
50 |
/* prototypes */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
51 |
--- rsyslog/runtime/nsd.h.orig 2012-01-09 06:05:45.000000000 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
52 |
+++ rsyslog/runtime/nsd.h 2013-12-02 09:21:26.146155301 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
53 |
@@ -65,7 +65,7 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
54 |
rsRetVal (*SetMode)(nsd_t *pThis, int mode); /* sets a driver specific mode - see driver doc for details */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
55 |
rsRetVal (*SetAuthMode)(nsd_t *pThis, uchar*); /* sets a driver specific mode - see driver doc for details */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
56 |
rsRetVal (*SetPermPeers)(nsd_t *pThis, permittedPeers_t*); /* sets driver permitted peers for auth needs */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
57 |
- void (*CheckConnection)(nsd_t *pThis); /* This is a trick mostly for plain tcp syslog */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
58 |
+ rsRetVal (*CheckConnection)(nsd_t *pThis); /* This is a trick mostly for plain tcp syslog */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
59 |
rsRetVal (*GetSock)(nsd_t *pThis, int *pSock); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
60 |
rsRetVal (*SetSock)(nsd_t *pThis, int sock); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
61 |
/* GetSock() and SetSock() return an error if the driver does not use plain |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
62 |
@@ -82,9 +82,10 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
63 |
/* v5 */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
64 |
rsRetVal (*EnableKeepAlive)(nsd_t *pThis); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
65 |
ENDinterface(nsd) |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
66 |
-#define nsdCURR_IF_VERSION 5 /* increment whenever you change the interface structure! */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
67 |
+#define nsdCURR_IF_VERSION 6 /* increment whenever you change the interface structure! */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
68 |
/* interface version 4 added GetRemAddr() |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
69 |
* interface version 5 added EnableKeepAlive() -- rgerhards, 2009-06-02 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
70 |
+ * interface version 6 changed return of CheckConnection from void to rsRetVal -- alorbach, 2012-09-06 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
71 |
*/ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
72 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
73 |
/* interface for the select call */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
74 |
--- rsyslog/runtime/nsd_gtls.c~ 2012-01-09 06:05:45.000000000 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
75 |
+++ rsyslog/runtime/nsd_gtls.c 2013-12-02 10:14:55.324156585 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
76 |
@@ -1310,13 +1310,16 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
77 |
* This is a dummy here. For details, check function common in ptcp driver. |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
78 |
* rgerhards, 2008-06-09 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
79 |
*/ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
80 |
-static void |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
81 |
+static rsRetVal |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
82 |
CheckConnection(nsd_t __attribute__((unused)) *pNsd) |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
83 |
{ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
84 |
+ DEFiRet; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
85 |
nsd_gtls_t *pThis = (nsd_gtls_t*) pNsd; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
86 |
ISOBJ_TYPE_assert(pThis, nsd_gtls); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
87 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
88 |
- nsd_ptcp.CheckConnection(pThis->pTcp); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
89 |
+ CHKiRet(nsd_ptcp.CheckConnection(pThis->pTcp)); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
90 |
+finalize_it: |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
91 |
+ RETiRet; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
92 |
} |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
93 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
94 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
95 |
--- rsyslog/runtime/nsd_ptcp.c~ 2012-01-09 06:05:17.000000000 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
96 |
+++ rsyslog/runtime/nsd_ptcp.c 2013-12-02 10:13:48.561929979 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
97 |
@@ -726,9 +726,10 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
98 |
* http://blog.gerhards.net/2008/06/getting-bit-more-reliability-from-plain.html |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
99 |
* rgerhards, 2008-06-09 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
100 |
*/ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
101 |
-static void |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
102 |
+static rsRetVal |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
103 |
CheckConnection(nsd_t *pNsd) |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
104 |
{ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
105 |
+ DEFiRet; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
106 |
int rc; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
107 |
char msgbuf[1]; /* dummy */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
108 |
nsd_ptcp_t *pThis = (nsd_ptcp_t*) pNsd; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
109 |
@@ -741,7 +742,10 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
110 |
* need to close our side, too. |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
111 |
*/ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
112 |
sockClose(&pThis->sock); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
113 |
+ ABORT_FINALIZE(RS_RET_IO_ERROR); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
114 |
} |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
115 |
+finalize_it: |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
116 |
+ RETiRet; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
117 |
} |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
118 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
119 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
120 |
--- rsyslog/tools/omfwd.c.orig 2012-01-09 06:05:45.000000000 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
121 |
+++ rsyslog/tools/omfwd.c 2013-12-02 09:01:51.293926230 -0800 |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
122 |
@@ -310,7 +310,7 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
123 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
124 |
alreadySent = 0; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
125 |
dbgprintf("omfwd: XXXX: pData %p, pNetStrm %p\n", pData, pData->pNetstrm); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
126 |
- netstrm.CheckConnection(pData->pNetstrm); /* hack for plain tcp syslog - see ptcp driver for details */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
127 |
+ CHKiRet(netstrm.CheckConnection(pData->pNetstrm)); /* hack for plain tcp syslog - see ptcp driver for details */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
128 |
while(alreadySent != len) { |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
129 |
lenSend = len - alreadySent; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
130 |
CHKiRet(netstrm.Send(pData->pNetstrm, buf+alreadySent, &lenSend)); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
131 |
@@ -319,6 +319,12 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
132 |
} |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
133 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
134 |
finalize_it: |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
135 |
+ if(iRet != RS_RET_OK) { |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
136 |
+ /* error! */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
137 |
+ dbgprintf("TCPSendBuf error %d, destruct TCP Connection!\n", iRet); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
138 |
+ DestructTCPInstanceData(pData); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
139 |
+ iRet = RS_RET_SUSPENDED; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
140 |
+ } |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
141 |
RETiRet; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
142 |
} |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
143 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
144 |
@@ -363,6 +369,7 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
145 |
{ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
146 |
DEFiRet; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
147 |
instanceData *pData = (instanceData *) pvData; |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
148 |
+ dbgprintf("TCPSendPrepRetry performs a DestructTCPInstanceData\n"); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
149 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
150 |
assert(pData != NULL); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
151 |
DestructTCPInstanceData(pData); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
152 |
@@ -380,6 +387,7 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
153 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
154 |
assert(pData != NULL); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
155 |
if(pData->pNetstrm == NULL) { |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
156 |
+ dbgprintf("TCPSendInit CREATE\n"); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
157 |
CHKiRet(netstrms.Construct(&pData->pNS)); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
158 |
/* the stream driver must be set before the object is finalized! */ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
159 |
CHKiRet(netstrms.SetDrvrName(pData->pNS, cs.pszStrmDrvr)); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
160 |
@@ -403,6 +411,7 @@ |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
161 |
|
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
162 |
finalize_it: |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
163 |
if(iRet != RS_RET_OK) { |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
164 |
+ dbgprintf("TCPSendInit FAILED with %d.\n", iRet); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
165 |
DestructTCPInstanceData(pData); |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
166 |
} |
f549a6950e55
16134419 rsyslogd forwarding over TCP does not detect server restart
John Beck <John.Beck@Oracle.COM>
parents:
diff
changeset
|
167 |