1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

update from main archive 960921

Sun Sep 22 03:40:52 1996  Ulrich Drepper  <drepper@cygnus.com>

	* resolv/resolv.h: Update to bind-4.9.5-T4B.
	* resolv/base64.c: Likewise.
	* resolv/res_debug.c: Likewise.
	* resolv/res_query.c: Likewise.
	* resolv/gethnamaddr.c: Likewise.
	* nss/nss_dns/dns-host.c: Likewise.
	* resolv/res_comp.c: Likewise.
	* resolv/res_send.c: Likewise.
	* resolv/arpa/nameser.h: Likewise.  Attention: MAXDNAME is much
	higher now.

	* resolv/Banner: New file.
	* resolv/Makefile (distribute): Add Banner.

Sat Sep 21 19:15:24 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/stub/getsysstats.c: New file.
	* sysdeps/unix/sysv/linux/getsysstats.c: New file.

	* misc/Makefile (headers): Add sys/sysinfo.h.
	(routines): Add getsysstats.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir)==misc]
 	(sysdep_headers): Remove sys/sysinfo.h.
	* sysdeps/generic/sys/sysinfo.h: New file.
	* sysdeps/unix/sysv/linux/sys/sysinfo.h: Add prototype for get_nprocs,
	get_phys_pages, and get_avphys_pages.

	* misc/Makefile (routines): Add mntent_r.
	* misc/mntent_r.c: New file.
	* misc/mntent.c: Remove all functions but getmntent and use
	__getmntent_r.
	* misc/mntent.h: Add prototype for __getmntent_r.
	* misc/fstab.c: Use __getmntent_r function instead of getmntent.
	This will not clobber the state in getmntent.

	* sysdeps/generic/confname.h: Add _SC_PROCESSORS_CONF,
	_SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES,
	_SC_ATEXIT_MAX, and _SC_PASS_MAX.
	* sysdeps/stub/sysconf.c: Add handling _SC_PROCESSORS_CONF and
	_SC_NPROCESSORS_ONLN by calling __get_nprocs, _SC_PHYS_PAGES by
	calling __get_phys_pages, _SY_AVPHYS_PAGES by calling
	__get_avphys_pages, _SC_ATEXIT_MAX and _SC_PASS_MAX.
	* sysdeps/posix/sysconf.c: Likewise.
	* posix/getconf.c (vars): Add _NPROCESSORS_CONF, _NPROCESSORS_ONLN,
	_PHYS_PAGES, _AVPHYS_PAGES, ATEXIT_MAX, and PASS_MAX entries.

Sat Sep 21 05:20:36 1996  Ulrich Drepper  <drepper@cygnus.com>

	* version.h (VERSION): Bump to 1.95.

	* Make-dist (+tsrcs): Don't filter out files in subdirs which
 	match files in the sysdeps hierachy (welcome back,
 	sys/syscall.h!).

	* resolv/Makefile (libresolv-routines): Remove getnetnamad.

Sat Sep 21 03:00:19 1996  Ulrich Drepper  <drepper@cygnus.com>

	* locale/loadlocale.c (_nl_free_locale): Remove function.
	* locale/localeinfo.h: Remove prototype for _nl_free_locale.
	* locale/setlocale.c (setlocale): Don't free locale data of
 	categories which succeeded to load after a wrong or missing data
 	file was observed.

	* locale/setlocale (setlocale): Initialize NEWNAME correctly so
	that it works even when the locale data is not used.

	* stdlib/random_r.c: Fix typo in comment.
	* stdlib/drand48-iter.c: Likewise.
	* stdlib/drand48.c: Likewise.
	* stdlib/erand48.c: Likewise.
	* stdlib/jrand48.c: Likewise.
	* stdlib/lcong48.c: Likewise.
	* stdlib/lrand48.c: Likewise.
	* stdlib/mrand48.c: Likewise.
	* stdlib/nrand48.c: Likewise.
	* stdlib/random.c: Likewise.
	* stdlib/seed48.c: Likewise.
	* stdlib/srand48.c: Likewise.
	* misc/search.h: Likewise.
	* misc/hsearch.c: Likewise.
	* misc/hsearch_r.c: Likewise.

	* sysdeps/unix/sysv/linux/m68k/sysdep.S (__errno_location):
Thu Sep 19 23:36:19 1996  Thomas Bushnell, n/BSG  <thomas@gnu.ai.mit.edu>

	* hurd/hurdinit.c (__libc_argv): Provide common decl.
	(_hurd_setproc): Don't declare __libc_argv here.
This commit is contained in:
Ulrich Drepper
1996-09-22 03:06:42 +00:00
parent daf2bb515b
commit 845dcb57b1
52 changed files with 1011 additions and 304 deletions

1
resolv/Banner Normal file
View File

@ -0,0 +1 @@
BIND-4.9.5-T4B

View File

@ -22,13 +22,14 @@
subdir := resolv
headers := resolv.h netdb.h arpa/nameser.h sys/bitypes.h
distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h
distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h \
Banner
routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init
extra-libs := libresolv
extra-libs-others = $(extra-libs)
libresolv-routines := gethnamaddr getnetnamadr res_comp res_debug \
libresolv-routines := gethnamaddr res_comp res_debug \
res_data res_mkquery res_query res_send \
inet_net_ntop inet_net_pton inet_neta base64

View File

@ -111,7 +111,7 @@
* Define constants based on rfc883
*/
#define PACKETSZ 512 /* maximum packet size */
#define MAXDNAME 256 /* maximum domain name */
#define MAXDNAME 1025 /* maximum domain name */
#define MAXCDNAME 255 /* maximum compressed domain name */
#define MAXLABEL 63 /* maximum length of domain label */
#define HFIXEDSZ 12 /* #/bytes of fixed data in header */

View File

@ -127,7 +127,7 @@ static const char Pad64 = '=';
characters followed by one "=" padding character.
*/
ssize_t
int
b64_ntop(src, srclength, target, targsize)
u_char const *src;
size_t srclength;
@ -198,7 +198,7 @@ b64_ntop(src, srclength, target, targsize)
it returns the number of data bytes stored at the target, or -1 on error.
*/
ssize_t
int
b64_pton(src, target, targsize)
char const *src;
u_char *target;

View File

@ -167,7 +167,7 @@ getanswer(answer, anslen, qname, qtype)
int type, class, buflen, ancount, qdcount;
int haveanswer, had_error;
int toobig = 0;
char tbuf[MAXDNAME+1];
char tbuf[MAXDNAME];
const char *tname;
int (*name_ok) __P((const char *));
@ -417,6 +417,10 @@ gethostbyname(name)
{
struct hostent *hp;
if ((_res.options & RES_INIT) == 0 && res_init() == -1) {
h_errno = NETDB_INTERNAL;
return (NULL);
}
if (_res.options & RES_USE_INET6) {
hp = gethostbyname2(name, AF_INET6);
if (hp)
@ -502,6 +506,36 @@ gethostbyname2(name, af)
}
if (!isdigit(*cp) && *cp != '.')
break;
}
if (isxdigit(name[0]) || name[0] == ':')
for (cp = name;; ++cp) {
if (!*cp) {
if (*--cp == '.')
break;
/*
* All-IPv6-legal, no dot at the end.
* Fake up a hostent as if we'd actually
* done a lookup.
*/
if (inet_pton(af, name, host_addr) <= 0) {
h_errno = HOST_NOT_FOUND;
return (NULL);
}
strncpy(hostbuf, name, MAXDNAME);
hostbuf[MAXDNAME] = '\0';
bp = hostbuf + MAXDNAME;
len = sizeof hostbuf - MAXDNAME;
host.h_name = hostbuf;
host.h_aliases = host_aliases;
host_aliases[0] = NULL;
h_addr_ptrs[0] = (char *)host_addr;
h_addr_ptrs[1] = NULL;
host.h_addr_list = h_addr_ptrs;
h_errno = NETDB_SUCCESS;
return (&host);
}
if (!isxdigit(*cp) && *cp != ':' && *cp != '.')
break;
}
if ((n = res_search(name, C_IN, type, buf.buf, sizeof(buf))) < 0) {

View File

@ -526,6 +526,26 @@ putlong(l, msgp)
__putlong(l, msgp);
}
#undef dn_comp
int
dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr)
const char *exp_dn;
u_char *comp_dn, **dnptrs, **lastdnptr;
int length;
{
return (__dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr));
}
#undef dn_expand
int
dn_expand(msg, eomorig, comp_dn, exp_dn, length)
const u_char *msg, *eomorig, *comp_dn;
char *exp_dn;
int length;
{
return (__dn_expand(msg, eomorig, comp_dn, exp_dn, length));
}
#undef dn_skipname
dn_skipname(comp_dn, eom)
const u_char *comp_dn, *eom;

View File

@ -238,6 +238,7 @@ __p_query(msg)
}
#ifdef ultrix
#undef p_query
/* ultrix 4.0's packaging has some icky packaging. alias for it here.
* there is more junk of this kind over in res_comp.c.
*/
@ -1041,8 +1042,8 @@ __p_option(option)
/*
* Return a mnemonic for a time to live
*/
char *
__p_time(value)
const char *
p_time(value)
u_int32_t value;
{
static char nbuf[40];
@ -1369,7 +1370,7 @@ loc_aton(ascii, binary)
}
/* takes an on-the-wire LOC RR and formats it in a human readable format. */
char *
const char *
loc_ntoa(binary, ascii)
const u_char *binary;
char *ascii;

View File

@ -86,7 +86,7 @@ static char rcsid[] = "$Id$";
#define MAXPACKET 1024
#endif
char *__hostalias __P((const char *));
const char *hostalias __P((const char *));
/*
@ -321,7 +321,7 @@ res_querydomain(name, domain, class, type, answer, anslen)
u_char *answer; /* buffer to put answer */
int anslen; /* size of answer */
{
char nbuf[2*MAXDNAME+2];
char nbuf[MAXDNAME];
const char *longname = nbuf;
int n;
@ -351,8 +351,8 @@ res_querydomain(name, domain, class, type, answer, anslen)
return (res_query(longname, class, type, answer, anslen));
}
char *
__hostalias(name)
const char *
hostalias(name)
register const char *name;
{
register char *cp1, *cp2;

View File

@ -781,3 +781,20 @@ _res_close()
vc = 0;
}
}
#ifdef ultrix
/* ultrix 4.0 had some icky packaging in its libc.a. alias for it here.
* there is more gunk of this kind over in res_debug.c.
*/
#undef res_send
int
res_send(buf, buflen, ans, anssiz)
const u_char *buf;
int buflen;
u_char *ans;
int anssiz;
{
return (__res_send(buf, buflen, ans, anssiz));
}
#endif /* Ultrix 4.0 hackery */

View File

@ -112,7 +112,7 @@ struct __res_state {
#define nsaddr nsaddr_list[0] /* for backward compatibility */
u_short id; /* current packet id */
char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */
char defdname[MAXDNAME]; /* default domain */
char defdname[256]; /* default domain (deprecated) */
u_long pfcode; /* RES_PRF_ flags - see below. */
unsigned ndots:4; /* threshold for initial abs. query */
unsigned nsort:4; /* number of elements in sort_list[] */
@ -205,6 +205,7 @@ extern const struct res_sym __p_type_syms[];
#define loc_ntoa __loc_ntoa
#define loc_aton __loc_aton
#define dn_skipname __dn_skipname
#define fp_resstat __fp_resstat
#define fp_query __fp_query
#define fp_nquery __fp_nquery
#define hostalias __hostalias
@ -213,6 +214,7 @@ extern const struct res_sym __p_type_syms[];
#define p_class __p_class
#define p_time __p_time
#define p_type __p_type
#define p_query __p_query
#define p_cdnname __p_cdnname
#define p_cdname __p_cdname
#define p_fqnname __p_fqnname
@ -221,59 +223,68 @@ extern const struct res_sym __p_type_syms[];
#define p_option __p_option
#define p_secstodate __p_secstodate
#define dn_count_labels __dn_count_labels
#define dn_comp __dn_comp
#define dn_expand __dn_expand
#define res_init __res_init
#define res_randomid __res_randomid
#define res_query __res_query
#define res_search __res_search
#define res_querydomain __res_querydomain
#define res_mkquery __res_mkquery
#define res_send __res_send
#define res_isourserver __res_isourserver
#define res_nameinquery __res_nameinquery
#define res_queriesmatch __res_queriesmatch
__BEGIN_DECLS
int __res_hnok __P((const char *));
int __res_ownok __P((const char *));
int __res_mailok __P((const char *));
int __res_dnok __P((const char *));
int sym_ston __P((const struct res_sym *, char *, int *));
const char *sym_ntos __P((const struct res_sym *, int, int *));
const char *sym_ntop __P((const struct res_sym *, int, int *));
ssize_t b64_ntop __P((u_char const *, size_t, char *, size_t));
ssize_t b64_pton __P((char const *, u_char *, size_t));
int __loc_aton __P((const char *ascii, u_char *binary));
char * __loc_ntoa __P((const u_char *binary, char *ascii));
int __dn_skipname __P((const u_char *, const u_char *));
void __fp_resstat __P((struct __res_state *, FILE *));
void __fp_query __P((const u_char *, FILE *));
void __fp_nquery __P((const u_char *, int, FILE *));
char *__hostalias __P((const char *));
void __putlong __P((u_int32_t, u_char *));
void __putshort __P((u_int16_t, u_char *));
char *__p_time __P((u_int32_t));
void __p_query __P((const u_char *));
const u_char *__p_cdnname __P((const u_char *, const u_char *, int, FILE *));
const u_char *__p_cdname __P((const u_char *, const u_char *, FILE *));
const u_char *__p_fqnname __P((const u_char *cp, const u_char *msg,
int res_hnok __P((const char *));
int res_ownok __P((const char *));
int res_mailok __P((const char *));
int res_dnok __P((const char *));
int sym_ston __P((const struct res_sym *, char *, int *));
const char * sym_ntos __P((const struct res_sym *, int, int *));
const char * sym_ntop __P((const struct res_sym *, int, int *));
int b64_ntop __P((u_char const *, size_t, char *, size_t));
int b64_pton __P((char const *, u_char *, size_t));
int loc_aton __P((const char *, u_char *));
const char * loc_ntoa __P((const u_char *, char *));
int dn_skipname __P((const u_char *, const u_char *));
void fp_resstat __P((struct __res_state *, FILE *));
void fp_query __P((const u_char *, FILE *));
void fp_nquery __P((const u_char *, int, FILE *));
const char * hostalias __P((const char *));
void putlong __P((u_int32_t, u_char *));
void putshort __P((u_int16_t, u_char *));
const char * p_class __P((int));
const char * p_time __P((u_int32_t));
const char * p_type __P((int));
void p_query __P((const u_char *));
const u_char * p_cdnname __P((const u_char *, const u_char *, int, FILE *));
const u_char * p_cdname __P((const u_char *, const u_char *, FILE *));
const u_char * p_fqnname __P((const u_char *cp, const u_char *msg,
int, char *, int));
const u_char *__p_fqname __P((const u_char *, const u_char *, FILE *));
const u_char *__p_rr __P((const u_char *, const u_char *, FILE *));
const char *__p_type __P((int));
const char *__p_class __P((int));
const char *__p_option __P((u_long option));
char * __p_secstodate __P((unsigned long));
int dn_count_labels __P((char *));
int dn_comp __P((const char *, u_char *, int, u_char **, u_char **));
int dn_expand __P((const u_char *, const u_char *, const u_char *,
char *, int));
int res_init __P((void));
u_int16_t res_randomid __P((void));
int res_query __P((const char *, int, int, u_char *, int));
int res_search __P((const char *, int, int, u_char *, int));
int res_querydomain __P((const char *, const char *, int, int,
u_char *, int));
int res_mkquery __P((int, const char *, int, int, const u_char *, int,
const u_char *, u_char *, int));
int res_send __P((const u_char *, int, u_char *, int));
int res_isourserver __P((const struct sockaddr_in *));
int res_nameinquery __P((const char *, int, int,
const u_char *, const u_char *));
int res_queriesmatch __P((const u_char *, const u_char *,
const u_char *, const u_char *));
const u_char * p_fqname __P((const u_char *, const u_char *, FILE *));
const u_char * p_rr __P((const u_char *, const u_char *, FILE *));
const char * p_option __P((u_long option));
char * p_secstodate __P((u_long));
int dn_count_labels __P((char *));
int dn_comp __P((const char *, u_char *, int,
u_char **, u_char **));
int dn_expand __P((const u_char *, const u_char *, const u_char *,
char *, int));
int res_init __P((void));
u_int16_t res_randomid __P((void));
int res_query __P((const char *, int, int, u_char *, int));
int res_search __P((const char *, int, int, u_char *, int));
int res_querydomain __P((const char *, const char *, int, int,
u_char *, int));
int res_mkquery __P((int, const char *, int, int, const u_char *, int,
const u_char *, u_char *, int));
int res_send __P((const u_char *, int, u_char *, int));
int res_isourserver __P((const struct sockaddr_in *));
int res_nameinquery __P((const char *, int, int,
const u_char *, const u_char *));
int res_queriesmatch __P((const u_char *, const u_char *,
const u_char *, const u_char *));
__END_DECLS
#endif /* !_RESOLV_H_ */