$OpenBSD: patch-osfinger_c,v 1.1 2002/01/25 21:14:59 jsyn Exp $
--- osfinger.c.orig	Sat Aug 18 04:57:50 2001
+++ osfinger.c	Sat Aug 18 05:09:30 2001
@@ -48,7 +48,7 @@
 
 
 char osfinger[100];
-char headBuff[4000];
+char headBuff[5500];
 
 char *ptr,*ptr2,*buffer_pointer,*cutbuf;
 
@@ -74,13 +74,12 @@
 
         snprintf(osfinger,sizeof(osfinger),"GET %s%s HTTP/1.0\n\n",NETCRAFT_FINGER,scanhost);
         send(sock,osfinger,strlen(osfinger),0);
-        sleep(WAIT_TIME);
-        recv(sock,headBuff,sizeof(headBuff),0);
+        recv(sock,headBuff,sizeof(headBuff),MSG_WAITALL);
 
-        ptr = strstr(headBuff,"running <b>");
+        ptr = strstr(headBuff,"on <b>");
 
         if (ptr == NULL) {
-        fprintf(stderr,"fast status,retry please\n");
+        fprintf(stderr,"unable to retrieve OS type\n");
         }
         else{
         ptr2 = strstr(ptr,"</b>.");
@@ -89,7 +88,7 @@
         *ptr2 = '.';
 
         cutbuf=strtok(buffer_pointer,HTML_FILTER);
-        fprintf(stdout,"%s Operating System Guess:\n",scanhost);
+        fprintf(stdout,"Operating System Guess: %s ",scanhost);
         while(cutbuf!=NULL){
         fprintf(stdout,"%s",cutbuf);
         cutbuf=strtok(NULL,HTML_FILTER );
