1*4882a593SmuzhiyunSUMMARY = "Security tool that is a wrapper for TCP daemons" 2*4882a593SmuzhiyunHOMEPAGE = "http://www.softpanorama.org/Net/Network_security/TCP_wrappers/" 3*4882a593SmuzhiyunDESCRIPTION = "Tools for monitoring and filtering incoming requests for tcp \ 4*4882a593Smuzhiyun services." 5*4882a593SmuzhiyunSECTION = "console/network" 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunLICENSE = "BSD-1-Clause" 8*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa" 9*4882a593SmuzhiyunPR ="r10" 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunDEPENDS += "libnsl2" 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunPACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc" 14*4882a593SmuzhiyunFILES:libwrap = "${base_libdir}/lib*${SOLIBS}" 15*4882a593SmuzhiyunFILES:libwrap-doc = "${mandir}/man3 ${mandir}/man5" 16*4882a593SmuzhiyunFILES:libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}" 17*4882a593SmuzhiyunFILES:libwrap-staticdev = "${libdir}/lib*.a" 18*4882a593SmuzhiyunFILES:${PN} = "${sbindir}" 19*4882a593SmuzhiyunFILES:${PN}-doc = "${mandir}/man8" 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunSRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ 22*4882a593Smuzhiyun file://00_man_quoting.diff \ 23*4882a593Smuzhiyun file://01_man_portability.patch \ 24*4882a593Smuzhiyun file://05_wildcard_matching.patch \ 25*4882a593Smuzhiyun file://06_fix_gethostbyname.patch \ 26*4882a593Smuzhiyun file://10_usagi-ipv6.patch \ 27*4882a593Smuzhiyun file://11_tcpd_blacklist.patch \ 28*4882a593Smuzhiyun file://11_usagi_fix.patch \ 29*4882a593Smuzhiyun file://12_makefile_config.patch \ 30*4882a593Smuzhiyun file://13_shlib_weaksym.patch \ 31*4882a593Smuzhiyun file://14_cidr_support.patch \ 32*4882a593Smuzhiyun file://15_match_clarify.patch \ 33*4882a593Smuzhiyun file://expand_remote_port.patch \ 34*4882a593Smuzhiyun file://have_strerror.patch \ 35*4882a593Smuzhiyun file://man_fromhost.patch \ 36*4882a593Smuzhiyun file://restore_sigalarm.patch \ 37*4882a593Smuzhiyun file://rfc931.diff \ 38*4882a593Smuzhiyun file://safe_finger.patch \ 39*4882a593Smuzhiyun file://sig_fix.patch \ 40*4882a593Smuzhiyun file://siglongjmp.patch \ 41*4882a593Smuzhiyun file://socklen_t.patch \ 42*4882a593Smuzhiyun file://tcpdchk_libwrapped.patch \ 43*4882a593Smuzhiyun file://ldflags.patch \ 44*4882a593Smuzhiyun file://rename_strings_variable.patch \ 45*4882a593Smuzhiyun file://try-from.8 \ 46*4882a593Smuzhiyun file://safe_finger.8 \ 47*4882a593Smuzhiyun file://makefile-fix-parallel.patch \ 48*4882a593Smuzhiyun file://musl-decls.patch \ 49*4882a593Smuzhiyun file://0001-Fix-build-with-clang.patch \ 50*4882a593Smuzhiyun file://fix_warnings.patch \ 51*4882a593Smuzhiyun file://fix_warnings2.patch \ 52*4882a593Smuzhiyun file://0001-Remove-fgets-extern-declaration.patch \ 53*4882a593Smuzhiyun file://0001-Fix-implicit-function-declaration-warnings.patch \ 54*4882a593Smuzhiyun " 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunSRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a" 57*4882a593SmuzhiyunSRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d" 58*4882a593Smuzhiyun 59*4882a593SmuzhiyunS = "${WORKDIR}/tcp_wrappers_${PV}" 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunEXTRA_OEMAKE = "'CC=${CC}' \ 62*4882a593Smuzhiyun 'AR=${AR}' \ 63*4882a593Smuzhiyun 'RANLIB=${RANLIB}' \ 64*4882a593Smuzhiyun 'REAL_DAEMON_DIR=${sbindir}' \ 65*4882a593Smuzhiyun 'STYLE=-DPROCESS_OPTIONS' \ 66*4882a593Smuzhiyun 'FACILITY=LOG_DAEMON' \ 67*4882a593Smuzhiyun 'SEVERITY=LOG_INFO' \ 68*4882a593Smuzhiyun 'BUGS=' \ 69*4882a593Smuzhiyun 'VSYSLOG=' \ 70*4882a593Smuzhiyun 'RFC931_TIMEOUT=10' \ 71*4882a593Smuzhiyun 'ACCESS=-DHOSTS_ACCESS' \ 72*4882a593Smuzhiyun 'KILL_OPT=-DKILL_IP_OPTIONS' \ 73*4882a593Smuzhiyun 'UMASK=-DDAEMON_UMASK=022' \ 74*4882a593Smuzhiyun 'NETGROUP=${EXTRA_OEMAKE_NETGROUP}' \ 75*4882a593Smuzhiyun 'ARFLAGS=rv' \ 76*4882a593Smuzhiyun 'AUX_OBJ=weak_symbols.o' \ 77*4882a593Smuzhiyun 'TLI=' \ 78*4882a593Smuzhiyun 'COPTS=' \ 79*4882a593Smuzhiyun 'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'" 80*4882a593Smuzhiyun 81*4882a593SmuzhiyunEXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN" 82*4882a593SmuzhiyunEXTRA_OEMAKE_NETGROUP:libc-musl = "-DUSE_GETDOMAIN" 83*4882a593Smuzhiyun 84*4882a593SmuzhiyunEXTRA_OEMAKE:append:libc-musl = " 'LIBS='" 85*4882a593Smuzhiyun 86*4882a593Smuzhiyundo_compile () { 87*4882a593Smuzhiyun oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \ 88*4882a593Smuzhiyun all 89*4882a593Smuzhiyun} 90*4882a593Smuzhiyun 91*4882a593SmuzhiyunBINS = "safe_finger tcpd tcpdchk try-from tcpdmatch" 92*4882a593SmuzhiyunMANS3 = "hosts_access" 93*4882a593SmuzhiyunMANS5 = "hosts_options" 94*4882a593SmuzhiyunMANS8 = "tcpd tcpdchk tcpdmatch" 95*4882a593Smuzhiyundo_install () { 96*4882a593Smuzhiyun oe_libinstall -a libwrap ${D}${libdir} 97*4882a593Smuzhiyun oe_libinstall -C shared -so libwrap ${D}${base_libdir} 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun if [ "${libdir}" != "${base_libdir}" ] ; then 100*4882a593Smuzhiyun rel_lib_prefix=`echo ${libdir} | sed 's,\(^/\|\)[^/][^/]*,..,g'` 101*4882a593Smuzhiyun libname=`readlink ${D}${base_libdir}/libwrap.so | xargs basename` 102*4882a593Smuzhiyun ln -s ${rel_lib_prefix}${base_libdir}/${libname} ${D}${libdir}/libwrap.so 103*4882a593Smuzhiyun rm -f ${D}${base_libdir}/libwrap.so 104*4882a593Smuzhiyun fi 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun install -d ${D}${sbindir} 107*4882a593Smuzhiyun for b in ${BINS}; do 108*4882a593Smuzhiyun install -m 0755 $b ${D}${sbindir}/ || exit 1 109*4882a593Smuzhiyun done 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun install -d ${D}${mandir}/man3 112*4882a593Smuzhiyun for m in ${MANS3}; do 113*4882a593Smuzhiyun install -m 0644 $m.3 ${D}${mandir}/man3/ || exit 1 114*4882a593Smuzhiyun done 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun install -d ${D}${mandir}/man5 117*4882a593Smuzhiyun for m in ${MANS5}; do 118*4882a593Smuzhiyun install -m 0644 $m.5 ${D}${mandir}/man5/ || exit 1 119*4882a593Smuzhiyun done 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun install -d ${D}${mandir}/man8 122*4882a593Smuzhiyun for m in ${MANS8}; do 123*4882a593Smuzhiyun install -m 0644 $m.8 ${D}${mandir}/man8/ || exit 1 124*4882a593Smuzhiyun done 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun install -m 0644 ${WORKDIR}/try-from.8 ${D}${mandir}/man8/ 127*4882a593Smuzhiyun install -m 0644 ${WORKDIR}/safe_finger.8 ${D}${mandir}/man8/ 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun install -d ${D}${includedir} 130*4882a593Smuzhiyun install -m 0644 tcpd.h ${D}${includedir}/ 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun install -d ${D}${sysconfdir} 133*4882a593Smuzhiyun touch ${D}${sysconfdir}/hosts.allow 134*4882a593Smuzhiyun touch ${D}${sysconfdir}/hosts.deny 135*4882a593Smuzhiyun} 136*4882a593Smuzhiyun 137*4882a593SmuzhiyunFILES:${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny" 138