Skip to content

Commit 89cf135

Browse files
garyrussellartembilan
authored andcommitted
GH-2874: Syslog - copy IpHeaders to message
Resolves #2874 **cherry-pick to 5.1.x** # Conflicts: # spring-integration-syslog/src/test/java/org/springframework/integration/syslog/inbound/SyslogReceivingChannelAdapterTests.java
1 parent 7dbb836 commit 89cf135

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

spring-integration-syslog/src/main/java/org/springframework/integration/syslog/DefaultMessageConverter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public Message<?> fromSyslog(Message<?> message) throws Exception {
9393
}
9494
}
9595
return getMessageBuilderFactory().withPayload(this.asMap ? map : message.getPayload())
96+
.copyHeaders(message.getHeaders())
9697
.copyHeaders(out)
9798
.build();
9899
}

spring-integration-syslog/src/main/java/org/springframework/integration/syslog/RFC5424MessageConverter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ public Message<?> fromSyslog(Message<?> message) throws Exception {
7979
}
8080

8181
AbstractIntegrationMessageBuilder<Object> builder = getMessageBuilderFactory().withPayload(
82-
asMap() ? map : originalContent);
82+
asMap() ? map : originalContent)
83+
.copyHeaders(message.getHeaders());
8384
if (!asMap() && isMap) {
8485
builder.copyHeaders(map);
8586
}

spring-integration-syslog/src/test/java/org/springframework/integration/syslog/inbound/SyslogReceivingChannelAdapterTests.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import java.net.DatagramSocket;
3131
import java.net.InetSocketAddress;
3232
import java.net.Socket;
33+
import java.nio.charset.StandardCharsets;
3334
import java.util.Map;
3435
import java.util.concurrent.CountDownLatch;
3536
import java.util.concurrent.TimeUnit;
@@ -44,6 +45,7 @@
4445
import org.springframework.context.ApplicationEvent;
4546
import org.springframework.context.ApplicationEventPublisher;
4647
import org.springframework.integration.channel.QueueChannel;
48+
import org.springframework.integration.ip.IpHeaders;
4749
import org.springframework.integration.ip.tcp.connection.AbstractServerConnectionFactory;
4850
import org.springframework.integration.ip.tcp.connection.TcpNioServerConnectionFactory;
4951
import org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter;
@@ -77,7 +79,7 @@ public void testUdp() throws Exception {
7779
UnicastReceivingChannelAdapter.class);
7880
TestingUtilities.waitListening(server, null);
7981
UdpSyslogReceivingChannelAdapter adapter = (UdpSyslogReceivingChannelAdapter) factory.getObject();
80-
byte[] buf = "<157>JUL 26 22:08:35 WEBERN TESTING[70729]: TEST SYSLOG MESSAGE".getBytes("UTF-8");
82+
byte[] buf = "<157>JUL 26 22:08:35 WEBERN TESTING[70729]: TEST SYSLOG MESSAGE".getBytes(StandardCharsets.UTF_8);
8183
DatagramPacket packet = new DatagramPacket(buf, buf.length, new InetSocketAddress("localhost",
8284
server.getPort()));
8385
DatagramSocket socket = new DatagramSocket();
@@ -86,6 +88,7 @@ public void testUdp() throws Exception {
8688
Message<?> message = outputChannel.receive(10000);
8789
assertNotNull(message);
8890
assertEquals("WEBERN", message.getHeaders().get("syslog_HOST"));
91+
assertTrue(message.getHeaders().containsKey(IpHeaders.IP_ADDRESS));
8992
adapter.stop();
9093
}
9194

@@ -130,6 +133,7 @@ public void testTcp() throws Exception {
130133
Message<?> message = outputChannel.receive(10000);
131134
assertNotNull(message);
132135
assertEquals("WEBERN", message.getHeaders().get("syslog_HOST"));
136+
assertTrue(message.getHeaders().containsKey(IpHeaders.IP_ADDRESS));
133137
adapter.stop();
134138
assertTrue(latch.await(10, TimeUnit.SECONDS));
135139
}
@@ -163,6 +167,7 @@ public void testAsMapFalse() throws Exception {
163167
assertEquals("WEBERN", message.getHeaders().get("syslog_HOST"));
164168
assertEquals("<157>JUL 26 22:08:35 WEBERN TESTING[70729]: TEST SYSLOG MESSAGE",
165169
new String((byte[]) message.getPayload(), "UTF-8"));
170+
assertTrue(message.getHeaders().containsKey(IpHeaders.IP_ADDRESS));
166171
adapter.stop();
167172
}
168173

@@ -212,6 +217,7 @@ public void testTcpRFC5424() throws Exception {
212217
Message<Map<String, ?>> message = (Message<Map<String, ?>>) outputChannel.receive(10000);
213218
assertNotNull(message);
214219
assertEquals("loggregator", message.getPayload().get("syslog_HOST"));
220+
assertTrue(message.getHeaders().containsKey(IpHeaders.IP_ADDRESS));
215221
adapter.stop();
216222
assertTrue(latch.await(10, TimeUnit.SECONDS));
217223
}
@@ -245,6 +251,7 @@ public void testUdpRFC5424() throws Exception {
245251
Message<Map<String, ?>> message = (Message<Map<String, ?>>) outputChannel.receive(10000);
246252
assertNotNull(message);
247253
assertEquals("loggregator", message.getPayload().get("syslog_HOST"));
254+
assertTrue(message.getHeaders().containsKey(IpHeaders.IP_ADDRESS));
248255
adapter.stop();
249256
}
250257

0 commit comments

Comments
 (0)