bug-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

4096 block size (windows client) causing cfservd to exit


From: David Reiter
Subject: 4096 block size (windows client) causing cfservd to exit
Date: Thu, 18 Apr 2002 15:38:11 -0700 (PDT)

Hi,
 I think I have found a bug in cfservd.c and net.c when running
on a linux box. Here is my setup:

1. cfservd running on a redhat linux 7.2 box.
2. cfagent client makes a request for a file copy for a file > 4096 bytes.
   This is from a Windows 2k box running the latest cygwin software and
   cfengine 2.0.1
3. When the get requests comes in the windows client gives a block
   size of 4096. When net.c finally tries to do the file transfer
   the 4096 request + 8 byte header goes over the internal buffer
   size of 4096 so SendTransaction exits at line 66. 
4. This caused the windows client to crash sometimes, sometimes it
   would just not transfer and keep running.
5. Linux clients worked fine because they always had a request block
   size of 2048

I have added the following if block to the 2 case statements  
 case cfd_get:  &  case cfd_sget:
if (get_args.buf_size >= bufsize)
{
  get_args.buf_size = 2048;
}

 This seems to have fixed the problem, large files seem to transfer to my 
windows box now.

 Is there anything else I should be worried about, or that my change
might effect? Thanks,

David.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]