Help with autoindex on; missing slash for directories

Maxim Dounin mdounin at
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:
>> Hello!
>> 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?

Maxim Dounin

More information about the nginx mailing list