xref: /dflybsd-src/lib/libtelnet/auth-proto.h (revision 0f0f9bbde24983743d4bf075a2eb5053fe4690c2)
1068e7061SPeter Avalos /*-
2068e7061SPeter Avalos  * Copyright (c) 1991, 1993
3068e7061SPeter Avalos  *	The Regents of the University of California.  All rights reserved.
4068e7061SPeter Avalos  *
5068e7061SPeter Avalos  * Redistribution and use in source and binary forms, with or without
6068e7061SPeter Avalos  * modification, are permitted provided that the following conditions
7068e7061SPeter Avalos  * are met:
8068e7061SPeter Avalos  * 1. Redistributions of source code must retain the above copyright
9068e7061SPeter Avalos  *    notice, this list of conditions and the following disclaimer.
10068e7061SPeter Avalos  * 2. Redistributions in binary form must reproduce the above copyright
11068e7061SPeter Avalos  *    notice, this list of conditions and the following disclaimer in the
12068e7061SPeter Avalos  *    documentation and/or other materials provided with the distribution.
13*0f0f9bbdSzrj  * 3. Neither the name of the University nor the names of its contributors
14068e7061SPeter Avalos  *    may be used to endorse or promote products derived from this software
15068e7061SPeter Avalos  *    without specific prior written permission.
16068e7061SPeter Avalos  *
17068e7061SPeter Avalos  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18068e7061SPeter Avalos  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19068e7061SPeter Avalos  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20068e7061SPeter Avalos  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21068e7061SPeter Avalos  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22068e7061SPeter Avalos  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23068e7061SPeter Avalos  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24068e7061SPeter Avalos  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25068e7061SPeter Avalos  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26068e7061SPeter Avalos  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27068e7061SPeter Avalos  * SUCH DAMAGE.
28068e7061SPeter Avalos  *
29068e7061SPeter Avalos  *	@(#)auth-proto.h	8.1 (Berkeley) 6/4/93
30068e7061SPeter Avalos  * $FreeBSD: src/crypto/telnet/libtelnet/auth-proto.h,v 1.3.2.2 2002/04/13 10:59:07 markm Exp $
31068e7061SPeter Avalos  * $DragonFly: src/crypto/telnet/libtelnet/auth-proto.h,v 1.2 2003/06/17 04:24:37 dillon Exp $
32068e7061SPeter Avalos  */
33068e7061SPeter Avalos 
34068e7061SPeter Avalos /*
35068e7061SPeter Avalos  * Copyright (C) 1990 by the Massachusetts Institute of Technology
36068e7061SPeter Avalos  *
37068e7061SPeter Avalos  * Export of this software from the United States of America is assumed
38068e7061SPeter Avalos  * to require a specific license from the United States Government.
39068e7061SPeter Avalos  * It is the responsibility of any person or organization contemplating
40068e7061SPeter Avalos  * export to obtain such a license before exporting.
41068e7061SPeter Avalos  *
42068e7061SPeter Avalos  * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
43068e7061SPeter Avalos  * distribute this software and its documentation for any purpose and
44068e7061SPeter Avalos  * without fee is hereby granted, provided that the above copyright
45068e7061SPeter Avalos  * notice appear in all copies and that both that copyright notice and
46068e7061SPeter Avalos  * this permission notice appear in supporting documentation, and that
47068e7061SPeter Avalos  * the name of M.I.T. not be used in advertising or publicity pertaining
48068e7061SPeter Avalos  * to distribution of the software without specific, written prior
49068e7061SPeter Avalos  * permission.  M.I.T. makes no representations about the suitability of
50068e7061SPeter Avalos  * this software for any purpose.  It is provided "as is" without express
51068e7061SPeter Avalos  * or implied warranty.
52068e7061SPeter Avalos  */
53068e7061SPeter Avalos 
54068e7061SPeter Avalos #ifdef	AUTHENTICATION
55068e7061SPeter Avalos 
56068e7061SPeter Avalos Authenticator *findauthenticator(int, int);
57068e7061SPeter Avalos 
58068e7061SPeter Avalos void auth_init(const char *, int);
59068e7061SPeter Avalos int auth_cmd(int, char **);
60068e7061SPeter Avalos void auth_request(void);
61068e7061SPeter Avalos void auth_send(unsigned char *, int);
62068e7061SPeter Avalos void auth_send_retry(void);
63068e7061SPeter Avalos void auth_is(unsigned char *, int);
64068e7061SPeter Avalos void auth_reply(unsigned char *, int);
65068e7061SPeter Avalos void auth_finished(Authenticator *, int);
66068e7061SPeter Avalos int auth_wait(char *);
67068e7061SPeter Avalos void auth_disable_name(char *);
68068e7061SPeter Avalos void auth_gen_printsub(unsigned char *, int, unsigned char *, int);
69068e7061SPeter Avalos void auth_name(unsigned char *, int);
70068e7061SPeter Avalos void auth_printsub(unsigned char *, int, unsigned char *, int);
71068e7061SPeter Avalos int auth_sendname(unsigned char *, int);
72068e7061SPeter Avalos void auth_encrypt_user(char *);
73068e7061SPeter Avalos int auth_disable(char *);
74068e7061SPeter Avalos int auth_enable(char *);
75068e7061SPeter Avalos int auth_togdebug(int);
76068e7061SPeter Avalos int auth_status(void);
77068e7061SPeter Avalos 
78068e7061SPeter Avalos int getauthmask(char *, int *);
79068e7061SPeter Avalos 
80068e7061SPeter Avalos #ifdef	KRB4
81068e7061SPeter Avalos int kerberos4_init(Authenticator *, int);
82068e7061SPeter Avalos int kerberos4_send(Authenticator *);
83068e7061SPeter Avalos void kerberos4_is(Authenticator *, unsigned char *, int);
84068e7061SPeter Avalos void kerberos4_reply(Authenticator *, unsigned char *, int);
85068e7061SPeter Avalos int kerberos4_status(Authenticator *, char *, int);
86068e7061SPeter Avalos void kerberos4_printsub(unsigned char *, int, unsigned char *, int);
87068e7061SPeter Avalos #endif
88068e7061SPeter Avalos 
89068e7061SPeter Avalos #ifdef	KRB5
90068e7061SPeter Avalos int kerberos5_init(Authenticator *, int);
91068e7061SPeter Avalos int kerberos5_send_mutual(Authenticator *);
92068e7061SPeter Avalos int kerberos5_send_oneway(Authenticator *);
93068e7061SPeter Avalos void kerberos5_is(Authenticator *, unsigned char *, int);
94068e7061SPeter Avalos void kerberos5_reply(Authenticator *, unsigned char *, int);
95068e7061SPeter Avalos int kerberos5_status(Authenticator *, char *, int level);
96068e7061SPeter Avalos void kerberos5_printsub(unsigned char *, int, unsigned char *, int);
97068e7061SPeter Avalos #endif
98068e7061SPeter Avalos 
99068e7061SPeter Avalos #ifdef SRA
100068e7061SPeter Avalos int sra_init(Authenticator *, int);
101068e7061SPeter Avalos int sra_send(Authenticator *);
102068e7061SPeter Avalos void sra_is(Authenticator *, unsigned char *, int);
103068e7061SPeter Avalos void sra_reply(Authenticator *, unsigned char *, int);
104068e7061SPeter Avalos int sra_status(Authenticator *, char *, int);
105068e7061SPeter Avalos void sra_printsub(unsigned char *, int, unsigned char *, int);
106068e7061SPeter Avalos #endif
107068e7061SPeter Avalos 
108068e7061SPeter Avalos #endif
109