1511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall/* 2511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * Copyright (c) 1999 - 2003 3511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * NetGroup, Politecnico di Torino (Italy) 4511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * All rights reserved. 5511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * 6511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * Redistribution and use in source and binary forms, with or without 7511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * modification, are permitted provided that the following conditions 8511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * are met: 9511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * 10511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * 1. Redistributions of source code must retain the above copyright 11511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * notice, this list of conditions and the following disclaimer. 12511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * 2. Redistributions in binary form must reproduce the above copyright 13511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * notice, this list of conditions and the following disclaimer in the 14511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * documentation and/or other materials provided with the distribution. 15511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * 3. Neither the name of the Politecnico di Torino nor the names of its 16511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * contributors may be used to endorse or promote products derived from 17511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * this software without specific prior written permission. 18511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * 19511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * 31511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall */ 32511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall 33511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#include <sys/types.h> 34511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#include <string.h> 35511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#include <stdlib.h> 36511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#include <ctype.h> 37511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#include <net/netdb.h> 38511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#include <stdio.h> 39511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#include <errno.h> 40511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#include <arpa/nameser.h> 41511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall 42511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void _sethtent(int f); 43511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void _endhtent(void); 44511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern struct hostent *_gethtent(void); 45511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern struct hostent *_gethtbyname(const char *name); 46511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern struct hostent *_gethtbyaddr(const char *addr, int len, 47511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall int type); 48511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern int _validuser(FILE *hostf, const char *rhost, 49511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall const char *luser, const char *ruser, int baselen); 50511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern int _checkhost(const char *rhost, const char *lhost, int len); 51511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#if 0 52511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void putlong(u_long l, u_char *msgp); 53511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void putshort(u_short l, u_char *msgp); 54511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern u_int32_t _getlong(register const u_char *msgp); 55511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern u_int16_t _getshort(register const u_char *msgp); 56511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void p_query(char *msg); 57511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void fp_query(char *msg, FILE *file); 58511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern char *p_cdname(char *cp, char *msg, FILE *file); 59511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern char *p_rr(char *cp, char *msg, FILE *file); 60511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern char *p_type(int type); 61511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern char * p_class(int class); 62511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern char *p_time(u_long value); 63511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif 64511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern char * hostalias(const char *name); 65511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void sethostfile(char *name); 66511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void _res_close (void); 67511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallextern void ruserpass(const char *host, char **aname, char **apass); 68