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 ############################