Ignore:
Timestamp:
Nov 2, 2007, 11:45:54 PM (13 years ago)
Author:
Sam Hocevar
Message:
  • Network destination port choosing with -p/--ports.
  • Renamed -p/--pick into -l/--list to avoid conflicts.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • zzuf/trunk/src/zzuf.c

    r1802 r1858  
    147147    int cmdline = 0;
    148148#endif
     149    int network = 0;
    149150    int i;
    150151
     
    169170#endif
    170171#define OPTSTR OPTSTR_REGEX OPTSTR_RLIMIT_MEM OPTSTR_RLIMIT_CPU \
    171                 "Ab:B:C:dD:f:F:imnp:P:qr:R:s:St:vxhV"
     172                "Ab:B:C:dD:f:F:il:mnp:P:qr:R:s:St:vxhV"
    172173#define MOREINFO "Try `%s --help' for more information.\n"
    173174        int option_index = 0;
     
    193194            { "include",     1, NULL, 'I' },
    194195#endif
     196            { "list",        1, NULL, 'l' },
    195197            { "md5",         0, NULL, 'm' },
    196198            { "max-memory",  1, NULL, 'M' },
    197199            { "network",     0, NULL, 'n' },
    198             { "pick",        1, NULL, 'p' },
     200            { "ports",       1, NULL, 'p' },
    199201            { "protect",     1, NULL, 'P' },
    200202            { "quiet",       0, NULL, 'q' },
     
    276278            break;
    277279#endif
     280        case 'l': /* --list */
     281            opts->list = myoptarg;
     282            break;
    278283        case 'm': /* --md5 */
    279284            opts->md5 = 1;
     
    287292        case 'n': /* --network */
    288293            setenv("ZZUF_NETWORK", "1", 1);
    289             break;
    290         case 'p': /* --pick */
    291             opts->pick = myoptarg;
     294            network = 1;
     295            break;
     296        case 'p': /* --ports */
     297            opts->ports = myoptarg;
    292298            break;
    293299        case 'P': /* --protect */
     
    343349    }
    344350
     351    if(opts->ports && !network)
     352    {
     353        fprintf(stderr, "%s: port option (-p) requires network fuzzing (-n)\n",
     354                argv[0]);
     355        printf(MOREINFO, argv[0]);
     356        _zz_opts_fini(opts);
     357        return EXIT_FAILURE;
     358    }
     359
    345360    _zz_setratio(opts->minratio, opts->maxratio);
    346361    _zz_setseed(opts->seed);
     
    397412    if(opts->bytes)
    398413        setenv("ZZUF_BYTES", opts->bytes, 1);
    399     if(opts->pick)
    400         setenv("ZZUF_PICK", opts->pick, 1);
     414    if(opts->list)
     415        setenv("ZZUF_LIST", opts->list, 1);
     416    if(opts->ports)
     417        setenv("ZZUF_PORTS", opts->ports, 1);
    401418    if(opts->protect)
    402419        setenv("ZZUF_PROTECT", opts->protect, 1);
     
    451468    if(opts->bytes)
    452469        _zz_bytes(opts->bytes);
    453     if(opts->pick)
    454         _zz_pick(opts->pick);
     470    if(opts->list)
     471        _zz_list(opts->list);
     472    if(opts->ports)
     473        _zz_ports(opts->ports);
    455474    if(opts->protect)
    456475        _zz_protect(opts->protect);
     
    11471166    printf(                                        "[-M megabytes] ");
    11481167#endif
    1149     printf(                                                       "[-b ranges]\n");
    1150     printf("              [-P protect] [-R refuse] [-p pick]");
     1168    printf(                                                       "[-b ranges] [-p ports]\n");
     1169    printf("              [-P protect] [-R refuse] [-l list]");
    11511170#if defined HAVE_REGEX_H
    11521171    printf(                                                " [-I include] [-E exclude]");
     
    11771196    printf("  -I, --include <regex>     only fuzz files matching <regex>\n");
    11781197#endif
     1198    printf("  -l, --list <list>         only fuzz Nth descriptor with N in <list>\n");
    11791199    printf("  -m, --md5                 compute the output's MD5 hash\n");
    11801200#if defined HAVE_SETRLIMIT && defined ZZUF_RLIMIT_MEM
     
    11821202#endif
    11831203    printf("  -n, --network             fuzz network input\n");
    1184     printf("  -p, --pick <list>         only fuzz Nth descriptor with N in <list>\n");
     1204    printf("  -p, --ports <list>        only fuzz network destination ports in <list>\n");
    11851205    printf("  -P, --protect <list>      protect bytes and characters in <list>\n");
    11861206    printf("  -q, --quiet               do not print children's messages\n");
Note: See TracChangeset for help on using the changeset viewer.