Группа :: Система/Серверы
        
    
Пакет: squid
    
 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 
Патч: squid-2.5.STABLE10-chroot-2.patch
Index: squid/src/cache_cf.c
diff -c squid/src/cache_cf.c:1.396.2.26 squid/src/cache_cf.c:1.396.2.27
*** squid/src/cache_cf.c:1.396.2.26 Fri May 6 16:33:53 2005
--- squid/src/cache_cf.c Mon Jun 13 16:26:21 2005
***************
*** 299,306 ****
}
fclose(fp);
defaults_if_none();
      if (opt_send_signal == -1) {- configDoConfigure();
  	cachemgrRegister("config","Current Squid Configuration",
dump_config,
--- 299,306 ----
}
fclose(fp);
defaults_if_none();
+ configDoConfigure();
      if (opt_send_signal == -1) {  	cachemgrRegister("config","Current Squid Configuration",
dump_config,
***************
*** 2567,2574 ****
snprintf(pathbuf, BUFSIZ, "%s/%s", Config.chroot_dir, path);
path = pathbuf;
}
! if (stat(path, &sb) < 0)
! 	fatalf("%s %s: %s", name, path, xstrerror());}
char *
--- 2567,2578 ----
snprintf(pathbuf, BUFSIZ, "%s/%s", Config.chroot_dir, path);
path = pathbuf;
}
!     if (stat(path, &sb) < 0) {! if (opt_send_signal == -1 || opt_send_signal == SIGHUP)
! 	    fatalf("%s %s: %s", name, path, xstrerror());! else
! fprintf(stderr, "WARNING: %s %s: %s\n", name, path, xstrerror());
! }
}
char *
Index: squid/src/globals.h
diff -c squid/src/globals.h:1.108.2.6 squid/src/globals.h:1.108.2.7
*** squid/src/globals.h:1.108.2.6 Wed Apr 20 15:52:26 2005
--- squid/src/globals.h Mon Jun 13 16:26:21 2005
***************
*** 166,170 ****
--- 166,171 ----
extern void *sbrk_start; /* 0 */
#endif
extern int opt_send_signal; /* -1 */
+ extern int opt_no_daemon; /* 0 */
#endif /* SQUID_GLOBALS_H */
Index: squid/src/main.c
diff -c squid/src/main.c:1.345.2.25 squid/src/main.c:1.345.2.27
*** squid/src/main.c:1.345.2.25 Wed Apr 20 15:52:26 2005
--- squid/src/main.c Mon Jun 27 15:24:28 2005
***************
*** 38,44 ****
/* for error reporting from xmalloc and friends */
extern void (*failure_notify) (const char *);
- static int opt_no_daemon = 0;
static int opt_parse_cfg_only = 0;
static char *opt_syslog_facility = NULL;
static int httpPortNumOverride = 1;
--- 38,43 ----
***************
*** 684,691 ****
/* send signal to running copy and exit */
      if (opt_send_signal != -1) {/* chroot if configured to run inside chroot */
! 	if (Config.chroot_dir && chroot(Config.chroot_dir)) {! 	    fatal("failed to chroot");}
sendSignal();
/* NOTREACHED */
--- 683,694 ----
/* send signal to running copy and exit */
      if (opt_send_signal != -1) {/* chroot if configured to run inside chroot */
! 	if (Config.chroot_dir) {! if (chroot(Config.chroot_dir))
! 		fatal("failed to chroot");! no_suid();
! 	} else {! leave_suid();
}
sendSignal();
/* NOTREACHED */
Index: squid/src/tools.c
diff -c squid/src/tools.c:1.213.2.15 squid/src/tools.c:1.213.2.16
*** squid/src/tools.c:1.213.2.15 Fri Apr 22 14:45:12 2005
--- squid/src/tools.c Mon Jun 13 16:26:22 2005
***************
*** 491,497 ****
if (strchr(host, '.'))
return host;
}
!     fatal("Could not determine fully qualified hostname.  Please set 'visible_hostname'\n");return NULL; /* keep compiler happy */
}
--- 491,500 ----
if (strchr(host, '.'))
return host;
}
! if (opt_send_signal == -1)
! 	fatal("Could not determine fully qualified hostname.  Please set 'visible_hostname'\n");! else
! 	return ("localhost");return NULL; /* keep compiler happy */
}
