'Send a notification to client_addr of a vulnerability in applications.
Returns if the notification was sent successfully
Arguments:
client_addr -- Client to notify
server_addr -- remote destination of the vulnerable connection
server_port -- remote port of the vulnerable connection
id -- An opaque blob to identify the connection later on
type -- Type of vuln. See nogotofail.mitm.util.vuln.*
applications -- List of Applications to blame
callback -- Function to call when a response is received. Should be of the form:
def callback(success, result=False)
success -- If the client responded to the notification
result -- If the client showed the vulnerability'

def vuln_notify_async(self, client_addr, server_addr, server_port, id, type, applications, callback, timeout=10):

    if (not self.client_available(client_addr)):
        return False
    result = self.clients[client_addr].vuln_notify_async(server_addr, server_port, id, type, applications, callback, timeout)
    if (not result):
        self.remove_client(self.clients[client_addr])
    return result
