mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
[package] uhttpd:
- fix a compile warning - support custom index file names - support custom error pages (or cgi handler) - add option to disable directory listings - add REDIRECT_STATUS for CGI requests, fixes php-cgi git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22366 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -464,6 +464,9 @@ struct path_info * uh_path_lookup(struct client *cl, const char *url)
|
||||
int i = 0;
|
||||
struct stat s;
|
||||
|
||||
/* back out early if url is undefined */
|
||||
if ( url == NULL )
|
||||
return NULL;
|
||||
|
||||
memset(path_phys, 0, sizeof(path_phys));
|
||||
memset(path_info, 0, sizeof(path_info));
|
||||
@@ -550,18 +553,31 @@ struct path_info * uh_path_lookup(struct client *cl, const char *url)
|
||||
memcpy(buffer, path_phys, sizeof(buffer));
|
||||
pathptr = &buffer[strlen(buffer)];
|
||||
|
||||
for( i = 0; i < array_size(uh_index_files); i++ )
|
||||
if( cl->server->conf->index_file )
|
||||
{
|
||||
strncat(buffer, uh_index_files[i], sizeof(buffer));
|
||||
strncat(buffer, cl->server->conf->index_file, sizeof(buffer));
|
||||
|
||||
if( !stat(buffer, &s) && (s.st_mode & S_IFREG) )
|
||||
{
|
||||
memcpy(path_phys, buffer, sizeof(path_phys));
|
||||
memcpy(&p.stat, &s, sizeof(p.stat));
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for( i = 0; i < array_size(uh_index_files); i++ )
|
||||
{
|
||||
strncat(buffer, uh_index_files[i], sizeof(buffer));
|
||||
|
||||
*pathptr = 0;
|
||||
if( !stat(buffer, &s) && (s.st_mode & S_IFREG) )
|
||||
{
|
||||
memcpy(path_phys, buffer, sizeof(path_phys));
|
||||
memcpy(&p.stat, &s, sizeof(p.stat));
|
||||
break;
|
||||
}
|
||||
|
||||
*pathptr = 0;
|
||||
}
|
||||
}
|
||||
|
||||
p.root = docroot;
|
||||
|
||||
Reference in New Issue
Block a user