On 2016-02-18 18:19:39, Christian Boltz wrote:
> Hello,
> 
> Am Mittwoch, 17. Februar 2016, 22:51:01 CET schrieb Tyler Hicks:
> > https://launchpad.net/bugs/1546455
> > 
> > Don't filter out AF_UNSPEC from the list of valid protocol families so
> > that the parser will accept rules such as 'network unspec,'.
> > 
> > There are certain syscalls, such as socket(2), where the LSM hooks are
> > called before the protocol family is validated. In these cases,
> > AppArmor was emitting denials even though socket(2) will eventually
> > fail. There may be cases where AF_UNSPEC sockets are accepted and we
> > need to make sure that we're mediating those appropriately.
> 
> Whenever you change something in the parser simple_tests or libapparmor 
> test_multi testsuite, please also run the utils testsuite which also 
> runs against those testcases.
> 
> Long story short: Your addition of the 'unspec' keyword breaks the 
> utils testsuite.
> 
> To un-break it, we need...
> 
> 
> [patch] Add 'unspec' to NetworkRule keyword list
> 
> I propose this patch for trunk and 2.10 (assuming the parser patch for
> AF_UNSPEC gets applied to both)
> 
> 
> [ 71-network-unspec.diff ]
> 
> --- utils/apparmor/rule/network.py      2016-02-12 22:11:21.078578660 +0100
> +++ utils/apparmor/rule/network.py      2016-02-18 18:09:26.482597013 +0100
> @@ -27,7 +27,7 @@
>  network_domain_keywords   = [ 'unix', 'inet', 'ax25', 'ipx', 'appletalk', 
> 'netrom', 'bridge', 'atmpvc', 'x25', 'inet6',
>                                'rose', 'netbeui', 'security', 'key', 
> 'netlink', 'packet', 'ash', 'econet', 'atmsvc', 'rds', 'sna',
>                                'irda', 'pppox', 'wanpipe', 'llc', 'can', 
> 'tipc', 'bluetooth', 'iucv', 'rxrpc', 'isdn', 'phonet',
> -                              'ieee802154', 'caif', 'alg', 'nfc', 'vsock', 
> 'mpls', 'ib' ]
> +                              'ieee802154', 'caif', 'alg', 'nfc', 'vsock', 
> 'mpls', 'ib', 'unspec' ]
>  
>  network_type_keywords     = ['stream', 'dgram', 'seqpacket', 'rdm', 'raw', 
> 'packet']
>  network_protocol_keywords = ['tcp', 'udp', 'icmp']
> 
> 
> Feel free to commit this together with your parser patch ;-)

Thanks! I added it to the front of the list to match the ordering of the
definitions in <sys/socket.h>:

/* Protocol families.  */
#define PF_UNSPEC       0       /* Unspecified.  */
#define PF_LOCAL        1       /* Local to host (pipes and
file-domain).  */
#define PF_UNIX         PF_LOCAL /* POSIX name for PF_LOCAL.  */
#define PF_FILE         PF_LOCAL /* Another non-standard name for
PF_LOCAL.  */
#define PF_INET         2       /* IP protocol family.  */
#define PF_AX25         3       /* Amateur Radio AX.25.  */
#define PF_IPX          4       /* Novell Internet Protocol.  */
...

Tyler

> 
> 
> Regards,
> 
> Christian Boltz
> -- 
> > Bei Mutt oder Gnus landet ohnehin jeder früher oder später,
> > Du kannst also abkürzen gleich damit anfangen. ;)
> Nein, diese Aussage ist schlicht falsch. Denn in einem
> kleinen Dorf im Nordwesten Galliens...
> [> Andreas Kneib und Thomas Hertweck in suse-linux]



> -- 
> AppArmor mailing list
> AppArmor@lists.ubuntu.com
> Modify settings or unsubscribe at: 
> https://lists.ubuntu.com/mailman/listinfo/apparmor

Attachment: signature.asc
Description: Digital signature

-- 
AppArmor mailing list
AppArmor@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/apparmor

Reply via email to