Skip to content

Commit

Permalink
ftp(s) collector fixes, dummy tests and attribution
Browse files Browse the repository at this point in the history
  • Loading branch information
robcza committed Feb 28, 2016
1 parent 4ebc8e7 commit 56acd5a
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 18 deletions.
4 changes: 1 addition & 3 deletions intelmq/bots/collectors/ftp/collector_ftp.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,9 @@ def process(self):
report = Report()
report.add("raw", raw_report, sanitize=True)
report.add("feed.name", self.parameters.feed, sanitize=True)
report.add("feed.url", self.parameters.ftp_host + ':' +
report.add("feed.url", 'ftp://' + self.parameters.ftp_host + ':' +
str(self.parameters.ftp_port), sanitize=True)
report.add("feed.accuracy", self.parameters.accuracy, sanitize=True)
time_observation = DateTime().generate_datetime_now()
report.add('time.observation', time_observation, sanitize=True)
self.send_message(report)

if __name__ == "__main__":
Expand Down
29 changes: 14 additions & 15 deletions intelmq/bots/collectors/ftp/collector_ftps.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@
from intelmq.lib.message import Report


# https://stackoverflow.com/questions/12164470/python-ftp-implicit-tls-connection-issue
# BEGIN content from Stack Overflow
# Original question: https://stackoverflow.com/questions/12164470/python-ftp-implicit-tls-connection-issue
# Question author (Martin Prikryl): https://stackoverflow.com/users/850848/martin-prikryl
# Answer author (Grzegorz Wierzowiecki): https://stackoverflow.com/users/544721/grzegorz-wierzowiecki
class FTPS(FTP_TLS):
def __init__(self, host='', user='', passwd='', acct='', keyfile=None,
certfile=None, timeout=60):
Expand All @@ -39,18 +42,16 @@ def connect(self, host='', port=0, timeout=-999):
if timeout != -999:
self.timeout = timeout

try:
self.sock = socket.create_connection((self.host, self.port),
self.timeout)
self.af = self.sock.family
self.sock = ssl.wrap_socket(self.sock, self.keyfile, self.certfile,
ssl_version=ssl.PROTOCOL_TLSv1)
self.file = self.sock.makefile('rb')
self.welcome = self.getresp()
except Exception as e:
print e
return self.welcome
self.sock = socket.create_connection((self.host, self.port),
self.timeout)
self.af = self.sock.family
self.sock = ssl.wrap_socket(self.sock, self.keyfile, self.certfile,
ssl_version=ssl.PROTOCOL_TLSv1)
self.file = self.sock.makefile('rb')
self.welcome = self.getresp()

return self.welcome
# END content from Stack Overflow

class FTPSCollectorBot(Bot):
def process(self):
Expand Down Expand Up @@ -88,11 +89,9 @@ def process(self):
report = Report()
report.add("raw", raw_report, sanitize=True)
report.add("feed.name", self.parameters.feed, sanitize=True)
report.add("feed.url", self.parameters.ftps_host + ':' +
report.add("feed.url", 'ftps://' + self.parameters.ftps_host + ':' +
str(self.parameters.ftps_port), sanitize=True)
report.add("feed.accuracy", self.parameters.accuracy, sanitize=True)
time_observation = DateTime().generate_datetime_now()
report.add('time.observation', time_observation, sanitize=True)
self.send_message(report)

if __name__ == "__main__":
Expand Down
Empty file.
7 changes: 7 additions & 0 deletions intelmq/tests/bots/collectors/ftp/test_collector_ftp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
"""
Testing FTP collector
"""
from __future__ import unicode_literals

import intelmq.bots.collectors.ftp.collector_ftp
7 changes: 7 additions & 0 deletions intelmq/tests/bots/collectors/ftp/test_collector_ftps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
"""
Testing FTPS collector
"""
from __future__ import unicode_literals

import intelmq.bots.collectors.ftp.collector_ftps

0 comments on commit 56acd5a

Please sign in to comment.