Updated Avahi daemon?

  • First off, thanks for all the hard work. This is an awesome project and community.

    I'm trying to update the Avahi daemon, but it has been a wild ride. ;) I have little to no experience with FreeBSD.

    Any chance someone could take a stab at it instead? I imagine that the binaries are all that is required and the inc/xml files should work as is (in my naive opinion).

    There have been a number of fixes to Avahi since the current packaged version that would be nice to resolve. For instance, a malformed packet can cause CPU spikes, a security issue, and changes in the bonjour protocol.

    I'll keep poking away at it to see if I can figure it out. I just thought I'd ask in the meantime.

  • So, I managed to get it to update, but the same problem persists.

    The daemon pegs the CPU at 100% on the pfSense box. The logs are filled with the invalid query packet error message too.

    If anyone else has some ideas on what to do about this, I'm all ears.

  • Rebel Alliance Developer Netgate

    Avahi has become quite a beast in terms of dependencies. We tried to package it up as a single archive to avoid needing to install a billion others that it wants to drag along for the party.

    That's the main reason it hasn't been kept up-to-date, because it's a lot of work to repackage it. To give you some idea of what the list is like, here's the dependency list from avahi-app on a FreeBSD workstation I had handy:

    dbus-1.4.14_2: 1798    (1K-blocks)
    dbus-glib-0.94: 938     (1K-blocks)
    expat-2.0.1_2: 480     (1K-blocks)
    gamin-0.1.10_4: 550     (1K-blocks)
    gdbm-1.9.1: 224     (1K-blocks)
    gettext- 13070   (1K-blocks)
    gio-fam-backend-2.28.8_1: 41      (1K-blocks)
    glib-2.28.8_4: 14320   (1K-blocks)
    gnome_subr-1.0: 1       (1K-blocks)
    gobject-introspection-0.10.8_2: 7188    (1K-blocks)
    kbproto-1.0.5: 119     (1K-blocks)
    libICE-1.0.7,1: 526     (1K-blocks)
    libSM-1.2.0,1: 106     (1K-blocks)
    libX11-1.4.4,1: 6128    (1K-blocks)
    libXau-1.0.6: 39      (1K-blocks)
    libXdmcp-1.1.0: 61      (1K-blocks)
    libdaemon-0.14: 98      (1K-blocks)
    libffi-3.0.9: 308     (1K-blocks)
    libiconv-1.13.1_2: 2245    (1K-blocks)
    libpthread-stubs-0.3_3: 9       (1K-blocks)
    libxcb-1.7: 3828    (1K-blocks)
    libxml2-2.7.8_2: 4043    (1K-blocks)
    pcre-8.30_1: 3459    (1K-blocks)
    perl-5.14.2_2: 47230   (1K-blocks)
    pkg-config-0.25_1: 127     (1K-blocks)
    python27-2.7.2_4: 69628   (1K-blocks)
    xproto-7.0.22: 375     (1K-blocks)

    So big things like X11 libraries, dbus, some glib bits and so on.

    Does the CPU usage change if you find it in ps, note the command line parameters, kill it, and then start it from the shell?

  • Thanks for the reply.

    Two questions, ps aux is not returning the command line params for the avahi daemon. Is there something I'm missing? This is all I see in the ps output.

    avahi  58773 100.0  0.3  6112  2948  ??  RNs  24May12 15368:26.33 avahi-daemon: running [rooter.local] (avahi-daemon)

    Another thing I noticed is that the rooter name is not correct. In the ps output it is showing rooter.local (default for pf) but it is not what is there in the configuration. In some of the issues related to the "Invalid query packet" error they mention that the .local domain may be the cause.

    I'm assuming that the browse domain and deny interfaces are passed as arguments? Is it possible that these are written to a config file and it is not being read/passed correctly on service startup?

    I'll keep poking around, I just thought I'd put this here first. Thanks again.