Loading src/main-conf.c +28 −0 Original line number Diff line number Diff line Loading @@ -1690,6 +1690,22 @@ masscan_read_config_file(struct Masscan *masscan, const char *filename) } /*************************************************************************** ***************************************************************************/ int masscan_conf_contains(const char *x, int argc, char **argv) { int i; for (i=0; i<argc; i++) { if (strcmp(argv[i], x) == 0) return 1; } return 0; } /*************************************************************************** ***************************************************************************/ int Loading Loading @@ -1717,6 +1733,18 @@ mainconf_selftest() } /* */ { int argc = 6; char *argv[] = { "foo", "bar", "-ddd", "--readscan", "xxx", "--something" }; if (masscan_conf_contains("--nothing", argc, argv)) return 1; if (!masscan_conf_contains("--readscan", argc, argv)) return 1; } return 0; } src/main.c +12 −3 Original line number Diff line number Diff line Loading @@ -1250,7 +1250,7 @@ main_scan(struct Masscan *masscan) status_print(&status, masscan->resume.index, range, rate, total_tcbs, total_synacks, total_syns, masscan->wait - (time(0) - now)); masscan->wait + 1 - (time(0) - now)); if (time(0) - now >= masscan->wait) control_c_pressed_again = 1; Loading Loading @@ -1315,6 +1315,13 @@ int main(int argc, char *argv[]) "."); masscan->is_capture_cert = 1; /* * Pre-parse the command-line */ if (masscan_conf_contains("--readscan", argc, argv)) { masscan->is_readscan = 1; } /* * On non-Windows systems, read the defaults from the file in * the /etc directory. These defaults will contain things Loading @@ -1324,9 +1331,11 @@ int main(int argc, char *argv[]) * makes a mistake */ #if !defined(WIN32) if (!masscan->is_readscan) { if (access("/etc/masscan/masscan.conf", 0) == 0) { masscan_read_config_file(masscan, "/etc/masscan/masscan.conf"); } } #endif /* Loading src/masscan.h +13 −0 Original line number Diff line number Diff line Loading @@ -193,6 +193,11 @@ struct Masscan * by incrementing the seed */ unsigned is_infinite:1; /** * --readscan */ unsigned is_readscan:1; }; Loading @@ -203,6 +208,14 @@ void masscan_usage(void); void masscan_save_state(struct Masscan *masscan); void main_listscan(struct Masscan *masscan); /** * Pre-scan the command-line looking for options that may affect how * previous options are handled. This is a bit of a kludge, really. */ int masscan_conf_contains(const char *x, int argc, char **argv); int masscan_initialize_adapter( struct Masscan *masscan, Loading Loading
src/main-conf.c +28 −0 Original line number Diff line number Diff line Loading @@ -1690,6 +1690,22 @@ masscan_read_config_file(struct Masscan *masscan, const char *filename) } /*************************************************************************** ***************************************************************************/ int masscan_conf_contains(const char *x, int argc, char **argv) { int i; for (i=0; i<argc; i++) { if (strcmp(argv[i], x) == 0) return 1; } return 0; } /*************************************************************************** ***************************************************************************/ int Loading Loading @@ -1717,6 +1733,18 @@ mainconf_selftest() } /* */ { int argc = 6; char *argv[] = { "foo", "bar", "-ddd", "--readscan", "xxx", "--something" }; if (masscan_conf_contains("--nothing", argc, argv)) return 1; if (!masscan_conf_contains("--readscan", argc, argv)) return 1; } return 0; }
src/main.c +12 −3 Original line number Diff line number Diff line Loading @@ -1250,7 +1250,7 @@ main_scan(struct Masscan *masscan) status_print(&status, masscan->resume.index, range, rate, total_tcbs, total_synacks, total_syns, masscan->wait - (time(0) - now)); masscan->wait + 1 - (time(0) - now)); if (time(0) - now >= masscan->wait) control_c_pressed_again = 1; Loading Loading @@ -1315,6 +1315,13 @@ int main(int argc, char *argv[]) "."); masscan->is_capture_cert = 1; /* * Pre-parse the command-line */ if (masscan_conf_contains("--readscan", argc, argv)) { masscan->is_readscan = 1; } /* * On non-Windows systems, read the defaults from the file in * the /etc directory. These defaults will contain things Loading @@ -1324,9 +1331,11 @@ int main(int argc, char *argv[]) * makes a mistake */ #if !defined(WIN32) if (!masscan->is_readscan) { if (access("/etc/masscan/masscan.conf", 0) == 0) { masscan_read_config_file(masscan, "/etc/masscan/masscan.conf"); } } #endif /* Loading
src/masscan.h +13 −0 Original line number Diff line number Diff line Loading @@ -193,6 +193,11 @@ struct Masscan * by incrementing the seed */ unsigned is_infinite:1; /** * --readscan */ unsigned is_readscan:1; }; Loading @@ -203,6 +208,14 @@ void masscan_usage(void); void masscan_save_state(struct Masscan *masscan); void main_listscan(struct Masscan *masscan); /** * Pre-scan the command-line looking for options that may affect how * previous options are handled. This is a bit of a kludge, really. */ int masscan_conf_contains(const char *x, int argc, char **argv); int masscan_initialize_adapter( struct Masscan *masscan, Loading