Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


bufferevent_ssl(3)         Library Functions Manual         bufferevent_ssl(3)



NAME
       bufferevent_ssl - OpenSSL support for bufferevents.


SYNOPSIS
       #include <event2/bufferevent_ssl.h>
       #include <event2/visibility.h>
       #include <event2/event-config.h>
       #include <event2/bufferevent.h>
       #include <event2/util.h>


   Enumerations
       enum bufferevent_ssl_state { BUFFEREVENT_SSL_OPEN = 0,
           BUFFEREVENT_SSL_CONNECTING = 1, BUFFEREVENT_SSL_ACCEPTING = 2 } The
           state of an SSL object to be used when creating a new SSL
           bufferevent. "

   Functions
       EVENT2_EXPORT_SYMBOL unsigned long bufferevent_get_openssl_error
           (struct bufferevent *bev)
           Return the most recent OpenSSL error reported on an SSL
           bufferevent.
       EVENT2_EXPORT_SYMBOL struct bufferevent *
           bufferevent_openssl_filter_new (struct event_base *base, struct
           bufferevent *underlying, struct ssl_st *ssl, enum
           bufferevent_ssl_state state, int options)
           Create a new SSL bufferevent to send its data over another
           bufferevent.
       EVENT2_EXPORT_SYMBOL int bufferevent_openssl_get_allow_dirty_shutdown
           (struct bufferevent *bev)
           Control how to report dirty SSL shutdowns.
       EVENT2_EXPORT_SYMBOL struct ssl_st * bufferevent_openssl_get_ssl
           (struct bufferevent *bufev)
           Return the underlying openssl SSL * object for an SSL bufferevent.
       EVENT2_EXPORT_SYMBOL void bufferevent_openssl_set_allow_dirty_shutdown
           (struct bufferevent *bev, int allow_dirty_shutdown)
       EVENT2_EXPORT_SYMBOL struct bufferevent *
           bufferevent_openssl_socket_new (struct event_base *base,
           evutil_socket_t fd, struct ssl_st *ssl, enum bufferevent_ssl_state
           state, int options)
           Create a new SSL bufferevent to send its data over an SSL * on a
           socket.
       EVENT2_EXPORT_SYMBOL int bufferevent_ssl_renegotiate (struct
           bufferevent *bev)
           Tells a bufferevent to begin SSL renegotiation.

Detailed Description
       OpenSSL support for bufferevents.



Function Documentation
   EVENT2_EXPORT_SYMBOL unsigned long bufferevent_get_openssl_error (struct
       bufferevent * bev)
       Return the most recent OpenSSL error reported on an SSL bufferevent.

   EVENT2_EXPORT_SYMBOL struct bufferevent* bufferevent_openssl_filter_new
       (struct event_base * base, struct bufferevent * underlying, struct
       ssl_st * ssl, enum bufferevent_ssl_state state, int options)
       Create a new SSL bufferevent to send its data over another bufferevent.

       Parameters:
           base An event_base to use to detect reading and writing. It must
           also be the base for the underlying bufferevent.
           underlying A socket to use for this SSL
           ssl A SSL* object from openssl.
           state The current state of the SSL connection
           options One or more bufferevent_options

       Returns:
           A new bufferevent on success, or NULL on failure

   EVENT2_EXPORT_SYMBOL int bufferevent_openssl_get_allow_dirty_shutdown
       (struct bufferevent * bev)
       Control how to report dirty SSL shutdowns. If the peer (or the network,
       or an attacker) closes the TCP connection before closing the SSL
       channel, and the protocol is SSL >= v3, this is a 'dirty' shutdown. If
       allow_dirty_shutdown is 0 (default), this is reported as
       BEV_EVENT_ERROR.

       If instead allow_dirty_shutdown=1, a dirty shutdown is reported as
       BEV_EVENT_EOF.

       (Note that if the protocol is < SSLv3, you will always receive
       BEV_EVENT_EOF, since SSL 2 and earlier cannot distinguish a secure
       connection close from a dirty one. This is one reason (among many) not
       to use SSL 2.)

   EVENT2_EXPORT_SYMBOL struct ssl_st* bufferevent_openssl_get_ssl (struct
       bufferevent * bufev)
       Return the underlying openssl SSL * object for an SSL bufferevent.

   EVENT2_EXPORT_SYMBOL struct bufferevent* bufferevent_openssl_socket_new
       (struct event_base * base, evutil_socket_t fd, struct ssl_st * ssl,
       enum bufferevent_ssl_state state, int options)
       Create a new SSL bufferevent to send its data over an SSL * on a
       socket.

       Parameters:
           base An event_base to use to detect reading and writing
           fd A socket to use for this SSL
           ssl A SSL* object from openssl.
           state The current state of the SSL connection
           options One or more bufferevent_options

       Returns:
           A new bufferevent on success, or NULL on failure.

   EVENT2_EXPORT_SYMBOL int bufferevent_ssl_renegotiate (struct bufferevent *
       bev)
       Tells a bufferevent to begin SSL renegotiation.

Author
       Generated automatically by Doxygen for libevent from the source code.



libevent                        Tue Jan 31 2017             bufferevent_ssl(3)