On Mon, Sep 08, 2003, Geoff Thorpe wrote: > Hi Brian, > > On September 8, 2003 11:36 am, Brian Hatch wrote: > > Is there a function that I can use to increment the refernce > > count of an SSL_SESSION* ? Obviously I can just > > "ssl_session->reference += 1" -- the program is single threaded, > > so that's not even a problem. I'd like to avoid using an > > additional SSL_get1_session call because it's not clean for the > > purpose in this case. (One section of code has a SSL_SESISON* > > and another needs to get a copy without having access to the > > underlying SSL*, but the code come from two products, so I wouldn't > > want to introduce a memory leak in the one that actually does the > > SSL stuff.) > > Your best bet is to increment the reference count directly, there's no > existing SSL_SESSION API function for doing this. If you want to make > your code thread-safe in case it gets reused later under threading > circumstances, then wrap it with the appropriate locking; > > CRYPTO_w_lock(CRYPTO_LOCK_SSL_SESSION); > sess->references++; > CRYPTO_w_unlock(CRYPTO_LOCK_SSL_SESSION); > > Oh, and thanks for making me look at this - I've just realised the locking > in ssl/ssl_sess.c is wrong ... commiting a fix shortly. :-) >
Any reason for not using CRYPTO_add()? Steve. -- Dr Stephen N. Henson. Core developer of the OpenSSL project: http://www.openssl.org/ Freelance consultant see: http://www.drh-consultancy.demon.co.uk/ Email: [EMAIL PROTECTED], PGP key: via homepage. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]