'Tries to bruteforce a form auth. This is slow!
:param freq: A FuzzableRequest'

def audit(self, freq):

    if (freq.get_url() in self._already_tested):
        return
    mutant = form_pointer_factory(freq)
    if (not self._is_login_form(mutant)):
        return
    self._already_tested.append(mutant.get_url())
    try:
        login_failed_bodies = self._id_failed_login_page(mutant)
    except BaseFrameworkException as bfe:
        msg = 'Unexpected    response    during    form    bruteforce    setup:    "%s"'
        om.out.debug((msg % bfe))
        return
    (user_token, pass_token) = mutant.get_dc().get_login_tokens()
    msg = 'Found    a    user    login    form.    The    form    action    is:    "%s".'
    om.out.information((msg % mutant.get_url()))
    if (user_token is not None):
        msg = 'The    username    field    to    be    used    is:    "%s".'
        om.out.information((msg % user_token.get_name()))
    msg = 'The    password    field    to    be    used    is:    "%s".'
    om.out.information((msg % pass_token.get_name()))
    msg = 'Starting    form    authentication    bruteforce    on    URL:    "%s".'
    om.out.information((msg % mutant.get_url()))
    if (user_token is not None):
        generator = self._create_user_pass_generator(mutant.get_url())
    else:
        generator = self._create_pass_generator(mutant.get_url())
    self._bruteforce_test(mutant, login_failed_bodies, generator)
    msg = ('Finished    bruteforcing    "%s".' % mutant.get_url())
    om.out.information(msg)
