Full details, including a patch (which should probably be conditionally-
compiled out for the portable release), are at http://
bugzilla.opendarwin.org/show_bug.cgi?id=6080
Sorry about that. The project changed name, server and defect tracking systems over the intervening three years. The new link is https://trac.macports.org/ticket/6080
One of the first procedures called in any executable on POSIX is the symbol "_init" but this doesn't occur on Mac OS X or Darwin. TSOCKS uses procedure _init to link to the regular procedures that it *spoofs* so to speak. The issue is probably taken care of with this thread of ports http://giig.ugr.es/~rgarcia/tsocks/. Alternatively, you would have to modify each of the following procedures: connect, poll, select, close, and res_init (if SOCKS DNS is enabled) to handle what _init does. For example procedure res_init would need to contain do the following before trying to call realresinit:
Logged In: YES
user_id=104286
Originator: NO
bugzilla.opendarwin.org is 404-compliant.
Logged In: YES
user_id=555868
Originator: YES
Sorry about that. The project changed name, server and defect tracking systems over the intervening three years. The new link is https://trac.macports.org/ticket/6080
As the MacPorts package maintainer, I switched to http://giig.ugr.es/~rgarcia/tsocks/ some time ago, with a few Mac OS X specific patches at https://trac.macports.org/browser/trunk/dports/net/tsocks/files
Logged In: YES
user_id=2163712
Originator: NO
One of the first procedures called in any executable on POSIX is the symbol "_init" but this doesn't occur on Mac OS X or Darwin. TSOCKS uses procedure _init to link to the regular procedures that it *spoofs* so to speak. The issue is probably taken care of with this thread of ports http://giig.ugr.es/~rgarcia/tsocks/. Alternatively, you would have to modify each of the following procedures: connect, poll, select, close, and res_init (if SOCKS DNS is enabled) to handle what _init does. For example procedure res_init would need to contain do the following before trying to call realresinit:
if (realresinit == NULL) {
#ifndef USE_OLD_DLSYM
realresinit = dlsym(RTLD_NEXT, "res_init");
#else
void *lib = dlopen(LIBCONNECT, RTLD_LAZY);
realresinit = dlsym(lib, "res_init");
dlclose(lib);
#endif
if (realresinit == NULL) {
show_msg(MSGERR, "Unresolved symbol: res_init\n");
return(-1);
}
}