[package] uhttpd:

- ignore authentication realms that refer to user accounts with no password set yet (X-Wrt compatibility)
	- fix off-by-one in CGI header parsing, fixes cgi programs that emit bad header lines (AsteriskGUI compatibility)
	- bump version


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21121 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Jo-Philipp Wich 2010-04-24 11:07:41 +00:00
parent 6c2527497e
commit c1fe2f4ee9
4 changed files with 10 additions and 6 deletions

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=uhttpd PKG_NAME:=uhttpd
PKG_RELEASE:=8 PKG_RELEASE:=9
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)

View File

@ -68,7 +68,7 @@ static struct http_response * uh_cgi_header_parse(char *buf, int len, int *off)
if( (pos < len) && (buf[pos] == '\n') ) if( (pos < len) && (buf[pos] == '\n') )
pos++; pos++;
if( pos < len ) if( pos <= len )
{ {
if( (hdrcount + 1) < array_size(res.headers) ) if( (hdrcount + 1) < array_size(res.headers) )
{ {

View File

@ -622,10 +622,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(

View File

@ -71,8 +71,8 @@ static void uh_config_parse(const char *path)
if( !uh_auth_add(line, user, pass) ) if( !uh_auth_add(line, user, pass) )
{ {
fprintf(stderr, fprintf(stderr,
"Can not manage more than %i basic auth realms, " "Notice: No password set for user %s, ignoring "
"will skip the rest\n", UH_LIMIT_AUTHREALMS "authentication on %s\n", user, line
); );
break; break;