2003-03-03
2003-03-03 18:07:47 by Henrik Grubbström (Grubba) <grubba@grubba.org>
-
0217b84be31187eefb2d8f7d50ee348e5c83db9a
(18 lines)
(+17/-1)
[
Show
| Annotate
]
Branch: 5.2
Roxen should now be able to dump core on Linux even when running with different euid (requires System.dumpable()).
Rev: server/base_server/roxen.pike:1.823
6:
// Per Hedbor, Henrik Grubbström, Pontus Hagland, David Hedbor and others.
// ABS and suicide systems contributed freely by Francesco Chemolli
- constant cvs_version="$Id: roxen.pike,v 1.822 2003/02/05 13:33:58 jonasw Exp $";
+ constant cvs_version="$Id: roxen.pike,v 1.823 2003/03/03 18:07:47 grubba Exp $";
//! @appears roxen
//!
63:
# define THREAD_WERR(X)
#endif
+ // Needed to get core dumps of seteuid()'ed processes on Linux.
+ #if constant(System.dumpable)
+ #define enable_coredumps(X) System.dumpable(X)
+ #else
+ #define enable_coredumps(X)
+ #endif
+
#define DDUMP(X) sol( combine_path( __FILE__, "../../" + X ), dump )
static function sol = master()->set_on_load;
287: Inside #if defined(HAVE_EFFECTIVE_USER)
}
if(getgid()!=gid) setgid(gid||getgid());
seteuid(new_uid = uid);
+ enable_coredumps(1);
#endif /* HAVE_EFFECTIVE_USER */
}
360: Inside #if defined(HAVE_EFFECTIVE_USER)
}
setegid(saved_gid);
seteuid(saved_uid);
+ enable_coredumps(1);
#endif /* HAVE_EFFECTIVE_USER */
}
#else /* efun(seteuid) */
1707: Inside #if constant(SSL.sslfile)
dsa->use_random(r);
ctx->dsa = dsa;
/* Use default DH parameters */
+ #if constant(SSL.Cipher)
+ ctx->dh_params = SSL.Cipher.DHParameters();
+ #else
ctx->dh_params = SSL.cipher.dh_parameters();
-
+ #endif
ctx->dhe_dss_mode();
3899:
#endif
}
+ enable_coredumps(1);
+
#ifdef THREADS
// Paranoia.
mutex_key = 0;