xref: /freebsd/contrib/telnet/libtelnet/misc.c (revision 8fa113e5fc65fe6abc757f0089f477a87ee4d185)
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