Hi David,

Thanks for your help. I think that I misunderstood how I/O completion port works. I believe that I/O doesn't wait for all specified bytes.
Thanks again.


Elie

At 10:44 AM 6/7/2004 -0700, David Schwartz wrote:

For some reason, my email client didn't want to indent your message. So
I'll put your text on the left and mine indented. Sorry about that.


I think I need to explain my problem a little bit more. I am going to break
the problem into 2 parts.
Part 1: handshake
How do we know how many bytes does the I/O completion port need to read
without waiting forever (note that I can solve this problem by reading one
byte at a time from the I/O completion port but this is not feasible
solution)? Hence I would like to read the header first to get the length of
the packet and then read the whole packet before sending it to the (BIO -->
SSL_READ) for more processing.

Just post a reasonably-sized buffer, say 2Kb to 8Kb. Give whatever you get
to OpenSSL and ask it if the handshake is finished.


Part 2: My own protocol/messages
When we write a packet, the first two bytes of our packet indicates the
length of the entire packet.  From that, we know how many additional bytes
to read to get a complete message.  The problem that we face now is that
1) The initial 2 bytes may no longer be 2 bytes after encryption
2) Assuming that we could decrypt those to bytes and find out the length,
the length will not match the actual number of bytes sent on the network due
to the encryption (i.e. after the packet is encrypted it is larger than the
original message size).  We are trying to understand how to read the packet
using WSARecv since we don't know the actual size of our packet because of
the encryption.

Pass it a reasonably-sized buffer, say 2Kb to 8Kb. Give whatever you get to
OpenSSL and ask it if it has any data for you. You are still missing the big
picture -- as far as the encrypted side of the data goes, your job is to be
*invisible* and make it look to OpenSSL like it's seeing a normal TCP
connection.


        DS


______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]


Elie Lalo
Senior Software Engineer
Desktop Technologies Group
1414 Mass Avenue
Boxborough, MA 01719
Cisco  Systems, Inc.
Tel : (978)936-1160
Fax: (978)936-2212
Url : www.cisco.com

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to