1/* 2 * Written by Toshiharu OHNO (tony-o@iij.ad.jp) 3 * 4 * Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd. 5 * 6 * Redistribution and use in source and binary forms are permitted 7 * provided that the above copyright notice and this paragraph are 8 * duplicated in all such forms and that any documentation, 9 * advertising materials, and other materials related to such 10 * distribution and use acknowledge that the software was developed 11 * by the Internet Initiative Japan. The name of the 12 * IIJ may not be used to endorse or promote products derived 13 * from this software without specific prior written permission. 14 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 15 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 16 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 17 *
| 1/* 2 * Written by Toshiharu OHNO (tony-o@iij.ad.jp) 3 * 4 * Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd. 5 * 6 * Redistribution and use in source and binary forms are permitted 7 * provided that the above copyright notice and this paragraph are 8 * duplicated in all such forms and that any documentation, 9 * advertising materials, and other materials related to such 10 * distribution and use acknowledge that the software was developed 11 * by the Internet Initiative Japan. The name of the 12 * IIJ may not be used to endorse or promote products derived 13 * from this software without specific prior written permission. 14 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 15 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 16 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 17 *
|
18 * $Id: auth.h,v 1.13 1999/02/01 13:42:24 brian Exp $
| 18 * $Id: auth.h,v 1.14 1999/02/02 09:35:17 brian Exp $
|
19 * 20 * TODO: 21 */ 22 23struct physical; 24struct bundle;
| 19 * 20 * TODO: 21 */ 22 23struct physical; 24struct bundle;
|
| 25struct authinfo; 26typedef void (*auth_func)(struct authinfo *);
|
25 26struct authinfo {
| 27 28struct authinfo {
|
27 void (*ChallengeFunc)(struct authinfo *, int, struct physical *);
| 29 struct { 30 auth_func req; 31 auth_func success; 32 auth_func failure; 33 } fn; 34 struct { 35 struct fsmheader hdr; 36 char name[AUTHLEN]; 37 } in;
|
28 struct pppTimer authtimer; 29 int retry; 30 int id; 31 struct physical *physical; 32 struct { 33 u_int fsmretry; 34 } cfg; 35}; 36
| 38 struct pppTimer authtimer; 39 int retry; 40 int id; 41 struct physical *physical; 42 struct { 43 u_int fsmretry; 44 } cfg; 45}; 46
|
37extern const char *Auth2Nam(u_short);
| 47#define auth_Failure(a) (*a->fn.failure)(a); 48#define auth_Success(a) (*a->fn.success)(a);
|
38
| 49
|
39extern void auth_Init(struct authinfo *);
| 50extern const char *Auth2Nam(u_short); 51extern void auth_Init(struct authinfo *, struct physical *, 52 auth_func, auth_func, auth_func);
|
40extern void auth_StopTimer(struct authinfo *);
| 53extern void auth_StopTimer(struct authinfo *);
|
41extern void auth_StartChallenge(struct authinfo *, struct physical *, 42 void (*)(struct authinfo *, int, 43 struct physical *));
| 54extern void auth_StartReq(struct authinfo *);
|
44extern int auth_Validate(struct bundle *, const char *, const char *, 45 struct physical *); 46extern char *auth_GetSecret(struct bundle *, const char *, int, 47 struct physical *); 48extern int auth_SetPhoneList(const char *, char *, int); 49extern int auth_Select(struct bundle *, const char *);
| 55extern int auth_Validate(struct bundle *, const char *, const char *, 56 struct physical *); 57extern char *auth_GetSecret(struct bundle *, const char *, int, 58 struct physical *); 59extern int auth_SetPhoneList(const char *, char *, int); 60extern int auth_Select(struct bundle *, const char *);
|
| 61extern struct mbuf *auth_ReadHeader(struct authinfo *, struct mbuf *); 62extern struct mbuf *auth_ReadName(struct authinfo *, struct mbuf *, int);
|
| |