diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-01-06 03:09:00 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-01-06 03:09:00 +0100 |
commit | 2dae1ed53a73d81bfb86778793a6bda265d5140d (patch) | |
tree | e037c4a663fc9d17906cc2045c488232ac223ece /sys/src/libauthsrv/convM2TR.c | |
parent | e064752dd476b7a2f76567f8cc15f9c2645e5d3d (diff) |
auth: release dp9ik implementation and reentrant factotum
Diffstat (limited to 'sys/src/libauthsrv/convM2TR.c')
-rw-r--r-- | sys/src/libauthsrv/convM2TR.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/sys/src/libauthsrv/convM2TR.c b/sys/src/libauthsrv/convM2TR.c index d6491705b..79749873c 100644 --- a/sys/src/libauthsrv/convM2TR.c +++ b/sys/src/libauthsrv/convM2TR.c @@ -2,12 +2,6 @@ #include <libc.h> #include <authsrv.h> -#define CHAR(x) f->x = *p++ -#define SHORT(x) f->x = (p[0] | (p[1]<<8)); p += 2 -#define VLONG(q) q = (p[0] | (p[1]<<8) | (p[2]<<16) | (p[3]<<24)); p += 4 -#define LONG(x) VLONG(f->x) -#define STRING(x,n) memmove(f->x, p, n); p += n - int convM2TR(char *ap, int n, Ticketreq *f) { @@ -18,16 +12,18 @@ convM2TR(char *ap, int n, Ticketreq *f) return -TICKREQLEN; p = (uchar*)ap; - CHAR(type); - STRING(authid, ANAMELEN); + f->type = *p++; + memmove(f->authid, p, ANAMELEN), p += ANAMELEN; + memmove(f->authdom, p, DOMLEN), p += DOMLEN; + memmove(f->chal, p, CHALLEN), p += CHALLEN; + memmove(f->hostid, p, ANAMELEN), p += ANAMELEN; + memmove(f->uid, p, ANAMELEN), p += ANAMELEN; + f->authid[ANAMELEN-1] = 0; - STRING(authdom, DOMLEN); f->authdom[DOMLEN-1] = 0; - STRING(chal, CHALLEN); - STRING(hostid, ANAMELEN); f->hostid[ANAMELEN-1] = 0; - STRING(uid, ANAMELEN); f->uid[ANAMELEN-1] = 0; n = p - (uchar*)ap; + return n; } |