pscan: size optimization (Tito <farmatito@tiscali.it>)
authorDenis Vlasenko <vda.linux@googlemail.com>
Tue, 19 Jun 2007 16:57:47 +0000 (16:57 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Tue, 19 Jun 2007 16:57:47 +0000 (16:57 -0000)
networking/pscan.c

index 9fa6993e80af81809ce77c6ef4d277bc25b3eef5..fe146b8bd1ee049e3ae3e177f2f136a167b9c043 100644 (file)
@@ -35,13 +35,13 @@ int pscan_main(int argc, char **argv)
 {
        const char *opt_max_port = "1024";      /* -P: default max port */
        const char *opt_min_port = "1";         /* -p: default min port */
-       const char *opt_timeout = "5000";       /* -t: default timeout */
+       const char *opt_timeout = "5000";       /* -t: default timeout in msec */
        /* We estimate rtt and wait rtt*4 before concluding that port is 
         * totally blocked. min rtt of 5 ms may be too low if you are
         * scanning an Internet host behind saturated/traffic shaped link.
         * Rule of thumb: with min_rtt of N msec, scanning 1000 ports
         * will take N seconds at absolute minimum */
-       const char *opt_min_rtt = "5";          /* -T: default min rtt */
+       const char *opt_min_rtt = "5";          /* -T: default min rtt in msec */
        len_and_sockaddr *lsap;
        int s;
        unsigned port, max_port, nports;
@@ -57,10 +57,8 @@ int pscan_main(int argc, char **argv)
        getopt32(argc, argv, "p:P:t:T:", &opt_min_port, &opt_max_port, &opt_timeout, &opt_min_rtt);
        argv += optind;
        max_port = xatou_range(opt_max_port, 1, 65535);
-       port = xatou_range(opt_min_port, 1, 65535);
+       port = xatou_range(opt_min_port, 1, max_port);
        nports = max_port - port + 1;
-       if ((int)nports <= 0)
-               bb_show_usage();
        rtt_4 = timeout = xatou_range(opt_timeout, 1, INT_MAX/1000 / 4) * 1000;
        min_rtt = xatou_range(opt_min_rtt, 1, INT_MAX/1000 / 4) * 1000;