Hi Nadhem,

> I am looking at the code of DTLS in openssl-1.0.0a, and in d1_pkt.c, line 412 
> , we have "enc_err = s->method->ssl3_enc->enc(s,0);".
> My Q is:
> Are we calling the routine "int ssl3_enc(SSL *s, int send) ", that start from 
> line 469 in s3_enc.c ?
> If not, which file would the called routine reside in?

If you're using DTLS, it's "int dtls1_enc(SSL *s, int send)" in d1_enc.c.

Here's how to figure out:

- s is an SSL struct, as defined in ssl.h (struct ssl_st)
- s->method is its SSL_METHOD struct, also defined in ssl.h (struct 
ssl_method_st)
- The methods assigned to new SSL objects for DTLS (e.g. with 
SSL_CTX_new(DTLSv1_server_method()) are defined in ssl_locl.h (#define 
IMPLEMENT_dtls1_meth_func...)
- In case of DTLS, the SSL3_ENC_METHOD (defined in ssl_locl.h, struct 
ssl3_enc_method) is set to DTLSv1_enc_data, defined in d1_lib.c
- DTLSv1_enc_data sets the enc function pointer to dtls1_enc, defined in 
d1_enc.c

Regards,
Robin______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to