def pre_dissect(self, s):
        """
        Decrypt, verify and decompress the message.
        """
        if len(s) < 5:
            raise Exception("Invalid record: header is too short.")

        if isinstance(self.tls_session.rcs.cipher, Cipher_NULL):
            self.deciphered_len = None
            return s
        else:
            msglen = struct.unpack('!H', s[3:5])[0]
            hdr, efrag, r = s[:5], s[5:5 + msglen], s[msglen + 5:]
            frag, auth_tag = self._tls_auth_decrypt(efrag)
            self.deciphered_len = len(frag)
            return hdr + frag + auth_tag + r
def pre_dissect ( self , s ) : if len ( s ) < 5 : raise Exception ( "Invalid record: header is too short." ) if isinstance ( self . tls_session . rcs . cipher , Cipher_NULL ) : self . deciphered_len = None return s else : msglen = struct . unpack ( '!H' , s [ 3 : 5 ] ) [ 0 ] hdr , efrag , r = s [ : 5 ] , s [ 5 : 5 + msglen ] , s [ msglen + 5 : ] frag , auth_tag = self . _tls_auth_decrypt ( efrag ) self . deciphered_len = len ( frag ) return hdr + frag + auth_tag + r
Decrypt, verify and decompress the message.