[openssl-dev] ssl_sess.c : compilation error
Zvi Vered
veredz72 at gmail.com
Sun Jun 7 18:36:20 UTC 2015
Hi Kurt,
I think I have a C problem.
I do not understand how the compiler enable to use the pointer ctx.
ctx is not declared in the routine parameters nor in the routine body.
What is the purpose of:
int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(SSL *ssl, SSL_SESSION *sess)
{
return ctx->new_session_cb;
}
Is it part of the ssl infrastructure or for external user who links with ssl
library ?
Best reagrds,
Zvika
-----Original Message-----
From: Kurt Roeckx
Sent: Sunday, June 07, 2015 12:51 AM
To: openssl-dev at openssl.org
Subject: Re: [openssl-dev] ssl_sess.c : compilation error
On Sun, Jun 07, 2015 at 12:17:06AM +0300, Zvi Vered wrote:
> Dear Members,
>
> In the file openssl-1.0.1g\ssl\ssl_sess.c contains the following code:
>
> int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(SSL *ssl, SSL_SESSION *sess)
> {
> return ctx->new_session_cb;
> }
>
> The return value of this routine is a "pointer to function".
> But the code :
>
> ctx->new_session_cb
>
> uses a parameter of the return value. How this is possible ?
The function without return type is:
SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)
The return value is a function that looks like:
int new_session_cb(struct ssl_st *ssl, SSL_SESSION *sess)
I hope that explains it.
> I'm trying to compile this code using diab compiler for vxworks6.3 and
> I have a syntax error.
>
> Using this compiler for vxWorks 6.9 (newer compiler) gives no syntax
> error.
>
> Is there another way to write this code ?
You can make typedefs that might make it easier for you to
understand it, but I would hope that makes no differences for a
compiler.
You could also try to just remove that function in case you don't
need it in your application.
Kurt
_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
More information about the openssl-dev
mailing list