pike.git / lib / modules / SSL.pmod / Connection.pike

version» Context lines:

pike.git/lib/modules/SSL.pmod/Connection.pike:443:    if (ctx->min_version < PROTOCOL_SSL_3_0) {    ctx->min_version = PROTOCOL_SSL_3_0;    } else if (ctx->min_version > ctx->max_version) {    ctx->min_version = ctx->max_version;    }       version = ctx->max_version;    context = ctx;   }    + //! Remove cyclic references as best we can. + void shutdown() + { +  current_read_state = current_write_state = UNDEFINED; +  pending_read_state = pending_write_state = ({}); +  ke = UNDEFINED; +  alert_callback = UNDEFINED; + }      //   // --- Old connection.pike below   //         State current_read_state;   State current_write_state;   Stdio.Buffer read_buffer = Stdio.Buffer();   Packet packet;
pike.git/lib/modules/SSL.pmod/Connection.pike:631:    if (!packet)    return !!(state & CONNECTION_local_closing);       SSL3_DEBUG_MSG("SSL.Connection: writing packet of type %d, %O\n",    packet->content_type, packet->fragment[..6]);    if (packet->content_type == PACKET_alert)    {    if (packet->level == ALERT_fatal) {    state = [int(0..0)|ConnectionState](state | CONNECTION_local_fatal |    CONNECTION_peer_closed); +  current_read_state = UNDEFINED; +  pending_read_state = ({});    // SSL3 5.4:    // Alert messages with a level of fatal result in the immediate    // termination of the connection. In this case, other    // connections corresponding to the session may continue, but    // the session identifier must be invalidated, preventing the    // failed session from being used to establish new connections.    if (session) {    context->purge_session(session);    }    } else if (packet->description == ALERT_close_notify) {