On the multiple_ssl_impls branch:
Integrate the SSL session export/import API's in the ssl bucket interface.

* buckets/bucket_private.h
  (struct serf_ssl_bucket_type_t): Add new functions session_export,
       session_import, new_session_callback_set and resume_session.
  (struct serf_ssl_session_t): Move to here from openssl_buckets.c

* serf_bucket_types.h
  (serf_ssl_session_export,
   serf_ssl_session_import): Add serf_ssl_context_t parameter. This is needed
       to decide which SSL implementation is used.

* buckets/openssl_buckets.c
  (struct serf_ssl_session_t): Move to bucket_private.h
  (serf_ssl_new_session_callback_set): Make the ctx parameter void *. Rename to serf__openssl_new_session_callback_set.
  (new_session): Use internal type openssl_context_t. Update session_obj name.
  (serf_ssl_session_export): Rename to serf__openssl_session_export. Update 
      session_obj name.
  (serf_ssl_session_import): Rename to serf__openssl_session_import. Update
      session_obj name.
  (serf_ssl_resume_session): Rename to serf__openssl_resume_session. Make the
      ctx parameter void *. Update session_obj name.
  (serf_ssl_bucket_type_openssl): Add the 4 new functions.

* buckets/sectrans_buckets.c
  (serf_ssl_bucket_type_securetransport): Fill in the 4 new functions slots with
      NULL for now.

* buckets/ssl_buckets.c
  (serf_ssl_new_session_callback_set,
   serf_ssl_resume_session,
   serf_ssl_session_export,
   serf_ssl_session_export): New functions, implemented as wrapper to one of the
       specific SSL implementations.

* test/serf_get.c
  (new_ssl_session,
   read_ssl_session,
   conn_setup): Update calls to serf_ssl_session_export and
       serf_ssl_session_import with the serf_ssl_context_t parameter.


git-svn-id: https://svn.apache.org/repos/asf/serf/branches/multiple_ssl_impls@1699558 13f79535-47bb-0310-9956-ffa450edef68
6 files changed