summaryrefslogtreecommitdiff
path: root/sys/src/cmd/upas/imap4d/auth.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2017-03-12 18:50:27 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2017-03-12 18:50:27 +0100
commitf616c63b399fed4f78121f387be9599e8e0c2b4c (patch)
tree692fe661252ed7c24a2dc99140a30b4430d8b8c2 /sys/src/cmd/upas/imap4d/auth.c
parent8b6804717bb1ebbf858032cb5abb057ea8e2ab78 (diff)
imap4d: simplify auth with encodefmt (backport from 9front)
Diffstat (limited to 'sys/src/cmd/upas/imap4d/auth.c')
-rw-r--r--sys/src/cmd/upas/imap4d/auth.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/sys/src/cmd/upas/imap4d/auth.c b/sys/src/cmd/upas/imap4d/auth.c
index dad825bfd..748174f52 100644
--- a/sys/src/cmd/upas/imap4d/auth.c
+++ b/sys/src/cmd/upas/imap4d/auth.c
@@ -151,19 +151,13 @@ char*
cramauth(void)
{
char *s, *t;
- int n;
AuthInfo *ai;
Chalstate *cs;
if((cs = auth_challenge("proto=cram role=server")) == nil)
return Ebadch;
- n = cs->nchal;
- s = binalloc(&parsebin, n * 2, 0);
- n = enc64(s, n * 2, (uchar*)cs->chal, n);
- Bprint(&bout, "+ ");
- Bwrite(&bout, s, n);
- Bprint(&bout, "\r\n");
+ Bprint(&bout, "+ %.*[\r\n", cs->nchal, cs->chal);
if(Bflush(&bout) < 0)
writeerr();
@@ -221,7 +215,6 @@ passauth(char *u, char *secret)
{
char response[2*MD5dlen + 1];
uchar digest[MD5dlen];
- int i;
AuthInfo *ai;
Chalstate *cs;
@@ -229,8 +222,7 @@ passauth(char *u, char *secret)
return Ebadch;
hmac_md5((uchar*)cs->chal, strlen(cs->chal),
(uchar*)secret, strlen(secret), digest, nil);
- for(i = 0; i < MD5dlen; i++)
- snprint(response + 2*i, sizeof response - 2*i, "%2.2ux", digest[i]);
+ snprint(response, sizeof(response), "%.*H", MD5dlen, digest);
cs->user = u;
cs->resp = response;
cs->nresp = strlen(response);