Closed
Bug 177850
Opened 21 years ago
Closed 21 years ago
checksetup fails if the user does not have read permission to the whole bugzilla path
Categories
(Bugzilla :: Installation & Upgrading, defect, P3)
Tracking
()
RESOLVED
FIXED
Bugzilla 2.18
People
(Reporter: jussi, Assigned: jussi)
Details
Attachments
(1 file)
1.43 KB,
patch
|
justdave
:
review+
|
Details | Diff | Splinter Review |
When I was installing bugzilla to a site where the path to bugzilla was: /data/www/customers/xyz/public_html/bugzilla After finddepth had reported the error, cwd was /data/www/customers I added a chdir("/data/www/customers/xyz/public_html/bugzilla") after the finddepth and changed COMPILE_DIR to point to full path. After these changes I managed to get checksetup through. Error message from unmodified checksetup: Removing existing compiled templates ... [Fri Nov 1 05:48:28 2002] checksetup.pl: Can't stat data/template: No such file or directory Content-type: text/html <H1>Software error:</H1> <PRE>mkdir data: Permission denied at /data/www/customers/xyz/local/share/perl/5.6.1/Template/Provider.pm line 368 </PRE> <P> For help, please send mail to this site's webmaster, giving this error message and the time and date of the error. [Fri Nov 1 05:48:28 2002] checksetup.pl: mkdir data: Permission denied at /data/www/customers/xyz/local/share/perl/5.6.1/Template/Provider.pm line 368
Comment 1•21 years ago
|
||
Waht is the current working directory before finddepth is run?
Assignee | ||
Comment 2•21 years ago
|
||
The current working directory before finddepth was /data/www/customers/xyz/public_html/bugzilla I used system("pwd") to print them (in case that has some side effects).
Comment 3•21 years ago
|
||
hmm. Something is odd, here. What perl version do you have? Waht vrsion of File::Find?
Assignee | ||
Comment 4•21 years ago
|
||
The perl version is 5.6.1. I'm not that sure about File::Find since the file does not specify a version. After a bit of digging I found the real problem: Some of the directories below bugzilla directory have only execute bit set for the bugzilla user and for some reason File::Find stat's every directory in the path (checking for symlinks?). When this fails it leaves the working directory to the incorrect value. This installation is in a hosted site so I do not have control over the permissions.
Summary: checksetup fails when bugzilla is in directory containing /data/ → checksetup fails if the user does not have read permission to the whole bugzilla path
Comment 5•21 years ago
|
||
Hmmm. I can stat a directory if only +x is set, though, plus I can't reprporduce this. There is an opendir call, but that should be error-safe. Theres a line in checksetup which does |local (^W) = 0;|. If you comment that out, do you get any warnings from File::Find?
Assignee | ||
Comment 6•21 years ago
|
||
With a fresh cvs checkout and these permissions I can reproduce the problem. The next run after localconfig has been created results in the error message. jussi@gandalf[~/tmp/mozilla/webtools] $ pwd /home/jussi/tmp/mozilla/webtools jussi@gandalf[~/tmp/mozilla/webtools] $ ll -d . d--x------ 4 jussi jussi 4096 marras 4 15:35 ./ jussi@gandalf[~/tmp/mozilla/webtools] $ cd bugzilla jussi@gandalf[~/tmp/mozilla/webtools/bugzilla] $ ll -d . drwxrwxr-x 16 jussi jussi 4096 marras 4 15:46 ./ jussi@gandalf[~/tmp/mozilla/webtools/bugzilla] $ ./checksetup.pl It seems that File::Find uses Cwd::fastcwd which changes the directory and does an opendir for the parent directories. The Cwd documentation warns about this kind of a problem but I don't know what can be done to prevent it.
Comment 7•21 years ago
|
||
Hmm, looking at code, that only happens for the finddepth case. Maybe we could use File::Path::rmtree, and 'detect' errors by confirming that the dir no longer exists?
Assignee | ||
Comment 8•21 years ago
|
||
Here is a fix using rmtree. The getcwd call few lines further caused the error also, so I changed it to normal cwd.
Comment 9•21 years ago
|
||
I think it is safe to confirm this and target it for 2.18. It is going to need a fix in either code or documentation. I hit it myself and found it annoying. It would be bad for someone who was setting up their first system.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P3
Target Milestone: --- → Bugzilla 2.18
Comment 10•21 years ago
|
||
Comment on attachment 105581 [details] [diff] [review] Fix using File::Path::rmtree r= justdave Ran into this myself trying to upgrade an old pre-template Bugzilla that is maintained as a non-root user. Tried out this patch, and it works.
Attachment #105581 -
Flags: review+
Comment 12•21 years ago
|
||
Checking in checksetup.pl; /cvsroot/mozilla/webtools/bugzilla/checksetup.pl,v <-- checksetup.pl new revision: 1.208; previous revision: 1.207 done
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Updated•11 years ago
|
QA Contact: matty_is_a_geek → default-qa
You need to log in
before you can comment on or make changes to this bug.
Description
•