11# -*- coding: utf-8 -*-
2- """Import Syslog messages
2+ """Receive UDP messages
33
44SPDX-FileCopyrightText: 2020 Linköping University <https://liu.se/>
55SPDX-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
109Parameters:
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
2824import 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