Hi guys, Brilliant! Didn't know about strcspn() myself.. Now i tested and confirmed to work (both with and without auth style). Let me know if there's anything i can help. BR, Dennis ^^ OpenBSD/Finland (alpha,x86) since ca 2000 ^^
On Sat, 14 Dec 2019 at 17:15, Todd C. Miller <[email protected]> wrote: > On Fri, 13 Dec 2019 22:37:31 +0200, Dennis Lindroos wrote: > > > If the user argument has the ":style" suffix attached to it then > > getpwnam(user) will return a NULL pointer. > > I tried just using strsep(3) to strip off the auth style and it works for > > me (this is probably not the safest bit of coding but i'm sure you figure > > out). > > I think this is a safer approach. > > - todd > > Index: usr.sbin/radiusd/radiusd_bsdauth.c > =================================================================== > RCS file: /cvs/src/usr.sbin/radiusd/radiusd_bsdauth.c,v > retrieving revision 1.13 > diff -u -p -u -r1.13 radiusd_bsdauth.c > --- usr.sbin/radiusd/radiusd_bsdauth.c 3 Dec 2019 17:45:02 -0000 > 1.13 > +++ usr.sbin/radiusd/radiusd_bsdauth.c 14 Dec 2019 15:14:29 -0000 > @@ -189,6 +189,7 @@ main(int argc, char *argv[]) > group = user + args->userlen; > group[args->grouplen - 1] = '\0'; > > + user[strcspn(user, ":")] = '\0'; > pw = getpwnam(user); > if (pw == NULL) > goto invalid; >
