Comment 89 for bug 93360

Revision history for this message
Bryan (brywilharris) wrote : Workaround

- Partial WORKAROUND -

The error message in question gets generated here:
/etc/dhcp3/dhclient-exit-hooks.d/zzzz_dhcdbd

Where we have the following code:

if [ -n "${dhc_dbus}" ]; then
                /usr/bin/dbus-send \
                --system \
                --dest=com.redhat.dhcp \
                --type=method_call \
                /com/redhat/dhcp/$interface \
                com.redhat.dhcp.set \
                'string:'"`env | /bin/egrep -v '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`";
fi;

Now this always gives an error message about a bad path because " /com/redhat/dhcp/$interface" doesn't exist.

Also this part:
'string:'"`env | /bin/egrep -v '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
just spits out all the environment variables. That doesn't sound right. I think this is supposed to pass information about the interaface to a database or something, but envirnment variables don't seem right. I would guess that this is supposed to be passing permanent leases to the dhcdbd.

Anyway I have attached the workaround patch which fixed the Network Manager interaction for me.

Basically it changes "/com/redhat/dhcp/$interface" to "/"
This stops the error and gets rid of the need to restart my network interface every time I connect to a network. I still contend it should be doing something other than passing environment variables, but I don't know enough about dbus to fix it. Hopefully, this will show the right person where to look.