Пример #1
0
    def get_qr_list(self, client):
        net = Networker()
        qr_list = list()
        try:
            net.connect_to(client)
            self.send_credentials(net, client)
            net.send_val(str(QR_LIST) + ":0")
            result = None
            i = 0
            while result != "EOF":
                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                if size == "EOF":
                    if i is 0:
                        raise EmptyListException("Quarantine List is Empty")
                    else:
                        break
                result = net.get_data(int(size))
                qr_elem = QrElem(result)
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                qr_elem.o_path = result
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                qr_elem.d_begin = result
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                qr_elem.d_expire = result
                net.send_ack(net.SOCK_ACK)

                qr_list.append(qr_elem)
                i += 1

        except NoConnectivity:
            raise QrException("Unable to connect to " + client.name)
        except ConnectionRefusedError:
            raise QrException("Unable to authentify with " + client.name)
        except ConnectionError:
            raise QrException("Unable to get list from quarantine on " + client.name)
        except ValueError:
            raise QrException("Empty value when getting list from quarantine on " + client.name)
        finally:
            try:
                net.s.shutdown(SHUT_RDWR)
                net.s.close()
            except socket.error:
                pass
            finally:
                return qr_list
Пример #2
0
 def mod_from_scan(self, client, path, options, tmp):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(SCAN_MOD) + ":" + str(len(path)))
         net.send_val(path)
         net.send_val(options)
         net.send_val(str(tmp))
     except ConnectionRefusedError:
         raise ScanException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise ScanException("Unable to change options for " + path +
                             "\n from scanner on " + client.name)
     except NoConnectivity:
         raise ScanException("Unable to connect to " + client.name)
     except ValueError:
         raise ScanException(
             "Undetermined error when changing\n options on " + client.name)
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #3
0
 def restore_all_from_qr(self, client):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(QR_REST_ALL) + ":0")
     except NoConnectivity:
         raise QrException("Unable to connect to " + client.name)
     except ConnectionRefusedError:
         raise QrException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise QrException("Unable to restore all elements from the quarantine on " + client.name)
     except ValueError:
         raise QrException("Undetermined error when restoring\n all from Quarantine on " + client.name)
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #4
0
 def restore_from_qr(self, client, filename):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(QR_REST) + ":" + str(len(filename)))
         net.send_val(filename)
     except NoConnectivity:
         raise QrException("Unable to connect to " + client.name)
     except ConnectionRefusedError:
         raise QrException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise QrException("Unable to restore " + filename + " from \nquarantine on " + client.name)
     except ValueError:
         raise QrException("Undetermined error when restoring\n from Quarantine")
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #5
0
 def add_to_qr(self, client, path):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(QR_ADD) + ":" + str(len(path)))
         net.send_val(path)
     except NoConnectivity:
         raise QrException("Unable to connect to " + client.name)
     except ConnectionRefusedError:
         raise QrException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise QrException("Unable to add " + path + " to quarantine on " + client.name)
     except ValueError:
         raise QrException("Undetermined Error when adding to Quarantine")
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #6
0
 def rm_from_scan(self, client, path):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(SCAN_RM) + ":" + str(len(path)))
         net.send_val(path)
     except ConnectionRefusedError:
         raise ScanException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise ScanException("Unable to remove " + path + " from scanner on " + client.name)
     except NoConnectivity:
         raise ScanException("Unable to connect to " + client.name)
     except ValueError:
         raise ScanException("Undetermined error when removing from\n scanner on " + client.name)
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #7
0
 def add_to_qr(self, client, path):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(QR_ADD) + ":" + str(len(path)))
         net.send_val(path)
     except NoConnectivity:
         raise QrException("Unable to connect to " + client.name)
     except ConnectionRefusedError:
         raise QrException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise QrException("Unable to add " + path + " to quarantine on " +
                           client.name)
     except ValueError:
         raise QrException("Undetermined Error when adding to Quarantine")
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #8
0
 def restore_from_qr(self, client, filename):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(QR_REST) + ":" + str(len(filename)))
         net.send_val(filename)
     except NoConnectivity:
         raise QrException("Unable to connect to " + client.name)
     except ConnectionRefusedError:
         raise QrException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise QrException("Unable to restore " + filename +
                           " from \nquarantine on " + client.name)
     except ValueError:
         raise QrException(
             "Undetermined error when restoring\n from Quarantine")
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #9
0
 def rm_from_scan(self, client, path):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(SCAN_RM) + ":" + str(len(path)))
         net.send_val(path)
     except ConnectionRefusedError:
         raise ScanException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise ScanException("Unable to remove " + path +
                             " from scanner on " + client.name)
     except NoConnectivity:
         raise ScanException("Unable to connect to " + client.name)
     except ValueError:
         raise ScanException(
             "Undetermined error when removing from\n scanner on " +
             client.name)
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #10
0
 def restore_all_from_qr(self, client):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(QR_REST_ALL) + ":0")
     except NoConnectivity:
         raise QrException("Unable to connect to " + client.name)
     except ConnectionRefusedError:
         raise QrException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise QrException(
             "Unable to restore all elements from the quarantine on " +
             client.name)
     except ValueError:
         raise QrException(
             "Undetermined error when restoring\n all from Quarantine on " +
             client.name)
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #11
0
 def mod_from_scan(self, client, path, options, tmp):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         net.send_val(str(SCAN_MOD) + ":" + str(len(path)))
         net.send_val(path)
         net.send_val(options)
         net.send_val(str(tmp))
     except ConnectionRefusedError:
         raise ScanException("Unable to authentify with " + client.name)
     except ConnectionError:
         raise ScanException("Unable to change options for " + path +
                             "\n from scanner on " + client.name)
     except NoConnectivity:
         raise ScanException("Unable to connect to " + client.name)
     except ValueError:
         raise ScanException("Undetermined error when changing\n options on " + client.name)
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #12
0
 def send_conf_mod(self, client, section, key, new_value):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         if section is 'gbl':
             section = 'global'
         elif section is 'sma':
             section = 'small'
         elif section is 'med':
             section = 'medium'
         elif section is 'lrg':
             section = 'large'
         net.send_val(str(CONF_MOD) + ":0")
         net.send_val(str(len(section)))
         net.send_val(section)
         net.send_val(str(len(key)))
         net.send_val(key)
         net.send_val(str(len(new_value)))
         net.send_val(new_value)
         if net.get_ack() != net.SOCK_ACK:
             raise ConnectionError("Operation canceled")
     except ConnectionRefusedError:
         raise ConfigException("Unable to authentify with " + client.name)
     except NoConnectivity:
         raise ConfigException("Unable to connect to " + client.name)
     except ConnectionError:
         raise ConfigException("Unable to modify " + key + " with: " +
                               new_value)
     except ValueError:
         raise ConfigException(
             "Undetermined error when modifying\n config on " + client.name)
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #13
0
    def add_to_scan(self, client, new_elem):
        net = Networker()
        try:
            net.connect_to(client)
            self.send_credentials(net, client)
            net.send_val(str(SCAN_ADD) + ":" + str(len(new_elem.path)))
            net.send_val(new_elem.path)
            net.send_val(new_elem.get_options())

            net.send_val(str(len(str(new_elem.back_limit_size))))
            net.send_val(str(new_elem.back_limit_size))

            net.send_val(str(len(str(new_elem.del_limit_size))))
            net.send_val(str(new_elem.del_limit_size))

            net.send_val(str(new_elem.is_temp))

            net.send_val(str(len(str(new_elem.max_age))))
            net.send_val(str(new_elem.max_age))

        except ConnectionRefusedError:
            raise ScanException("Unable to authentify with " + client.name)
        except ConnectionError:
            raise ScanException("Unable to add " + new_elem.path +
                                "\nto scanner on " + client.name)
        except NoConnectivity:
            raise ScanException("Unable to connect to " + client.name)
        except ValueError:
            raise ScanException(
                "Undetermined error when adding to scanner\n on " +
                client.name)
        finally:
            try:
                net.s.shutdown(SHUT_RDWR)
                net.s.close()
            except socket.error:
                pass
Пример #14
0
    def get_scan_list(self, client):
        net = Networker()
        scan_list = list()
        try:
            net.connect_to(client)
            self.send_credentials(net, client)
            net.send_val(str(SCAN_LIST) + ":0")
            result = None
            i = 0
            while result != "EOF":
                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                if size == "EOF":
                    if i is 0:
                        raise EmptyListException("Scanner List is Empty")
                    else:
                        break
                result = net.get_data(int(size))
                scan_elem = ScanElem(result)
                net.send_ack(net.SOCK_ACK)
                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.set_options(result)
                net.send_ack(net.SOCK_ACK)
                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.back_limit_size = result
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.del_limit_size = result
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.is_temp = int(result)
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.max_age = result
                net.send_ack(net.SOCK_ACK)

                scan_list.append(scan_elem)
                i += 1
        except ConnectionRefusedError:
            raise ScanException("Unable to authentify with " + client.name)
        except NoConnectivity:
            raise ScanException("Unable to connect to " + client.name)
        except ConnectionError:
            raise ScanException("Unable to get list from scanner on " + client.name)
        except ValueError:
            raise ScanException("Empty value when getting list from scanner on " + client.name)
        finally:
            try:
                net.s.shutdown(SHUT_RDWR)
                net.s.close()
            except socket.error:
                pass
            finally:
                return scan_list
Пример #15
0
    def get_config(self, client):
        net = Networker()
        try:
            net.connect_to(client)
            self.send_credentials(net, client)
            net.send_val(str(CONF_LIST) + ":0")
            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.gbl['log_age'] = int(result)
            net.send_ack(net.SOCK_ACK)
            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.gbl['small'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.gbl['medium'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.gbl['large'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.sma['exp_def'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.sma['backup'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.sma['location'] = result
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.med['exp_def'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.med['backup'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.med['location'] = result
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.lrg['exp_def'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.lrg['backup'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.lrg['location'] = result
            net.send_ack(net.SOCK_ACK)
        except NoConnectivity:
            raise ConfigException("Unable to connect to " + client.name)
        except ConnectionRefusedError:
            raise ConfigException("Unable to authentify with " + client.name)
        except ConnectionError:
            raise ConfigException("Unable to get configurations from " +
                                  client.name)
        except ValueError:
            raise ConfigException(
                "Undetermined error when retrieving\n config on " +
                client.name)
        finally:
            try:
                net.s.shutdown(SHUT_RDWR)
                net.s.close()
            except socket.error:
                pass
Пример #16
0
    def get_qr_list(self, client):
        net = Networker()
        qr_list = list()
        try:
            net.connect_to(client)
            self.send_credentials(net, client)
            net.send_val(str(QR_LIST) + ":0")
            result = None
            i = 0
            while result != "EOF":
                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                if size == "EOF":
                    if i is 0:
                        raise EmptyListException("Quarantine List is Empty")
                    else:
                        break
                result = net.get_data(int(size))
                qr_elem = QrElem(result)
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                qr_elem.o_path = result
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                qr_elem.d_begin = result
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                qr_elem.d_expire = result
                net.send_ack(net.SOCK_ACK)

                qr_list.append(qr_elem)
                i += 1

        except NoConnectivity:
            raise QrException("Unable to connect to " + client.name)
        except ConnectionRefusedError:
            raise QrException("Unable to authentify with " + client.name)
        except ConnectionError:
            raise QrException("Unable to get list from quarantine on " +
                              client.name)
        except ValueError:
            raise QrException(
                "Empty value when getting list from quarantine on " +
                client.name)
        finally:
            try:
                net.s.shutdown(SHUT_RDWR)
                net.s.close()
            except socket.error:
                pass
            finally:
                return qr_list
Пример #17
0
    def get_config(self, client):
        net = Networker()
        try:
            net.connect_to(client)
            self.send_credentials(net, client)
            net.send_val(str(CONF_LIST) + ":0")
            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.gbl['log_age'] = int(result)
            net.send_ack(net.SOCK_ACK)
            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.gbl['small'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.gbl['medium'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.gbl['large'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.sma['exp_def'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.sma['backup'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.sma['location'] = result
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.med['exp_def'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.med['backup'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.med['location'] = result
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.lrg['exp_def'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.lrg['backup'] = int(result)
            net.send_ack(net.SOCK_ACK)

            size = net.get_data(20)
            net.send_ack(net.SOCK_ACK)
            result = net.get_data(int(size))
            Active.confList.lrg['location'] = result
            net.send_ack(net.SOCK_ACK)
        except NoConnectivity:
            raise ConfigException("Unable to connect to " + client.name)
        except ConnectionRefusedError:
            raise ConfigException("Unable to authentify with " + client.name)
        except ConnectionError:
            raise ConfigException("Unable to get configurations from " + client.name)
        except ValueError:
            raise ConfigException("Undetermined error when retrieving\n config on " + client.name)
        finally:
            try:
                net.s.shutdown(SHUT_RDWR)
                net.s.close()
            except socket.error:
                pass
Пример #18
0
 def send_conf_mod(self, client, section, key, new_value):
     net = Networker()
     try:
         net.connect_to(client)
         self.send_credentials(net, client)
         if section is 'gbl':
             section = 'global'
         elif section is 'sma':
             section = 'small'
         elif section is 'med':
             section = 'medium'
         elif section is 'lrg':
             section = 'large'
         net.send_val(str(CONF_MOD) + ":0")
         net.send_val(str(len(section)))
         net.send_val(section)
         net.send_val(str(len(key)))
         net.send_val(key)
         net.send_val(str(len(new_value)))
         net.send_val(new_value)
         if net.get_ack() != net.SOCK_ACK:
             raise ConnectionError("Operation canceled")
     except ConnectionRefusedError:
         raise ConfigException("Unable to authentify with " + client.name)
     except NoConnectivity:
         raise ConfigException("Unable to connect to " + client.name)
     except ConnectionError:
         raise ConfigException("Unable to modify "+key+" with: "+new_value)
     except ValueError:
         raise ConfigException("Undetermined error when modifying\n config on " + client.name)
     finally:
         try:
             net.s.shutdown(SHUT_RDWR)
             net.s.close()
         except socket.error:
             pass
Пример #19
0
    def get_scan_list(self, client):
        net = Networker()
        scan_list = list()
        try:
            net.connect_to(client)
            self.send_credentials(net, client)
            net.send_val(str(SCAN_LIST) + ":0")
            result = None
            i = 0
            while result != "EOF":
                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                if size == "EOF":
                    if i is 0:
                        raise EmptyListException("Scanner List is Empty")
                    else:
                        break
                result = net.get_data(int(size))
                scan_elem = ScanElem(result)
                net.send_ack(net.SOCK_ACK)
                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.set_options(result)
                net.send_ack(net.SOCK_ACK)
                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.back_limit_size = result
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.del_limit_size = result
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.is_temp = int(result)
                net.send_ack(net.SOCK_ACK)

                size = net.get_data(20)
                net.send_ack(net.SOCK_ACK)
                result = net.get_data(int(size))
                scan_elem.max_age = result
                net.send_ack(net.SOCK_ACK)

                scan_list.append(scan_elem)
                i += 1
        except ConnectionRefusedError:
            raise ScanException("Unable to authentify with " + client.name)
        except NoConnectivity:
            raise ScanException("Unable to connect to " + client.name)
        except ConnectionError:
            raise ScanException("Unable to get list from scanner on " +
                                client.name)
        except ValueError:
            raise ScanException(
                "Empty value when getting list from scanner on " + client.name)
        finally:
            try:
                net.s.shutdown(SHUT_RDWR)
                net.s.close()
            except socket.error:
                pass
            finally:
                return scan_list
Пример #20
0
    def add_to_scan(self, client, new_elem):
        net = Networker()
        try:
            net.connect_to(client)
            self.send_credentials(net, client)
            net.send_val(str(SCAN_ADD) + ":" + str(len(new_elem.path)))
            net.send_val(new_elem.path)
            net.send_val(new_elem.get_options())

            net.send_val(str(len(str(new_elem.back_limit_size))))
            net.send_val(str(new_elem.back_limit_size))

            net.send_val(str(len(str(new_elem.del_limit_size))))
            net.send_val(str(new_elem.del_limit_size))

            net.send_val(str(new_elem.is_temp))

            net.send_val(str(len(str(new_elem.max_age))))
            net.send_val(str(new_elem.max_age))

        except ConnectionRefusedError:
            raise ScanException("Unable to authentify with " + client.name)
        except ConnectionError:
            raise ScanException("Unable to add " + new_elem.path + "\nto scanner on " + client.name)
        except NoConnectivity:
            raise ScanException("Unable to connect to " + client.name)
        except ValueError:
            raise ScanException("Undetermined error when adding to scanner\n on " + client.name)
        finally:
            try:
                net.s.shutdown(SHUT_RDWR)
                net.s.close()
            except socket.error:
                pass