"Benninghoff, John" <[EMAIL PROTECTED]> writes:

> I should add that this problem exists in nessus 1.2.4.

Try to update nessus-libraries/libnessus/network.c from CVS or apply
this patch. I'm not sure it is enough but I do not want to commit all
my modifications...

RCS file: /usr/local/cvs/nessus-libraries/libnessus/network.c,v
retrieving revision 1.84
retrieving revision 1.85
diff -r1.84 -r1.85
1064d1063
<  {
1066,1073d1064
<  struct timeval tv;
<  fd_set wr;
< again:
<  FD_ZERO(&wr);
<  FD_SET(fd, &wr);
<  tv.tv_sec = 1;
<  tv.tv_usec = 0;
<  if(select(fd+1, NULL, &wr, NULL, &tv) > 0)
1075,1085c1066,1069
<  return send(fd, data, length, i_opt);
<  /* Here, we do not try "IDS evasion", as this is not 
<     a "Nessus registered connection - we handle this case before */
<  }
<  else {
<       if(errno == EINTR)goto again;
<       fprintf(stderr, "[%d] nsend() : select() failed (%s)\n",
<                               getpid(),
<                               strerror(errno));
<         return -1;
<       }
---
>    int        n = send(fd, data, length, i_opt);
>    if (n < 0)
>      perror("send");
>    return n;

Reply via email to