All of lore.kernel.org
 help / color / mirror / Atom feed
From: sven.vermeulen@siphos.be (Sven Vermeulen)
To: refpolicy@oss.tresys.com
Subject: [refpolicy] [PATCH v2 1/1] Support LDAP backend infrastructure
Date: Tue, 6 Mar 2012 21:54:23 +0100	[thread overview]
Message-ID: <20120306205423.GA7987@siphos.be> (raw)
In-Reply-To: <20120306201022.GA6788@siphos.be>

On Tue, Mar 06, 2012 at 09:10:22PM +0100, Sven Vermeulen wrote:
> > > @@ -68,6 +74,7 @@ corenet_tcp_bind_generic_node(dhcpd_t)
> > >  corenet_udp_bind_generic_node(dhcpd_t)
> > >  corenet_tcp_bind_dhcpd_port(dhcpd_t)
> > >  corenet_udp_bind_dhcpd_port(dhcpd_t)
> > > +corenet_udp_bind_generic_port(dhcpd_t)
> > 
> > Looks like a port needs to be defined.
> 
> Not really, but the call should be corenet_udp_bind_all_unreserved_ports,
> not corenet_udp_bind_generic_port. Guess I'll have to go for personal
> testing more than to accept an "it works" on a bugreport :p

And *poof* there it goes.

Apparently, pre-20120215 policy, the ports were labeled port_t, in 20120215
they are labeled unreserved_port_t, which is why
corenet_udp_bind_generic_port was correct previously.

It doesn't bind to a particular port though. The bind is used by DHCP to
detect the open number of interfaces (see
common/discover.c::begin_iface_scan in the DHCP sources):

        ifaces->sock = socket(local_family, SOCK_DGRAM, IPPROTO_UDP);
        if (ioctl(ifaces->sock, SIOCGLIFNUM, &lifnum) < 0) {
                log_error("Error finding total number of interfaces; %m");
                close(ifaces->sock);
                ifaces->sock = -1;
                return 0;
        }

Wkr,
	Sven Vermeulen

> Mar  6 20:26:16 testsys kernel: [  933.044666] type=1400
> audit(1331061976.847:95): avc:  denied  { name_bind } for  pid=15054
> comm="dhcpd" src=10607 scontext=system_u:system_r:dhcpd_t
> tcontext=system_u:object_r:unreserved_port_t tclass=udp_socket
> 
> Mar  6 20:26:17 testsys kernel: [  933.484279] type=1400
> audit(1331061977.287:100): avc:  denied  { name_bind } for  pid=15065
> comm="dhcpd" src=31290 scontext=system_u:system_r:dhcpd_t
> tcontext=system_u:object_r:unreserved_port_t tclass=udp_socket
> 
> Mar  6 20:26:17 testsys kernel: [  933.484498] type=1400
> audit(1331061977.287:101): avc:  denied  { name_bind } for  pid=15065
> comm="dhcpd" src=14386 scontext=system_u:system_r:dhcpd_t
> tcontext=system_u:object_r:unreserved_port_t tclass=udp_socket
> 
> Etcetera. But I'm going to revoke this from the patch for now, because it
> isn't fully reproduceable here: if I restart the DHCP daemon 10 times, it
> fails 7 times and succeeds 3 times, without any changes to the policy, and
> denials are not showing much useful info.
> 
> Wkr,
> 	Sven Vermeulen

  reply	other threads:[~2012-03-06 20:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-01 20:02 [refpolicy] [PATCH v2 1/1] Support LDAP backend infrastructure Sven Vermeulen
2012-03-06 14:06 ` Christopher J. PeBenito
2012-03-06 20:10   ` Sven Vermeulen
2012-03-06 20:54     ` Sven Vermeulen [this message]
2012-03-12 13:09       ` Christopher J. PeBenito
2012-03-12 13:11         ` Christopher J. PeBenito

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120306205423.GA7987@siphos.be \
    --to=sven.vermeulen@siphos.be \
    --cc=refpolicy@oss.tresys.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.