@@ -88,10 +88,20 @@ def fix_response(data):
8888def send_syslog_tls (server_url , port , data ):
8989
9090 unsecured_client_socket = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
91- client_socket = ssl .wrap_socket (unsecured_client_socket ,
92- ca_certs = config .get ('general' , 'ca_cert' ),
93- cert_reqs = ssl .CERT_REQUIRED ,
94- ssl_version = ssl .PROTOCOL_TLSv1 )
91+
92+ if config .getboolean ('general' , 'tls_verify' ):
93+ cert_reqs = ssl .CERT_REQUIRED
94+ else :
95+ cert_reqs = ssl .CERT_NONE
96+
97+ if config .getboolean ('general' , 'tls_enabled' ):
98+ client_socket = ssl .wrap_socket (unsecured_client_socket ,
99+ ca_certs = config .get ('general' , 'ca_cert' ),
100+ cert_reqs = cert_reqs ,
101+ ssl_version = ssl .PROTOCOL_TLSv1 )
102+ else :
103+ client_socket = unsecured_client_socket
104+
95105 client_socket .connect ((server_url , port ))
96106 client_socket .send (data )
97107 client_socket .close ()
@@ -208,36 +218,49 @@ def verify_config_parse_servers():
208218 #
209219 # Sanity check the general stanza this includes the tcp/tls host, port, template, and cert
210220 #
211- if not config .get ('general' , 'tcp_tls_host' ):
221+ if not config .has_option ('general' , 'tcp_tls_host' ):
212222 logger .error ('Error: A tcp_tls_host is required in the general stanza' )
213223 sys .exit (- 1 )
214- if not config .get ('general' , 'tcp_tls_port' ):
224+ if not config .has_option ('general' , 'tcp_tls_port' ):
215225 logger .error ('Error: A tcp_tls_port is required in the general stanza' )
216226 sys .exit (- 1 )
217- if not config .get ('general' , 'template' ):
227+ if not config .has_option ('general' , 'template' ):
218228 logger .error ('Error: A template is required in the general stanza' )
219229 sys .exit (- 1 )
220- if not config .get ('general' , 'ca_cert' ):
221- #
222- # A ca_cert is not required
223- #
224- config .set ('general' , 'ca_cert' , '' )
225- #
226- # Warn the user that certificate verification will not occur
227- #
228- logger .warning ('Warning: A ca_cert was not found. The remote tcp server certificate can NOT be verified' )
229-
230+ if not config .has_option ('general' , 'ca_cert' ):
231+ logger .error ("Error: Must specify ca_cert file path in the general stanza" )
232+ sys .exit (- 1 )
233+ if not config .has_option ('general' , 'tls_enabled' ):
234+ logger .error ("Error: Must specify tls_enabled in the general stanza" )
235+ sys .exit (- 1 )
236+ if not config .has_option ('general' , 'tls_verify' ):
237+ logger .error ("Error: Must specify tls_verify in config file" )
238+ sys .exit (- 1 )
230239
231240 #
232241 # Sanity check the port
233242 #
234243 try :
235- int ( config .get ('general' , 'tcp_tls_port' ) )
236- except Exception as e :
244+ config .getint ('general' , 'tcp_tls_port' )
245+ except ValueError as e :
237246 logger .error (e .message )
238247 logger .error ("Error: tcp_tls_port must be an integer" )
239248 sys .exit (- 1 )
240249
250+ try :
251+ config .getboolean ('general' , 'tls_enabled' )
252+ except ValueError as e :
253+ logger .error (e .message )
254+ logger .error ("Error: tls_enabled must be either true or false" )
255+ sys .exit (- 1 )
256+
257+ try :
258+ config .getboolean ('general' , 'tls_verify' )
259+ except ValueError as e :
260+ logger .error (e .message )
261+ logger .error ("Error: tls_verify must be either true or false" )
262+ sys .exit (- 1 )
263+
241264 #
242265 # Parse out multiple servers
243266 #
0 commit comments