Skip to content

Commit 737cb1e

Browse files
committed
Rename Syslog collector to UDP
The bot really doesn't care about the Syslog data format, just that it can receive text in UDP packets. Handling Syslog is the job of a later parser bot.
1 parent 2b446dd commit 737cb1e

File tree

3 files changed

+19
-26
lines changed

3 files changed

+19
-26
lines changed

intelmq/bots/BOTS

+5-6
Original file line numberDiff line numberDiff line change
@@ -178,15 +178,14 @@
178178
"rsync_path": "<path>"
179179
}
180180
},
181-
"Syslog": {
182-
"description": "Receive Syslog messages.",
183-
"module": "intelmq.bots.collectors.syslog.collector",
181+
"UDP": {
182+
"description": "Receive UDP messages.",
183+
"module": "intelmq.bots.collectors.udp.collector",
184184
"parameters": {
185185
"ip": "0.0.0.0",
186-
"name": "Syslog",
186+
"name": "UDP",
187187
"port": 514,
188-
"protocol": "udp",
189-
"provider": "Syslog"
188+
"provider": "UDP"
190189
}
191190
},
192191
"TCP": {
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
# -*- coding: utf-8 -*-
2-
"""Import Syslog messages
2+
"""Receive UDP messages
33
44
SPDX-FileCopyrightText: 2020 Linköping University <https://liu.se/>
55
SPDX-License-Identifier: AGPL-3.0-or-later
66
7-
One IntelMQ event per Syslog line. Multi-line Syslog messages are not
8-
supported.
7+
Creates one IntelMQ event per UDP packet.
98
109
Parameters:
1110
1211
ip: string, optional, bind IP (or wildcard, if not set)
1312
14-
name: string, optional, feed name, default "Syslog"
13+
name: string, optional, feed name, default "UDP"
1514
16-
port: integer, optional, listen port, default 514
15+
port: integer, listen port
1716
18-
protocol: string, optional, default "udp". Only UDP is implemented
19-
currently.
20-
21-
provider: string, optional, feed provider name, default "Syslog"
17+
provider: string, optional, feed provider name, default "UDP"
2218
2319
"""
2420

@@ -28,20 +24,18 @@
2824
import socketserver
2925

3026

31-
class SyslogCollectorBot(CollectorBot):
27+
class UDPCollectorBot(CollectorBot):
3228

3329
def init(self):
3430
self.ip = getattr(self.parameters, 'ip', '0.0.0.0')
35-
self.name = getattr(self.parameters, 'name', 'Syslog')
36-
self.port = int(getattr(self.parameters, 'port', 514))
37-
self.protocol = getattr(self.parameters, 'protocol', 'udp').lower()
38-
if self.protocol not in ['udp']:
31+
self.name = getattr(self.parameters, 'name', 'UDP')
32+
self.port = int(getattr(self.parameters, 'port', 0))
33+
if self.port == 0:
3934
raise ConfigurationError('Listen port',
40-
'Invalid protocol %s' % self.protocol)
41-
self.provider = getattr(self.parameters, 'provider', 'Syslog')
35+
'No port specified')
36+
self.provider = getattr(self.parameters, 'provider', 'UDP')
4237

43-
if self.protocol == 'udp':
44-
self.server = socketserver.UDPServer((self.ip, self.port), SyslogUDP)
38+
self.server = socketserver.UDPServer((self.ip, self.port), UDPServer)
4539
self.server.logger = self.logger
4640
self.server.send_message = self.send_message
4741
self.server.new_report = self.new_report
@@ -52,7 +46,7 @@ def process(self):
5246
self.server.serve_forever()
5347

5448

55-
class SyslogUDP(socketserver.BaseRequestHandler):
49+
class UDPServer(socketserver.BaseRequestHandler):
5650
def handle(self):
5751
line = self.request[0].strip()
5852
self.server.logger.debug("Received event from %s", self.client_address)
@@ -62,4 +56,4 @@ def handle(self):
6256
self.finish()
6357

6458

65-
BOT = SyslogCollectorBot
59+
BOT = UDPServer

0 commit comments

Comments
 (0)