Help with autoindex on; missing slash for directories
mdounin at mdounin.ru
Thu Jul 2 02:53:52 MSD 2009
On Wed, Jul 01, 2009 at 09:48:29AM -0700, Yazz Atlas wrote:
> On 7/1/09 2:30 AM, Maxim Dounin wrote:
>> On Tue, Jun 30, 2009 at 11:09:11PM -0700, Yazz Atlas wrote:
>>> I'm working on upgrading some servers running nginx-0.6.34 to either
>>> nginx-0.8.4 or nginx-0.7.61. The problem is I have another tool that
>>> was crawling the nginx directory and following all the directories it
>>> found. With the latest version of nginx the the directories aren't
>>> given a slash so doing the automated crawl fails.
>>> Notice the missing slash after the word site. I was relying on having
>>> the slash so I could navigate down directories with my crawler.
>>> Any one have a solution to add the slash back?
>> Which OS? Which filesystem?
> CentOS release 5.3 (Final) with ext3 filesystem, Linux example
> 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:35:59 EDT 2009 x86_64 x86_64
> x86_64 GNU/Linux
>> And could you please:
>> 1. Test if this regression appeared in 0.7.40.
> The problem still exists with 0.7.40. I did compiled 0.6.38 and it does
> not have the problem. However I would like to move to the either 0.7.x
> or 0.8.x.
I mean *appeared* in 0.7.40, i.e. problem exists in 0.7.40 but not
in 0.7.39. But after some thinking it's most likely 0.7.15 when
dirent.d_type checking was initially introduced (i.e. problem exists in
0.7.15 but not in 0.7.14).
>> 2. Show ./configure output on your system.
> [root at example nginx-0.7.40]# ./configure --http-proxy-temp-path=/tmp
> --prefix=/opt/nginx --with-http_ssl_module
> checking for struct dirent.d_namlen ... not found
> checking for struct dirent.d_type ... found
You system has dirent.d_type, but it looks like it's something
wrong with it. I've tried to reproduce problem on vmware image of
CentOS 5.3 i386 - but failed, everythings works ok. I've even
tried initial release version and fully updated one (with
2.6.18-128.1.16.el5 kernel), no problems found.
It's either x64 only issue, or something wrong with headers on
your server(s). Unfortenately I have no x64 version on hand to
test it there, but people report that everything is ok at least on
other x64 distributions.
Could you please check your headers, most notably
/usr/include/dirent.h and /usr/include/bits/dirent.h?
More information about the nginx