diff options
Diffstat (limited to 'net-analyzer/nbtscan/files/nbtscan-1.5.1-script-whitespace.patch')
-rw-r--r-- | net-analyzer/nbtscan/files/nbtscan-1.5.1-script-whitespace.patch | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/net-analyzer/nbtscan/files/nbtscan-1.5.1-script-whitespace.patch b/net-analyzer/nbtscan/files/nbtscan-1.5.1-script-whitespace.patch new file mode 100644 index 000000000000..4aca976dcd38 --- /dev/null +++ b/net-analyzer/nbtscan/files/nbtscan-1.5.1-script-whitespace.patch @@ -0,0 +1,119 @@ +--- a/nbtscan.c ++++ b/nbtscan.c +@@ -86,7 +86,7 @@ + int d_print_hostinfo(struct in_addr addr, const struct nb_host_info* hostinfo) { + int i; + unsigned char service; /* 16th byte of NetBIOS name */ +- char name[16]; ++ char comp_name[16]; + + printf("\nPacket dump for Host %s:\n\n", inet_ntoa(addr)); + if(hostinfo->is_broken) printf("Incomplete packet, %d bytes long.\n", hostinfo->is_broken); +@@ -110,9 +110,9 @@ + printf("Names received:\n"); + for(i=0; i< hostinfo->header->number_of_names; i++) { + service = hostinfo->names[i].ascii_name[15]; +- strncpy(name, hostinfo->names[i].ascii_name, 15); +- name[16]=0; +- printf("%-17s Service: 0x%02x Flags: 0x%04x\n", name, service, hostinfo->names[i].rr_flags); ++ strncpy(comp_name, hostinfo->names[i].ascii_name, 15); ++ comp_name[15]=0; ++ printf("%-17s Service: 0x%02x Flags: 0x%04x\n", comp_name, service, hostinfo->names[i].rr_flags); + } + }; + +@@ -147,9 +147,9 @@ + + + int v_print_hostinfo(struct in_addr addr, const struct nb_host_info* hostinfo, char* sf, int hr) { +- int i, unique; ++ int i, j, unique; + my_uint8_t service; /* 16th byte of NetBIOS name */ +- char name[16]; ++ char comp_name[16]; + char* sname; + + if(!sf) { +@@ -163,20 +163,27 @@ + if(hostinfo->header && hostinfo->names) { + for(i=0; i< hostinfo->header->number_of_names; i++) { + service = hostinfo->names[i].ascii_name[15]; +- strncpy(name, hostinfo->names[i].ascii_name, 15); +- name[16]=0; ++ strncpy(comp_name, hostinfo->names[i].ascii_name, 15); ++ ++ // Eliminate trailing spaces ++ for(j=0; j < 15; j++) { ++ if (comp_name[j] == ' ') ++ break; ++ } ++ comp_name[j] = 0; ++ + unique = !(hostinfo->names[i].rr_flags & 0x0080); + if(sf) { +- printf("%s%s%s%s", inet_ntoa(addr), sf, name, sf); +- if(hr) printf("%s\n", (char*)getnbservicename(service, unique, name)); ++ printf("%s%s%s%s", inet_ntoa(addr), sf, comp_name, sf); ++ if(hr) printf("%s\n", (char*)getnbservicename(service, unique, comp_name)); + else { + printf("%02x", service); + if(unique) printf("U\n"); + else printf("G\n"); + } + } else { +- printf("%-17s", name); +- if(hr) printf("%s\n", (char*)getnbservicename(service, unique, name)); ++ printf("%-17s", comp_name); ++ if(hr) printf("%s\n", (char*)getnbservicename(service, unique, comp_name)); + else { + printf("<%02x>", service); + if(unique) printf(" UNIQUE\n"); +@@ -199,7 +206,7 @@ + }; + + int print_hostinfo(struct in_addr addr, struct nb_host_info* hostinfo, char* sf) { +- int i; ++ int i,j; + unsigned char service; /* 16th byte of NetBIOS name */ + char comp_name[16], user_name[16]; + int is_server=0; +@@ -215,7 +222,13 @@ + if(service == 0 && unique && first_name) { + /* Unique name, workstation service - this is computer name */ + strncpy(comp_name, hostinfo->names[i].ascii_name, 15); +- comp_name[15] = 0; ++ ++ // Eliminate trailing spaces ++ for(j=0; j < 15; j++) { ++ if (comp_name[j] == ' ') ++ break; ++ } ++ comp_name[j] = 0; + first_name = 0; + }; + if(service == 0x20 && unique) { +@@ -252,7 +265,7 @@ + /* If l is true adds #PRE to each line of output (for lmhosts) */ + + int l_print_hostinfo(struct in_addr addr, struct nb_host_info* hostinfo, int l) { +- int i; ++ int i,j; + unsigned char service; /* 16th byte of NetBIOS name */ + char comp_name[16]; + int is_server=0; +@@ -268,7 +281,13 @@ + if(service == 0 && unique && first_name) { + /* Unique name, workstation service - this is computer name */ + strncpy(comp_name, hostinfo->names[i].ascii_name, 15); +- comp_name[15]=0; ++ ++ // Eliminate trailing spaces ++ for(j=0; j < 15; j++) { ++ if (comp_name[j] == ' ') ++ break; ++ } ++ comp_name[j] = 0; + first_name = 0; + }; + }; + |