- We were initializing libcaptive too late.
|G_LOG_LEVEL_DEBUG
));
+ /* Do not do it later than chroot_setup() as it requires it.
+ * On the other hand it is SETUID-fragile this way.
+ */
+ captive_standalone_init();
+
fatal_argv0=argv[0];
fragile=(getuid()!=geteuid() || getuid()==0 || geteuid()==0);
chroot_setup(TRUE);
#endif /* MAINTAINER_MODE */
- captive_standalone_init();
-
captive_options_init(&options);
captive_options=&options; /* for parsing by 'CAPTIVE_POPT_INCLUDE' */
gboolean captive_standalone_init_done=FALSE;
+/* WARNING: Function is called unprotected with SETUID! */
void captive_standalone_init(void)
{
if (captive_standalone_init_done)