diff --git a/src/opnsense/scripts/unbound/blocklists.py b/src/opnsense/scripts/unbound/blocklists.py index c043f4708..3e42c58eb 100755 --- a/src/opnsense/scripts/unbound/blocklists.py +++ b/src/opnsense/scripts/unbound/blocklists.py @@ -53,19 +53,24 @@ def uri_reader(uri): req.raw.decode_content = True prev_chop = '' while True: - chop = req.raw.read(1024).decode() - if not chop: - if prev_chop: - yield prev_chop - break - else: - parts = (prev_chop + chop).split('\n') - if parts[-1] != "\n": - prev_chop = parts.pop() + try: + chop = req.raw.read(1024).decode() + if not chop: + if prev_chop: + yield prev_chop + break else: - prev_chop = '' - for part in parts: - yield part + parts = (prev_chop + chop).split('\n') + if parts[-1] != "\n": + prev_chop = parts.pop() + else: + prev_chop = '' + for part in parts: + yield part + except Exception as e: + syslog.syslog(syslog.LOG_ERR,'blocklist download : error reading file from %s (error : %s)' % (uri, e)) + return + else: syslog.syslog(syslog.LOG_ERR, 'blocklist download : unable to download file from %s (status_code: %d)' % (uri, req.status_code)