projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ath9k: fix various calibration related bugs and clean up the code
[openwrt.git]
/
package
/
uhttpd
/
src
/
uhttpd-utils.c
diff --git
a/package/uhttpd/src/uhttpd-utils.c
b/package/uhttpd/src/uhttpd-utils.c
index
96c0b82
..
60badf2
100644
(file)
--- a/
package/uhttpd/src/uhttpd-utils.c
+++ b/
package/uhttpd/src/uhttpd-utils.c
@@
-464,6
+464,9
@@
struct path_info * uh_path_lookup(struct client *cl, const char *url)
int i = 0;
struct stat s;
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));
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)];
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));
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;
}
p.root = docroot;
@@
-622,10
+638,14
@@
struct auth_realm * uh_auth_add(char *path, char *user, char *pass)
min(strlen(pass), sizeof(new->pass) - 1));
}
min(strlen(pass), sizeof(new->pass) - 1));
}
- uh_realm_count++;
+ if( new->pass[0] )
+ {
+ uh_realm_count++;
+ return new;
+ }
}
}
- return
new
;
+ return
NULL
;
}
int uh_auth_check(
}
int uh_auth_check(
This page took
0.028272 seconds
and
4
git commands to generate.