Multicast netlink for non-root process

From: Jean Tourrilhes (jt@bougret.hpl.hp.com)
Date: Tue Jun 11 2002 - 15:44:18 EST


        Hi,

        I'm developping an application that need to monitor every
network interface of the system. Network interfaces are
virtual/dynamic and go up and down all the time, so to keep track of
my interface list, I'm listening for RTM_NEWLINK events on the
RTnetLink socket (RTMGRP_LINK multicast group).

        Problem : this works only as ROOT.
        And my mother told me that having my application running as
root is bad for my health.

        The cause is here :
----------- net/netlink/af_netlink.c - l322 ------------------

static int netlink_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
{
[...]
        /* Only superuser is allowed to listen multicasts */
        if (nladdr->nl_groups && !capable(CAP_NET_ADMIN))
                return -EPERM;
--------------------------------------------------------------

        Why ?
        Why ?
        Why ?

        Have a good day...

        Jean
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:23 EST