The Pedigree Project
0.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
modules
system
lwip
include
netif
ppp
upap.h
1
/*
2
* upap.h - User/Password Authentication Protocol definitions.
3
*
4
* Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
*
10
* 1. Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
12
*
13
* 2. Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in
15
* the documentation and/or other materials provided with the
16
* distribution.
17
*
18
* 3. The name "Carnegie Mellon University" must not be used to
19
* endorse or promote products derived from this software without
20
* prior written permission. For permission or any legal
21
* details, please contact
22
* Office of Technology Transfer
23
* Carnegie Mellon University
24
* 5000 Forbes Avenue
25
* Pittsburgh, PA 15213-3890
26
* (412) 268-4387, fax: (412) 268-7395
27
* tech-transfer@andrew.cmu.edu
28
*
29
* 4. Redistributions of any form whatsoever must retain the following
30
* acknowledgment:
31
* "This product includes software developed by Computing Services
32
* at Carnegie Mellon University (http://www.cmu.edu/computing/)."
33
*
34
* CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
35
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
36
* AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
37
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
38
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
39
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
40
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
41
*
42
* $Id: upap.h,v 1.8 2002/12/04 23:03:33 paulus Exp $
43
*/
44
45
#include "netif/ppp/ppp_opts.h"
46
#if PPP_SUPPORT && PAP_SUPPORT
/* don't build if not configured for use in lwipopts.h */
47
48
#ifndef UPAP_H
49
#define UPAP_H
50
51
#include "ppp.h"
52
53
/*
54
* Packet header = Code, id, length.
55
*/
56
#define UPAP_HEADERLEN 4
57
58
59
/*
60
* UPAP codes.
61
*/
62
#define UPAP_AUTHREQ 1
/* Authenticate-Request */
63
#define UPAP_AUTHACK 2
/* Authenticate-Ack */
64
#define UPAP_AUTHNAK 3
/* Authenticate-Nak */
65
66
67
/*
68
* Client states.
69
*/
70
#define UPAPCS_INITIAL 0
/* Connection down */
71
#define UPAPCS_CLOSED 1
/* Connection up, haven't requested auth */
72
#define UPAPCS_PENDING 2
/* Connection down, have requested auth */
73
#define UPAPCS_AUTHREQ 3
/* We've sent an Authenticate-Request */
74
#define UPAPCS_OPEN 4
/* We've received an Ack */
75
#define UPAPCS_BADAUTH 5
/* We've received a Nak */
76
77
/*
78
* Server states.
79
*/
80
#define UPAPSS_INITIAL 0
/* Connection down */
81
#define UPAPSS_CLOSED 1
/* Connection up, haven't requested auth */
82
#define UPAPSS_PENDING 2
/* Connection down, have requested auth */
83
#define UPAPSS_LISTEN 3
/* Listening for an Authenticate */
84
#define UPAPSS_OPEN 4
/* We've sent an Ack */
85
#define UPAPSS_BADAUTH 5
/* We've sent a Nak */
86
87
88
/*
89
* Timeouts.
90
*/
91
#if 0
/* moved to ppp_opts.h */
92
#define UPAP_DEFTIMEOUT 3
/* Timeout (seconds) for retransmitting req */
93
#define UPAP_DEFREQTIME 30
/* Time to wait for auth-req from peer */
94
#endif
/* moved to ppp_opts.h */
95
96
/*
97
* Each interface is described by upap structure.
98
*/
99
#if PAP_SUPPORT
100
typedef
struct
upap_state {
101
const
char
*us_user;
/* User */
102
u8_t us_userlen;
/* User length */
103
const
char
*us_passwd;
/* Password */
104
u8_t us_passwdlen;
/* Password length */
105
u8_t us_clientstate;
/* Client state */
106
#if PPP_SERVER
107
u8_t us_serverstate;
/* Server state */
108
#endif
/* PPP_SERVER */
109
u8_t us_id;
/* Current id */
110
u8_t us_transmits;
/* Number of auth-reqs sent */
111
} upap_state;
112
#endif
/* PAP_SUPPORT */
113
114
115
void
upap_authwithpeer(ppp_pcb *pcb,
const
char
*user,
const
char
*password);
116
#if PPP_SERVER
117
void
upap_authpeer(ppp_pcb *pcb);
118
#endif
/* PPP_SERVER */
119
120
extern
const
struct
protent pap_protent;
121
122
#endif
/* UPAP_H */
123
#endif
/* PPP_SUPPORT && PAP_SUPPORT */
Generated on Fri Jan 24 2020 06:49:08 for The Pedigree Project by
1.8.11