Source-Changes archive

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

CVS commit: src/external/bsd/dhcp/dist



Module Name:    src
Committed By:   manu
Date:           Wed Jun 28 02:46:31 UTC 2017

Modified Files:
        src/external/bsd/dhcp/dist/client: dhclient.c
        src/external/bsd/dhcp/dist/common: bpf.c comapi.c discover.c dispatch.c
            dlpi.c execute.c lpf.c nit.c options.c packet.c parse.c raw.c
            socket.c tr.c tree.c upf.c
        src/external/bsd/dhcp/dist/dhcpctl: cltest.c omshell.c
        src/external/bsd/dhcp/dist/includes: dhcpd.h
        src/external/bsd/dhcp/dist/relay: dhcrelay.c
        src/external/bsd/dhcp/dist/server: dhcpd.c
        src/external/bsd/dhcp/dist/tests: t_api.c

Log Message:
Make DHCP programs compatible with crunchgen(1)

DHCP programs are incompatible with crunchgen(1) so far, because
libdhcp uses callbacks with the same function names for dhclient,
dhcrelay, dhcpd, and omshell. As a result, it is impossible to
link correctly in a single binary.

The offending symbols are classify, check_collection, dhcp, dhcpv6,
bootp, find_class, parse_allow_deny, and dhcp_set_control_state, and
the local_port and remote_port variables.

This change make each program register an array of callbacks at
main() start. libdhcp then uses callbacks through registered
function and variable pointers, and DHCP programs can now go
trough crunchgen(1).

Submitted upstream as ISC-Bugs #45330 with a patch against latest ISC git.
The soon to be released 4.3.6 will not include the change, but it is
likely to be included in 4.3.7


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/bsd/dhcp/dist/client/dhclient.c
cvs rdiff -u -r1.4 -r1.5 src/external/bsd/dhcp/dist/common/bpf.c \
    src/external/bsd/dhcp/dist/common/dispatch.c
cvs rdiff -u -r1.1.1.3 -r1.2 src/external/bsd/dhcp/dist/common/comapi.c \
    src/external/bsd/dhcp/dist/common/nit.c \
    src/external/bsd/dhcp/dist/common/tr.c \
    src/external/bsd/dhcp/dist/common/upf.c
cvs rdiff -u -r1.5 -r1.6 src/external/bsd/dhcp/dist/common/discover.c
cvs rdiff -u -r1.1.1.4 -r1.2 src/external/bsd/dhcp/dist/common/dlpi.c \
    src/external/bsd/dhcp/dist/common/execute.c \
    src/external/bsd/dhcp/dist/common/options.c \
    src/external/bsd/dhcp/dist/common/parse.c \
    src/external/bsd/dhcp/dist/common/socket.c \
    src/external/bsd/dhcp/dist/common/tree.c
cvs rdiff -u -r1.1.1.5 -r1.2 src/external/bsd/dhcp/dist/common/lpf.c
cvs rdiff -u -r1.3 -r1.4 src/external/bsd/dhcp/dist/common/packet.c
cvs rdiff -u -r1.1.1.2 -r1.2 src/external/bsd/dhcp/dist/common/raw.c
cvs rdiff -u -r1.1.1.3 -r1.2 src/external/bsd/dhcp/dist/dhcpctl/cltest.c \
    src/external/bsd/dhcp/dist/dhcpctl/omshell.c
cvs rdiff -u -r1.8 -r1.9 src/external/bsd/dhcp/dist/includes/dhcpd.h
cvs rdiff -u -r1.7 -r1.8 src/external/bsd/dhcp/dist/relay/dhcrelay.c
cvs rdiff -u -r1.5 -r1.6 src/external/bsd/dhcp/dist/server/dhcpd.c
cvs rdiff -u -r1.1.1.3 -r1.2 src/external/bsd/dhcp/dist/tests/t_api.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index