1 /* ========================================================================
2 * Copyright 1988-2006 University of Washington
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
11 * ========================================================================
15 * Program: BSI check password
17 * Author: Mark Crispin
18 * Networks and Distributed Computing
19 * Computing & Communications
20 * University of Washington
21 * Administration Building, AG-44
23 * Internet: MRC@CAC.Washington.EDU
26 * Last Edited: 30 August 2006
30 * Accepts: login passwd struct
34 * Returns: passwd struct if password validated, NIL otherwise
37 #include <login_cap.h>
39 struct passwd
*checkpw (struct passwd
*pw
,char *pass
,int argc
,char *argv
[])
41 char *s
,tmp
[MAILTMPLEN
];
43 /* make service name */
44 sprintf (tmp
,"auth-%s",(char *) mail_parameters (NIL
,GET_SERVICENAME
,NIL
));
45 /* validate password */
46 return ((lc
= login_getclass (pw
->pw_class
)) &&
47 (s
= login_getstyle (lc
,NIL
,tmp
)) &&
48 (auth_response (pw
->pw_name
,lc
->lc_class
,s
,"response",NIL
,"",pass
)