> Index: nsssl.c
> ===================================================================
> RCS file: /cvsroot/naviserver/modules/nsssl/nsssl.c,v
> retrieving revision 1.6
> retrieving revision 1.7
> diff -C2 -d -r1.6 -r1.7
> *** nsssl.c 22 Oct 2008 02:14:24 -0000 1.6
> --- nsssl.c 22 Oct 2008 03:23:06 -0000 1.7
> ***************
> --- 432,447 ----
> */
>
> ! static int
> ! SendBufs(SOCKET sock, struct iovec *bufs, int nbufs, Ns_Time *timeoutPtr,
> int flags)
> {
> ! Ns_Conn *conn = Ns_GetConn();
> !
> ! return Ns_ConnSend(conn, bufs, nbufs);
> ! }
> !
This should be Ns_SockSendBufs(), otherwise connPtr->nContentSent will
be double counted and the driver thread may block.
Although in this case it should actually be Send(), which is your SSL
specific implementation of Ns_SockSendBufs(). The way it is now static
files may be sent in the clear :-/
(Basically, you implement the SendFile() callback by calling
Ns_SockSendFileIndirect(), which is the default library implementation
which scrapes the bytes off disk, and pass it Send(), which is your
implementation of writing to the network. nssock is maybe a little
confusing in that it doesn't actually do anything but call the default
implementations, because it doesn't have to...)
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
naviserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/naviserver-devel