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