1
0
mirror of https://github.com/moparisthebest/socat synced 2024-12-21 22:48:48 -05:00

Final fixes before release 1.7.3.0

This commit is contained in:
Gerhard Rieger 2015-01-24 18:40:03 +01:00
parent 053c4565b3
commit b6541b4de7
7 changed files with 736 additions and 15 deletions

195
Config/Makefile.NetBSD-5-1 Normal file
View File

@ -0,0 +1,195 @@
# source: Makefile.in
# Copyright Gerhard Rieger 2001-2008
# Published under the GNU General Public License V.2, see file COPYING
# note: @...@ forms are filled in by configure script
SHELL = /bin/sh
AR = ar
RANLIB = ranlib
.SUFFIXES: .c .o
prefix = /usr/local
exec_prefix = ${prefix}
BINDEST = ${exec_prefix}/bin
datarootdir = ${prefix}/share
MANDEST = ${datarootdir}/man
srcdir = .
CC = gcc
CCOPTS = $(CCOPT) -Wall -Wno-parentheses
SYSDEFS =
CPPFLAGS = -I.
#0 INCLS = -I. @V_INCL@
DEFS = -DHAVE_CONFIG_H
LIBS = -lwrap -lutil -lssl
LDFLAGS =
INSTALL = /usr/bin/install -c
#OBJ = $(CSRC:.c=.o) $(GENSRC:.c=.o)
#0 CFLAGS = -O -D_GNU_SOURCE $(CCOPTS) $(DEFS) $(INCLS)
CFLAGS = -O -D_GNU_SOURCE $(CCOPTS) $(DEFS) $(CPPFLAGS)
CLIBS = $(LIBS)
#CLIBS = $(LIBS) -lm -lefence
XIOSRCS = xioinitialize.c xiohelp.c xioparam.c xiodiag.c xioopen.c xioopts.c \
xiosignal.c xiosigchld.c xioread.c xiowrite.c \
xiolayer.c xioshutdown.c xioclose.c xioexit.c \
xio-process.c xio-fd.c xio-fdnum.c xio-stdio.c xio-pipe.c \
xio-gopen.c xio-creat.c xio-file.c xio-named.c \
xio-socket.c xio-interface.c xio-listen.c xio-unix.c \
xio-ip.c xio-ip4.c xio-ip6.c xio-ipapp.c xio-tcp.c \
xio-sctp.c xio-rawip.c \
xio-socks.c xio-proxy.c xio-udp.c \
xio-rawip.c \
xio-progcall.c xio-exec.c xio-system.c xio-termios.c xio-readline.c \
xio-pty.c xio-openssl.c xio-streams.c\
xio-ascii.c xiolockfile.c xio-tcpwrap.c xio-ext2.c xio-tun.c
XIOOBJS = $(XIOSRCS:.c=.o)
UTLSRCS = error.c dalan.c procan.c procan-cdefs.c hostan.c fdname.c sysutils.c utils.c nestlex.c filan.c sycls.c sslcls.c
UTLOBJS = $(UTLSRCS:.c=.o)
CFILES = $(XIOSRCS) $(UTLSRCS) socat.c procan_main.c filan_main.c
OFILES = $(CFILES:.c=.o)
PROGS = socat procan filan
HFILES = sycls.h sslcls.h error.h dalan.h procan.h filan.h hostan.h sysincludes.h xio.h xioopen.h sysutils.h utils.h nestlex.h compat.h \
xioconfig.h mytypes.h xioopts.h xiodiag.h xiohelp.h xiosysincludes.h \
xiomodes.h xiolayer.h xio-process.h xio-fd.h xio-fdnum.h xio-stdio.h \
xio-named.h xio-file.h xio-creat.h xio-gopen.h xio-pipe.h \
xio-socket.h xio-interface.h xio-listen.h xio-unix.h \
xio-ip.h xio-ip4.h xio-ip6.h xio-rawip.h \
xio-ipapp.h xio-tcp.h xio-udp.h xio-sctp.h \
xio-socks.h xio-proxy.h xio-progcall.h xio-exec.h \
xio-system.h xio-termios.h xio-readline.h \
xio-pty.h xio-openssl.h xio-streams.h \
xio-ascii.h xiolockfile.h xio-tcpwrap.h xio-ext2.h xio-tun.h
DOCFILES = README README.FIPS CHANGES FILES EXAMPLES PORTING SECURITY DEVELOPMENT doc/socat.yo doc/socat.1 doc/socat.html doc/xio.help FAQ BUGREPORTS COPYING COPYING.OpenSSL doc/dest-unreach.css doc/socat-openssltunnel.html doc/socat-multicast.html doc/socat-tun.html
SHFILES = daemon.sh mail.sh ftp.sh readline.sh
TESTFILES = test.sh socks4echo.sh proxyecho.sh gatherinfo.sh readline-test.sh \
proxy.sh socks4a-echo.sh testcert.conf
OSFILES = Config/Makefile.Linux-2-6-24 Config/config.Linux-2-6-24.h \
Config/Makefile.SunOS-5-10 Config/config.SunOS-5-10.h \
Config/Makefile.FreeBSD-6-1 Config/config.FreeBSD-6-1.h \
Config/Makefile.NetBSD-4-0 Config/config.NetBSD-4-0.h \
Config/Makefile.OpenBSD-4-3 Config/config.OpenBSD-4-3.h
all: progs doc
scmclean: gitclean
gitclean: distclean docclean
rm -f Makefile.bak configure
doc: doc/socat.1 doc/socat.html
docclean:
rm -f doc/socat.1 doc/socat.html
doc/socat.1: doc/socat.yo
yodl2man -o $@ $+
doc/socat.html: doc/socat.yo
cd doc; yodl2html -o socat.html socat.yo; cd ..
progs: $(PROGS)
depend: $(CFILES) $(HFILES)
makedepend $(SYSDEFS) $(CFILES)
socat: socat.o libxio.a
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ socat.o libxio.a $(CLIBS)
PROCAN_OBJS=procan_main.o procan.o procan-cdefs.o hostan.o error.o sycls.o sysutils.o utils.o
procan: $(PROCAN_OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(PROCAN_OBJS) $(CLIBS)
filan: filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o $(CLIBS)
libxio.a: $(XIOOBJS) $(UTLOBJS)
$(AR) r $@ $(XIOOBJS) $(UTLOBJS)
$(RANLIB) $@
doc: doc/xio.help
#
strip: progs
strip $(PROGS)
install: progs $(srcdir)/doc/socat.1
mkdir -p $(DESTDIR)$(BINDEST)
$(INSTALL) -m 755 socat $(DESTDIR)$(BINDEST)
$(INSTALL) -m 755 procan $(DESTDIR)$(BINDEST)
$(INSTALL) -m 755 filan $(DESTDIR)$(BINDEST)
mkdir -p $(DESTDIR)$(MANDEST)/man1
$(INSTALL) -m 644 $(srcdir)/doc/socat.1 $(DESTDIR)$(MANDEST)/man1/
uninstall:
rm -f $(DESTDIR)$(BINDEST)/socat
rm -f $(DESTDIR)$(BINDEST)/procan
rm -f $(DESTDIR)$(BINDEST)/filan
rm -f $(DESTDIR)$(MANDEST)/man1/socat.1
# make a GNU-zipped tar ball of the source files
dist: socat.tar.gz socat.tar.bz2
socat.tar.gz: socat.tar
gzip -9 <socat.tar >socat.tar.gz
socat.tar.bz2: socat.tar
bzip2 -9 <socat.tar >socat.tar.bz2
VERSION = `sed 's/"//g' VERSION`
TARDIR = socat-$(VERSION)
socat.tar: configure.in configure Makefile.in config.h.in install-sh VERSION $(CFILES) $(HFILES) $(DOCFILES) $(SHFILES) $(OSFILES) $(TESTFILES) socat.spec
if [ ! -d $(TARDIR) ]; then mkdir $(TARDIR); fi
tar cf - $+ |(cd $(TARDIR); tar xf -)
tar cvf socat.tar $(TARDIR)
rm -f $(TARDIR)/COPYING # write protected
rm -r $(TARDIR)
clean:
rm -f *.o libxio.a socat procan filan \
socat.tar socat.tar.Z socat.tar.gz socat.tar.bz2 \
socat.out compile.log test.log
# remove all files that are generated from the original socat distribution
# note that Makefile is also removed, so you have to start with ./configure
# again
distclean: clean
rm -f config.status config.cache config.log config.h Makefile
rm -rf autom4te.cache
info: socat
uname -a >socat.out
./socat -V >>socat.out
./socat -hh >>socat.out
# perform some tests on socat
test: progs
./test.sh
cert:
# prepare critical files with correct permissions to avoid race cond
>cert.key
>cert.pem
chmod 600 cert.key cert.pem
# generate a private key
openssl genrsa -out cert.key 1024
# generate a self signed cert
openssl req -new -key cert.key -x509 -days 3653 -out cert.crt
# ...enter fields
# generate the pem file
cat cert.key cert.crt >cert.pem
#echo use cert.pem on requestors side, i.e. with option cert=cert.pem
#echo use cert.crt on checkers side, i.e. with option cafile=cert.crt

522
Config/config.NetBSD-5-1.h Normal file
View File

@ -0,0 +1,522 @@
/* config.h. Generated from config.h.in by configure. */
/* source: config.h.in */
/* Copyright Gerhard Rieger 2001-2008 */
/* Published under the GNU General Public License V.2, see file COPYING */
#ifndef __config_h_included
#define __config_h_included 1
/* Define to empty if the keyword does not work. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef gid_t */
/* Define if your struct stat has st_blksize. */
#define HAVE_ST_BLKSIZE 1
/* Define if your struct stat has st_blocks. */
#define HAVE_ST_BLOCKS 1
/* Define if your struct stat has st_rdev. */
#define HAVE_ST_RDEV 1
/* Define if you have the strftime function. */
#define HAVE_STRFTIME 1
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef mode_t */
/* Define to `long' if <sys/types.h> doesn't define. */
/* #undef off_t */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef pid_t */
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Define to `unsigned' if <sys/types.h> doesn't define. */
/* #undef size_t */
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
/* Define if you have the putenv function. */
#define HAVE_PUTENV 1
/* Define if you have the select function. */
#define HAVE_SELECT 1
/* Define if you have the poll function. */
#define HAVE_POLL 1
/* Define if you have the socket function. */
#define HAVE_SOCKET 1
/* Define if you have the strdup function. */
#define HAVE_STRDUP 1
/* Define if you have the strerror function. */
#define HAVE_STRERROR 1
/* Define if you have the strstr function. */
#define HAVE_STRSTR 1
/* Define if you have the strtod function. */
#define HAVE_STRTOD 1
/* Define if you have the strtol function. */
#define HAVE_STRTOL 1
/* Define if you have the strtoul function. */
#define HAVE_STRTOUL 1
/* Define if you have the uname function. */
#define HAVE_UNAME 1
/* Define if you have the getpgid function. */
#define HAVE_GETPGID 1
/* Define if you have the getsid function. */
#define HAVE_GETSID 1
/* Define if you have the nanosleep function. */
#define HAVE_NANOSLEEP 1
/* Define if you have the getaddrinfo function. */
#define HAVE_GETADDRINFO 1
/* Define if you have the getipnodebyname function. */
/* #undef HAVE_GETIPNODEBYNAME */
/* Define if you have the setgroups function. */
#define HAVE_SETGROUPS 1
/* Define if you have the inet_aton function. */
#define HAVE_INET_ATON 1
/* Define if you have the memrchr function. */
/* #undef HAVE_MEMRCHR */
/* Define if you have the if_indextoname function. */
#define HAVE_IF_INDEXTONAME 1
/* Define if you have the sigaction function */
#define HAVE_SIGACTION 1
/* Define if you have the stat64 function */
/* #undef HAVE_STAT64 */
/* Define if you have the fstat64 function */
/* #undef HAVE_FSTAT64 */
/* Define if you have the lstat64 function */
/* #undef HAVE_LSTAT64 */
/* Define if you have the lseek64 function */
/* #undef HAVE_LSEEK64 */
/* Define if you have the truncate64 function */
/* #undef HAVE_TRUNCATE64 */
/* Define if you have the ftruncate64 function */
/* #undef HAVE_FTRUNCATE64 */
/* Define if you have the strtoll function */
#define HAVE_STRTOLL 1
/* Define if you have the hstrerror function */
#define HAVE_HSTRERROR 1
/* Define if you have the inet_ntop function */
#define HAVE_INET_NTOP 1
/* Define if you have the hstrerror prototype */
#define HAVE_PROTOTYPE_HSTRERROR 1
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define if you have the <syslog.h> header file. */
#define HAVE_SYSLOG_H 1
/* Define if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define if you have the <pwd.h> header file. */
#define HAVE_PWD_H 1
/* Define if you have the <grp.h> header file. */
#define HAVE_GRP_H 1
/* Define if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define if you have the <sys/poll.h> header file. */
#define HAVE_SYS_POLL_H 1
/* Define if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define if you have the <sys/uio.h> header file. */
#define HAVE_SYS_UIO_H 1
/* Define if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define if you have the <sys/un.h> header file. */
#define HAVE_SYS_UN_H 1
/* Define if you have the <pty.h> header file. */
/* #undef HAVE_PTY_H */
/* Define if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define if you have the <netinet/in_systm.h> header file. */
#define HAVE_NETINET_IN_SYSTM_H 1
/* Define if you have the <netinet/ip.h> header file. */
#define HAVE_NETINET_IP_H 1
/* Define if you have the <netinet/tcp.h> header file. */
#define HAVE_NETINET_TCP_H 1
/* Define if you have the <netinet/ip6.h> header file. */
#define HAVE_NETINET_IP6_H 1
/* Define if you have the <arpa/nameser.h> header file. */
#define HAVE_ARPA_NAMESER_H 1
/* Define if you have the <resolv.h> header file. */
#define HAVE_RESOLV_H 1
/* Define if you have the <termios.h> header file. */
#define HAVE_TERMIOS_H 1
/* Define if you have the <net/if.h> header file. */
#define HAVE_NET_IF_H 1
/* Define if you have the <net/if_dl.h> header file. */
#define HAVE_NET_IF_DL_H 1
/* Define if you have the <linux/types.h> header file. */
/* #undef HAVE_LINUX_TYPES_H */
/* Define if you have the <linux/errqueue.h> header file. */
/* #undef HAVE_LINUX_ERRQUEUE_H */
/* Define if you have the <linux/if_tun.h> header file. */
/* #undef HAVE_LINUX_IF_TUN_H */
/* Define if you have the <netpacket/packet.h> header file. */
/* #undef HAVE_NETPACKET_PACKET_H */
/* Define if you have the <netinet/if_ether.h> header file. */
/* #undef HAVE_NETINET_IF_ETHER_H */
/* Define if you have the <sys/utsname.h> header file. */
#define HAVE_SYS_UTSNAME_H 1
/* Define if you have the <sys/select.h> header file. (AIX) */
#define HAVE_SYS_SELECT_H 1
/* Define if you have the <sys/file.h> header file. (AIX) */
#define HAVE_SYS_FILE_H 1
/* Define if you have the <util.h> header file. (NetBSD, OpenBSD: openpty()) */
#define HAVE_UTIL_H 1
/* Define if you have the <libutil.h> header file. (FreeBSD: openpty()) */
/* #undef HAVE_LIBUTIL_H */
/* Define if you have the <sys/stropts.h> header file. (stream opts on SunOS)*/
/* #undef HAVE_SYS_STROPTS_H */
/* Define if you have the <regex.h> header file. */
#define HAVE_REGEX_H 1
/* Define if you have the <linux/fs.h> header file. */
/* #undef HAVE_LINUX_FS_H */
/* Define if you have the <linux/ext2_fs.h> header file. */
/* #undef HAVE_LINUX_EXT2_FS_H */
/* Define if you have the <readline/readline.h> header file. */
/* #undef HAVE_READLINE_READLINE_H */
/* Define if you have the <readline/history.h> header file. */
/* #undef HAVE_READLINE_HISTORY_H */
/* Define if you have the readline library. */
/* #undef HAVE_LIBREADLINE */
/* Define if you have the m library (-lm). */
/* #undef HAVE_LIBM */
/* Define if you have the floor function */
/* #undef HAVE_FLOOR */
/* some platforms need _XOPEN_EXTENDED_SOURCE to get syslog headers (AIX4.1) */
/* #undef _XOPEN_EXTENDED_SOURCE */
/* fdset may have component fds_bits or __fds_bits */
#define HAVE_FDS_BITS 1
/* Define if you have the sa_family_t */
#define HAVE_TYPE_SA_FAMILY_T 1
/* define if your struct sigaction has sa_sigaction */
#define HAVE_STRUCT_SIGACTION_SA_SIGACTION 1
/* Define if your struct termios has component c_ispeed */
#define HAVE_TERMIOS_ISPEED 1
/* the offset of c_ispeed in struct termios - usable in an speed_t array.
Applies only when HAVE_TERMIOS_ISPEED is set */
#define ISPEED_OFFSET 9
/* the offset of c_ospeed in struct termios - see ISPEED_OFFSET */
#ifdef ISPEED_OFFSET
# define OSPEED_OFFSET (ISPEED_OFFSET+1)
#else
/* # undef OSPEED_OFFSET */
#endif
/* Define if your termios.h likes _SVID3 defined */
/* #undef _SVID3 */
/* Define if you have struct timespec (e.g. for nanosleep) */
#define HAVE_STRUCT_TIMESPEC 1
/* Define if you have struct linger */
#define HAVE_STRUCT_LINGER 1
/* Define if you have struct ip_mreq */
#define HAVE_STRUCT_IP_MREQ 1
/* Define if you have struct ip_mreqn */
/* #undef HAVE_STRUCT_IP_MREQN */
/* Define if you have struct ipv6_mreq */
#define HAVE_STRUCT_IPV6_MREQ 1
/* Define if you have struct ifreq */
#define HAVE_STRUCT_IFREQ 1
/* Define if you have struct ifreq.ifr_index */
/* #undef HAVE_STRUCT_IFREQ_IFR_INDEX */
/* Define if you have struct ifreq.ifr_ifindex; not on HPUX */
/* #undef HAVE_STRUCT_IFREQ_IFR_IFINDEX */
/* Define if your struct sockaddr has sa_len */
#define HAVE_STRUCT_SOCKADDR_SALEN 1
/* there are several implementations of sockaddr_in6 */
#define HAVE_IP6_SOCKADDR 0
/* Define if you have struct iovec */
#define HAVE_STRUCT_IOVEC 1
/* define if your struct msghdr has msg_control */
#define HAVE_STRUCT_MSGHDR_MSGCONTROL 1
/* define if your struct msghdr has msg_controllen */
#define HAVE_STRUCT_MSGHDR_MSGCONTROLLEN 1
/* define if your struct msghdr has msg_flag */
#define HAVE_STRUCT_MSGHDR_MSGFLAGS 1
/* define if you have struct cmsghdr */
#define HAVE_STRUCT_CMSGHDR 1
/* define if you have struct in_pktinfo */
/* #undef HAVE_STRUCT_IN_PKTINFO */
/* define if your struct ip has ip_hl; otherwise assume ip_vhl */
#define HAVE_STRUCT_IP_IP_HL 1
/* Define if you have the setenv function */
#define HAVE_SETENV 1
/* Define if you have the unsetenv function. not on HP-UX */
#define HAVE_UNSETENV 1
/* Define if you have the flock function */
#define HAVE_FLOCK 1
/* Define if you have the openpty function */
#define HAVE_OPENPTY 1
/* Define if you have the grantpt function */
#define HAVE_GRANTPT 1
/* Define if you have the unlockpt function */
#define HAVE_UNLOCKPT 1
/* Define if you have the ptsname function */
#define HAVE_PTSNAME 1
/* Define if you have the /dev/ptmx pseudo terminal multiplexer */
#define HAVE_DEV_PTMX 1
/* Define if you have the /dev/ptc pseudo terminal multiplexer */
/* #undef HAVE_DEV_PTC */
/* Define if you have the long long type */
#define HAVE_TYPE_LONGLONG 1
/* is socklen_t already typedef'd? */
#define HAVE_TYPE_SOCKLEN 1
/* Define if you have the struct stat64 type */
/* #undef HAVE_TYPE_STAT64 */
/* Define if you have the struct off64_t type */
/* #undef HAVE_TYPE_OFF64 */
/* is sighandler_t already typedef'd? */
/* #undef HAVE_TYPE_SIGHANDLER */
/* is uint8_t already defined? */
#define HAVE_TYPE_UINT8 1
/* is uint16_t already defined? */
#define HAVE_TYPE_UINT16 1
/* is uint32_t already defined? */
#define HAVE_TYPE_UINT32 1
/* is uint64_t already defined? */
#define HAVE_TYPE_UINT64 1
/* Define if you have the printf "Z" modifier */
/* #undef HAVE_FORMAT_Z */
/* Define the shift offset of the CRDLY mask */
#define CRDLY_SHIFT -1
/* Define the shift offset of the TABDLY mask */
#define TABDLY_SHIFT -1
/* Define the shift offset of the CSIZE mask */
#define CSIZE_SHIFT 8
/* Define if you have tcpwrappers (libwrap, tcpd) and it declares hosts_allow_table */
#define HAVE_HOSTS_ALLOW_TABLE 1
#if defined(HAVE_HOSTS_ALLOW_TABLE) && HAVE_HOSTS_ALLOW_TABLE
# define HAVE_HOSTS_DENY_TABLE 1
#else
/* # undef HAVE_HOSTS_DENY_TABLE */
#endif
/* 1..short, 3..int, 5..long; 2,4,6..unsigned */
#define HAVE_BASIC_SIZE_T 4 /* unsigned int */
#define HAVE_BASIC_MODE_T 4 /* unsigned int */
#define HAVE_BASIC_PID_T 3 /* int */
#define HAVE_BASIC_UID_T 4 /* unsigned int */
#define HAVE_BASIC_GID_T 4 /* unsigned int */
#define HAVE_BASIC_TIME_T 5 /* long */
#define HAVE_BASIC_OFF64_T 0 /* unknown, taking default */
#define HAVE_BASIC_SOCKLEN_T 4 /* unsigned int */
#define HAVE_TYPEOF_ST_DEV 4 /* unsigned int */
#define HAVE_TYPEOF_ST_INO 8 /* unsigned long long */
#define HAVE_TYPEOF_ST_NLINK 4 /* unsigned int */
#define HAVE_TYPEOF_ST_SIZE 7 /* long long */
#define HAVE_TYPEOF_ST_BLKSIZE 4 /* unsigned int */
#define HAVE_TYPEOF_ST_BLOCKS 7 /* long long */
/* #undef HAVE_TYPEOF_ST64_DEV */
/* #undef HAVE_TYPEOF_ST64_INO */
/* #undef HAVE_TYPEOF_ST64_NLINK */
/* #undef HAVE_TYPEOF_ST64_SIZE */
/* #undef HAVE_TYPEOF_ST64_BLKSIZE */
/* #undef HAVE_TYPEOF_ST64_BLOCKS */
#define HAVE_TYPEOF_STRUCT_TIMEVAL_TV_USEC 5 /* long */
#define HAVE_TYPEOF_RLIM_MAX 7 /* long long */
/* Define if you have the /proc filesystem */
#define HAVE_PROC_DIR 1
/* Define if you have the /proc/$$/fd directories */
/* #undef HAVE_PROC_DIR_FD */
#define WITH_HELP 1
#define WITH_STDIO 1
#define WITH_FDNUM 1
#define WITH_FILE 1
#define WITH_CREAT 1
#define WITH_GOPEN 1
#define WITH_TERMIOS 1
#define WITH_PIPE 1
#define WITH_UNIX 1
/* #undef WITH_ABSTRACT_UNIXSOCKET */
#define WITH_IP4 1
#define WITH_IP6 1
#define WITH_RAWIP 1
#define WITH_GENERICSOCKET 1
/* #undef WITH_INTERFACE */
#define WITH_TCP 1
#define WITH_UDP 1
/* #undef WITH_SCTP */
#define WITH_LISTEN 1
#define WITH_SOCKS4 1
#define WITH_SOCKS4A 1
#define WITH_PROXY 1
#define WITH_EXEC 1
#define WITH_SYSTEM 1
/* #undef WITH_READLINE */
/* #undef WITH_TUN */
#define WITH_PTY 1
#define WITH_EXT2 1
#define WITH_OPENSSL 1
#define WITH_STREAMS 1
/* #undef WITH_FIPS */
/* #undef OPENSSL_FIPS */
#define WITH_LIBWRAP 1
#define HAVE_TCPD_H 1
#define HAVE_LIBWRAP 1
#define WITH_SYCLS 1
#define WITH_FILAN 1
#define WITH_RETRY 1
#define WITH_MSGLEVEL 0
#endif /* !defined(__config_h_included) */

View File

@ -81,8 +81,7 @@ TESTFILES = test.sh socks4echo.sh proxyecho.sh gatherinfo.sh readline-test.sh \
OSFILES = Config/Makefile.Linux-2-6-24 Config/config.Linux-2-6-24.h \ OSFILES = Config/Makefile.Linux-2-6-24 Config/config.Linux-2-6-24.h \
Config/Makefile.SunOS-5-10 Config/config.SunOS-5-10.h \ Config/Makefile.SunOS-5-10 Config/config.SunOS-5-10.h \
Config/Makefile.FreeBSD-6-1 Config/config.FreeBSD-6-1.h \ Config/Makefile.FreeBSD-6-1 Config/config.FreeBSD-6-1.h \
Config/Makefile.NetBSD-4-0 Config/config.NetBSD-4-0.h \ Config/Makefile.NetBSD-5-1 Config/config.NetBSD-5-1.h \
Config/Makefile.NetBSD-5-1 Config/config.NetBSD-5-1.h \
Config/Makefile.OpenBSD-4-3 Config/config.OpenBSD-4-3.h \ Config/Makefile.OpenBSD-4-3 Config/config.OpenBSD-4-3.h \
Config/Makefile.AIX-5-3 Config/config.AIX-5-3.h \ Config/Makefile.AIX-5-3 Config/config.AIX-5-3.h \
Config/Makefile.Cygwin-1-5-25 Config/config.Cygwin-1-5-25.h \ Config/Makefile.Cygwin-1-5-25 Config/config.Cygwin-1-5-25.h \

View File

@ -10,7 +10,7 @@ def(Filan)(0)(bf(Filan))
def(procan)(0)(bf(procan)) def(procan)(0)(bf(procan))
def(Procan)(0)(bf(Procan)) def(Procan)(0)(bf(Procan))
manpage(socat)(1)(Mar 2014)()() manpage(socat)(1)()()()
whenhtml( whenhtml(
label(CONTENTS) label(CONTENTS)
@ -3030,7 +3030,7 @@ label(EXAMPLE_OPTION_ESCAPE)
dit(bf(tt(socat -,escape=0x0f /dev/ttyS0,rawer,crnl))) dit(bf(tt(socat -,escape=0x0f /dev/ttyS0,rawer,crnl)))
opens an interactive connection via the serial line, e.g. for talking with a opens an interactive connection via the serial line, e.g. for talking with a
modem. link(rawer)(OPTION_TERMIOS_RAWER) and link(echo)(OPTION_ECHO) set the console's and modem. link(rawer)(OPTION_TERMIOS_RAWER) sets the console's and
ttyS0's terminal parameters to practicable values, link(crnl)(OPTION_CRNL) ttyS0's terminal parameters to practicable values, link(crnl)(OPTION_CRNL)
converts to correct newline characters. link(escape)(OPTION_ESCAPE) allows to converts to correct newline characters. link(escape)(OPTION_ESCAPE) allows to
terminate the socat process with character control-O. terminate the socat process with character control-O.
@ -3165,7 +3165,7 @@ device (link(PTY)(ADDRESS_PTY)) on the client that can be reached under the
symbolic link(link)(OPTION_SYMBOLIC_LINK) file($HOME/dev/vmodem0). symbolic link(link)(OPTION_SYMBOLIC_LINK) file($HOME/dev/vmodem0).
An application that expects a serial line or modem An application that expects a serial line or modem
can be configured to use file($HOME/dev/vmodem0); its traffic will be directed can be configured to use file($HOME/dev/vmodem0); its traffic will be directed
to a modemserver via ssh where another socat instance links it with to a modemserver via ssh where another socat instance links it to
file(/dev/ttyS0). file(/dev/ttyS0).

View File

@ -1770,6 +1770,7 @@ runsip4 () {
SunOS) l=$($IFCONFIG -a |grep 'inet ') ;; SunOS) l=$($IFCONFIG -a |grep 'inet ') ;;
Darwin)l=$($IFCONFIG lo0 |fgrep 'inet 127.0.0.1 ') ;; Darwin)l=$($IFCONFIG lo0 |fgrep 'inet 127.0.0.1 ') ;;
DragonFly)l=$($IFCONFIG -a |fgrep 'inet 127.0.0.1 ');; DragonFly)l=$($IFCONFIG -a |fgrep 'inet 127.0.0.1 ');;
CYGWIN*) l=$(ipconfig |grep IPv4);;
*) l=$($IFCONFIG -a |grep ' ::1[^:0-9A-Fa-f]') ;; *) l=$($IFCONFIG -a |grep ' ::1[^:0-9A-Fa-f]') ;;
esac esac
[ -z "$l" ] && return 1 [ -z "$l" ] && return 1
@ -1796,6 +1797,7 @@ runsip6 () {
OSF1) l=$($IFCONFIG -a |grep ' inet6 ') ;; OSF1) l=$($IFCONFIG -a |grep ' inet6 ') ;;
SunOS) l=$($IFCONFIG -a |grep 'inet6 ') ;; SunOS) l=$($IFCONFIG -a |grep 'inet6 ') ;;
Darwin)l=$($IFCONFIG lo0 |grep 'inet6 ::1 ') ;; Darwin)l=$($IFCONFIG lo0 |grep 'inet6 ::1 ') ;;
CYGWIN*) l=$(ipconfig |grep IPv6);;
*) l=$($IFCONFIG -a |grep ' ::1[^:0-9A-Fa-f]') ;; *) l=$($IFCONFIG -a |grep ' ::1[^:0-9A-Fa-f]') ;;
esac esac
[ -z "$l" ] && return 1 [ -z "$l" ] && return 1
@ -2142,7 +2144,7 @@ waittcp6port () {
done done
$ECHO "!port $port timed out! \c" >&2 $ECHO "!port $port timed out! \c" >&2
echo set ${vx}vx >&2 #echo set ${vx}vx >&2
set ${vx}vx set ${vx}vx
return 1 return 1
} }

View File

@ -806,7 +806,9 @@ int
Error1("openssl-method=\"%s\": method unknown or not provided by library", me_str); Error1("openssl-method=\"%s\": method unknown or not provided by library", me_str);
} }
} else { } else {
#if HAVE_TLSv1_2_client_method #if HAVE_SSLv23_client_method
method = sycSSLv23_client_method();
#elif HAVE_TLSv1_2_client_method
method = sycTLSv1_2_client_method(); method = sycTLSv1_2_client_method();
#elif HAVE_TLSv1_1_client_method #elif HAVE_TLSv1_1_client_method
method = sycTLSv1_1_client_method(); method = sycTLSv1_1_client_method();
@ -814,8 +816,6 @@ int
method = sycTLSv1_client_method(); method = sycTLSv1_client_method();
#elif HAVE_SSLv3_client_method #elif HAVE_SSLv3_client_method
method = sycSSLv3_client_method(); method = sycSSLv3_client_method();
#elif HAVE_SSLv23_client_method
method = sycSSLv23_client_method();
#elif HAVE_SSLv2_client_method #elif HAVE_SSLv2_client_method
method = sycSSLv2_client_method(); method = sycSSLv2_client_method();
#else #else
@ -859,16 +859,16 @@ int
Error1("openssl-method=\"%s\": method unknown or not provided by library", me_str); Error1("openssl-method=\"%s\": method unknown or not provided by library", me_str);
} }
} else { } else {
#if HAVE_TLSv1_2_server_method #if HAVE_SSLv23_server_method
method = sycSSLv23_server_method();
#elif HAVE_TLSv1_2_server_method
method = sycTLSv1_2_server_method(); method = sycTLSv1_2_server_method();
#elif HAVE_TLSv1_1_server_method #elif HAVE_TLSv1_1_server_method
method = sycTLSv1_1_server_method(); method = sycTLSv1_1_server_method();
#elif HAVE_TLSv1_server_method #elif HAVE_TLSv1_server_method
method = sycTLSv1_1_method(); method = sycTLSv1_server_method();
#elif HAVE_SSLv3_server_method #elif HAVE_SSLv3_server_method
method = sycSSLv3_server_method(); method = sycSSLv3_server_method();
#elif HAVE_SSLv23_server_method
method = sycSSLv23_server_method();
#elif HAVE_SSLv2_server_method #elif HAVE_SSLv2_server_method
method = sycSSLv2_server_method(); method = sycSSLv2_server_method();
#else #else
@ -960,6 +960,7 @@ int
} }
} }
#if defined(EC_KEY) /* not on Openindiana 5.11 */
{ {
/* see http://openssl.6102.n7.nabble.com/Problem-with-cipher-suite-ECDHE-ECDSA-AES256-SHA384-td42229.html */ /* see http://openssl.6102.n7.nabble.com/Problem-with-cipher-suite-ECDHE-ECDSA-AES256-SHA384-td42229.html */
int nid; int nid;
@ -981,6 +982,7 @@ int
SSL_CTX_set_tmp_ecdh(*ctx, ecdh); SSL_CTX_set_tmp_ecdh(*ctx, ecdh);
} }
#endif /* !defined(EC_KEY) */
#if OPENSSL_VERSION_NUMBER >= 0x00908000L #if OPENSSL_VERSION_NUMBER >= 0x00908000L
if (opt_compress) { if (opt_compress) {
@ -1206,9 +1208,10 @@ static int openssl_setenv_cert_name(const char *field, X509_NAME *name) {
BIO_free(bio); BIO_free(bio);
return -1; return -1;
} }
memcpy(str, buf, len);
str[len] = '\0'; str[len] = '\0';
Info2("SSL peer cert %s: \"%s\"", field, buf); Info2("SSL peer cert %s: \"%s\"", field, buf);
xiosetenv2("OPENSSL_X509", field, buf, 1, NULL); xiosetenv2("OPENSSL_X509", field, str, 1, NULL);
free(str); free(str);
BIO_free(bio); BIO_free(bio);
return 0; return 0;

View File

@ -1,5 +1,5 @@
/* source: xioexit.c */ /* source: xioexit.c */
/* Copyright Gerhard Rieger 2001-2012 */ /* Copyright Gerhard Rieger */
/* Published under the GNU General Public License V.2, see file COPYING */ /* Published under the GNU General Public License V.2, see file COPYING */
/* this file contains the source for the extended exit function */ /* this file contains the source for the extended exit function */