Beispiel #1
0
    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))
Beispiel #2
0
    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)
Beispiel #3
0
    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))
Beispiel #4
0
    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)
Beispiel #5
0
    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))
Beispiel #6
0
    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))
Beispiel #7
0
    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))
Beispiel #8
0
    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))
Beispiel #9
0
    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)))
Beispiel #10
0
    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)))
Beispiel #11
0
 def write(self, f):
     f.write(b'\xff')
     f.write(num_bin(self[0][1], 4))
     f.write(b'\xff' * 5)
Beispiel #12
0
 def write(self, f):
     f.write(b'\xff')
     f.write(num_bin(self[0][1], 4))
     f.write(b'\xff' * 5)