diff f8fa0c987fd6be6622a1d669e4025dca374bc853 uncommitted --- a/sys/src/cmd/webfs/http.c +++ b/sys/src/cmd/webfs/http.c @@ -373,18 +373,21 @@ user = u->user; pass = u->pass; realm = nonce = opaque = nil; - if(!cistrncmp(s, "Basic ", 6)){ + if(!cistrncmp(s, "Basic", 5)){ UserPasswd *up; - s += 6; - if(x = cistrstr(s, "realm=")) - realm = unquote(x+6, &s); - if(realm == nil) - return -1; + s += 5; + if(strlen(s) > 0){ + if(s[0] != ' ') + return -1; + if(x = cistrstr(s, "realm=")) + realm = unquote(x+6, &s); + } up = nil; if(user == nil || pass == nil){ fmtstrinit(&fmt); - fmtprint(&fmt, " realm=%q", realm); + if (realm) + fmtprint(&fmt, " realm=%q", realm); if(user) fmtprint(&fmt, " user=%q", user); if((s = fmtstrflush(&fmt)) == nil)