157416Smarkm/*-
257416Smarkm * Copyright (c) 1991, 1993
357416Smarkm *	The Regents of the University of California.  All rights reserved.
457416Smarkm *
557416Smarkm * Redistribution and use in source and binary forms, with or without
657416Smarkm * modification, are permitted provided that the following conditions
757416Smarkm * are met:
857416Smarkm * 1. Redistributions of source code must retain the above copyright
957416Smarkm *    notice, this list of conditions and the following disclaimer.
1057416Smarkm * 2. Redistributions in binary form must reproduce the above copyright
1157416Smarkm *    notice, this list of conditions and the following disclaimer in the
1257416Smarkm *    documentation and/or other materials provided with the distribution.
1357416Smarkm * 3. All advertising materials mentioning features or use of this software
1457416Smarkm *    must display the following acknowledgement:
1557416Smarkm *	This product includes software developed by the University of
1657416Smarkm *	California, Berkeley and its contributors.
1757416Smarkm * 4. Neither the name of the University nor the names of its contributors
1857416Smarkm *    may be used to endorse or promote products derived from this software
1957416Smarkm *    without specific prior written permission.
2057416Smarkm *
2157416Smarkm * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2257416Smarkm * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2357416Smarkm * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2457416Smarkm * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2557416Smarkm * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2657416Smarkm * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2757416Smarkm * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2857416Smarkm * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2957416Smarkm * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3057416Smarkm * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3157416Smarkm * SUCH DAMAGE.
3257416Smarkm *
3357416Smarkm *	@(#)auth-proto.h	8.1 (Berkeley) 6/4/93
3457416Smarkm */
3557416Smarkm
3657416Smarkm/*
3757416Smarkm * Copyright (C) 1990 by the Massachusetts Institute of Technology
3857416Smarkm *
3957416Smarkm * Export of this software from the United States of America is assumed
4057416Smarkm * to require a specific license from the United States Government.
4157416Smarkm * It is the responsibility of any person or organization contemplating
4257416Smarkm * export to obtain such a license before exporting.
43233294Sstas *
4457416Smarkm * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
4557416Smarkm * distribute this software and its documentation for any purpose and
4657416Smarkm * without fee is hereby granted, provided that the above copyright
4757416Smarkm * notice appear in all copies and that both that copyright notice and
4857416Smarkm * this permission notice appear in supporting documentation, and that
4957416Smarkm * the name of M.I.T. not be used in advertising or publicity pertaining
5057416Smarkm * to distribution of the software without specific, written prior
5157416Smarkm * permission.  M.I.T. makes no representations about the suitability of
5257416Smarkm * this software for any purpose.  It is provided "as is" without express
5357416Smarkm * or implied warranty.
5457416Smarkm */
5557416Smarkm
56233294Sstas/* $Id$ */
5757416Smarkm
5857416Smarkm#ifdef AUTHENTICATION
5957416SmarkmAuthenticator *findauthenticator (int, int);
6057416Smarkm
6157416Smarkmint auth_wait (char *, size_t);
6257416Smarkmvoid auth_disable_name (char *);
6357416Smarkmvoid auth_finished (Authenticator *, int);
64233294Sstasvoid auth_gen_printsub (unsigned char *, size_t, unsigned char *, size_t);
6557416Smarkmvoid auth_init (const char *, int);
6657416Smarkmvoid auth_is (unsigned char *, int);
6757416Smarkmvoid auth_name(unsigned char*, int);
6857416Smarkmvoid auth_reply (unsigned char *, int);
6957416Smarkmvoid auth_request (void);
7057416Smarkmvoid auth_send (unsigned char *, int);
7157416Smarkmvoid auth_send_retry (void);
72233294Sstasvoid auth_printsub(unsigned char*, size_t, unsigned char*, size_t);
7357416Smarkmint getauthmask(char *type, int *maskp);
7457416Smarkmint auth_enable(char *type);
7557416Smarkmint auth_disable(char *type);
7657416Smarkmint auth_onoff(char *type, int on);
7757416Smarkmint auth_togdebug(int on);
7857416Smarkmint auth_status(void);
7957416Smarkmint auth_sendname(unsigned char *cp, int len);
8057416Smarkmvoid auth_debug(int mode);
8157416Smarkm
8257416Smarkm#ifdef UNSAFE
8357416Smarkmint unsafe_init (Authenticator *, int);
8457416Smarkmint unsafe_send (Authenticator *);
8557416Smarkmvoid unsafe_is (Authenticator *, unsigned char *, int);
8657416Smarkmvoid unsafe_reply (Authenticator *, unsigned char *, int);
8757416Smarkmint unsafe_status (Authenticator *, char *, int);
88233294Sstasvoid unsafe_printsub (unsigned char *, size_t, unsigned char *, size_t);
8957416Smarkm#endif
9057416Smarkm
9157416Smarkm#ifdef SRA
9257416Smarkmint sra_init (Authenticator *, int);
9357416Smarkmint sra_send (Authenticator *);
9457416Smarkmvoid sra_is (Authenticator *, unsigned char *, int);
9557416Smarkmvoid sra_reply (Authenticator *, unsigned char *, int);
9657416Smarkmint sra_status (Authenticator *, char *, int);
97233294Sstasvoid sra_printsub (unsigned char *, size_t, unsigned char *, size_t);
9857416Smarkm#endif
9957416Smarkm
10057416Smarkm#ifdef	KRB5
10157416Smarkmint kerberos5_init (Authenticator *, int);
10257416Smarkmint kerberos5_send_mutual (Authenticator *);
10357416Smarkmint kerberos5_send_oneway (Authenticator *);
10457416Smarkmvoid kerberos5_is (Authenticator *, unsigned char *, int);
10557416Smarkmvoid kerberos5_reply (Authenticator *, unsigned char *, int);
10657416Smarkmint kerberos5_status (Authenticator *, char *, size_t, int);
107233294Sstasvoid kerberos5_printsub (unsigned char *, size_t, unsigned char *, size_t);
108102644Snectarint kerberos5_set_forward(int);
109102644Snectarint kerberos5_set_forwardable(int);
11057416Smarkm#endif
11157416Smarkm#endif
112