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