2017-11-11 10:51:08 +00:00
|
|
|
|
/* Domain name processing functions.
|
2019-01-01 00:11:28 +00:00
|
|
|
|
Copyright (C) 1995-2019 Free Software Foundation, Inc.
|
2017-11-11 10:51:08 +00:00
|
|
|
|
This file is part of the GNU C Library.
|
|
|
|
|
|
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
|
|
|
modify it under the terms of the GNU Lesser General Public
|
|
|
|
|
License as published by the Free Software Foundation; either
|
|
|
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
|
Lesser General Public License for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
|
|
|
License along with the GNU C Library; if not, see
|
|
|
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 1985, 1993
|
|
|
|
|
* The Regents of the University of California. All rights reserved.
|
2004-10-18 05:10:37 +00:00
|
|
|
|
*
|
1995-02-18 01:27:10 +00:00
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
|
* modification, are permitted provided that the following conditions
|
|
|
|
|
* are met:
|
|
|
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
|
|
|
* notice, this list of conditions and the following disclaimer.
|
|
|
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
|
|
|
* documentation and/or other materials provided with the distribution.
|
|
|
|
|
* 4. Neither the name of the University nor the names of its contributors
|
|
|
|
|
* may be used to endorse or promote products derived from this software
|
|
|
|
|
* without specific prior written permission.
|
2004-10-18 05:10:37 +00:00
|
|
|
|
*
|
1995-02-18 01:27:10 +00:00
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
|
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
|
* SUCH DAMAGE.
|
Update.
2000-07-18 Mark Kettenis <kettenis@gnu.org>
Update resolver code to BIND 8.2.3-T5B.
* resolv/Versions [GLIBC_2.2] (libc): Add __res_init and
__res_nclose.
[GLIBC_2.2] (libresolv): Add __dn_expand, __ns_samename,
__res_mkquery, __res_nsend, __res_query, __res_querydomain and
__res_search.
* resolv/Banner: BIND-8.2.3-T5B.
* resolv/base64.c: Update from BIND 8.2.3-T5B.
* resolv/herror.c: Likewise.
* resolv/inet_addr.c: Likewise.
* resolv/inet_net_ntop.c: Likewise.
* resolv/inet_net_pton.c: Likewise.
* resolv/inet_neta.c: Likewise.
* resolv/inet_ntop.c: Likewise.
* resolv/nsap_addr.c: Likewise.
* resolv/inet_pton.c: Likewise. Reject a few more more invalid
IPv6 addresses (ISC bug #520).
* resolv/ns_name.c: Avoid emitting RCS ID in object file.
* resolv/ns_parse.c: Likewise.
* resolv/ns_netint.c: Likewise.
* resolv/ns_samedomain.c: Likewise.
* resolv/ns_ttl.c: Likewise.
* resolv/ns_print.c: Update from BIND 8.2.3-T5B. Avoid emitting
RCS ID in object file.
* resolv/res_debug.c: Update from BIND 8.2.3-T5B.
* resolv/res_mkquery.c: Likewise.
* resolv/res_query.c: Likewise.
* resolv/res_init.c: Likewise.
(res_setoptions): Mark internal.
* resolv/res_send.c: Likewise.
[_LIBC]: Fully reinstate the code that avoids the FD_SETSIZE limit
by using poll instead.
* resolv/res_comp.c: Likewise.
[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)]: Make dn_expand a
weak alias for __dn_expand.
* resolv/res_data.c: Likewise.
(res_close) [_LIBC]: Don't call res_nclose if RES_INIT isn't set
in _res.options. Avoids a potential security risk by avoiding a
close (0).
[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)]: Make
res_mkquery, res_query, res_querydomain adn res_search weak
aliases for __res_mkquery, __res_query, __res_querydomain and
__res_search.
* resolv/res_libc.c: (_res): Don't initialize. Fix res_close
instead to avoid close(0).
(res_init): Always use the static resolver context.
[SHLIB_COMPAT (libc, GLIBC_2.0, GLIBC_2_2)]: Make res_init a weak
alias for __res_init.
* resolv/resolv.h: Update from BIND 8.2.3-T5B. Move definition of
RES_SET_H_ERRNO and accompanying comment to...
* include/resolv.h: ... here.
* resolv/arpa/namser.h: Update from BIND 8.2.3-T5B.
* resolv/arpa/nameser_compat.h: Likewise.
2000-07-19 22:03:58 +00:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*
|
1995-02-18 01:27:10 +00:00
|
|
|
|
* Portions Copyright (c) 1993 by Digital Equipment Corporation.
|
2004-10-18 05:10:37 +00:00
|
|
|
|
*
|
1995-02-18 01:27:10 +00:00
|
|
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
|
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
|
|
|
* copyright notice and this permission notice appear in all copies, and that
|
|
|
|
|
* the name of Digital Equipment Corporation not be used in advertising or
|
|
|
|
|
* publicity pertaining to distribution of the document or software without
|
|
|
|
|
* specific, written prior permission.
|
2004-10-18 05:10:37 +00:00
|
|
|
|
*
|
1995-02-18 01:27:10 +00:00
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
|
|
|
|
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
|
|
|
|
|
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
|
|
|
|
|
* CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
|
|
|
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
|
|
|
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
|
|
|
|
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
|
|
|
|
* SOFTWARE.
|
1999-12-04 18:05:55 +00:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Portions Copyright (c) 1996-1999 by Internet Software Consortium.
|
|
|
|
|
*
|
|
|
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
|
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
|
|
|
* copyright notice and this permission notice appear in all copies.
|
|
|
|
|
*
|
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
|
|
|
|
|
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
|
|
|
|
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
|
|
|
|
|
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
|
|
|
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
|
|
|
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
|
|
|
|
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
|
|
|
|
* SOFTWARE.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
*/
|
|
|
|
|
|
Update.
Wed Aug 14 21:36:16 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtod.c (STRTOD): Correct assertion about size of
wint_t and wchar_t. Reported by David Mosberger-Tang.
Mon Aug 12 22:40:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-lookup.c (_dl_lookup_symbol): Remove fifth parameter
RELOC_ADDR and make NOPLT a set of flags. All callers
changed. Delete condition that checks for resolving to the
location being filled in. Add condition to skip the
executable's symbols if requested.
* elf/link.h: Change declaration of _dl_lookup_symbol
accordingly.
(DL_LOOKUP_NOEXEC, DL_LOOKUP_NOPLT): New definitions.
* elf/dl-reloc.c (RESOLVE): Remove second parameter and rename
NOPLT to FLAGS.
* elf/dl-runtime.c (RESOLVE): Likewise.
* elf/rtld.c (RESOLVE): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Pass
DL_LOOKUP_NOEXEC as second argument to the RESOLVE macro if
processing a copy reloc, DL_LOOKUP_NOPLT for a jump slot
reloc, zero otherwise.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_rel): Likewise.
Wed Aug 14 17:57:08 1996 Ulrich Drepper <drepper@cygnus.com>
* MakeTAGS: Clean up use of --omit-header and -n for xgettext.
* po/header.pot: Add empty line at end.
Sun Aug 11 13:45:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* MakeTAGS (all-pot): Remove $P/errlist.pot, all error messages
are now in $P/stdio-common.pot.
(XGETTEXTFLAGS-errlist.pot): Variable removed.
Mon Aug 12 19:25:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (do-ar, o-iterator-doit): Compute path to autolock
script at run time, not configure time.
* config.make.in, configure.in: Undo previous change.
Wed Aug 14 13:20:02 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/close.S: Push return value of thread
on stack as argument for `_exit'. Reported by Andreas Schwab.
Mon Aug 12 19:36:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/clone.S: New file.
Wed Aug 14 04:22:35 1996 Richard Henderson <rth@tamu.edu>
* elf/dl-load.c (_dl_map_object): Save name in malloced memory.
(_dl_map_object_from_fd): Free name on error.
Wed Aug 14 13:00:09 1996 Ulrich Drepper <drepper@cygnus.com>
* string/strdup.c: Use result of memcpy to avoid reloading.
Tue Aug 13 00:55:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* shadow/sgetspent_r.c (__sgetspent_r): Copy string to buffer, not
the other way round.
* resolv/Makefile (libresolv-routines): Add base64, inet_net_ntop,
inet_net_pton, inet_net.
* resolv/arpa/nameser.h (__BIND): Update version number.
Mon Aug 12 19:03:22 1996 Thomas Bushnell n/BSG <thomas@psilocin.gnu.ai.mit.edu>
* sysdeps/generic/gnu/types.h: Declare __fd_mask as `unsigned long'.
* mach/Makefile (mach/mach_host.uh): Depend on
$(objpfx)/mach-syscalls.mk.
($(objpfx)mach-shortcuts.h): Depend on $(objpfx)mach/mach_host.h.
(This fixes a make loop; thanks to Marcus Daniels
<marcus@sysc.pdx.edu> for the patch.)
1996-08-14 21:45:21 +00:00
|
|
|
|
#include <sys/types.h>
|
1995-02-18 01:27:10 +00:00
|
|
|
|
#include <sys/param.h>
|
|
|
|
|
#include <netinet/in.h>
|
|
|
|
|
#include <arpa/nameser.h>
|
|
|
|
|
#include <ctype.h>
|
1998-05-29 10:21:16 +00:00
|
|
|
|
#include <resolv.h>
|
|
|
|
|
#include <stdio.h>
|
1999-12-04 18:05:55 +00:00
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <unistd.h>
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Expand compressed domain name 'comp_dn' to full domain name.
|
2013-08-29 07:08:54 +00:00
|
|
|
|
* 'msg' is a pointer to the beginning of the message,
|
1995-02-18 01:27:10 +00:00
|
|
|
|
* 'eomorig' points to the first location after the message,
|
|
|
|
|
* 'exp_dn' is a pointer to a buffer of size 'length' for the result.
|
|
|
|
|
* Return size of compressed name or -1 if there was an error.
|
|
|
|
|
*/
|
|
|
|
|
int
|
1999-12-04 18:05:55 +00:00
|
|
|
|
dn_expand(const u_char *msg, const u_char *eom, const u_char *src,
|
|
|
|
|
char *dst, int dstsiz)
|
1995-02-18 01:27:10 +00:00
|
|
|
|
{
|
1998-05-29 10:21:16 +00:00
|
|
|
|
int n = ns_name_uncompress(msg, eom, src, dst, (size_t)dstsiz);
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
1998-05-29 10:21:16 +00:00
|
|
|
|
if (n > 0 && dst[0] == '.')
|
|
|
|
|
dst[0] = '\0';
|
|
|
|
|
return (n);
|
1995-02-18 01:27:10 +00:00
|
|
|
|
}
|
2004-10-18 05:10:37 +00:00
|
|
|
|
libresolv_hidden_def (dn_expand)
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
|
|
/*
|
1998-05-29 10:21:16 +00:00
|
|
|
|
* Pack domain name 'exp_dn' in presentation form into 'comp_dn'.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
* Return the size of the compressed name or -1.
|
|
|
|
|
* 'length' is the size of the array pointed to by 'comp_dn'.
|
|
|
|
|
*/
|
|
|
|
|
int
|
1999-12-04 18:05:55 +00:00
|
|
|
|
dn_comp(const char *src, u_char *dst, int dstsiz,
|
|
|
|
|
u_char **dnptrs, u_char **lastdnptr)
|
1995-02-18 01:27:10 +00:00
|
|
|
|
{
|
1998-05-29 10:21:16 +00:00
|
|
|
|
return (ns_name_compress(src, dst, (size_t)dstsiz,
|
|
|
|
|
(const u_char **)dnptrs,
|
|
|
|
|
(const u_char **)lastdnptr));
|
1995-02-18 01:27:10 +00:00
|
|
|
|
}
|
2004-10-18 05:10:37 +00:00
|
|
|
|
libresolv_hidden_def (dn_comp)
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Skip over a compressed domain name. Return the size or -1.
|
|
|
|
|
*/
|
|
|
|
|
int
|
1999-12-04 18:05:55 +00:00
|
|
|
|
dn_skipname(const u_char *ptr, const u_char *eom) {
|
1998-05-29 10:21:16 +00:00
|
|
|
|
const u_char *saveptr = ptr;
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
1998-05-29 10:21:16 +00:00
|
|
|
|
if (ns_name_skip(&ptr, eom) == -1)
|
|
|
|
|
return (-1);
|
|
|
|
|
return (ptr - saveptr);
|
1995-02-18 01:27:10 +00:00
|
|
|
|
}
|
2004-10-18 05:10:37 +00:00
|
|
|
|
libresolv_hidden_def (dn_skipname)
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
2017-11-11 10:51:08 +00:00
|
|
|
|
/* Return true if the string consists of printable ASCII characters
|
|
|
|
|
only. */
|
|
|
|
|
static bool
|
|
|
|
|
printable_string (const char *dn)
|
|
|
|
|
{
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
|
char ch = *dn;
|
|
|
|
|
if (ch == '\0')
|
|
|
|
|
return true;
|
|
|
|
|
if (ch <= ' ' || ch > '~')
|
|
|
|
|
return false;
|
|
|
|
|
++dn;
|
|
|
|
|
}
|
|
|
|
|
}
|
1996-05-09 15:59:18 +00:00
|
|
|
|
|
2017-11-11 10:51:08 +00:00
|
|
|
|
/* Return true if DN points to a name consisting only of [0-9a-zA-Z_-]
|
|
|
|
|
characters. DN must be in DNS wire format, without
|
|
|
|
|
compression. */
|
|
|
|
|
static bool
|
|
|
|
|
binary_hnok (const unsigned char *dn)
|
|
|
|
|
{
|
|
|
|
|
while (true)
|
|
|
|
|
{
|
|
|
|
|
size_t label_length = *dn;
|
|
|
|
|
if (label_length == 0)
|
|
|
|
|
break;
|
|
|
|
|
++dn;
|
|
|
|
|
const unsigned char *label_end = dn + label_length;
|
|
|
|
|
do
|
|
|
|
|
{
|
|
|
|
|
unsigned char ch = *dn;
|
|
|
|
|
if (!(('0' <= ch && ch <= '9')
|
|
|
|
|
|| ('A' <= ch && ch <= 'Z')
|
|
|
|
|
|| ('a' <= ch && ch <= 'z')
|
|
|
|
|
|| ch == '-' || ch == '_'))
|
|
|
|
|
return false;
|
|
|
|
|
++dn;
|
|
|
|
|
}
|
|
|
|
|
while (dn < label_end);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Return true if the binary domain name has a first labels which
|
|
|
|
|
starts with '-'. */
|
|
|
|
|
static inline bool
|
|
|
|
|
binary_leading_dash (const unsigned char *dn)
|
|
|
|
|
{
|
|
|
|
|
return dn[0] > 0 && dn[1] == '-';
|
|
|
|
|
}
|
1996-05-09 15:59:18 +00:00
|
|
|
|
|
2017-11-11 10:51:08 +00:00
|
|
|
|
/* Return 1 if res_hnok is a valid host name. Labels must only
|
|
|
|
|
contain [0-9a-zA-Z_-] characters, and the name must not start with
|
|
|
|
|
a '-'. The latter is to avoid confusion with program options. */
|
1996-05-09 15:59:18 +00:00
|
|
|
|
int
|
2017-11-11 10:51:08 +00:00
|
|
|
|
res_hnok (const char *dn)
|
|
|
|
|
{
|
|
|
|
|
unsigned char buf[NS_MAXCDNAME];
|
|
|
|
|
if (!printable_string (dn)
|
|
|
|
|
|| ns_name_pton (dn, buf, sizeof (buf)) < 0
|
|
|
|
|
|| binary_leading_dash (buf))
|
|
|
|
|
return 0;
|
|
|
|
|
return binary_hnok (buf);
|
1996-05-09 15:59:18 +00:00
|
|
|
|
}
|
2004-10-18 05:10:37 +00:00
|
|
|
|
libresolv_hidden_def (res_hnok)
|
1996-05-09 15:59:18 +00:00
|
|
|
|
|
2017-11-11 10:51:08 +00:00
|
|
|
|
/* Hostname-like (A, MX, WKS) owners can have "*" as their first label
|
|
|
|
|
but must otherwise be as a host name. */
|
Wed May 22 22:10:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/canonicalize.c: New file.
* stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
* stdlib/Makefile (routines): Add canonicalize.
* posix/unistd.h: Declare __canonicalize_directory_name_internal.
Thu May 23 00:01:10 1996 Ulrich Drepper <drepper@cygnus.com>
* db/recno/rec_seq.c: Prevent `sccsid' definition by using the
same #if condition as in the other db files.
* intl/Makefile: Add -Wno-unused CFLAGS for compilation of
bindtextdom.c, finddomain.c, and localealias.c.
* intl/dcgettext.c: Don't define prototype for getcwd() when
compiling in glibc.
* libio/cleanup.c: Add prototype for _IO_register_cleanup.
* libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
define _POSIX_SOURCE unconditionally.
* libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
compiling in glibc.
* libio/fileops.c (_IO_file_close_it): Don't sync file, call
flush instead. This relaxes the rules from POSIX.1 about
changing the active handle a bit.
* libio/iofopncook.c (struct _IO_cookie_file): Move definition
into <libio.h>.
Add prototypes for local functions to prevent warnings.
* libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
_IO_DUP2 to contain complete parameter list.
* libio/libio.h: Add definition of struct _IO_cookie_file.
* libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
and _IO_vsnprintf.
* libio/memstream.c: Include <stdio.h>.
* libio/stdio.h: Add prototypes for fopencookie,
__stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.
* libio/strops.c: Avoid useless expression in `for' initializer.
* locale/findlocale.c: Add some casts to prevent warnings.
* locale/programs/locfile.c (write_locale_data): Don't use
double `/' in locale binary file.
* posix/unistd.h: Remove prototype for `reboot'.
Update from bind-4.9.4-T1A.
* resolv/Makefile (routines): Add inet_ntop and inet_pton.
* resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
* resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
resolv/res_debug.c, resolv/res_init.c
* resolv/inet_ntop.c, resolv/inet_pton.c: New files.
* resolv/resolv.h: Add RES_USE_INET6 flag.
(__dn_isvalid): Renamed to __res_dnok.
Add prototypes for __res_ownok and __res_mailok.
* stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.
* stdio-common/getline.c, stdio-common/vfscanf.c,
sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.
* sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
(sysdep_routines): Add s_reboot.
(install-others): Add $(includedir)/sys/syscall.h.
New rule for $(includedir)/sys/syscall.h to produce from
<asm/unistd.h>.
* sysdeps/unix/sysv/linux/reboot.c: New file. Make single
argument function call 3 argument system call.
* sysdeps/unix/sysv/linux/sys/reboot.h: New file. Linux specific
definition for reboot function.
* sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
comment.
* sysdeps/unix/sysv/linux/syscalls.list: Rename function for
reboot syscall to __syscall_reboot.
* wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
__USE_GNU, not USE_GNU.
Tue May 21 21:55:49 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* locale/programs/charset.c, locale/programs/ld-collate.c:
Add casts to prevent warnings on 64-bit machines.
* locale/programs/ld-monetary.c: Don't do unnecessary tests for
int_frac_digits and frac_digits which only produce warnings.
Mon May 13 23:45:29 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* inet/arpa/inet.h: Backup return type of inet_addr to u_long.
* resolv/inet_addr.c: Likewise.
* resolv/Makefile (distribute): Add res_hconf.h
(routines): Add res_hconf.
* resolv/gethnamaddr.c: Add support for /etc/host.conf.
* resolv/res_init.c: Initialize /etc/host.conf reader.
* resolv/res_hconf.c, resolv/res_hconf.h: New files.
Implementation of reading /etc/host.conf.
Wed May 22 21:21:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Rules (%.out rules): Prepend $($*-ENV) to the command.
* sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
alias for __curbrk.
Wed May 22 19:37:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
* hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.
Wed May 22 18:47:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): New function, broken out
of __getcwd.
(__getcwd): Use it.
(__canonicalize_directory_name_internal): New function using it.
* sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
function, broken out of __getcwd.
(__getcwd): Use it.
Wed May 22 18:14:05 1996 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz-create.c (__argz_create): Correctly calculate length.
* string/argz-extract.c (__argz_extract): Add terminating 0 entry.
* hurd/hurdstartup.c (_hurd_startup): ... and don't so here.
[HAVE_VMSDIR_H]: Include "vmsdir.h".
(glob) [VMS]: Don't grok ~.
1996-05-23 03:15:42 +00:00
|
|
|
|
int
|
2017-11-11 10:51:08 +00:00
|
|
|
|
res_ownok (const char *dn)
|
|
|
|
|
{
|
|
|
|
|
unsigned char buf[NS_MAXCDNAME];
|
|
|
|
|
if (!printable_string (dn)
|
|
|
|
|
|| ns_name_pton (dn, buf, sizeof (buf)) < 0
|
|
|
|
|
|| binary_leading_dash (buf))
|
|
|
|
|
return 0;
|
|
|
|
|
if (buf[0] == 1 && buf [1] == '*')
|
|
|
|
|
/* Skip over the leading "*." part. */
|
|
|
|
|
return binary_hnok (buf + 2);
|
|
|
|
|
else
|
|
|
|
|
return binary_hnok (buf);
|
Wed May 22 22:10:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/canonicalize.c: New file.
* stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
* stdlib/Makefile (routines): Add canonicalize.
* posix/unistd.h: Declare __canonicalize_directory_name_internal.
Thu May 23 00:01:10 1996 Ulrich Drepper <drepper@cygnus.com>
* db/recno/rec_seq.c: Prevent `sccsid' definition by using the
same #if condition as in the other db files.
* intl/Makefile: Add -Wno-unused CFLAGS for compilation of
bindtextdom.c, finddomain.c, and localealias.c.
* intl/dcgettext.c: Don't define prototype for getcwd() when
compiling in glibc.
* libio/cleanup.c: Add prototype for _IO_register_cleanup.
* libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
define _POSIX_SOURCE unconditionally.
* libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
compiling in glibc.
* libio/fileops.c (_IO_file_close_it): Don't sync file, call
flush instead. This relaxes the rules from POSIX.1 about
changing the active handle a bit.
* libio/iofopncook.c (struct _IO_cookie_file): Move definition
into <libio.h>.
Add prototypes for local functions to prevent warnings.
* libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
_IO_DUP2 to contain complete parameter list.
* libio/libio.h: Add definition of struct _IO_cookie_file.
* libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
and _IO_vsnprintf.
* libio/memstream.c: Include <stdio.h>.
* libio/stdio.h: Add prototypes for fopencookie,
__stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.
* libio/strops.c: Avoid useless expression in `for' initializer.
* locale/findlocale.c: Add some casts to prevent warnings.
* locale/programs/locfile.c (write_locale_data): Don't use
double `/' in locale binary file.
* posix/unistd.h: Remove prototype for `reboot'.
Update from bind-4.9.4-T1A.
* resolv/Makefile (routines): Add inet_ntop and inet_pton.
* resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
* resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
resolv/res_debug.c, resolv/res_init.c
* resolv/inet_ntop.c, resolv/inet_pton.c: New files.
* resolv/resolv.h: Add RES_USE_INET6 flag.
(__dn_isvalid): Renamed to __res_dnok.
Add prototypes for __res_ownok and __res_mailok.
* stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.
* stdio-common/getline.c, stdio-common/vfscanf.c,
sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.
* sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
(sysdep_routines): Add s_reboot.
(install-others): Add $(includedir)/sys/syscall.h.
New rule for $(includedir)/sys/syscall.h to produce from
<asm/unistd.h>.
* sysdeps/unix/sysv/linux/reboot.c: New file. Make single
argument function call 3 argument system call.
* sysdeps/unix/sysv/linux/sys/reboot.h: New file. Linux specific
definition for reboot function.
* sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
comment.
* sysdeps/unix/sysv/linux/syscalls.list: Rename function for
reboot syscall to __syscall_reboot.
* wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
__USE_GNU, not USE_GNU.
Tue May 21 21:55:49 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* locale/programs/charset.c, locale/programs/ld-collate.c:
Add casts to prevent warnings on 64-bit machines.
* locale/programs/ld-monetary.c: Don't do unnecessary tests for
int_frac_digits and frac_digits which only produce warnings.
Mon May 13 23:45:29 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* inet/arpa/inet.h: Backup return type of inet_addr to u_long.
* resolv/inet_addr.c: Likewise.
* resolv/Makefile (distribute): Add res_hconf.h
(routines): Add res_hconf.
* resolv/gethnamaddr.c: Add support for /etc/host.conf.
* resolv/res_init.c: Initialize /etc/host.conf reader.
* resolv/res_hconf.c, resolv/res_hconf.h: New files.
Implementation of reading /etc/host.conf.
Wed May 22 21:21:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Rules (%.out rules): Prepend $($*-ENV) to the command.
* sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
alias for __curbrk.
Wed May 22 19:37:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
* hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.
Wed May 22 18:47:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): New function, broken out
of __getcwd.
(__getcwd): Use it.
(__canonicalize_directory_name_internal): New function using it.
* sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
function, broken out of __getcwd.
(__getcwd): Use it.
Wed May 22 18:14:05 1996 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz-create.c (__argz_create): Correctly calculate length.
* string/argz-extract.c (__argz_extract): Add terminating 0 entry.
* hurd/hurdstartup.c (_hurd_startup): ... and don't so here.
[HAVE_VMSDIR_H]: Include "vmsdir.h".
(glob) [VMS]: Don't grok ~.
1996-05-23 03:15:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
2017-11-11 10:51:08 +00:00
|
|
|
|
/* SOA RNAMEs and RP RNAMEs can have any byte in their first label,
|
|
|
|
|
but the rest of the name has to look like a host name. */
|
Wed May 22 22:10:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/canonicalize.c: New file.
* stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
* stdlib/Makefile (routines): Add canonicalize.
* posix/unistd.h: Declare __canonicalize_directory_name_internal.
Thu May 23 00:01:10 1996 Ulrich Drepper <drepper@cygnus.com>
* db/recno/rec_seq.c: Prevent `sccsid' definition by using the
same #if condition as in the other db files.
* intl/Makefile: Add -Wno-unused CFLAGS for compilation of
bindtextdom.c, finddomain.c, and localealias.c.
* intl/dcgettext.c: Don't define prototype for getcwd() when
compiling in glibc.
* libio/cleanup.c: Add prototype for _IO_register_cleanup.
* libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
define _POSIX_SOURCE unconditionally.
* libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
compiling in glibc.
* libio/fileops.c (_IO_file_close_it): Don't sync file, call
flush instead. This relaxes the rules from POSIX.1 about
changing the active handle a bit.
* libio/iofopncook.c (struct _IO_cookie_file): Move definition
into <libio.h>.
Add prototypes for local functions to prevent warnings.
* libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
_IO_DUP2 to contain complete parameter list.
* libio/libio.h: Add definition of struct _IO_cookie_file.
* libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
and _IO_vsnprintf.
* libio/memstream.c: Include <stdio.h>.
* libio/stdio.h: Add prototypes for fopencookie,
__stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.
* libio/strops.c: Avoid useless expression in `for' initializer.
* locale/findlocale.c: Add some casts to prevent warnings.
* locale/programs/locfile.c (write_locale_data): Don't use
double `/' in locale binary file.
* posix/unistd.h: Remove prototype for `reboot'.
Update from bind-4.9.4-T1A.
* resolv/Makefile (routines): Add inet_ntop and inet_pton.
* resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
* resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
resolv/res_debug.c, resolv/res_init.c
* resolv/inet_ntop.c, resolv/inet_pton.c: New files.
* resolv/resolv.h: Add RES_USE_INET6 flag.
(__dn_isvalid): Renamed to __res_dnok.
Add prototypes for __res_ownok and __res_mailok.
* stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.
* stdio-common/getline.c, stdio-common/vfscanf.c,
sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.
* sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
(sysdep_routines): Add s_reboot.
(install-others): Add $(includedir)/sys/syscall.h.
New rule for $(includedir)/sys/syscall.h to produce from
<asm/unistd.h>.
* sysdeps/unix/sysv/linux/reboot.c: New file. Make single
argument function call 3 argument system call.
* sysdeps/unix/sysv/linux/sys/reboot.h: New file. Linux specific
definition for reboot function.
* sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
comment.
* sysdeps/unix/sysv/linux/syscalls.list: Rename function for
reboot syscall to __syscall_reboot.
* wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
__USE_GNU, not USE_GNU.
Tue May 21 21:55:49 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* locale/programs/charset.c, locale/programs/ld-collate.c:
Add casts to prevent warnings on 64-bit machines.
* locale/programs/ld-monetary.c: Don't do unnecessary tests for
int_frac_digits and frac_digits which only produce warnings.
Mon May 13 23:45:29 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* inet/arpa/inet.h: Backup return type of inet_addr to u_long.
* resolv/inet_addr.c: Likewise.
* resolv/Makefile (distribute): Add res_hconf.h
(routines): Add res_hconf.
* resolv/gethnamaddr.c: Add support for /etc/host.conf.
* resolv/res_init.c: Initialize /etc/host.conf reader.
* resolv/res_hconf.c, resolv/res_hconf.h: New files.
Implementation of reading /etc/host.conf.
Wed May 22 21:21:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Rules (%.out rules): Prepend $($*-ENV) to the command.
* sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
alias for __curbrk.
Wed May 22 19:37:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
* hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.
Wed May 22 18:47:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): New function, broken out
of __getcwd.
(__getcwd): Use it.
(__canonicalize_directory_name_internal): New function using it.
* sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
function, broken out of __getcwd.
(__getcwd): Use it.
Wed May 22 18:14:05 1996 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz-create.c (__argz_create): Correctly calculate length.
* string/argz-extract.c (__argz_extract): Add terminating 0 entry.
* hurd/hurdstartup.c (_hurd_startup): ... and don't so here.
[HAVE_VMSDIR_H]: Include "vmsdir.h".
(glob) [VMS]: Don't grok ~.
1996-05-23 03:15:42 +00:00
|
|
|
|
int
|
2017-11-11 10:51:08 +00:00
|
|
|
|
res_mailok (const char *dn)
|
|
|
|
|
{
|
|
|
|
|
unsigned char buf[NS_MAXCDNAME];
|
|
|
|
|
if (!printable_string (dn)
|
|
|
|
|
|| ns_name_pton (dn, buf, sizeof (buf)) < 0)
|
|
|
|
|
return 0;
|
|
|
|
|
unsigned char label_length = buf[0];
|
|
|
|
|
/* "." is a valid missing representation */
|
|
|
|
|
if (label_length == 0)
|
|
|
|
|
return 1;
|
|
|
|
|
/* Skip over the first label. */
|
|
|
|
|
unsigned char *tail = buf + 1 + label_length;
|
|
|
|
|
if (*tail == 0)
|
|
|
|
|
/* More than one label is required (except for "."). */
|
|
|
|
|
return 0;
|
|
|
|
|
return binary_hnok (tail);
|
Wed May 22 22:10:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/canonicalize.c: New file.
* stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
* stdlib/Makefile (routines): Add canonicalize.
* posix/unistd.h: Declare __canonicalize_directory_name_internal.
Thu May 23 00:01:10 1996 Ulrich Drepper <drepper@cygnus.com>
* db/recno/rec_seq.c: Prevent `sccsid' definition by using the
same #if condition as in the other db files.
* intl/Makefile: Add -Wno-unused CFLAGS for compilation of
bindtextdom.c, finddomain.c, and localealias.c.
* intl/dcgettext.c: Don't define prototype for getcwd() when
compiling in glibc.
* libio/cleanup.c: Add prototype for _IO_register_cleanup.
* libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
define _POSIX_SOURCE unconditionally.
* libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
compiling in glibc.
* libio/fileops.c (_IO_file_close_it): Don't sync file, call
flush instead. This relaxes the rules from POSIX.1 about
changing the active handle a bit.
* libio/iofopncook.c (struct _IO_cookie_file): Move definition
into <libio.h>.
Add prototypes for local functions to prevent warnings.
* libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
_IO_DUP2 to contain complete parameter list.
* libio/libio.h: Add definition of struct _IO_cookie_file.
* libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
and _IO_vsnprintf.
* libio/memstream.c: Include <stdio.h>.
* libio/stdio.h: Add prototypes for fopencookie,
__stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.
* libio/strops.c: Avoid useless expression in `for' initializer.
* locale/findlocale.c: Add some casts to prevent warnings.
* locale/programs/locfile.c (write_locale_data): Don't use
double `/' in locale binary file.
* posix/unistd.h: Remove prototype for `reboot'.
Update from bind-4.9.4-T1A.
* resolv/Makefile (routines): Add inet_ntop and inet_pton.
* resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
* resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
resolv/res_debug.c, resolv/res_init.c
* resolv/inet_ntop.c, resolv/inet_pton.c: New files.
* resolv/resolv.h: Add RES_USE_INET6 flag.
(__dn_isvalid): Renamed to __res_dnok.
Add prototypes for __res_ownok and __res_mailok.
* stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.
* stdio-common/getline.c, stdio-common/vfscanf.c,
sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.
* sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
(sysdep_routines): Add s_reboot.
(install-others): Add $(includedir)/sys/syscall.h.
New rule for $(includedir)/sys/syscall.h to produce from
<asm/unistd.h>.
* sysdeps/unix/sysv/linux/reboot.c: New file. Make single
argument function call 3 argument system call.
* sysdeps/unix/sysv/linux/sys/reboot.h: New file. Linux specific
definition for reboot function.
* sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
comment.
* sysdeps/unix/sysv/linux/syscalls.list: Rename function for
reboot syscall to __syscall_reboot.
* wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
__USE_GNU, not USE_GNU.
Tue May 21 21:55:49 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* locale/programs/charset.c, locale/programs/ld-collate.c:
Add casts to prevent warnings on 64-bit machines.
* locale/programs/ld-monetary.c: Don't do unnecessary tests for
int_frac_digits and frac_digits which only produce warnings.
Mon May 13 23:45:29 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* inet/arpa/inet.h: Backup return type of inet_addr to u_long.
* resolv/inet_addr.c: Likewise.
* resolv/Makefile (distribute): Add res_hconf.h
(routines): Add res_hconf.
* resolv/gethnamaddr.c: Add support for /etc/host.conf.
* resolv/res_init.c: Initialize /etc/host.conf reader.
* resolv/res_hconf.c, resolv/res_hconf.h: New files.
Implementation of reading /etc/host.conf.
Wed May 22 21:21:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Rules (%.out rules): Prepend $($*-ENV) to the command.
* sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
alias for __curbrk.
Wed May 22 19:37:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
* hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.
Wed May 22 18:47:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): New function, broken out
of __getcwd.
(__getcwd): Use it.
(__canonicalize_directory_name_internal): New function using it.
* sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
function, broken out of __getcwd.
(__getcwd): Use it.
Wed May 22 18:14:05 1996 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz-create.c (__argz_create): Correctly calculate length.
* string/argz-extract.c (__argz_extract): Add terminating 0 entry.
* hurd/hurdstartup.c (_hurd_startup): ... and don't so here.
[HAVE_VMSDIR_H]: Include "vmsdir.h".
(glob) [VMS]: Don't grok ~.
1996-05-23 03:15:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
2017-11-11 10:51:08 +00:00
|
|
|
|
/* Return 1 if DN is a syntactically valid domain name. Empty names
|
|
|
|
|
are accepted. */
|
1996-05-09 15:59:18 +00:00
|
|
|
|
int
|
2017-11-11 10:51:08 +00:00
|
|
|
|
res_dnok (const char *dn)
|
|
|
|
|
{
|
|
|
|
|
unsigned char buf[NS_MAXCDNAME];
|
|
|
|
|
return printable_string (dn) && ns_name_pton (dn, buf, sizeof (buf)) >= 0;
|
1996-05-09 15:59:18 +00:00
|
|
|
|
}
|
2004-10-18 05:10:37 +00:00
|
|
|
|
libresolv_hidden_def (res_dnok)
|
1996-05-09 15:59:18 +00:00
|
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
|
/*
|
1999-12-04 18:05:55 +00:00
|
|
|
|
* This module must export the following externally-visible symbols:
|
|
|
|
|
* ___putlong
|
|
|
|
|
* ___putshort
|
|
|
|
|
* __getlong
|
|
|
|
|
* __getshort
|
|
|
|
|
* Note that one _ comes from C and the others come from us.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
*/
|
2017-08-07 19:55:34 +00:00
|
|
|
|
void __putlong(uint32_t src, u_char *dst) { ns_put32(src, dst); }
|
2004-10-18 05:10:37 +00:00
|
|
|
|
libresolv_hidden_def (__putlong)
|
2017-08-07 19:55:34 +00:00
|
|
|
|
void __putshort(uint16_t src, u_char *dst) { ns_put16(src, dst); }
|
2004-10-18 05:10:37 +00:00
|
|
|
|
libresolv_hidden_def (__putshort)
|
2017-08-07 19:55:34 +00:00
|
|
|
|
uint32_t _getlong(const u_char *src) { return (ns_get32(src)); }
|
|
|
|
|
uint16_t _getshort(const u_char *src) { return (ns_get16(src)); }
|
Update.
2000-07-18 Mark Kettenis <kettenis@gnu.org>
Update resolver code to BIND 8.2.3-T5B.
* resolv/Versions [GLIBC_2.2] (libc): Add __res_init and
__res_nclose.
[GLIBC_2.2] (libresolv): Add __dn_expand, __ns_samename,
__res_mkquery, __res_nsend, __res_query, __res_querydomain and
__res_search.
* resolv/Banner: BIND-8.2.3-T5B.
* resolv/base64.c: Update from BIND 8.2.3-T5B.
* resolv/herror.c: Likewise.
* resolv/inet_addr.c: Likewise.
* resolv/inet_net_ntop.c: Likewise.
* resolv/inet_net_pton.c: Likewise.
* resolv/inet_neta.c: Likewise.
* resolv/inet_ntop.c: Likewise.
* resolv/nsap_addr.c: Likewise.
* resolv/inet_pton.c: Likewise. Reject a few more more invalid
IPv6 addresses (ISC bug #520).
* resolv/ns_name.c: Avoid emitting RCS ID in object file.
* resolv/ns_parse.c: Likewise.
* resolv/ns_netint.c: Likewise.
* resolv/ns_samedomain.c: Likewise.
* resolv/ns_ttl.c: Likewise.
* resolv/ns_print.c: Update from BIND 8.2.3-T5B. Avoid emitting
RCS ID in object file.
* resolv/res_debug.c: Update from BIND 8.2.3-T5B.
* resolv/res_mkquery.c: Likewise.
* resolv/res_query.c: Likewise.
* resolv/res_init.c: Likewise.
(res_setoptions): Mark internal.
* resolv/res_send.c: Likewise.
[_LIBC]: Fully reinstate the code that avoids the FD_SETSIZE limit
by using poll instead.
* resolv/res_comp.c: Likewise.
[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)]: Make dn_expand a
weak alias for __dn_expand.
* resolv/res_data.c: Likewise.
(res_close) [_LIBC]: Don't call res_nclose if RES_INIT isn't set
in _res.options. Avoids a potential security risk by avoiding a
close (0).
[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)]: Make
res_mkquery, res_query, res_querydomain adn res_search weak
aliases for __res_mkquery, __res_query, __res_querydomain and
__res_search.
* resolv/res_libc.c: (_res): Don't initialize. Fix res_close
instead to avoid close(0).
(res_init): Always use the static resolver context.
[SHLIB_COMPAT (libc, GLIBC_2.0, GLIBC_2_2)]: Make res_init a weak
alias for __res_init.
* resolv/resolv.h: Update from BIND 8.2.3-T5B. Move definition of
RES_SET_H_ERRNO and accompanying comment to...
* include/resolv.h: ... here.
* resolv/arpa/namser.h: Update from BIND 8.2.3-T5B.
* resolv/arpa/nameser_compat.h: Likewise.
2000-07-19 22:03:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <shlib-compat.h>
|
|
|
|
|
|
|
|
|
|
#if SHLIB_COMPAT(libresolv, GLIBC_2_0, GLIBC_2_2)
|
|
|
|
|
# undef dn_expand
|
|
|
|
|
weak_alias (__dn_expand, dn_expand);
|
|
|
|
|
#endif
|