+ virtual void OnRawSocketConnect(int fd)
+ {
+ issl_session* session = &sessions[fd];
+
+ session->fd = fd;
+ session->inbuf = new char[inbufsize];
+ session->inbufoffset = 0;
+ session->sess = SSL_new(ctx);
+ session->status = ISSL_NONE;
+
+ if (session->sess == NULL)
+ {
+ ServerInstance->Log(DEBUG, "m_ssl.so: Couldn't create SSL object: %s", get_error());
+ return;
+ }
+
+ if (SSL_set_fd(session->sess, fd) == 0)
+ {
+ ServerInstance->Log(DEBUG, "m_ssl.so: Couldn't set fd for SSL object: %s", get_error());
+ return;
+ }
+
+ Handshake(session);
+ }
+