':return: A list of option objects for this plugin.'

def get_options(self):

    ol = OptionList()
    d = 'Indicates    if    w3af    plugins    will    use    cookies    as    a    fuzzable    parameter'
    opt = opt_factory('fuzz_cookies', cf.cf.get('fuzz_cookies'), d, BOOL, tabid='Fuzzer    parameters')
    ol.add(opt)
    d = 'Indicates    if    w3af    plugins    will    send    payloads    in    the    content    of    multipart/post    form    files.'
    h = 'If    enabled,    and    multipart/post    forms    with    files    are    found,    w3afwill    fill    those    file    inputs    with    pseudo-files    containing    thepayloads    required    to    identify    vulnerabilities.'
    opt = opt_factory('fuzz_form_files', cf.cf.get('fuzz_form_files'), d, BOOL, tabid='Fuzzer    parameters', help=h)
    ol.add(opt)
    d = 'Indicates    if    w3af    plugins    will    send    fuzzed    file    names    in    order    to    find    vulnerabilities'
    h = "For    example,    if    the    discovered    URL    is    http://test/filename.php,    and    fuzz_url_filenames    is    enabled,    w3af    will    request    among    other    things:    http://test/file'a'a'name.php    in    order    to    find    SQL    injections.    This    type    of    vulns    are    getting    more        common    every    day!"
    opt = opt_factory('fuzz_url_filenames', cf.cf.get('fuzz_url_filenames'), d, BOOL, help=h, tabid='Fuzzer    parameters')
    ol.add(opt)
    desc = 'Indicates    if    w3af    plugins    will    send    fuzzed    URL    parts    in    order    to    find    vulnerabilities'
    h = 'For    example,    if    the    discovered    URL    is    http://test/foo/bar/123,    and    fuzz_url_parts    is    enabled,    w3af    will    request    among    other        things:    http://test/bar/<script>alert(document.cookie)</script>    in    order    to    find    XSS.'
    opt = opt_factory('fuzz_url_parts', cf.cf.get('fuzz_url_parts'), desc, BOOL, help=h, tabid='Fuzzer    parameters')
    ol.add(opt)
    desc = 'Indicates    the    extension    to    use    when    fuzzing    file    content'
    opt = opt_factory('fuzzed_files_extension', cf.cf.get('fuzzed_files_extension'), desc, STRING, tabid='Fuzzer    parameters')
    ol.add(opt)
    desc = 'A    list    with    all    fuzzable    header    names'
    opt = opt_factory('fuzzable_headers', cf.cf.get('fuzzable_headers'), desc, LIST, tabid='Fuzzer    parameters')
    ol.add(opt)
    d = 'Indicates    what    HTML    form    combo    values    w3af    plugins    will    use:    all,    tb,    tmb,    t,    b'
    h = 'Indicates    what    HTML    form    combo    values,    e.g.    select    options    values,    w3af    plugins    will    use:    all    (All    values),    tb    (only    top    and    bottom    values),    tmb    (top,    middle    and    bottom    values),    t    (top    values),    b    (bottom    values).'
    options = ['tmb', 'all', 'tb', 't', 'b']
    opt = opt_factory('form_fuzzing_mode', options, d, COMBO, help=h, tabid='Fuzzer    parameters')
    ol.add(opt)
    desc = 'Stop    scan    after    first    unhandled    exception'
    h = "This    feature    is    only    useful    for    developers    that    want    their    scan    to    stop    on    the    first    exception    that    is    raised    by    a    plugin.    Users    should    leave    this    as    False    in    order    to    get    better    exception    handling    from    w3af's    core."
    opt = opt_factory('stop_on_first_exception', cf.cf.get('stop_on_first_exception'), desc, BOOL, help=h, tabid='Core    settings')
    ol.add(opt)
    desc = 'Maximum    crawl    time    (minutes)'
    h = 'Many    users    tend    to    enable    numerous    plugins    without    actually    knowing    what    they    are    and    the    potential    time    they    will    take    to    run.    By    using    this    parameter,    users    will    be    able    to    set    the    maximum    amount    of    time    the    crawl    phase    will    run.'
    opt = opt_factory('max_discovery_time', cf.cf.get('max_discovery_time'), desc, INT, help=h, tabid='Core    settings')
    ol.add(opt)
    desc = 'Local    interface    name    to    use    when    sniffing,    doing    reverse    connections,    etc.'
    opt = opt_factory('interface', cf.cf.get('interface'), desc, STRING, tabid='Network    settings')
    ol.add(opt)
    desc = 'Local    IP    address    to    use    when    doing    reverse    connections'
    opt = opt_factory('local_ip_address', cf.cf.get('local_ip_address'), desc, STRING, tabid='Network    settings')
    ol.add(opt)
    desc = 'A    comma    separated    list    of    URLs    that    w3af    should    ignore'
    h = 'No    HTTP    requests    will    be    sent    to    these    URLs'
    opt = opt_factory('non_targets', cf.cf.get('non_targets'), desc, URL_LIST, help=h, tabid='Exclusions')
    ol.add(opt)
    desc = 'Filter    forms    to    scan    using    form    IDs'
    h = 'Form    IDs    allow    the    user    to    specify    which    forms    will    be    either    included    of    excluded    in    the    scan.    The    form    IDs    identified    by    w3af    will    be    written    to    the    log    (when    verbose    is    set    to    true)    and    can    be    used    to    define    this    setting    for    new    scans.\n\nFind    more    about    form    IDs    in    the    "Advanced    use    cases"    sectionof    the    w3af    documentation.'
    opt = opt_factory('form_id_list', cf.cf.get('form_id_list'), desc, FORM_ID_LIST, help=h, tabid='Exclusions')
    ol.add(opt)
    desc = 'Define    the    form_id_list    filter    behaviour'
    h = 'Change    this    setting    to    "include"    if    only    a    very    specific    set    of    forms    needs    to    be    scanned.    If    forms    matching    the    form_id_list    parameters    need    to    be    excluded    then    set    this    value    to    "exclude".'
    form_id_actions = [EXCLUDE, INCLUDE]
    tmp_list = form_id_actions[:]
    tmp_list.remove(cf.cf.get('form_id_action'))
    tmp_list.insert(0, cf.cf.get('form_id_action'))
    opt = opt_factory('form_id_action', tmp_list, desc, COMBO, help=h, tabid='Exclusions')
    ol.add(opt)
    desc = ('Full    path    of    Metasploit    framework    binary    directory    (%s    in    most    linux    installs)' % cf.cf.get('msf_location'))
    opt = opt_factory('msf_location', cf.cf.get('msf_location'), desc, STRING, tabid='Metasploit')
    ol.add(opt)
    return ol
