When configured using the --enable-openbsd-malloc option Tor v0.2.1.30 will build without error on RHEL5, but then won't run. The cause of the runtime problem is that the symbol __libc_enable_secure is defined in OpenBSD_malloc_Linux.c but not actually built into the GLibC used in RHEL5.
Can I "fix" this problem my simply removing the reference to __libc_enable_secure?
Let me rephrase that. This does actually fix the problem, but I wonder if it creates a different problem, one which has not become apparent in 2 days of run time. So my question is: what functionality have I lost by removing the __libc_enable_secure test?
Thanks.
--------------------------
--- tor-0.2.1.30/src/common/OpenBSD_malloc_Linux.c.original 2009-05-18 19:47:00.000000000 -0400 +++ tor-0.2.1.30/src/common/OpenBSD_malloc_Linux.c 2011-03-07 11:19:36.000000000 -0500 @@ -77,11 +77,11 @@ static int align = 0; static size_t g_alignment = 0;
-extern int __libc_enable_secure; +// extern int __libc_enable_secure;
static int issetugid(void) { - if (__libc_enable_secure) return 1; +// if (__libc_enable_secure) return 1; if (getuid() != geteuid()) return 1; if (getgid() != getegid()) return 1; return 0;