[haiku-bugs] Re: [Haiku] #9446: [net_server] doesn't bring up newly plugged interfaces

  • From: "phoudoin" <trac@xxxxxxxxxxxx>
  • Date: Mon, 08 Apr 2013 09:50:00 -0000

#9446: [net_server] doesn't bring up newly plugged interfaces
----------------------------------+----------------------------
   Reporter:  diver               |      Owner:  axeld
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  R1
  Component:  Servers/net_server  |    Version:  R1/Development
 Resolution:                      |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  All
----------------------------------+----------------------------

Comment (by phoudoin):

 Sorry, I still don't have a working Haiku system setup to dive myself
 here.
 Meanwhile:
 * the first message is correct, and should call _ConfigureDevice(), which
 in turn calls _ConfigureInterface() and launch an AutoConfigLooper on it
 (DHCP)
 * the second message is not a leaf path but a directory. Which is nowhere
 checked so it does too, right after (and *before* the AutoConfigLooper
 have finish), call _ConfigureDevice() -> _ConfigureInterface() where it
 must dies somewhere, possibly breaking the /dev/net/usb_davicom/0 device
 configuration.

 What you could try, beside adding some printf() here and there in
 _ConfigureInterface(), is to add a check in _HandleDeviceMonitor():


 {{{
 -       if (strncmp(path, "/dev/net", 9)) {
 +       BEntry entry(path);
 +       if (entry.IsDirectory() || strncmp(path, "/dev/net", 9)) {
 +               // not a valid device entry, ignore
                 return B_NAME_NOT_FOUND;
         }
 }}}

 You may need to add #include <Entry.h> header, too.

--
Ticket URL: <http://dev.haiku-os.org/ticket/9446#comment:5>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: