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

version» Context lines:

pike.git/lib/modules/SSL.pmod/Session.pike:630:    // TLS 1.1 and later have an explicit IV.    read_state->tls_iv = write_state->tls_iv = cipher_spec->iv_size;    }    read_state->crypt->set_iv(keys[4]);    write_state->crypt->set_iv(keys[5]);    }    }       switch(compression_algorithm) {    case COMPRESSION_deflate: + #if constant(Gz)    // FIXME: RFC 5246 6.2.2:    // If the decompression function encounters a TLSCompressed.fragment    // that would decompress to a length in excess of 2^14 bytes, it MUST    // report a fatal decompression failure error.    read_state->compress = Gz.inflate()->inflate;    write_state->compress =    class(function(string, int:string) _deflate) {    string deflate(string s) {    // RFC 3749 2:    // All data that was submitted for compression MUST be    // included in the compressed output, with no data    // retained to be included in a later output payload.    // Flushing ensures that each compressed packet payload    // can be decompressed completely.    return _deflate(s, Gz.SYNC_FLUSH);    }    }(Gz.deflate()->deflate)->deflate; -  + #endif    break;    }    return ({ read_state, write_state });   }      //! Computes a new set of encryption states, derived from the   //! client_random, server_random and master_secret strings.   //!   //! @returns   //! @array