コード例 #1
0
    def parse_from(self, buf, idx):
        self.version = struct.unpack_from(">L", buf, idx)[0]
        idx += 4
        idx, self.ssm = sshtype.parse_string_from(buf, idx)
        idx, self.sse = sshtype.parse_mpint_from(buf, idx)
        idx, self.ssf = sshtype.parse_mpint_from(buf, idx)

        self.data_len = struct.unpack_from(">L", buf, idx)[0]
        idx += 4

        self.data_enc = buf[idx:]

        return idx
コード例 #2
0
ファイル: dmail.py プロジェクト: tailsjoin/morphis
    def parse_from(self, buf, idx):
        self.version = struct.unpack_from(">L", buf, idx)[0]
        idx += 4
        idx, self.ssm = sshtype.parse_string_from(buf, idx)
        idx, self.sse = sshtype.parse_mpint_from(buf, idx)
        idx, self.ssf = sshtype.parse_mpint_from(buf, idx)

        idx, self.signature = sshtype.parse_binary_from(buf, idx)

        self.data_len = struct.unpack_from(">L", buf, idx)[0]
        idx += 4

        self.data_enc = buf[idx:]

        return idx
コード例 #3
0
    def parse(self):
        super().parse()
        i = 1
        l, self.node_id = sshtype.parseBinary(self.buf[i:])
        i += l
        self.data_mode = DataMode(struct.unpack("B", self.buf[i:i + 1])[0])
        i += 1

        has_version = struct.unpack_from("?", self.buf, i)[0]
        i += 1
        if has_version:
            i, self.version = sshtype.parse_mpint_from(self.buf, i)

        if i == len(self.buf):
            return

        self.significant_bits = struct.unpack(">H", self.buf[i:i + 2])[0]
        i += 2

        if i == len(self.buf):
            return

        i, self.target_key = sshtype.parse_binary_from(self.buf, i)
コード例 #4
0
ファイル: chord_packet.py プロジェクト: tailsjoin/morphis
    def parse(self):
        super().parse()
        i = 1
        l, self.node_id = sshtype.parseBinary(self.buf[i:])
        i += l
        self.data_mode = DataMode(struct.unpack("B", self.buf[i : i + 1])[0])
        i += 1

        has_version = struct.unpack_from("?", self.buf, i)[0]
        i += 1
        if has_version:
            i, self.version = sshtype.parse_mpint_from(self.buf, i)

        if i == len(self.buf):
            return

        self.significant_bits = struct.unpack(">H", self.buf[i : i + 2])[0]
        i += 2

        if i == len(self.buf):
            return

        i, self.target_key = sshtype.parse_binary_from(self.buf, i)