[Bug 192413] New: libdhcp : IPv6 and IPv4 DHCP client and network configuration library API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.




https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=192413

           Summary: libdhcp : IPv6 and IPv4 DHCP client and network
                    configuration library API
           Product: Fedora Core
           Version: devel
          Platform: All
               URL: http://people.redhat.com/~jvdias/libdhcp
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: normal
         Component: Package Review
        AssignedTo: notting@xxxxxxxxxx
        ReportedBy: jvdias@xxxxxxxxxx
         QAContact: extras-qa@xxxxxxxxxxxxxxxxx
                CC: dcantrel@xxxxxxxxxx,fedora-package-
                    review@xxxxxxxxxx,katzj@xxxxxxxxxx,nalin@xxxxxxxxxx,pnas
                    rat@xxxxxxxxxx


Description of problem:

anaconda and potentially other users need a library based implementation 
of DHCP clients for IPv6 and IPv4, and a library to configure the network
from a static configuration, similar to the facilities currently provided
by pump, but hopefully much improved and newly IPv6 capable (bug 186322).

At the request of the anaconda team, I have developed such a library:
libdhcp. The .spec file and srpm can be downloaded from:
    http://people.redhat.com/~jvdias/libdhcp
and the source is also checked into elvis as 'libdhcp'.

libdhcp requires only the 'libdhcp6client-' sub-package of dhcpv6, and the
'libdhcp4client' subpackage of dhcp. These are MINIMALLY modified versions
of the upstream dhcp clients, with header files. No dhcp client executable
is changed in any way. The client libraries's main() functions are changed 
to be named 'dhcpv[46]_client' and to accept a LIBDHCP_Control * argument,
all their dynamic memory is automatically freed on return from these functions,
and all static / global variables are re-initialized; they've also been 
changed to invoke the libdhcp callbacks for state changes and error logging,
and any use of the exit() syscall has been removed.

See the libdhcp source README file for details on the libdhcp API.

libdhcp is now useable, but is currently being improved to provide:
 o an API 100% compatible with pump, (pump.h and all it defines that
   is used by anaconda - should be complete today).
 o both clients running in separate threads (this currently works under
   GDB only). Only necessary if a timeout parameter of 0 is supplied, ie
   you want the client to wait indefinitely for either IPv6 or IPv4 server
   contact.
 o better memory cleanup. While valgrind reports no errors from libdhcp,
   libdhcp4client, or libdhcp6client code under operation modes tested
   so far, there certainly are memory leaks - these will be resolved
   shortly (ie. today).
 Coming shortly (within next week):
 o better Doxygen documentation
 o a libdhcp++ C++ class interface to the library
 o PERL and Python module interfaces to the library

-- 
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

_______________________________________________
Fedora-package-review mailing list
Fedora-package-review@xxxxxxxxxx
http://www.redhat.com/mailman/listinfo/fedora-package-review

[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]