From 44ee74aacabb5c123f1477f68dabf3c43909326c Mon Sep 17 00:00:00 2001
From: "maor.rayzin" <maorrayzin@guardicore.com>
Date: Mon, 16 Jul 2018 16:01:26 +0300
Subject: [PATCH] * Added a coverage for the force connection closing in the
 mssql fingerprinter.

(cherry picked from commit 782ced912d438a14ce14be61d869366b2997cff2)
---
 infection_monkey/network/mssql_fingerprint.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/infection_monkey/network/mssql_fingerprint.py b/infection_monkey/network/mssql_fingerprint.py
index 9409c2255..fb7eb91a3 100644
--- a/infection_monkey/network/mssql_fingerprint.py
+++ b/infection_monkey/network/mssql_fingerprint.py
@@ -53,6 +53,15 @@ class MSSQLFinger(HostFinger):
             LOG.info('Socket timeout reached, maybe browser service on host: {0} doesnt exist'.format(host))
             sock.close()
             return False
+        except socket.error as e:
+            if e.errno == socket.errno.ECONNRESET:
+                LOG.info('Connection was forcibly closed by the remote host. The host: {0} is rejecting the packet.'
+                         .format(host))
+            else:
+                LOG.error('An unknown socket error occurred while trying the mssql fingerprint, closing socket.',
+                          exc_info=True)
+            sock.close()
+            return False
 
         host.services[self.SERVICE_NAME] = {}