def write(self, f): f.write(b'\xfe') flag = 0 if self[1][1] == LSBindProcess.TYPE_INODE: flag |= 0b001 f.write(num_bin(self[0][1], 8)) f.write(num_bin(flag, 1))
def write(self, f): f.write(b'\x02') f.write(num_bin(self[0][1], 2)) if self[1][1] is True: f.write(num_bin(0, 1)) else: f.write(num_bin(1, 1)) f.write(b'\xff' * 6)
def write(self, f): f.write(b'\x01') u_acc = 0 if self[1][1] is True: u_acc |= 0b100 if self[2][1] is True: u_acc |= 0b010 if self[3][1] is True: u_acc |= 0b001 f.write(num_bin(self[0][1], 8)) f.write(num_bin(u_acc, 1))
def write(self, f): f.write(b'\x03') flag = 0 if self[1][1] == LSProcessRole.TYPE_INODE: flag |= 0b1000 if self[2][1] is False: flag |= 0b0100 if self[3][1] is False: flag |= 0b0010 if self[4][1] is False: flag |= 0b0001 f.write(num_bin(self[0][1], 8)) f.write(num_bin(flag, 1))
def write(self, f): role_name_len = len(self.role_name) f.write(num_bin(role_name_len, 1)) f.write(self.role_name.encode('ascii')) if self.parent_role is None: parent_role_name_len = 0 f.write(b'\x00') else: parent_role_name_len = len(self.parent_role.role_name) f.write(num_bin(parent_role_name_len, 1)) f.write(self.parent_role.role_name.encode('ascii')) attr_count = len(self.file_roles) + \ len(self.network_roles) + \ len(self.process_roles) + \ len(self.bind_processes) + \ len(self.bind_users) f.write(num_bin(attr_count, 4)) size = role_name_len + parent_role_name_len + 2 + 4 f.write(bytearray(b'\xff' * (600 - size)))
def write(self, f): f.write(b'\xff') f.write(num_bin(self[0][1], 4)) f.write(b'\xff' * 5)