diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-03-12 17:26:49 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-03-12 17:26:49 +0100 |
commit | 7e7cc2c8d78a1e5e61f6c71051f8039365314ec4 (patch) | |
tree | a569f8abe24b157f2f3a22ef8e016cbf04365096 | |
parent | 69af2676b0c62a79370158b9a6ee1263d614ac88 (diff) | |
download | plan9front-7e7cc2c8d78a1e5e61f6c71051f8039365314ec4.tar.xz |
webfs: simplify http basic auth code by using encodefmt()
-rw-r--r-- | sys/src/cmd/webfs/fs.c | 1 | ||||
-rw-r--r-- | sys/src/cmd/webfs/http.c | 14 |
2 files changed, 8 insertions, 7 deletions
diff --git a/sys/src/cmd/webfs/fs.c b/sys/src/cmd/webfs/fs.c index abd8de013..117bdc0b4 100644 --- a/sys/src/cmd/webfs/fs.c +++ b/sys/src/cmd/webfs/fs.c @@ -781,6 +781,7 @@ main(int argc, char *argv[]) fmtinstall('U', Ufmt); fmtinstall('H', Hfmt); fmtinstall('E', Efmt); + fmtinstall('[', encodefmt); mtpt = "/mnt/web"; user = getuser(); diff --git a/sys/src/cmd/webfs/http.c b/sys/src/cmd/webfs/http.c index b8b91ea10..96a884c0c 100644 --- a/sys/src/cmd/webfs/http.c +++ b/sys/src/cmd/webfs/http.c @@ -357,7 +357,6 @@ authenticate(Url *u, Url *ru, char *method, char *s) pass = u->pass; realm = nonce = opaque = nil; if(!cistrncmp(s, "Basic ", 6)){ - char cred[128], plain[128]; UserPasswd *up; s += 6; @@ -380,19 +379,20 @@ authenticate(Url *u, Url *ru, char *method, char *s) user = up->user; pass = up->passwd; } - n = snprint(plain, sizeof(plain), "%s:%s", user ? user : "", pass ? pass : ""); + fmtstrinit(&fmt); + fmtprint(&fmt, "%s:%s", user ? user : "", pass ? pass : ""); if(up){ memset(up->user, 0, strlen(up->user)); memset(up->passwd, 0, strlen(up->passwd)); free(up); } - n = enc64(cred, sizeof(cred), (uchar*)plain, n); - memset(plain, 0, sizeof(plain)); - if(n == -1) + if((s = fmtstrflush(&fmt)) == nil) return -1; + n = strlen(s); fmtstrinit(&fmt); - fmtprint(&fmt, "Basic %s", cred); - memset(cred, 0, sizeof(cred)); + fmtprint(&fmt, "Basic %.*[", n, s); + memset(s, 0, n); + free(s); u = saneurl(url(".", u)); /* all uris below the requested one */ }else if(!cistrncmp(s, "Digest ", 7)){ |