xref: /illumos-gate/usr/src/lib/libwrap/Makefile.com (revision 13485e69b5429e6c7d27301fb3c0deee0e93768a)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
22# Use is subject to license terms.
23#
24# Copyright 2011 Nexenta Systems, Inc. All rights reserved.
25#
26
27LIBRARY =	libwrap.a
28MAJOR =		.1
29MINOR =		.0
30VERS =		$(MAJOR)$(MINOR)
31OBJECTS =	hosts_access.o options.o shell_cmd.o rfc931.o eval.o \
32		hosts_ctl.o refuse.o percent_x.o clean_exit.o \
33		fromhost.o fix_options.o socket.o tli.o workarounds.o \
34		update.o misc.o diag.o percent_m.o libvars.o
35
36include ../../Makefile.lib
37
38LIBS =		$(DYNLIB) $(LINTLIB)
39SONAME =	$(LIBRARY:.a=.so)$(MAJOR)
40ROOTLINKS +=	$(ROOTLIBDIR)/$(LIBLINKS)$(MAJOR)
41ROOTLINKS64 +=	$(ROOTLIBDIR64)/$(LIBLINKS)$(MAJOR)
42$(LINTLIB) :=	SRCS = $(SRCDIR)/$(LINTSRC)
43
44MAPFILES =	../mapfile-vers
45
46LDLIBS +=	-lsocket -lnsl -lc
47
48CPPFLAGS +=	$(NETGROUP) $(TLI) $(ALWAYS_HOSTNAME) $(AUTH) \
49		$(STYLE) $(TABLES) $(DOT) $(BUGS) \
50		-DRFC931_TIMEOUT=$(RFC931_TIMEOUT) \
51		-I$(SRCDIR)
52CFLAGS +=	$(CCVERBOSE)
53
54CERRWARN +=	-erroff=E_FUNC_EXPECTS_TO_RETURN_VALUE
55CERRWARN +=	-erroff=E_IMPLICIT_DECL_FUNC_RETURN_INT
56CERRWARN +=	-erroff=E_OLD_STYLE_DECL_HIDES_PROTO
57
58CERRWARN +=	-_gcc=-Wno-return-type
59CERRWARN +=	-_gcc=-Wno-parentheses
60CERRWARN +=	-_gcc=-Wno-unused-variable
61CERRWARN +=	-_gcc=-Wno-uninitialized
62
63.KEEP_STATE:
64
65all: $(LIBS)
66
67lint: lintcheck
68
69$(ROOTLIBDIR)/$(LIBLINKS)$(MAJOR): $(ROOTLIBDIR)/$(LIBLINKS)$(VERS)
70	$(INS.liblink)
71
72$(ROOTLIBDIR64)/$(LIBLINKS)$(MAJOR): $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS)
73	$(INS.liblink64)
74
75include ../../Makefile.targ
76
77
78# The rest of this file contains definitions more-or-less directly from the
79# original Makefile of the tcp_wrappers distribution.
80
81##############################
82# System parameters appropriate for Solaris 9 and later
83
84TLI		= -DTLI
85BUGS		= -DGETPEERNAME_BUG -DBROKEN_FGETS -DLIBC_CALLS_STRTOK
86NETGROUP	= -DNETGROUP
87
88##############################
89# Start of the optional stuff.
90
91###########################################
92# Optional: Turning on language extensions
93#
94# Instead of the default access control language that is documented in
95# the hosts_access.5 document, the wrappers can be configured to
96# implement an extensible language documented in the hosts_options.5
97# document.  This language is implemented by the "options.c" source
98# module, which also gives hints on how to add your own extensions.
99# Uncomment the next definition to turn on the language extensions
100# (examples: allow, deny, banners, twist and spawn).
101#
102STYLE	= -DPROCESS_OPTIONS	# Enable language extensions.
103
104###########################
105# Optional: Reduce DNS load
106#
107# When looking up the address for a host.domain name, the typical DNS
108# code will first append substrings of your own domain, so it tries
109# host.domain.your.own.domain, then host.domain.own.domain, and then
110# host.domain. The APPEND_DOT feature stops this waste of cycles. It is
111# off by default because it causes problems on sites that don't use DNS
112# and with Solaris < 2.4. APPEND_DOT will not work with hostnames taken
113# from /etc/hosts or from NIS maps. It does work with DNS through NIS.
114#
115# DOT= -DAPPEND_DOT
116
117##################################################
118# Optional: Always attempt remote username lookups
119#
120# By default, the wrappers look up the remote username only when the
121# access control rules require them to do so.
122#
123# Username lookups require that the remote host runs a daemon that
124# supports an RFC 931 like protocol.  Remote user name lookups are not
125# possible for UDP-based connections, and can cause noticeable delays
126# with connections from non-UNIX PCs.  On some systems, remote username
127# lookups can trigger a kernel bug, causing loss of service. The README
128# file describes how to find out if your UNIX kernel has that problem.
129#
130# Uncomment the following definition if the wrappers should always
131# attempt to get the remote user name. If this is not enabled you can
132# still do selective username lookups as documented in the hosts_access.5
133# and hosts_options.5 manual pages (`nroff -man' format).
134#
135#AUTH	= -DALWAYS_RFC931
136#
137# The default username lookup timeout is 10 seconds. This may not be long
138# enough for slow hosts or networks, but is enough to irritate PC users.
139
140RFC931_TIMEOUT = 10
141
142########################################################
143# Optional: Changing the access control table pathnames
144#
145# The HOSTS_ALLOW and HOSTS_DENY macros define where the programs will
146# look for access control information. Watch out for the quotes and
147# backslashes when you make changes.
148
149TABLES	= -DHOSTS_DENY=\"/etc/hosts.deny\" -DHOSTS_ALLOW=\"/etc/hosts.allow\"
150
151########################################
152# Optional: turning off hostname lookups
153#
154# By default, the software always attempts to look up the client
155# hostname.  With selective hostname lookups, the client hostname
156# lookup is postponed until the name is required by an access control
157# rule or by a %letter expansion.
158#
159# In order to perform selective hostname lookups, disable paranoid
160# mode (see previous section) and comment out the following definition.
161
162ALWAYS_HOSTNAME= -DALWAYS_HOSTNAME
163
164## End configuration options
165############################
166