Difference between revisions of "TCP Wrappers"

From CBLFS
Jump to navigationJump to search
(I added a note about DESTDIR.)
m
 
(16 intermediate revisions by 7 users not shown)
Line 2: Line 2:
 
|-valign="top"
 
|-valign="top"
 
!Download Source:
 
!Download Source:
| ftp://ftp.porcupine.org/pub/security/tcp_wrappers_{{TCP_Wrappers-Version}}.tar.gz
+
| http://ftp.uni-erlangen.de/debian-ipv6/pool/ipv6/tcp-wrappers/tcp-wrappers_{{TCP_Wrappers-Version}}.orig.tar.gz
 
|-valign="top"
 
|-valign="top"
 
!Download Patch:
 
!Download Patch:
| http://svn.cross-lfs.org/svn/repos/patches/tcp_wrappers/tcp_wrappers-{{TCP_Wrappers-Version}}-shared_lib_plus_plus-1.patch
+
| http://svn.cross-lfs.org/svn/repos/patches/tcp_wrappers/tcp_wrappers-{{TCP_Wrappers-Version2}}-ipv6-1.patch
 
|-
 
|-
 
|}
 
|}
Line 11: Line 11:
 
----
 
----
  
== Introduction to TCP Wrappers ==
+
{{Package-Introduction|TCP Wrapper is a host-based network ACL system, used to filter network access to Internet protocol services run on Unix-like operating systems.|ftp://ftp.porcupine.org/pub/security/index.html.  Updated to support ipv6 through debian port.}}
  
The TCP Wrappers package provides daemon wrapper programs that report the name of the client requesting network services and the requested service.
+
== Configuration Information ==
  
== Dependencies ==
+
{{Note|TCP Wrapper does use DESTDIR. However, it fails to create the necessary directories for it and so <i>make install</i> fails when using DESTDIR. You need to create the necessary directories prior to installation.}}
 
 
== Additional Configuration Options ==
 
 
 
'''Note to DESTDIR fans:''' TCP Wrappers fortunately does use DESTDIR. However, it fails to create the necessary directories for it and so '''make install''' fails when using DESTDIR. You need to create the necessary directories prior to installation:
 
  
 +
install -dv <DESTDIR>/lib (or lib{32} or lib{64})
 
  install -dv <DESTDIR>/usr/include
 
  install -dv <DESTDIR>/usr/include
 
  install -dv <DESTDIR>/usr/lib (or lib{32} or lib{64})
 
  install -dv <DESTDIR>/usr/lib (or lib{32} or lib{64})
Line 30: Line 27:
 
Configure and compile the package:
 
Configure and compile the package:
  
  patch -Np1 -i ../tcp_wrappers-{{TCP_Wrappers-Version}}-shared_lib_plus_plus-1.patch &&
+
  patch -Np1 -i ../tcp_wrappers-{{TCP_Wrappers-Version2}}-ipv6-1.patch &&
 
  sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
 
  sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
 +
sed -i "s/ln -s/ln -sf/" Makefile &&
 
  make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux  
 
  make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux  
  
Line 37: Line 35:
  
 
  make install
 
  make install
 
=== Command Explanations ===
 
 
'''sed -i -e ... scaffold.c''': This command removes an obsolete C declaration which causes the build to fail if using GCC >= 3.4.x.
 
  
 
== Multilib ==
 
== Multilib ==
Line 48: Line 42:
 
Configure and compile the package:
 
Configure and compile the package:
  
  patch -Np1 -i ../tcp_wrappers-{{TCP_Wrappers-Version}}-shared_lib_plus_plus-1.patch &&
+
  patch -Np1 -i ../tcp_wrappers-{{TCP_Wrappers-Version2}}-ipv6-1.patch &&
 
  sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
 
  sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
 +
sed -i "s/ln -s/ln -sf/" Makefile &&
 
  make CC="gcc ${BUILD32}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux  
 
  make CC="gcc ${BUILD32}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux  
  
Line 60: Line 55:
 
Configure and compile the package:
 
Configure and compile the package:
  
  patch -Np1 -i ../tcp_wrappers-{{TCP_Wrappers-Version}}-shared_lib_plus_plus-1.patch &&
+
  patch -Np1 -i ../tcp_wrappers-{{TCP_Wrappers-Version2}}-ipv6-1.patch &&
 
  sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
 
  sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
 
  sed -i -e "s@/lib/@/lib32/@g" Makefile &&
 
  sed -i -e "s@/lib/@/lib32/@g" Makefile &&
 +
sed -i "s/ln -s/ln -sf/" Makefile &&
 
  make CC="gcc ${BUILDN32}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux  
 
  make CC="gcc ${BUILDN32}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux  
  
Line 73: Line 69:
 
Configure and compile the package:
 
Configure and compile the package:
  
  patch -Np1 -i ../tcp_wrappers-{{TCP_Wrappers-Version}}-shared_lib_plus_plus-1.patch &&
+
  patch -Np1 -i ../tcp_wrappers-{{TCP_Wrappers-Version2}}-ipv6-1.patch &&
 
  sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
 
  sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
 
  sed -i -e "s@/lib/@/lib64/@g" Makefile &&
 
  sed -i -e "s@/lib/@/lib64/@g" Makefile &&
 +
sed -i "s/ln -s/ln -sf/" Makefile &&
 
  make CC="gcc ${BUILD64}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux  
 
  make CC="gcc ${BUILD64}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux  
  
Line 118: Line 115:
 
| contains the API functions required by the TCP Wrapper programs as well as other programs to become “TCP Wrapper-aware”.
 
| contains the API functions required by the TCP Wrapper programs as well as other programs to become “TCP Wrapper-aware”.
 
|}
 
|}
 +
 +
[[Category:General Libs]]

Latest revision as of 18:27, 19 August 2009

Download Source: http://ftp.uni-erlangen.de/debian-ipv6/pool/ipv6/tcp-wrappers/tcp-wrappers_7.6-ipv6.1.orig.tar.gz
Download Patch: http://svn.cross-lfs.org/svn/repos/patches/tcp_wrappers/tcp_wrappers-7.6-ipv6-1.patch

Introduction to TCP Wrappers

TCP Wrapper is a host-based network ACL system, used to filter network access to Internet protocol services run on Unix-like operating systems.

Project Homepage: ftp://ftp.porcupine.org/pub/security/index.html. Updated to support ipv6 through debian port.

Configuration Information

Caution.png

Note

TCP Wrapper does use DESTDIR. However, it fails to create the necessary directories for it and so make install fails when using DESTDIR. You need to create the necessary directories prior to installation.
install -dv <DESTDIR>/lib (or lib{32} or lib{64})
install -dv <DESTDIR>/usr/include
install -dv <DESTDIR>/usr/lib (or lib{32} or lib{64})
install -dv <DESTDIR>/usr/sbin
install -dv <DESTDIR>/usr/share/man/man{3,5,8}

Non-Multilib

Configure and compile the package:

patch -Np1 -i ../tcp_wrappers-7.6-ipv6-1.patch &&
sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
sed -i "s/ln -s/ln -sf/" Makefile &&
make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux 

Install the package:

make install

Multilib

32Bit

Configure and compile the package:

patch -Np1 -i ../tcp_wrappers-7.6-ipv6-1.patch &&
sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
sed -i "s/ln -s/ln -sf/" Makefile &&
make CC="gcc ${BUILD32}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux 

Install the package:

make install

N32

Configure and compile the package:

patch -Np1 -i ../tcp_wrappers-7.6-ipv6-1.patch &&
sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
sed -i -e "s@/lib/@/lib32/@g" Makefile &&
sed -i "s/ln -s/ln -sf/" Makefile &&
make CC="gcc ${BUILDN32}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux 

Install the package:

make install

64Bit

Configure and compile the package:

patch -Np1 -i ../tcp_wrappers-7.6-ipv6-1.patch &&
sed -i "s,^extern char \*malloc();,/* & */," scaffold.c &&
sed -i -e "s@/lib/@/lib64/@g" Makefile &&
sed -i "s/ln -s/ln -sf/" Makefile &&
make CC="gcc ${BUILD64}" REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux 

Install the package:

make install

Contents

Installed Programs: tcpd, tcpdchk, tcpdmatch, try-from, and safe_finger
Installed Libraries: libwrap.{so,a}
Installed Directories: None

Short Descriptions

tcpd is the main access control daemon for all Internet services, which inetd or xinetd will run instead of running the requested service daemon.
tcpdchk is a tool to examine a tcpd wrapper configuration and report problems with it.
tcpdmatch is used to predict how the TCP wrapper would handle a specific request for a service.
try-from can be called via a remote shell command to find out if the host name and address are properly recognized.
safe_finger is a wrapper for the finger utility, to provide automatic reverse name lookups.
libwrap.{so,a} contains the API functions required by the TCP Wrapper programs as well as other programs to become “TCP Wrapper-aware”.