Hi-ho, If I download a message body, and the body is already in the cache I get the body fine. But! If the body is not already in the cache, When the body is delivered, it includes some of the head as well. socket - tx(): 62 6f 64 79 20 36 38 32 35 39 0d 0a body 68259.. socket - rx(): 32 32 32 20 36 38 32 35 39 20 3c 4c 6a 35 56 33 222 68259 <Lj5V3 2e 36 38 30 34 24 7a 64 2e 31 31 35 31 37 30 40 .6804$zd.115170@ 6e 65 77 73 31 2e 61 6c 73 76 31 2e 6f 63 63 61 news1.alsv1.occa 2e 68 6f 6d 65 2e 63 6f 6d 3e 20 62 6f 64 79 0d .home.com> body. 0a 74 68 3a 20 6e 73 77 2e 6e 6e 72 70 2e 74 65 .th: nsw.nnrp.te 6c 73 74 72 61 2e 6e 65 74 21 6f 7a 65 6d 61 69 lstra.net!ozemai 6c 2e 63 6f 6d 2e 61 75 21 6e 65 77 73 31 2e 6f l.com.au!news1.o 70 74 75 73 2e 6e 65 74 2e 61 75 21 6f 70 74 75 ptus.net.au!optu 73 21 6e 65 77 73 66 65 65 64 2e 7a 69 70 2e 63 s!newsfeed.zip.c 6f 6d 2e 61 75 21 64 63 61 31 2d 68 75 62 31 2e om.au!dca1-hub1. 6e 65 77 73 2e 64 69 67 65 78 2e 6e 65 74 21 69 news.digex.net!i Note the line beginning ".th:" this is the "Path:" section from the header. If I run my program again, remember now that article 68259 will now be cached socket - tx(): 62 6f 64 79 20 36 38 32 35 39 0d 0a body 68259.. socket - rx(): 32 32 32 20 36 38 32 35 39 20 3c 4c 6a 35 56 33 222 68259 <Lj5V3 2e 36 38 30 34 24 7a 64 2e 31 31 35 31 37 30 40 .6804$zd.115170@ 6e 65 77 73 31 2e 61 6c 73 76 31 2e 6f 63 63 61 news1.alsv1.occa 2e 68 6f 6d 65 2e 63 6f 6d 3e 20 62 6f 64 79 0d .home.com> body. 0a . socket - rx(): 0d 0a 0d 0a 42 45 47 49 4e 20 2d 2d 2d 20 43 55 ....BEGIN --- CU 54 20 48 45 52 45 20 2d 2d 2d 20 43 75 74 20 48 T HERE --- Cut H 65 72 65 20 2d 2d 2d 20 63 75 74 20 68 65 72 65 ere --- cut here 20 2d 2d 2d 20 6c 69 70 31 38 2e 6a 70 67 0d 0a --- lip18.jpg.. 0d 0a 62 65 67 69 6e 20 36 34 34 20 6c 69 70 31 ..begin 644 lip1 38 2e 6a 70 67 0d 0a 4d 5f 5d 43 5f 58 60 60 30 8.jpg..M_]C_X``0 The body data is delivered perfectly! (Note that the data is split over two read()s.) I'm fairly sure this isn't a problem with my program since it was working properly with the (unknown) previous version of NNTPCache. Since the upgrade to 2.3.3 it no longer works. any ideas ? (This was built gcc ver egcs-2.61.66, RH Linux 6.1 from nntpcache2.3.3.tar.gz Hey! VERSION file says 2.3.1?) cheers, -kt -- Kingsley Turner, mailto:kingsley@krt.com.au Network R&D, KRT P/L Mobile: +61 2419621568