def unpack(data): if '\0' != data[0]: formatStr = ">BB*" fields = messageutils.unpack(formatStr, data) + (0, '') return SecurityTypes(fields[1:]) formatStr = ">BIs*" fields = messageutils.unpack(formatStr, data) return SecurityTypes(fields[0], '', fields[1], *fields[2:])
def unpack(data): formatStr = SetEncodings._formatString + "i*" fields = messageutils.unpack(formatStr, data) if fields[0] != SetEncodings._messageType: raise Exception, 'Wrong message type' if fields[1] != len(fields[2:]): raise Exception, 'Field count does not match' return SetEncodings(fields[2:])
def unpack(data): formatStr = ServerInit._formatString + "s*" return ServerInit(*messageutils.unpack(formatStr, data))
def unpack(data): formatStr = ">I" if 4 < len(data): formatStr = ">IIs*" return SecurityResult(*messageutils.unpack(formatStr, data))
def unpack(data): formatStr = ClientCutText._formatString + "s*" msg = ClientCutText(*messageutils.unpack(formatStr, data)) if msg.message_type != ClientCutText._messageType: msg = None return msg