fix for early RST on new connection to proxy

This commit is contained in:
nohar 2005-05-01 22:29:31 +00:00
parent 8da1c833d8
commit 81ffe1b550
10 changed files with 105 additions and 33 deletions

13
aclocal.m4 vendored
View File

@ -985,3 +985,16 @@ AC_CHECK_PROGS(LEX, flex lex, $missing_dir/missing flex)
AC_PROG_LEX
AC_DECL_YYTEXT])
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[AC_SUBST($1_TRUE)
AC_SUBST($1_FALSE)
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi])

View File

@ -272,7 +272,7 @@ PACKAGE_STRING=
PACKAGE_BUGREPORT=
ac_unique_file="src/bip.c"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT YACC LEX LEXLIB LEX_OUTPUT_ROOT LIB@&t@OBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT YACC LEX LEXLIB LEX_OUTPUT_ROOT DEBUG_TRUE DEBUG_FALSE LIB@&t@OBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -804,6 +804,7 @@ if test -n "$ac_init_help"; then
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-debug Turn on debugging
--disable-ssl Drop OpenSSL support
Some influential environment variables:
@ -2908,6 +2909,22 @@ fi
fi
debug=false
# Check whether --enable-debug or --disable-debug was given.
if test "${enable_debug+set}" = set; then
enableval="$enable_debug"
debug=true
fi;
if test x$debug = xtrue; then
DEBUG_TRUE=
DEBUG_FALSE='#'
else
DEBUG_TRUE='#'
DEBUG_FALSE=
fi
requires_libssl=yes
# Check whether --enable-ssl or --disable-ssl was given.
if test "${enable_ssl+set}" = set; then
@ -3642,6 +3659,8 @@ s,@YACC@,$YACC,;t t
s,@LEX@,$LEX,;t t
s,@LEXLIB@,$LEXLIB,;t t
s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t
s,@DEBUG_TRUE@,$DEBUG_TRUE,;t t
s,@DEBUG_FALSE@,$DEBUG_FALSE,;t t
s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF

View File

@ -17,19 +17,19 @@
{
'm4_pattern_forbid' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_C_VOLATILE' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_C_VOLATILE' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_STAT' => 1,
'AC_FUNC_WAIT3' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_STRUCT_TM' => 1,
'AC_FUNC_WAIT3' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_STRUCT_TM' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_FUNC_STRNLEN' => 1,
@ -48,17 +48,17 @@
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_TYPE_UID_T' => 1,
'AC_PROG_MAKE_SET' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'm4_pattern_allow' => 1,
'AC_PROG_MAKE_SET' => 1,
'sinclude' => 1,
'm4_pattern_allow' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_CC' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_FORK' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_PROG_YACC' => 1,
'AC_INIT' => 1,
'AC_STRUCT_TIMEZONE' => 1,
@ -80,33 +80,33 @@
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_HEADER_STAT' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_PROG_CPP' => 1,
'AC_HEADER_STAT' => 1,
'AC_C_INLINE' => 1,
'AC_PROG_LEX' => 1,
'AC_C_CONST' => 1,
'AC_PROG_CPP' => 1,
'AC_TYPE_PID_T' => 1,
'AC_C_CONST' => 1,
'AC_PROG_LEX' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_PROG_INSTALL' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_CONDITIONAL' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_PROG_LN_S' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_PROG_LN_S' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1

View File

@ -121,15 +121,18 @@ m4trace:configure.in:7: -1- AC_PROG_LEX
m4trace:configure.in:7: -1- _m4_warn([syntax], [AC_PROG_LEX invoked multiple times], [autoconf/programs.m4:438: AC_DECL_YYTEXT is expanded from...
aclocal.m4:986: AM_PROG_LEX is expanded from...
configure.in:7: the top level])
m4trace:configure.in:17: -1- AC_CHECK_LIB([ssl], [SSL_read], [], [
m4trace:configure.in:13: -1- AM_CONDITIONAL([DEBUG], [test x$debug = xtrue])
m4trace:configure.in:13: -1- AC_SUBST([DEBUG_TRUE])
m4trace:configure.in:13: -1- AC_SUBST([DEBUG_FALSE])
m4trace:configure.in:23: -1- AC_CHECK_LIB([ssl], [SSL_read], [], [
echo "Error! You need to have libssl around."
exit -1
])
m4trace:configure.in:17: -1- AH_OUTPUT([HAVE_LIBSSL], [/* Define to 1 if you have the `ssl\' library (-lssl). */
m4trace:configure.in:23: -1- AH_OUTPUT([HAVE_LIBSSL], [/* Define to 1 if you have the `ssl\' library (-lssl). */
#undef HAVE_LIBSSL])
m4trace:configure.in:17: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSSL])
m4trace:configure.in:19: -1- AC_CONFIG_FILES([Makefile src/Makefile samples/Makefile])
m4trace:configure.in:19: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
m4trace:configure.in:23: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSSL])
m4trace:configure.in:25: -1- AC_CONFIG_FILES([Makefile src/Makefile samples/Makefile])
m4trace:configure.in:25: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
m4trace:configure.in:19: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:19: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:25: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:25: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])

21
configure vendored
View File

@ -272,7 +272,7 @@ PACKAGE_STRING=
PACKAGE_BUGREPORT=
ac_unique_file="src/bip.c"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT YACC LEX LEXLIB LEX_OUTPUT_ROOT LIBOBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT YACC LEX LEXLIB LEX_OUTPUT_ROOT DEBUG_TRUE DEBUG_FALSE LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -804,6 +804,7 @@ if test -n "$ac_init_help"; then
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-debug Turn on debugging
--disable-ssl Drop OpenSSL support
Some influential environment variables:
@ -2908,6 +2909,22 @@ fi
fi
debug=false
# Check whether --enable-debug or --disable-debug was given.
if test "${enable_debug+set}" = set; then
enableval="$enable_debug"
debug=true
fi;
if test x$debug = xtrue; then
DEBUG_TRUE=
DEBUG_FALSE='#'
else
DEBUG_TRUE='#'
DEBUG_FALSE=
fi
requires_libssl=yes
# Check whether --enable-ssl or --disable-ssl was given.
if test "${enable_ssl+set}" = set; then
@ -3642,6 +3659,8 @@ s,@YACC@,$YACC,;t t
s,@LEX@,$LEX,;t t
s,@LEXLIB@,$LEXLIB,;t t
s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t
s,@DEBUG_TRUE@,$DEBUG_TRUE,;t t
s,@DEBUG_FALSE@,$DEBUG_FALSE,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF

View File

@ -6,6 +6,12 @@ AC_PROG_INSTALL
AC_PROG_YACC
AM_PROG_LEX
debug=false
AC_ARG_ENABLE(debug,
[ --enable-debug Turn on debugging],
[debug=true])
AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
requires_libssl=yes
AC_ARG_ENABLE(ssl,
[ --disable-ssl Drop OpenSSL support],

View File

@ -2,4 +2,9 @@ bin_PROGRAMS = bip genpwent
bip_SOURCES = conf.y lex.l bip.c connection.c irc.c line.c log.c md5.c util.c
genpwent_SOURCES = genpwent.c md5.c util.c
AM_YFLAGS= -d
CFLAGS=-Wall
if DEBUG
AM_CFLAGS=-Wall -g
AM_LDFLAGS=-g
else
AM_CFLAGS=-Wall
endif

View File

@ -73,7 +73,6 @@ bin_PROGRAMS = bip genpwent
bip_SOURCES = conf.y lex.l bip.c connection.c irc.c line.c log.c md5.c util.c
genpwent_SOURCES = genpwent.c md5.c util.c
AM_YFLAGS = -d
CFLAGS = -Wall
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
@ -95,6 +94,7 @@ genpwent_DEPENDENCIES =
genpwent_LDFLAGS =
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LEXLIB = @LEXLIB@
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
@ -369,6 +369,9 @@ install uninstall-am uninstall all-redirect all-am all installdirs \
mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
@DEBUG_TRUE@ AM_CFLAGS=-Wall -g
@DEBUG_TRUE@ AM_LDFLAGS=-g
@DEBUG_FALSE@ AM_CFLAGS=-Wall
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -588,13 +588,14 @@ static int check_event_write(fd_set *fds, connection_t *cn)
int err, err2;
socklen_t errSize = sizeof(err);
err2 = getsockopt(cn->handle,SOL_SOCKET,SO_ERROR,(void *)&err,
err2 = getsockopt(cn->handle, SOL_SOCKET, SO_ERROR,(void *)&err,
&errSize);
if (err2 < 0) {
mylog(LOG_WARN, "fd:%d getsockopt error: %s",
cn->handle, strerror(errno));
connect_trynext(cn);
if (cn->connecting_data)
connect_trynext(cn);
return (cn_is_new(cn) || cn->connected ==
CONN_NEED_SSLIZE) ? 0 : 1;
@ -616,7 +617,8 @@ static int check_event_write(fd_set *fds, connection_t *cn)
} else {
mylog(LOG_WARN, "fd:%d Socket error: %s", cn->handle,
strerror(err));
connect_trynext(cn);
if (cn->connecting_data)
connect_trynext(cn);
return (cn_is_new(cn) || cn->connected ==
CONN_NEED_SSLIZE) ? 0 : 1;
}

View File

@ -617,7 +617,8 @@ static char *log_beautify(char *buf, char *dest, int *raw)
}
son = p;
/* 'date time blawithnoexcl bla bla ! bla' --> ? */
p = strchr(p, '!');
while (*p && *p != '!' && *p != ' ')
p++;
if (!p || !p[0] || !p[1])
return buf;
lon = p - son;
@ -625,6 +626,7 @@ static char *log_beautify(char *buf, char *dest, int *raw)
if (!p || !p[0] || !p[1])
return buf;
p++;
som = p;
lom = strlen(p);
@ -649,7 +651,7 @@ static char *log_beautify(char *buf, char *dest, int *raw)
p += strlen("ACTION");
}
memcpy(p, sots, lots);
p+=lots;
p += lots;
*p++ = ' ';
memcpy(p, som, lom);
p += lom;