Hi,

I modified tcpwrappers-7.6k to play nicely with other OpenPKG packages -
such as ORBit - that link with libwrap.a, if present.

The changes are as follows:
1) Steve Grubb changed the name of a number of external library definitions
to avoid namespace collisions. E.g., by default his code defines
tcpd_sock_host instead of sock_host, and tcpd_eval_client instead of
eval_client. Since the ORBit package is looking for the traditional function
names, it fails to link with Grubb's default libwrap.a. So I added an option
to the spec file called "with_private_namespace", which defaults to "no" so
that the traditional lib defs are created by default. Setting the option to
"yes" creates the new private definitions. This change also required a
change to the patch file because Steve had apparently forgotten to include
"sock_host" in the list of methods that need to be optionally publicized.

2) Matthias Kurz's patch to run under Solaris changed the name of the local
my_setenv() function to setenv(). The ORBit package objects to this because
it does not want to link with a tcpwrappers that has setenv() built in. (I'm
not sure why this is since Solaris by default does not have a setenv()
function, which is why tcpwrappers conditionally includes one.) However, the
way to make ORBit happy is to leave my_setenv() alone and to conditionally
redefine the call to setenv() in options.c to be a call to my_setenv() on
systems that need the local definition of this function. That way any other
external packages that are fussy about this will not complain. These changes
are also present in this package.

Hope this helps.

Dennis

Dennis McRitchie
Research & Academic Applications Support (RAAS)
Academic Services Department
Office of Information Technology
Princeton University

______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
Developer Communication List                   [EMAIL PROTECTED]

Reply via email to