404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.16.47.126: ~ $
# Copyright (C) 2012 Red Hat
# see file 'COPYING' for use and warranty information
#
# setrans is a tool for analyzing process transistions in SELinux policy
#
#    This program is free software; you can redistribute it and/or
#    modify it under the terms of the GNU General Public License as
#    published by the Free Software Foundation; either version 2 of
#    the License, or (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
#                                        02111-1307  USA
#
#
import sepolicy


def get_types(src, tclass, perm, check_bools=False):
    allows = sepolicy.search([sepolicy.ALLOW], {sepolicy.SOURCE: src, sepolicy.CLASS: tclass, sepolicy.PERMS: perm})
    nlist = []
    if allows:
        for i in map(lambda y: y[sepolicy.TARGET], filter(lambda x: set(perm).issubset(x[sepolicy.PERMS]) and (not check_bools or x["enabled"]), allows)):
            if i not in nlist:
                nlist.append(i)
    return nlist


def get_network_connect(src, protocol, perm, check_bools=False):
    portrecs, portrecsbynum = sepolicy.gen_port_dict()
    d = {}
    tlist = get_types(src, "%s_socket" % protocol, [perm], check_bools)
    if len(tlist) > 0:
        d[(src, protocol, perm)] = []
        for i in tlist:
            if i == "ephemeral_port_type":
                if "unreserved_port_type" in tlist:
                    continue
                i = "ephemeral_port_t"
            if i == "unreserved_port_t":
                if "unreserved_port_type" in tlist:
                    continue
                if "port_t" in tlist:
                    continue
            if i == "port_t":
                d[(src, protocol, perm)].append((i, ["all ports with out defined types"]))
            if i == "port_type":
                d[(src, protocol, perm)].append((i, ["all ports"]))
            elif i == "unreserved_port_type":
                d[(src, protocol, perm)].append((i, ["all ports > 1024"]))
            elif i == "reserved_port_type":
                d[(src, protocol, perm)].append((i, ["all ports < 1024"]))
            elif i == "rpc_port_type":
                d[(src, protocol, perm)].append((i, ["all ports > 500 and  < 1024"]))
            else:
                try:
                    d[(src, protocol, perm)].append((i, portrecs[(i, protocol)]))
                except KeyError:
                    pass
    return d

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
help Folder 0755
templates Folder 0755
__init__.py File 36.62 KB 0644
booleans.py File 1.54 KB 0644
communicate.py File 1.69 KB 0644
generate.py File 50.65 KB 0644
interface.py File 7.98 KB 0644
manpage.py File 40.28 KB 0644
network.py File 2.75 KB 0644
sedbus.py File 1.71 KB 0644
transition.py File 3.15 KB 0644