home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / pppd / upap.h < prev   
Encoding:
C/C++ Source or Header  |  2006-06-29  |  3.8 KB  |  111 lines

  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. /*
  46.  * Packet header = Code, id, length.
  47.  */
  48. #define UPAP_HEADERLEN    4
  49.  
  50.  
  51. /*
  52.  * UPAP codes.
  53.  */
  54. #define UPAP_AUTHREQ    1    /* Authenticate-Request */
  55. #define UPAP_AUTHACK    2    /* Authenticate-Ack */
  56. #define UPAP_AUTHNAK    3    /* Authenticate-Nak */
  57.  
  58.  
  59. /*
  60.  * Each interface is described by upap structure.
  61.  */
  62. typedef struct upap_state {
  63.     int us_unit;        /* Interface unit number */
  64.     char *us_user;        /* User */
  65.     int us_userlen;        /* User length */
  66.     char *us_passwd;        /* Password */
  67.     int us_passwdlen;        /* Password length */
  68.     int us_clientstate;        /* Client state */
  69.     int us_serverstate;        /* Server state */
  70.     u_char us_id;        /* Current id */
  71.     int us_timeouttime;        /* Timeout (seconds) for auth-req retrans. */
  72.     int us_transmits;        /* Number of auth-reqs sent */
  73.     int us_maxtransmits;    /* Maximum number of auth-reqs to send */
  74.     int us_reqtimeout;        /* Time to wait for auth-req from peer */
  75. } upap_state;
  76.  
  77.  
  78. /*
  79.  * Client states.
  80.  */
  81. #define UPAPCS_INITIAL    0    /* Connection down */
  82. #define UPAPCS_CLOSED    1    /* Connection up, haven't requested auth */
  83. #define UPAPCS_PENDING    2    /* Connection down, have requested auth */
  84. #define UPAPCS_AUTHREQ    3    /* We've sent an Authenticate-Request */
  85. #define UPAPCS_OPEN    4    /* We've received an Ack */
  86. #define UPAPCS_BADAUTH    5    /* We've received a Nak */
  87.  
  88. /*
  89.  * Server states.
  90.  */
  91. #define UPAPSS_INITIAL    0    /* Connection down */
  92. #define UPAPSS_CLOSED    1    /* Connection up, haven't requested auth */
  93. #define UPAPSS_PENDING    2    /* Connection down, have requested auth */
  94. #define UPAPSS_LISTEN    3    /* Listening for an Authenticate */
  95. #define UPAPSS_OPEN    4    /* We've sent an Ack */
  96. #define UPAPSS_BADAUTH    5    /* We've sent a Nak */
  97.  
  98.  
  99. /*
  100.  * Timeouts.
  101.  */
  102. #define UPAP_DEFTIMEOUT    3    /* Timeout (seconds) for retransmitting req */
  103. #define UPAP_DEFREQTIME    30    /* Time to wait for auth-req from peer */
  104.  
  105. extern upap_state upap[];
  106.  
  107. void upap_authwithpeer __P((int, char *, char *));
  108. void upap_authpeer __P((int));
  109.  
  110. extern struct protent pap_protent;
  111.