--- ./lib/Makefile.in Wed Oct 20 10:38:55 1999 +++ ../socks5-v1.0r11/./lib/Makefile.in Mon Nov 12 12:48:11 2001 @@ -10,7 +10,8 @@ BINRM = @BINRM@ INSTALL = @INSTALL@ RANLIB = @RANLIB@ -AR = ar rv +AR = ar +ARFLAGS = crv LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ DLLIBS = @DLLIBS@ @@ -51,11 +52,11 @@ util: libs5util.a libs5util.a: $(UOBJ) - $(AR) $@ $(UOBJ) + $(AR) $(ARFLAGS) $@ $(UOBJ) $(RANLIB) $@ libsocks5.a: $(OBJS) - $(AR) $@ $(OBJS) + $(AR) $(ARFLAGS) $@ $(OBJS) $(RANLIB) $@ install: libsocks5.a --- ./lib/wrap.c Wed Aug 16 11:38:40 2000 +++ ../socks5-v1.0r11/./lib/wrap.c Fri Nov 9 14:50:12 2001 @@ -540,6 +540,16 @@ REAL(longjmp)(env, val); } +int LIBPREFIX(BSDlongjmp)(jmp_buf env, int val) { +#ifdef FOR_SHARED_LIBRARY + lsInWrapFunction = 0; +#endif + + LIBPREFIX2(init)("libsocks5"); + S5LogUpdate(S5LogDefaultHandle, S5_LOG_DEBUG(12), 0, "SOCKS BSDlongjmp: FAKE"); + return REAL(BSDlongjmp)(env, val); +} + #ifndef FOR_SHARED_LIBRARY #ifdef HAVE_STDARG_H #include --- ./lib/rld.c Wed Aug 16 11:38:40 2000 +++ ../socks5-v1.0r11/./lib/rld.c Fri Nov 9 15:04:38 2001 @@ -296,6 +296,16 @@ ((void (*)(jmp_buf, int))func)(env, val); } +int REAL(BSDlongjmp) (jmp_buf env, int val) { + static void *func = NULL; + + GetOriginalFunc(&func, "_BSDlongjmp", TRY_LIBC); + if (!func || func == (void *)-1) return; + + lsInRLDFunctions = 0; + return ((int (*)(jmp_buf, int))func)(env, val); +} + int REAL(select) (S5IOHandle wd, fd_set *rs, fd_set *ws, fd_set *es, struct timeval *to) { GETFUNC("_select", TRY_LIBC, -1, (int (*)P((S5IOHandle, fd_set *, fd_set *, fd_set *, struct timeval *))), (wd, rs, ws, es, to), int); } --- ./shlib/Makefile.in Thu May 27 12:48:27 1999 +++ ../socks5-v1.0r11/./shlib/Makefile.in Mon Nov 12 12:48:37 2001 @@ -6,7 +6,8 @@ BINRM = @BINRM@ INSTALL = @INSTALL@ RANLIB = @RANLIB@ -AR = ar rv +AR = ar +ARFLAGS = crv LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ SHLIB_CFLAGS = @SHLIB_CFLAGS@ --- ./include/socks.h Wed Aug 16 11:38:41 2000 +++ ../socks5-v1.0r11/./include/socks.h Fri Nov 9 14:52:25 2001 @@ -46,6 +46,7 @@ extern int LIBPREFIX(dup2) P((int, int)); extern struct tm * LIBPREFIX(localtime) P((const time_t *)); extern void LIBPREFIX(longjmp) P((jmp_buf, int)); +extern int LIBPREFIX(BSDlongjmp) P((jmp_buf, int)); extern int LIBPREFIX(select) P((int, fd_set *, fd_set *, fd_set *, struct timeval *)); extern struct hostent *LIBPREFIX(gethostbyname) P((char *)); @@ -102,7 +103,14 @@ #define shutdown LIBPREFIX(shutdown) #define localtime LIBPREFIX(localtime) + +#if defined(sgi) && (defined(_BSD_SIGNALS) || defined(_BSD_COMPAT)) +#undef longjmp +#define longjmp LIBPREFIX(BSDlongjmp) +#else #define longjmp LIBPREFIX(longjmp) +#endif + #define close LIBPREFIX(close) #define dup2 LIBPREFIX(dup2) #define dup LIBPREFIX(dup) --- ./include/socks5p.h Wed Aug 16 11:38:42 2000 +++ ../socks5-v1.0r11/./include/socks5p.h Fri Nov 9 14:52:45 2001 @@ -16,7 +16,7 @@ #include "config.h" #include "hide.h" #include "includes.h" -#include "hide.h" +#include "unhide.h" #include "defs.h" #include "socks5api.h" #include "system.h" --- ./include/system.h Wed Aug 16 11:38:42 2000 +++ ../socks5-v1.0r11/./include/system.h Fri Nov 9 14:53:06 2001 @@ -56,6 +56,7 @@ struct tm * REAL(localtime) P((const time_t *)); void REAL(longjmp) P((jmp_buf, int)); +int REAL(BSDlongjmp) P((jmp_buf, int)); int REAL(close) P((S5IOHandle)); int REAL(shutdown) P((S5IOHandle, int)); --- ./include/sigfix.h Wed Aug 16 11:38:42 2000 +++ ../socks5-v1.0r11/./include/sigfix.h Fri Nov 9 14:55:00 2001 @@ -5,7 +5,7 @@ /* document ("Copyright") included with this distribution. */ /* - * $Id: sigfix.h,v 1.7.4.3 2000/02/24 15:28:14 steve Exp $ + * $Id: sigfix.h,v 1.7.4.4 2000/09/22 16:14:08 wlu Exp $ */ #ifndef SIGFIX_H @@ -23,6 +23,7 @@ memset(&sa, 0, sizeof(sa)); sa.sa_handler = func; sigemptyset(&sa.sa_mask); +#ifndef IN_SERVER #ifdef SA_RESETHAND sa.sa_flags |= SA_RESETHAND; #endif @@ -31,6 +32,7 @@ #endif #ifdef SA_RESTART sa.sa_flags |= SA_RESTART; +#endif #endif sigaction(signo, &sa, &oa); return (Sig_t)oa.sa_handler; --- ./include/hide.h Wed Aug 16 11:38:42 2000 +++ ../socks5-v1.0r11/./include/hide.h Fri Nov 9 14:53:33 2001 @@ -42,6 +42,7 @@ #define shutdown HIDE(shutdown) #define listen HIDE(listen) #define longjmp HIDE(longjmp) +#define BSDlongjmp HIDE(BSDlongjmp) #define close HIDE(close) #else @@ -76,6 +77,7 @@ #undef shutdown #undef listen #undef longjmp +#undef BSDlongjmp #undef close #endif