Re: 'nother small tweak - cache_dir chdir'ing

From: Kevin Littlejohn <darius@dont-contact.us>
Date: Tue, 30 Jan 2001 12:50:42 +1100

>>> Henrik Nordstrom wrote
> KevinL wrote:
> >
> > The following patch adds a comment asking if effectiveUser is always set (ie.
> > I suspect this portion of code never executes after the change for non-root
> > execution made the other day)
>
> It is always set. When started as non-root is is set to the current UID.

That was what I thought - in which case, the block of code that executes if
it's not set is probably worth removing... ;)

>
> It should not chdir to the swap directory, it should chdir to
> coredump_dir. And this regardless of any uid settings..

Yup, that's what I thought. But that function has it trying coredump_dir,
then checking effectiveUser, reporting current dir and returning if
effectiveUser is not set, otherwise trying to chdir into the first cache_dir.

>
> Assuming that the name of a cache_dir is a directory to where one can
> chdir is a bold assumption. Fails miserably for non-FS based stores.

So, my revised patch would cut more out:

RCS file: /cvsroot/squid/squid/src/main.c,v
retrieving revision 1.17
diff -u -r1.17 main.c
--- main.c 2001/01/12 08:20:33 1.17
+++ main.c 2001/01/30 01:49:29
@@ -430,21 +430,10 @@
            debug(50, 0) ("chdir: %s: %s\n", Config.coredump_dir, xstrerror());
        }
     }
- if (!Config.effectiveUser) {
- char *p = getcwd(NULL, 0);
- debug(0, 1) ("Current Directory is %s\n", p);
- xfree(p);
- return;
- }
- /* we were probably started as root, so cd to a swap
- * directory in case we dump core */
- if (!chdir(storeSwapDir(0))) {
- debug(0, 1) ("Set Current Directory to %s\n", storeSwapDir(0));
- return;
- } else {
- debug(50, 0) ("%s: %s\n", storeSwapDir(0), xstrerror());
- fatal_dump("Cannot cd to swap directory?");
- }
+ /* If we don't have coredump_dir or couldn't cd there, report current dir */
+ char *p = getcwd(NULL, 0);
+ debug(0, 1) ("Current Directory is %s\n", p);
+ xfree(p);
 }
 
 static void
Received on Mon Jan 29 2001 - 18:50:46 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:13:26 MST