The libsslwrap library is a wrapper for transparently using SSL in the network communication between client and server programs that do not aware of SSL. The users do not need to modify, recompile, or relink their programs.
The libsslwrap library uses the preload facility of the ELF binary. This library is preloaded by setting its path to the LD_PRELOAD environment variable. It intercepts the connect, accept, write, read, send, recv, and other function calls.
The sslwrap program is a shell script for using the libsslwrap library. It sets LD_PRELOAD to an appropriate libsslwrap shared library and executes a specified program.
server# sslwrap /usr/sbin/in.telnetd -debug 10023 client% sslwrap /usr/bin/telnet server 10023
server# sslwrap /usr/sbin/in.ftpd -s -p 10021 -P 10020 client% sslwrap /usr/bin/ftp server 10021
server# sslwrap /usr/sbin/in.ftpd -s -p 10021 -P 10020 client% sslwrap /usr/bin/pftp server 10021