pike.git
/
lib
/
modules
/
SSL.pmod
/
Connection.pike
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/lib/modules/SSL.pmod/Connection.pike:535:
//! Queues a packet for write. Handshake and and change cipher //! must use the same priority, so must application data and //! close_notifies. void send_packet(Packet packet, int|void priority) { if (state & (CONNECTION_local_closed | CONNECTION_local_failing)) { SSL3_DEBUG_MSG("send_packet: Ignoring packet after close/fail.\n"); return; }
+
session->last_activity = time(1);
+
if (packet->content_type == PACKET_alert) { if (packet->level == ALERT_fatal) { state = [int(0..0)|ConnectionState](state | CONNECTION_local_failing); } else if (packet->description == ALERT_close_notify) { state = [int(0..0)|ConnectionState](state | CONNECTION_local_closing); } } if (!priority) priority = ([ PACKET_alert : PRI_alert,
pike.git/lib/modules/SSL.pmod/Connection.pike:910:
string(8bit)|int got_data(string(8bit) data) { if (state & CONNECTION_peer_closed) { // The peer has closed the connection. return 1; } // If closing we continue to try to read a remote close message. // That enables the caller to check for a clean close, and // to get the leftovers after the SSL connection.
+
session->last_activity = time(1);
read_buffer->add(data); Stdio.Buffer.RewindKey read_buffer_key = read_buffer->rewind_key(); string(8bit) res = ""; Packet packet; while (packet = recv_packet()) { if (packet->is_alert) { // recv_packet returns packets with is_alert set if it is