diff --git a/README b/README index 87d118c..76a9141 100644 --- a/README +++ b/README @@ -1,3 +1,9 @@ +============================================================================== +Now it should be working on 32 bits systems (only possible issues +should be on some prints). +Further testing is needed though +============================================================================== + ZMap is a fast network scanner designed for Internet-wide network surveys. On a typical desktop computer with a gigabit Ethernet connection, ZMap is capable scanning the entire public IPv4 address space in under 45 minutes. diff --git a/lib/blacklist.c b/lib/blacklist.c index 9647e4b..49eaa32 100644 --- a/lib/blacklist.c +++ b/lib/blacklist.c @@ -124,6 +124,6 @@ int blacklist_init_from_files(char *whitelist_filename, char *blacklist_filename constraint_optimize(constraint); uint64_t allowed = blacklist_count_allowed(); log_debug("blacklist", "%lu addresses allowed to be scanned (%0.0f%% of address space)", - allowed, allowed*100./(1L << 32)); + allowed, allowed*100./((long long int)1 << 32)); return 0; } diff --git a/src/zmap.c b/src/zmap.c index 9ebab9e..ca3d495 100644 --- a/src/zmap.c +++ b/src/zmap.c @@ -81,7 +81,7 @@ static void *start_mon(__attribute__((unused)) void *arg) #define SI(w,x,y) printf("%s\t%s\t%i\n", w, x, y); #define SD(w,x,y) printf("%s\t%s\t%f\n", w, x, y); #define SU(w,x,y) printf("%s\t%s\t%u\n", w, x, y); -#define SLU(w,x,y) printf("%s\t%s\t%lu\n", w, x, y); +#define SLU(w,x,y) printf("%s\t%s\t%lu\n", w, x, (long unsigned int)y); #define SS(w,x,y) printf("%s\t%s\t%s\n", w, x, y); #define STRTIME_LEN 1024 @@ -458,7 +458,7 @@ int main(int argc, char *argv[]) } if (end[0] == '%' && end[1] == '\0') { // treat as percentage - v = v * (1L << 32) / 100.; + v = v * ((unsigned long long int)1 << 32) / 100.; } else if (end[0] != '\0') { fprintf(stderr, "%s: extra characters after max-targets\n", CMDLINE_PARSER_PACKAGE); @@ -467,7 +467,7 @@ int main(int argc, char *argv[]) if (v <= 0) { zconf.max_targets = 0; } - else if (v >= (1L << 32)) { + else if (v >= ((unsigned long long int)1 << 32)) { zconf.max_targets = 0xFFFFFFFF; } else { zconf.max_targets = v;