181cb6ddcSMark Murray /*- 281cb6ddcSMark Murray * Copyright (c) 1991, 1993 381cb6ddcSMark Murray * The Regents of the University of California. All rights reserved. 481cb6ddcSMark Murray * 581cb6ddcSMark Murray * Redistribution and use in source and binary forms, with or without 681cb6ddcSMark Murray * modification, are permitted provided that the following conditions 781cb6ddcSMark Murray * are met: 881cb6ddcSMark Murray * 1. Redistributions of source code must retain the above copyright 981cb6ddcSMark Murray * notice, this list of conditions and the following disclaimer. 1081cb6ddcSMark Murray * 2. Redistributions in binary form must reproduce the above copyright 1181cb6ddcSMark Murray * notice, this list of conditions and the following disclaimer in the 1281cb6ddcSMark Murray * documentation and/or other materials provided with the distribution. 1381cb6ddcSMark Murray * 3. All advertising materials mentioning features or use of this software 1481cb6ddcSMark Murray * must display the following acknowledgement: 1581cb6ddcSMark Murray * This product includes software developed by the University of 1681cb6ddcSMark Murray * California, Berkeley and its contributors. 1781cb6ddcSMark Murray * 4. Neither the name of the University nor the names of its contributors 1881cb6ddcSMark Murray * may be used to endorse or promote products derived from this software 1981cb6ddcSMark Murray * without specific prior written permission. 2081cb6ddcSMark Murray * 2181cb6ddcSMark Murray * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2281cb6ddcSMark Murray * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2381cb6ddcSMark Murray * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2481cb6ddcSMark Murray * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2581cb6ddcSMark Murray * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2681cb6ddcSMark Murray * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2781cb6ddcSMark Murray * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2881cb6ddcSMark Murray * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2981cb6ddcSMark Murray * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3081cb6ddcSMark Murray * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3181cb6ddcSMark Murray * SUCH DAMAGE. 3281cb6ddcSMark Murray */ 3381cb6ddcSMark Murray 34f2ac7de9SMark Murray #include <sys/cdefs.h> 358fa113e5SMark Murray 36f2ac7de9SMark Murray __FBSDID("$FreeBSD$"); 37f2ac7de9SMark Murray 3881cb6ddcSMark Murray #ifndef lint 39ecece7e3SPeter Wemm #if 0 4004c426ccSMark Murray static const char sccsid[] = "@(#)misc.c 8.1 (Berkeley) 6/4/93"; 41ecece7e3SPeter Wemm #endif 4281cb6ddcSMark Murray #endif /* not lint */ 4381cb6ddcSMark Murray 4404c426ccSMark Murray #include <stdio.h> 4504c426ccSMark Murray #include <stdlib.h> 468fa113e5SMark Murray #include <string.h> 478fa113e5SMark Murray 4881cb6ddcSMark Murray #include "misc.h" 498fa113e5SMark Murray #ifdef AUTHENTICATION 5004c426ccSMark Murray #include "auth.h" 5121f083c0SMark Murray #endif 5221f083c0SMark Murray #ifdef ENCRYPTION 5304c426ccSMark Murray #include "encrypt.h" 5421f083c0SMark Murray #endif /* ENCRYPTION */ 5581cb6ddcSMark Murray 5681cb6ddcSMark Murray char *RemoteHostName; 5781cb6ddcSMark Murray char *LocalHostName; 5881cb6ddcSMark Murray char *UserNameRequested = 0; 5981cb6ddcSMark Murray int ConnectedCount = 0; 6081cb6ddcSMark Murray 618fa113e5SMark Murray #ifndef AUTHENTICATION 628fa113e5SMark Murray #define undef1 __unused 638fa113e5SMark Murray #else 648fa113e5SMark Murray #define undef1 658fa113e5SMark Murray #endif 668fa113e5SMark Murray 6781cb6ddcSMark Murray void 688fa113e5SMark Murray auth_encrypt_init(char *local, char *remote, const char *name undef1, int server undef1) 6981cb6ddcSMark Murray { 7081cb6ddcSMark Murray RemoteHostName = remote; 7181cb6ddcSMark Murray LocalHostName = local; 728fa113e5SMark Murray #ifdef AUTHENTICATION 7381cb6ddcSMark Murray auth_init(name, server); 7481cb6ddcSMark Murray #endif 7581cb6ddcSMark Murray #ifdef ENCRYPTION 7681cb6ddcSMark Murray encrypt_init(name, server); 7781cb6ddcSMark Murray #endif /* ENCRYPTION */ 7881cb6ddcSMark Murray if (UserNameRequested) { 7981cb6ddcSMark Murray free(UserNameRequested); 8081cb6ddcSMark Murray UserNameRequested = 0; 8181cb6ddcSMark Murray } 8281cb6ddcSMark Murray } 8381cb6ddcSMark Murray 848fa113e5SMark Murray #ifdef ENCRYPTION 8581cb6ddcSMark Murray void 868fa113e5SMark Murray auth_encrypt_user(char *name) 8781cb6ddcSMark Murray { 8881cb6ddcSMark Murray if (UserNameRequested) 8981cb6ddcSMark Murray free(UserNameRequested); 9081cb6ddcSMark Murray UserNameRequested = name ? strdup(name) : 0; 9181cb6ddcSMark Murray } 9281cb6ddcSMark Murray 9381cb6ddcSMark Murray void 948fa113e5SMark Murray auth_encrypt_connect(int cnt __unused) 9581cb6ddcSMark Murray { 9681cb6ddcSMark Murray } 978fa113e5SMark Murray #endif /* ENCRYPTION */ 9881cb6ddcSMark Murray 9981cb6ddcSMark Murray void 1008fa113e5SMark Murray printd(const unsigned char *data, int cnt) 10181cb6ddcSMark Murray { 10281cb6ddcSMark Murray if (cnt > 16) 10381cb6ddcSMark Murray cnt = 16; 10481cb6ddcSMark Murray while (cnt-- > 0) { 10581cb6ddcSMark Murray printf(" %02x", *data); 10681cb6ddcSMark Murray ++data; 10781cb6ddcSMark Murray } 10881cb6ddcSMark Murray } 109